/* ==========================================================================
   MEL-OS · brand extras
   Σειρά φόρτωσης: plugins.bundle.css → style.bundle.css → (page vendor CSS) → melos-theme.generated.css → ΑΥΤΟ → custom.css

   Η ΠΑΛΕΤΑ (primary/danger/success/info/warning/γκρι, hover/active/subtle/dark) ΔΕΝ ορίζεται εδώ:
   παράγεται αυτόματα από tools/melos-theme/build_theme.py στο melos-theme.generated.css. Εδώ μένουν ΜΟΝΟ:
   (1) τα brand tokens, (2) διορθώσεις αντίθεσης όπου το Metronic κωδικοποιεί λευκό κείμενο πάνω σε primary,
   (3) στοιχεία που το theme δεν έχει (soon items, promo card, chat FAB). Τα third-party plugins: css/melos-plugins.css.
   ΑΝ προσθέσεις εδώ χρώμα που υπάρχει ήδη στο generated (π.χ. --bs-primary), θα ξαναφέρεις την «φθορά».
   ========================================================================== */

:root,
[data-bs-theme="light"] {
	--melos-charcoal:        #231F20;
	--melos-charcoal-active: #000000;
	--melos-amber:           #DC9C28;
	--melos-amber-dark:      #C68717;
	--melos-amber-tint:      #FCF4E1;
	--melos-red:             #BE2E2F;
	--melos-gray-wave:       #5E5F5F;
	--melos-wood:            #E8DCC8;
	--melos-bg-light:        #FAF7F2;
}

/* --------------------------------------------------------------------------
   Κύριο μενού (top-nav): το Metronic βάζει ΣΚΛΗΡΟ λευκό (--bs-white) στο κείμενο/εικονίδιο του ενεργού item,
   πάνω σε gradient primary. Με amber primary αυτό δίνει ~2.2:1 (αποτυγχάνει WCAG AA). Χρησιμοποιούμε
   --bs-primary-inverse (μελάνι στο amber preset, λευκό στο charcoal preset).
   Στο dark mode μένει το stock (λευκό πάνω σε σκούρο pill).
   -------------------------------------------------------------------------- */
@media (min-width: 992px) {
	[data-bs-theme="light"] .app-header-menu .menu > .menu-item.here > .menu-link,
	[data-bs-theme="light"] .app-header-menu .menu > .menu-item.here > .menu-link .menu-title,
	[data-bs-theme="light"] .app-header-menu .menu > .menu-item.here > .menu-link .menu-icon,
	[data-bs-theme="light"] .app-header-menu .menu > .menu-item.here > .menu-link .menu-icon i,
	[data-bs-theme="light"] .app-header-menu .menu > .menu-item > .menu-link.active,
	[data-bs-theme="light"] .app-header-menu .menu > .menu-item > .menu-link.active .menu-title,
	[data-bs-theme="light"] .app-header-menu .menu > .menu-item > .menu-link.active .menu-icon,
	[data-bs-theme="light"] .app-header-menu .menu > .menu-item > .menu-link.active .menu-icon i {
		color: var(--bs-primary-inverse);
	}
}

/* Ελληνικοί τίτλοι είναι πιο πλατείς από τους αγγλικούς: το theme κλειδώνει width:80px στα top items. */
@media (min-width: 992px) {
	.app-header-menu .menu > .menu-item > .menu-link {
		width: auto;
		min-width: 80px;
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}
}

/* .link-primary / .text-primary (stock Bootstrap/Metronic utilities): χρησιμοποιούν το ΩΜΟ --bs-primary-rgb
   (amber #DC9C28) ως ΚΕΙΜΕΝΟ πάνω σε λευκό -> 2,37:1 και 2,9:1, αποτυγχάνουν WCAG AA (χρειάζεται 4,5:1). Βρέθηκε
   στις σελίδες σύνδεσης/εγγραφής (axe-core). Ο generator ήδη παράγει --bs-text-primary AA-ασφαλές για ΑΚΡΙΒΩΣ αυτή
   την περίπτωση (π.χ. το χρησιμοποιεί ήδη το .breadcrumb-item.active) — εδώ απλά διορθώνονται τα δύο utility classes
   που δεν το χρησιμοποιούσαν. */
