/* --- 1. Βασικό Layout --- */
body { margin: 0; display: flex; flex-direction: column; min-height: 100vh; font-family: sans-serif; overflow-x: hidden; }
.container-custom { max-width: var(--site-width); margin: 0 auto; padding: 0 15px; width: 100%; box-sizing: border-box; position: relative; }

.container-footer-custom { 
    max-width: var(--footer-content-width); 
    margin: 0 auto; 
    padding: 20px 15px; 
    width: 100%; 
    box-sizing: border-box; 
    position: relative; 
}

/* --- 2. Header & Λογότυπο --- */
.logo-center { display: flex; justify-content: center; align-items: center; width: 100%; }
.lang-desktop-absolute { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); z-index: 10; }
.mod-languages, .mod-languages ul { display: flex !important; flex-direction: row !important; list-style: none !important; margin: 0 !important; padding: 0 !important; gap: 10px !important; align-items: center !important; }

/* --- 3. Μενού Desktop --- */
.header-desktop nav ul, .header-desktop nav .mod-menu { display: flex; gap: var(--menu-gap); list-style: none; margin: 0; padding: 0; justify-content: inherit; }
.header-desktop nav li { width: var(--menu-li-width); display: flex; justify-content: center; }
.header-desktop nav a { text-decoration: none; color: var(--menu-text); font-size: var(--menu-font-size); font-weight: var(--menu-font-weight); display: flex; flex-direction: column; align-items: center; position: relative; padding: 15px 0; transition: 0.3s ease; width: 100%; text-align: center; z-index: 1; }
.header-desktop nav li.active a { color: var(--menu-active-text) !important; font-weight: var(--menu-active-font-weight) !important; }
.header-desktop nav a:hover { color: var(--menu-hover-text) !important; }

.header-desktop nav a::before { content: ""; display: block; background-image: var(--menu-icon); background-size: contain; background-repeat: no-repeat; background-position: center; width: var(--menu-icon-w); height: var(--menu-icon-h); opacity: 0; transition: all 0.3s ease-in-out; margin-bottom: var(--menu-icon-offset); transform: translateY(5px); z-index: 2; }
.header-desktop nav a:hover::before, .header-desktop nav li.active a::before { opacity: 1 !important; transform: translateY(0) !important; }

.header-desktop nav a::after { content: ""; position: absolute; bottom: var(--u-offset); height: var(--u-height); width: 0; background-size: 100% 100%; background-repeat: no-repeat; background-position: center; transition: all 0.4s ease-in-out; pointer-events: none; z-index: -1; }
body.ue-center .header-desktop nav a::after { left: 50%; transform: translateX(-50%); }
.header-desktop nav a:hover::after, .header-desktop nav li.active a::after { width: 100% !important; opacity: 1 !important; }

body.ut-line .header-desktop nav a::after { background-color: var(--u-hover-color); }
body.ut-line .header-desktop nav li.active a::after { background-color: var(--u-active-color) !important; }
body.ut-image .header-desktop nav a::after { background-image: var(--u-hover-img); background-size: contain; }
body.ut-image .header-desktop nav li.active a::after { background-image: var(--u-active-img) !important; }
body.static-u .header-desktop nav a::after { width: 100% !important; opacity: 1 !important; transform: none !important; left: 0 !important; }

/* --- 4. FOOTER --- */
.footer-main-logo { max-height: 60px; filter: brightness(0) invert(1); }
.lang-footer-absolute { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); z-index: 10; }
.footer-row-menu .mod-menu { display: flex; gap: 20px; list-style: none; margin: 0 !important; padding: 0; }
.footer-row-menu a { color: #ffffff; opacity: 0.8; text-decoration: none; transition: 0.3s; }

/* --- 5. Content --- */
.main-flex { gap: 3%; display: none !important;}
.article-area, .sidebar-area { box-sizing: border-box; min-width: 0; }
nav.border-top.py-2.d-flex.justify-content-center { border-top: rgba(255,255,255,0) !important; }
.m-dropdown { display: none; }

li.nav-item.item-102.default {display: none;}
