/* ==========================================================================
   Megaro Core — φόρμες, περιοχή μελών, quiz.
   Χρησιμοποιεί τα χρώματα του theme «Μέγαρο Ρόδου» (με fallback).
   ========================================================================== */

.mr-login, .mr-interest, .mr-dash, .mr-quiz, .mr-member-menu, .mr-lang, .mr-contact {
	--mr-ink: var(--wp--preset--color--ink, #0A0C12);
	--mr-ink2: var(--wp--preset--color--ink-2, #0D1017);
	--mr-surface: var(--wp--preset--color--surface, #121622);
	--mr-surface2: var(--wp--preset--color--surface-2, #10131C);
	--mr-royal: var(--wp--preset--color--royal, #16224F);
	--mr-gold: var(--wp--preset--color--gold, #C9A84C);
	--mr-gold-l: var(--wp--preset--color--gold-light, #E3C77A);
	--mr-rose: var(--wp--preset--color--rose, #C4302B);
	--mr-rose-l: var(--wp--preset--color--rose-light, #F08A83);
	--mr-parch: var(--wp--preset--color--parchment, #F4ECDA);
	--mr-cream: var(--wp--preset--color--cream, #EDE4CF);
	--mr-sand: var(--wp--preset--color--sand, #D9CFB8);
	--mr-muted: var(--wp--preset--color--muted-2, #A89D85);
	--mr-mist: var(--wp--preset--color--mist, #D4DAEE);
	--mr-green: #7FB08A;
	--mr-line: rgba(237, 228, 207, 0.12);
	--mr-line-gold: rgba(201, 168, 76, 0.22);
	--mr-serif: var(--wp--preset--font-family--serif, Georgia, serif);
	color: var(--mr-cream);
}
.mr-ico { flex: none; vertical-align: -0.2em; }
.mr-muted { color: var(--mr-muted, #A89D85); }
.mr-muted-light { color: var(--mr-mist); }
.mr-small { font-size: 0.875rem; }
.mr-center { text-align: center; }
.mr-gold { color: var(--mr-gold-l); }
.mr-rose { color: var(--mr-rose-l) !important; }
.mr-eyebrow { font-family: inherit; font-size: 0.75rem !important; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--mr-gold); margin: 0; }
.mr-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Κουμπιά ---------- */
.mr-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
	min-height: 46px; padding: 0.7rem 1.4rem; border-radius: 999px; border: 0;
	background: var(--mr-gold); color: #14110A !important; font: inherit; font-weight: 600; font-size: 0.9375rem;
	text-decoration: none !important; cursor: pointer; transition: background .2s;
}
.mr-btn:hover { background: var(--mr-gold-l); }
.mr-btn--block { width: 100%; }
.mr-btn--lg { min-height: 56px; font-size: 1.0625rem; }
.mr-btn--outline, .mr-btn--ghost { background: transparent; color: var(--mr-gold-l) !important; border: 1px solid rgba(201, 168, 76, 0.5); }
.mr-btn--outline:hover, .mr-btn--ghost:hover { background: rgba(201, 168, 76, 0.12); }
.mr-btn--ghost-light { background: transparent; color: var(--mr-cream) !important; border: 1px solid rgba(237, 228, 207, 0.4); }
.mr-btn--ghost-light:hover { background: rgba(237, 228, 207, 0.08); }
.mr-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 0; }

/* ---------- Φόρμες ---------- */
.mr-form { display: flex; flex-direction: column; gap: 1.1rem; }
.mr-card-form { background: var(--mr-surface); border: 1px solid var(--mr-line-gold); border-radius: 26px; padding: clamp(1.5rem, 3vw, 2.75rem); }
.mr-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
.mr-field { display: flex; flex-direction: column; gap: 0.45rem; font-size: 0.875rem; color: var(--mr-sand); }
.mr-field em { font-style: normal; }
.mr-field input, .mr-field select, .mr-field textarea {
	width: 100%; box-sizing: border-box; min-height: 52px; padding: 0.8rem 1rem;
	border-radius: 12px; border: 1px solid rgba(237, 228, 207, 0.2); background: var(--mr-ink2); color: var(--mr-cream);
	font: inherit; font-size: 1rem;
}
.mr-field textarea { min-height: 120px; resize: vertical; }
.mr-field input:focus, .mr-field select:focus, .mr-field textarea:focus { outline: 2px solid var(--mr-gold-l); outline-offset: 1px; border-color: var(--mr-gold); }
.mr-check { display: flex; gap: 0.75rem; align-items: flex-start; font-size: 0.875rem; line-height: 1.55; color: var(--mr-sand); }
.mr-check input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--mr-gold); flex: none; }

.mr-notice { padding: 1rem 1.25rem; border-radius: 14px; background: var(--mr-surface); border: 1px solid var(--mr-line-gold); color: var(--mr-sand); margin: 0 0 1rem; }
.mr-notice--ok { border-color: rgba(127, 176, 138, 0.55); background: rgba(127, 176, 138, 0.1); color: #D8EEDD; }
.mr-notice--err { border-color: rgba(196, 48, 43, 0.55); background: rgba(196, 48, 43, 0.1); color: #F6C9C5; }
.mr-interest__done { font-size: 1.125rem; padding: 2rem; }

/* ---------- Είσοδος ---------- */
.mr-login { max-width: 460px !important; margin: clamp(1rem, 4vw, 3rem) auto; padding: clamp(1.75rem, 4vw, 2.75rem); background: var(--mr-surface); border: 1px solid var(--mr-line-gold); border-radius: 26px; }
.mr-login__title { font-family: var(--mr-serif); font-size: 2rem; margin: 0 0 0.75rem; color: var(--mr-parch); }
.mr-login .mr-form { margin: 1.25rem 0 1rem; }

/* ---------- Μενού μελών / γλώσσες / επικοινωνία ---------- */
.mr-member-menu { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.mr-member-menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.25rem; }
.mr-member-menu a { display: inline-flex; align-items: center; gap: 0.45rem; min-height: 44px; padding: 0 0.9rem; border-radius: 12px; color: var(--mr-sand) !important; text-decoration: none !important; font-size: 0.9375rem; }
.mr-member-menu a:hover { background: rgba(201, 168, 76, 0.1); color: var(--mr-gold-l) !important; }
.mr-member-menu a[aria-current="page"] { background: rgba(201, 168, 76, 0.16); color: var(--mr-gold-l) !important; font-weight: 600; }
.mr-member-menu__out { color: var(--mr-muted) !important; }
@media (max-width: 781px) { .mr-member-menu a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } .mr-member-menu a { padding: 0 0.7rem; } }

.mr-lang ul { list-style: none; margin: 0; padding: 0; display: flex; border: 1px solid rgba(237, 228, 207, 0.2); border-radius: 999px; overflow: hidden; }
.mr-lang a { display: flex; align-items: center; min-height: 36px; padding: 0 0.75rem; font-size: 0.8125rem; letter-spacing: 0.08em; color: var(--mr-muted) !important; text-decoration: none !important; }
.mr-lang a[aria-current="true"] { background: rgba(201, 168, 76, 0.16); color: var(--mr-gold-l) !important; }

.mr-contact ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.9rem; }
.mr-contact li { display: flex; gap: 0.75rem; align-items: flex-start; color: var(--mr-sand); line-height: 1.55; }
.mr-contact li .mr-ico { color: var(--mr-gold); margin-top: 2px; }
.mr-contact--card { display: flex; flex-direction: column; gap: 1.25rem; }
.mr-social { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.mr-legal { margin: 0; }

/* ---------- Πίνακας μέλους ---------- */
.mr-dash { display: flex; flex-direction: column; gap: 1.5rem; }
.mr-dash__title { font-family: var(--mr-serif); font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 500; margin: 0 0 0.75rem; color: var(--mr-parch); }
.mr-dash__title em { color: var(--mr-gold); }
.mr-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.mr-chip { padding: 0.3rem 0.8rem; border-radius: 999px; border: 1px solid rgba(237, 228, 207, 0.18); font-size: 0.8125rem; color: var(--mr-sand); }
.mr-chip--gold { border-color: transparent; background: rgba(201, 168, 76, 0.16); color: var(--mr-gold-l); }
.mr-dash__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 1.25rem; align-items: start; }
.mr-dash__row--top { grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); }
.mr-panel { background: var(--mr-surface); border: 1px solid var(--mr-line); border-radius: 22px; padding: clamp(1.25rem, 2.5vw, 2rem); display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.mr-panel--royal { background: var(--mr-royal); border-color: transparent; }
.mr-panel--royal .mr-eyebrow { color: var(--mr-gold-l); }
.mr-panel--gold { border-color: var(--mr-line-gold); }
.mr-panel__top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.mr-panel__title { font-family: var(--mr-serif); font-size: 1.5rem; font-weight: 500; margin: 0; color: var(--mr-parch); }
.mr-next { display: flex; gap: 1.5rem; align-items: center; }
.mr-datebox { width: 92px; height: 100px; border-radius: 16px; background: rgba(10, 12, 18, 0.4); display: flex; flex-direction: column; align-items: center; justify-content: center; flex: none; }
.mr-datebox span { font-size: 0.8125rem; letter-spacing: 0.14em; text-transform: uppercase; color: #AEB8D8; }
.mr-datebox strong { font-family: var(--mr-serif); font-size: 2.75rem; font-weight: 400; line-height: 1.05; color: var(--mr-parch); }
.mr-next__body h3 { font-family: var(--mr-serif); font-size: 1.5rem; font-weight: 500; margin: 0 0 0.25rem; color: var(--mr-parch); }
.mr-next__body p { margin: 0; color: var(--mr-mist); }
.mr-streak { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.875rem; color: var(--mr-gold-l); }
.mr-level { margin: 0; display: flex; flex-direction: column; }
.mr-level span { font-size: 0.8125rem; color: var(--mr-muted); }
.mr-level strong { font-family: var(--mr-serif); font-size: 1.625rem; font-weight: 400; color: var(--mr-parch); }
.mr-bar { height: 10px; border-radius: 999px; background: #1C2233; overflow: hidden; flex: none; }
.mr-q-top .mr-bar { flex: 1; }
.mr-bar span { display: block; height: 100%; background: var(--mr-gold); border-radius: 999px; transition: width .4s ease; }
.mr-bar--dark { background: rgba(10, 12, 18, 0.45); }
.mr-dash__sechead { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; margin-bottom: 0.9rem; }
.mr-dash__sechead h2 { font-family: var(--mr-serif); font-size: 1.5rem; font-weight: 500; margin: 0; color: var(--mr-parch); }
.mr-dash__sechead p { margin: 0; display: flex; align-items: center; gap: 0.4rem; }
.mr-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr)); gap: 1rem; }
.mr-tile { display: flex; flex-direction: column; gap: 0.6rem; padding: 1.4rem; border-radius: 18px; background: var(--mr-surface); border: 1px solid var(--mr-line); color: var(--mr-cream) !important; text-decoration: none !important; transition: border-color .2s, transform .2s; }
.mr-tile:hover { border-color: var(--mr-gold); transform: translateY(-2px); }
.mr-tile__ico { width: 46px; height: 46px; border-radius: 12px; background: rgba(201, 168, 76, 0.14); color: var(--mr-gold-l); display: flex; align-items: center; justify-content: center; }
.mr-tile strong { font-size: 1.0625rem; }
.mr-events { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.mr-events li { display: flex; gap: 1rem; align-items: center; padding: 0.8rem 0; border-bottom: 1px solid var(--mr-line); }
.mr-events li:last-child { border-bottom: 0; }
.mr-events__date { width: 56px; flex: none; text-align: center; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--mr-muted); display: flex; flex-direction: column; }
.mr-events__date strong { font-family: var(--mr-serif); font-size: 1.5rem; font-weight: 400; color: var(--mr-parch); letter-spacing: 0; }
.mr-events__body { display: flex; flex-direction: column; }
.mr-events__title { font-weight: 600; }
.mr-embed summary { cursor: pointer; color: var(--mr-gold-l); font-size: 0.9375rem; }
.mr-embed iframe { width: 100%; height: 520px; border: 0; border-radius: 14px; margin-top: 0.75rem; background: #fff; }
.mr-sticky { display: flex; flex-direction: column; gap: 0.4rem; padding: 1.1rem; border-radius: 16px; background: rgba(196, 48, 43, 0.1); border: 1px solid rgba(196, 48, 43, 0.35); color: var(--mr-cream) !important; text-decoration: none !important; }
.mr-topics { list-style: none; margin: 0; padding: 0; }
.mr-topics li { border-bottom: 1px solid var(--mr-line); }
.mr-topics li:last-child { border-bottom: 0; }
.mr-topics a { display: flex; flex-direction: column; gap: 0.3rem; padding: 0.85rem 0; color: var(--mr-cream) !important; text-decoration: none !important; }
.mr-topics a:hover strong { color: var(--mr-gold-l); }

/* ---------- Quiz ---------- */
.mr-quiz { max-width: 560px !important; margin-left: auto !important; margin-right: auto !important; }
.mr-q { display: flex; flex-direction: column; gap: 1.25rem; }
.mr-qi { display: inline-flex; flex: none; }
.mr-q-soft { color: #AEB8D8; }
.mr-q-level { background: var(--mr-royal); border-radius: 20px; padding: 1.25rem; display: flex; flex-direction: column; gap: 0.75rem; }
.mr-q-level__top { display: flex; flex-wrap: wrap; align-items: center; gap: 0.9rem; }
.mr-q-level__top > div:nth-child(2) { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.mr-q-level__top .mr-qi { color: var(--mr-gold-l); }
.mr-q-level__name { font-family: var(--mr-serif); font-size: 1.375rem; font-weight: 400; color: var(--mr-parch); }
.mr-q-pills { display: flex; gap: 0.4rem; flex-wrap: wrap; justify-content: flex-end; }
.mr-q-pill { display: inline-flex; align-items: center; gap: 0.25rem; min-height: 32px; padding: 0 0.7rem; border-radius: 999px; background: rgba(10, 12, 18, 0.45); color: var(--mr-gold-l); font-size: 0.8125rem; font-weight: 600; white-space: nowrap; }
.mr-q-sec { display: flex; flex-direction: column; gap: 0.7rem; }
.mr-q-sec__head { display: flex; justify-content: space-between; align-items: baseline; }
.mr-q-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.mr-q-chip { min-height: 44px; padding: 0 1rem; border-radius: 999px; border: 1px solid rgba(237, 228, 207, 0.2); background: transparent; color: var(--mr-sand); font: inherit; font-size: 0.875rem; cursor: pointer; }
.mr-q-chip.is-on { background: var(--mr-gold); border-color: var(--mr-gold); color: #14110A; font-weight: 600; }
.mr-q-diffs { display: flex; flex-direction: column; gap: 0.6rem; }
.mr-q-diff { width: 100%; min-height: 66px; padding: 0.7rem 1rem; border-radius: 16px; display: flex; align-items: center; gap: 0.9rem; text-align: left; background: var(--mr-surface); border: 1px solid var(--mr-line); color: var(--mr-cream); font: inherit; cursor: pointer; }
.mr-q-diff.is-on { background: rgba(201, 168, 76, 0.12); border-color: var(--mr-gold); }
.mr-q-diff:disabled { opacity: 0.5; cursor: not-allowed; }
.mr-q-diff__badge { width: 38px; height: 38px; border-radius: 50%; flex: none; display: flex; align-items: center; justify-content: center; font-weight: 700; border: 1px solid rgba(201, 168, 76, 0.5); color: var(--mr-gold-l); }
.mr-q-diff.is-on .mr-q-diff__badge { background: var(--mr-gold); color: #14110A; border-color: var(--mr-gold); }
.mr-q-diff__text { display: flex; flex-direction: column; gap: 0.15rem; }
.mr-q-badges { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.5rem; }
.mr-q-badge { display: flex; flex-direction: column; align-items: center; gap: 0.3rem; padding: 0.6rem 0.2rem; border-radius: 12px; background: var(--mr-surface2); border: 1px dashed rgba(237, 228, 207, 0.15); color: #6F6856; text-align: center; }
.mr-q-badge.is-earned { background: rgba(201, 168, 76, 0.14); border: 1px solid rgba(201, 168, 76, 0.4); color: var(--mr-gold-l); }
.mr-q-badge__name { font-size: 0.6875rem; line-height: 1.2; }
@media (max-width: 420px) { .mr-q-badges { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mr-q-start { min-height: 64px; border: 0; border-radius: 18px; background: var(--mr-gold); color: #14110A; font: inherit; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.1rem; width: 100%; }
.mr-q-start strong { font-size: 1.0625rem; }
.mr-q-start span { font-size: 0.8125rem; font-weight: 500; }
.mr-q-start:hover { background: var(--mr-gold-l); }
.mr-q-start:disabled { opacity: .6; }
.mr-q-secondary { min-height: 56px; border-radius: 18px; border: 1px solid rgba(237, 228, 207, 0.25); background: transparent; color: var(--mr-cream); font: inherit; cursor: pointer; width: 100%; }
.mr-q-top { display: flex; align-items: center; gap: 0.75rem; }
.mr-q-close { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(237, 228, 207, 0.18); background: transparent; color: var(--mr-sand); font-size: 1.4rem; line-height: 1; cursor: pointer; flex: none; }
.mr-q-top .mr-q-pill { background: var(--mr-surface); }
.mr-q-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; font-size: 0.8125rem; }
.mr-q-tag { padding: 0.3rem 0.7rem; border-radius: 999px; border: 1px solid rgba(237, 228, 207, 0.2); color: var(--mr-sand); }
.mr-q-tag--easy { border-color: var(--mr-green); color: var(--mr-green); }
.mr-q-tag--medium { border-color: var(--mr-gold-l); color: var(--mr-gold-l); }
.mr-q-tag--hard { border-color: var(--mr-rose-l); color: var(--mr-rose-l); }
.mr-q-count { margin-left: auto; color: var(--mr-muted); }
.mr-q-question { font-family: var(--mr-serif); font-size: clamp(1.5rem, 4vw, 1.875rem); font-weight: 500; line-height: 1.3; margin: 0; color: var(--mr-parch); outline: none; }
.mr-q-options { display: flex; flex-direction: column; gap: 0.6rem; }
.mr-q-opt { width: 100%; min-height: 60px; padding: 0.6rem 0.9rem; border-radius: 16px; display: flex; align-items: center; gap: 0.8rem; text-align: left; background: var(--mr-surface); border: 1px solid var(--mr-line); color: var(--mr-cream); font: inherit; font-size: 1rem; line-height: 1.4; cursor: pointer; transition: background .2s, border-color .2s; }
.mr-q-opt:hover:not(:disabled) { border-color: var(--mr-gold); }
.mr-q-opt:disabled { cursor: default; }
.mr-q-opt__key { width: 34px; height: 34px; border-radius: 10px; flex: none; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.875rem; background: #1C2233; color: var(--mr-sand); }
.mr-q-opt__text { flex: 1; }
.mr-q-opt__mark { width: 18px; font-weight: 700; }
.mr-q-opt.is-correct { background: var(--mr-gold); border-color: var(--mr-gold); color: #14110A; }
.mr-q-opt.is-correct .mr-q-opt__key { background: #14110A; color: var(--mr-gold-l); }
.mr-q-opt.is-wrong { background: rgba(196, 48, 43, 0.14); border-color: var(--mr-rose); color: var(--mr-rose-l); }
.mr-q-opt.is-wrong .mr-q-opt__key { background: var(--mr-rose); color: #fff; }
.mr-q-opt.is-dim { color: #8A8068; }
.mr-q-feedback:empty { display: none; }
.mr-q-feedback { border-radius: 16px; padding: 1rem 1.1rem; display: flex; flex-direction: column; gap: 0.35rem; }
.mr-q-feedback p { margin: 0; color: var(--mr-sand); font-size: 0.9375rem; line-height: 1.55; }
.mr-q-feedback.is-ok { background: rgba(201, 168, 76, 0.12); border: 1px solid rgba(201, 168, 76, 0.45); color: var(--mr-gold-l); }
.mr-q-feedback.is-bad { background: rgba(196, 48, 43, 0.12); border: 1px solid rgba(196, 48, 43, 0.5); color: var(--mr-rose-l); }
.mr-q-next { min-height: 58px; border: 0; border-radius: 18px; background: var(--mr-gold); color: #14110A; font: inherit; font-size: 1.0625rem; font-weight: 700; cursor: pointer; }
.mr-q--result { align-items: center; text-align: center; }
.mr-q--result > .mr-qi { color: var(--mr-gold-l); }
.mr-q--result .mr-q-level { width: 100%; text-align: left; box-sizing: border-box; }
.mr-q-newbadges { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; width: 100%; }
.mr-q-newbadges li { display: flex; gap: 0.9rem; align-items: center; padding: 0.9rem 1rem; border-radius: 14px; background: rgba(201, 168, 76, 0.12); border: 1px solid rgba(201, 168, 76, 0.4); text-align: left; color: var(--mr-gold-l); }
.mr-q-newbadges li > span:last-child { display: flex; flex-direction: column; }
.mr-q-actions { display: flex; flex-direction: column; gap: 0.6rem; width: 100%; }

@media (prefers-reduced-motion: reduce) {
	.mr-bar span, .mr-tile, .mr-q-opt { transition: none; }
}