.link-primary,
.link-primary:not(:hover):not(:focus) { color: var(--bs-text-primary) !important; text-decoration-color: var(--bs-text-primary) !important; }
.link-primary:hover, .link-primary:focus { color: var(--melos-charcoal) !important; text-decoration-color: var(--melos-charcoal) !important; }
.text-primary { color: var(--bs-text-primary) !important; }

/* Ανενεργά tabs (nav-line-tabs): το stock χρησιμοποιεί gray-500 (3,5:1 σε λευκό, κάτω από το AA). Ανεβάζουμε σε gray-600. */
.nav-line-tabs .nav-item .nav-link { color: var(--bs-gray-600); }

/* Ετικέτες checkbox/radio: stock gray-500 → gray-600 (AA). */
.form-check.form-check-custom .form-check-label { color: var(--bs-gray-600); }

/* Σελίδα που δεν υπάρχει ακόμα: ορατή στο μενού, μη κλικαριστή, χωρίς hover/active εμφάνιση.
   Ο τίτλος γίνεται γκρι (όχι opacity: το badge πρέπει να μένει ευανάγνωστο), το εικονίδιο πιο αχνό. */
.menu-link.melos-soon { cursor: not-allowed; }
.menu-link.melos-soon:hover,
.menu-link.melos-soon:focus { background: transparent !important; }
.menu-link.melos-soon .menu-title,
.menu-link.melos-soon .text-gray-800,
.menu-link.melos-soon .text-muted { color: var(--bs-gray-600) !important; }
.menu-link.melos-soon .menu-custom-icon,
.menu-link.melos-soon .menu-icon { opacity: 0.55; }
.melos-soon-badge {
	vertical-align: middle;
	letter-spacing: 0.02em;
	background-color: #FBEFC9 !important;
	color: #6B4E00 !important;
}
.btn.melos-soon-btn,
.btn.melos-soon { cursor: not-allowed; }
.btn.melos-soon i,
.btn.melos-soon .melos-icon-tile { opacity: 0.55; }
.btn.melos-soon .fw-bold { color: var(--bs-gray-600); }

/* Promo κάρτα στα tabbed mega-menus (στη θέση της φωτογραφίας του theme). */
.melos-promo {
	background: linear-gradient(160deg, var(--melos-amber-tint) 0%, #F8E6BF 100%);
	border: 1px solid #F0D59B;
	color: var(--melos-charcoal);
}
.melos-promo h4,
.melos-promo p {
	color: var(--melos-charcoal);
}
.melos-promo-icon {
	background: var(--melos-amber);
	color: var(--melos-charcoal);
}

/* Accent amber utilities (badges, εικονίδια). */
.badge-melos-amber { background-color: var(--melos-amber) !important; color: var(--melos-charcoal) !important; }
.text-melos-amber  { color: var(--melos-amber-dark) !important; }
.bg-melos-amber    { background-color: var(--melos-amber) !important; }
.bg-melos-wood     { background-color: var(--melos-wood) !important; }
.bg-melos-light    { background-color: var(--melos-bg-light) !important; }

/* jquery-confirm / el-checkbox: μεταφέρθηκαν στο css/melos-plugins.css (23/09) μαζί με τα υπόλοιπα plugins. */

/* --------------------------------------------------------------------------
   Προσβασιμότητα: fluid Metronic classes (fs-2x, fs-lg-2hx) χρησιμοποιούν calc(rem + vw) και αγνοούν το root font-size
   που αλλάζει το font_controls.js. Τα δικά μας custom είναι ΚΑΘΑΡΑ rem. Ό,τι προσθέτουμε εδώ μένει σε rem/em.
   -------------------------------------------------------------------------- */
.melos-icon-tile { font-size: 1.75rem !important; }
@media (min-width: 992px) { .melos-icon-tile { font-size: 2rem !important; } }
html { font-size: 16px; }

/* Βοηθός MEL-OS: floating κουμπί (charcoal με amber εικονίδιο, όπως το λογότυπο). z-index κάτω από το acctoolbar. */
.melos-chat-fab {
	position: fixed;
	right: 1.5rem;
	bottom: 1.5rem;
	z-index: 9000;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
	background-color: var(--melos-charcoal);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.25);
	border: none;
	cursor: pointer;
	transition: background-color 0.15s ease, transform 0.1s ease;
}
.melos-chat-fab:hover { background-color: var(--melos-charcoal-active); transform: translateY(-2px); }
.melos-chat-fab i { font-size: 1.5rem; color: var(--melos-amber); }
@media (max-width: 400px) {
	.melos-chat-fab { right: 1rem; bottom: 1rem; width: 3.25rem; height: 3.25rem; }
}

/* Ιστορικό (child-file backlog §Δ): chevron περιστρέφεται όταν ανοίγει το collapse card-header */
.fh-chevron { transition: transform 0.2s ease; }
[aria-expanded="true"] .fh-chevron { transform: rotate(180deg); }

/* Πολυμέσα (goal-media/session-media/child «Πολυμέσα» tab, 27/09): scrollbar αντί για απεριόριστο
   ύψος — χωρίς αυτό, πολλά items (ειδικά με video preview iframe) τεντώνουν υπερβολικά το modal.
   Το text-truncate στη γραμμή (βλ. melos-media-rows.js) χρειάζεται bounded πλάτος για να δουλέψει —
   αυτό το max-height/overflow το εξασφαλίζει έμμεσα μαζί με το ήδη υπάρχον πλάτος του modal/κάρτας. */
.melos-media-scroll { max-height: 360px; overflow-y: auto; padding-right: 4px; }

/* Sparkline tooltip (jquery.sparkline): σπασμένο positioning μέσα σε .table-responsive (overflow:
   auto) — εμφανιζόταν floating στην πάνω-αριστερά γωνία αντί δίπλα στο bar. Κρύβεται καθολικά εδώ
   (μαζί με το disableTooltips:true που ήδη περνάει η κάθε κλήση .sparkline() — διπλή ασφάλεια: αν
   κάποιο μελλοντικό sparkline unwittingly παραλείψει το option, αυτό το CSS το καλύπτει ούτως ή
   άλλως). */
.jqstooltip { display: none !important; }

/* TinyMCE dropdowns (Σημείωση στο «Πολυμέσα» παιδιού, 27/09): τα floating panels του TinyMCE 6
   (menus, color picker κ.λπ.) προσαρτώνται στο <body> μέσα σε .tox-tinymce-aux, με δικό του
   z-index (~1300) — πολύ χαμηλότερο από το .jconfirm (99999999, βλ. σχόλιο στο melos-filemanager.js)
   που το ίδιο το editor ζει μέσα του. Αποτέλεσμα: τα dropdown menus γεννιούνταν πίσω από το dialog,
   αόρατα. Ίδιο fix με το balloon.js (css: {zIndex: 100000000}) — εδώ μέσω CSS, όχι JS options,
   γιατί το .tox-tinymce-aux δεν περνάει από δικό μας init call. */
.tox-tinymce-aux { z-index: 100000001 !important; }

/* Drag-and-drop αναδιάταξη πολυμέσων (27/09, native HTML5 DnD — βλ. melos-media-rows.js/enableSort). */
.melos-media-drag { cursor: grab; align-self: flex-start; }
.melos-media-drag:active { cursor: grabbing; }
.melos-media-dragging { opacity: 0.4; }
