/* ===== FRONTIS COLOR PALETTE ===== */
:root {
    --primary: #a4343a;       /* Βασικό κόκκινο/μπορντό */
    --primary-dark: #8a2c32;  /* Σκούροτερη απόχρωση primary */
    --primary-light: #bc3c42; /* Ανοιχτότερη απόχρωση primary */
    --secondary: #3a506b;     /* Δευτερεύον μπλε/γκρι */
	--secondary-light: #90D5FF; /* Ανοιχτό γαλάζιο */
	--accent: #5bc0be;        /* Τιρκουάζ accent */
    --light: #f8f9fa;         /* Ανοιχτό φόντο */
    --dark: #212529;          /* Σκούρο κείμενο */
    --gray: #6c757d;          /* Γκρι για δευτερεύον κείμενο */
    --light-gray: #e9ecef;    /* Ανοιχτό γκρι για borders */
    --success: #28a745;       /* Πράσινο για επιτυχίες */
    --warning: #ffc107;       /* Κίτρινο για προειδοποιήσεις */
    --danger: #dc3545;        /* Κόκκινο για σφάλματα */
    --white: #ffffff;         /* Λευκό */
}

/* Γενική κλάση για επισήμανση - αν χρειαστεί αλλού */
.frontis-highlight {
    color: var(--primary); /* Χρησιμοποιεί την primary χρωματική μεταβλητή */
    /* Δεν έχει bold εδώ, το bold θα οριστεί στην πιο συγκεκριμένη κλάση */
}

/* ΝΕΑ κλάση για την επισήμανση τίτλων σε λίστες */
.frontis-highlight-label {
    color: var(--primary);
    font-weight: bold; /* Εφαρμόζει bold μόνο εδώ */
    display: block; /* Το κάνει block-level για να σπάει γραμμή */
    margin-bottom: 5px; /* Μικρή απόσταση από την περιγραφή */
}


/* ===== ΒΑΣΙΚΑ ΣΤΥΛ ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    color: var(--dark);
    background-color: var(--white);
	padding-top: 80px; /* Προσαρμόστε αυτή την τιμή αν το header έχει διαφορετικό ύψος.
                           Είναι το ύψος του header + λίγο επιπλέον χώρο. */
}


.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

section {
    padding: 60px 0;
}

/* ===== HEADER ===== */
header {
    background-color: var(--primary);
    color: var(--white);	
	justify-content: space-between;
    align-items: center;
    padding: 15px 0;
    transition: all 0.3s ease;

    /* ΝΕΕΣ ΙΔΙΟΤΗΤΕΣ ΓΙΑ ΣΤΑΘΕΡΟ HEADER */
    position: fixed; /* Κάνει το header να παραμένει σταθερό στην οθόνη */
    top: 0;          /* Το κολλάει στην κορυφή */
    width: 100%;     /* Εξασφαλίζει ότι καταλαμβάνει όλο το πλάτος */
    z-index: 1000;   /* Το κρατάει πάνω από άλλα στοιχεία κατά το scroll */
    box-shadow: 0 2px 5px rgba(0,0,0,0.2); /* Προαιρετική σκιά για καλύτερη οπτική διαχωρισμό */
}


header .container {
    display: flex; /* Κάνει το container ένα flex container */
    justify-content: space-between; /* Στοιχίζει το λογότυπο αριστερά, το toggle/menu δεξιά */
    align-items: auto; /* Κεντράρει κάθετα τα στοιχεία μέσα στο container */
    max-width: 1200px; /* Διατηρεί το μέγιστο πλάτος του container */
    margin: 0 auto; /* Διατηρεί το container κεντραρισμένο στην σελίδα */
    padding: 0 12px; /* Διατηρεί το εσωτερικό padding του container */
}

	
.logo img {
    height: 50px; /* Adjust as needed */
}

nav ul {
    list-style: none;
    display: flex;
}

nav ul li {
    margin-left: 25px;
}

/* Ελαφρά μείωση της γραμματοσειράς των συνδέσμων του μενού */
nav ul li a {
    font-size: 0.9rem; /* Μειώνει τη γραμματοσειρά ελαφρώς. Προσαρμόστε την τιμή (π.χ. σε 0.9rem) αν χρειάζεστε μικρότερη. */
}

nav a {
    color: var(--white);
    text-decoration: none;
    font-weight: 600;
    padding: 5px 0;
    transition: color 0.3s ease, border-bottom 0.3s ease;
}

nav a:hover,
nav a.active {
    color: var(--accent);
    border-bottom: 2px solid var(--accent);
}

/* Mobile Menu Toggle */
.menu-toggle {
    display: none;
    flex-direction: column;
    cursor: pointer;
    z-index: 1001;
}

.menu-toggle .bar {
    height: 3px;
    width: 25px;
    background-color: var(--white);
    margin: 4px 0;
    transition: all 0.3s ease-in-out;
}

/* ===== HERO SECTION ===== */
.hero {
    background: url('../images/hero-bg.jpg') no-repeat center center/cover;
    color: var(--white);
    text-align: center;
    padding: 100px 20px;
    height: 60vh; /* Adjust height as needed */
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative; /* Για το overlay */
}

.hero::before { /* Overlay */
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5); /* Σκούρο overlay */
    z-index: 1;
}

.hero .hero-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
}

.hero h1 {
    font-size: 3.5rem;
    margin-bottom: 20px;
    line-height: 1.2;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.hero p {
    font-size: 1.3rem;
    margin-bottom: 30px;
    opacity: 0.9;
}

.btn {
    display: inline-block;
    background-color: var(--accent);
    color: var(--white);
    padding: 12px 25px;
    text-decoration: none;
    border-radius: 5px;
    font-weight: 600;
    transition: background-color 0.3s ease, transform 0.2s ease;
    border: none;
    cursor: pointer;
}

.btn:hover {
    background-color: var(--secondary);
    transform: translateY(-2px);
}

.secondary-btn {
    background-color: var(--secondary);
}

.secondary-btn:hover {
    background-color: var(--primary);
}

/* ===== TRUST INDICATORS ===== */
.trust-indicators {
    background-color: var(--light);
    padding: 40px 0;
    text-align: center;
}

.indicators-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}

.indicator {
    background-color: var(--white);
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.indicator:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}

.indicator i {
    font-size: 3rem;
    color: var(--primary);
    margin-bottom: 15px;
}

.indicator h3 {
    font-size: 1.6rem;
    color: var(--secondary);
    margin-bottom: 10px;
}

.indicator p {
    color: var(--gray);
    font-size: 0.95rem;
}

/* ===== SECTION TITLE ===== */
.section-title {
    text-align: center;
    margin-bottom: 50px;
}

.section-title h2 {
    font-size: 2.5rem;
    color: var(--primary);
    margin-bottom: 10px;
    position: relative;
    display: inline-block;
}

.section-title h2::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: var(--accent);
    margin: 10px auto 0;
    border-radius: 2px;
}

.section-title p {
    font-size: 1.1rem;
    color: var(--gray);
    max-width: 700px;
    margin: 0 auto;
}

/* ===== ABOUT PAGE ===== */
/* Νέα στυλ για την ενότητα "Ποιοι είμαστε" - Εικόνα & Κείμενο */
.about-intro-section {
    display: flex;
    flex-wrap: wrap; /* Επιτρέπει την αλλαγή γραμμής σε μικρότερες οθόνες */
    gap: 40px; /* Απόσταση μεταξύ των στηλών */
    align-items: center; /* Κεντράρισμα των στοιχείων κάθετα */
    margin-bottom: 60px; /* Απόσταση από την επόμενη ενότητα */
}

.about-image-left {
    flex: 1; /* Παίρνει ίσο χώρο */
    min-width: 300px; /* Ελάχιστο πλάτος για να μην συμπιέζεται πολύ */
    text-align: center; /* Κεντράρισμα εικόνας αν είναι μικρότερη */
}

.about-image-left img {
    width: 100%;
    max-width: 600px; /* Μέγιστο πλάτος για την εικόνα */
    height: auto;
    border-radius: 12px; /* Πιο στρογγυλεμένες γωνίες */
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15); /* Πιο έντονη σκιά */
    object-fit: cover; /* Εξασφαλίζει ότι η εικόνα καλύπτει τον χώρο χωρίς παραμόρφωση */
}

.about-text-right {
    flex: 2; /* Παίρνει διπλάσιο χώρο από την εικόνα */
    min-width: 300px; /* Ελάχιστο πλάτος για το κείμενο */
}

.about-text-right p {
    margin-bottom: 15px;
    line-height: 1.7;
    color: var(--dark);
}
.about-banner-img {
    width: 100%;
    max-width: 800px; /* Ορίστε ένα μέγιστο πλάτος για καλύτερη εμφάνιση */
    height: auto;
    display: block; /* Αφαιρεί κενά κάτω από την εικόνα */
    margin: 30px auto; /* Κεντράρισμα και απόσταση */
    border-radius: 8px; /* Ελαφρώς στρογγυλεμένες γωνίες */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); /* Διακριτική σκιά */
}

.about-content {
    max-width: 900px;
    margin: 0 auto;
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--dark);
}

.about-content p {
    margin-bottom: 20px;
}

/* ===== SERVICES PAGE (Tabbed Layout) ===== */
.service-tabs {
    text-align: center;
    margin-bottom: 40px;
    border-bottom: 2px solid var(--light-gray);
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.tab-btn {
    background: none;
    border: none;
    padding: 15px 30px;
    cursor: pointer;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--gray);
    transition: color 0.3s ease, border-bottom 0.3s ease;
    border-bottom: 3px solid transparent;
    margin: 0 10px;
    white-space: normal; 
}

.tab-btn.active {
    color: var(--primary);
    border-bottom-color: var(--primary);
}

.tab-btn:hover:not(.active) {
    color: var(--secondary);
}

.tab-content {
    display: none;
    padding-top: 30px;
}

#agents.tab-content.active {
    background-color: var(--secondary-light); /* Ή οποιοδήποτε άλλο χρώμα θέλετε */
}

#individual.tab-content.active {
    background-color: var(--light); /* Keep this or change as needed */
}

.tab-content.active {
    display: block;
	background-color: var(--light); /* Slightly different background for active tab content */
    padding: 30px 20px;
    border-radius: 8px;
    margin-top: 20px; /* Space from the tabs themselves */
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}


/* Add this to your style.css, perhaps near .tab-content */
.tab-intro-text {
    font-size: 1.1rem;
    color: var(--dark);
    line-height: 1.7;
    margin-bottom: 30px; /* Space below the intro text */
    text-align: center;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.service-card {
    background-color: var(--white);
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.service-icon {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background-color: var(--primary-light); /* Default background */
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    flex-shrink: 0; /* Prevent icon from shrinking */
}

.service-icon img {
    width: 50px;
    height: 50px;
    filter: brightness(0) invert(1); /* Makes SVG white */
}

.service-content h3 {
    font-size: 1.8rem;
    color: var(--secondary);
    margin-bottom: 15px;
}

.service-content p {
    font-size: 1rem;
    color: var(--gray);
    margin-bottom: 20px;
}

.service-features {
    list-style: none;
    text-align: left;
    margin-bottom: 20px;
    padding-left: 0;
}

.service-features li {
    font-size: 0.95rem;
    color: var(--dark);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.service-features li i {
    color: var(--success);
    margin-right: 10px;
}

/* ===== FAQ PAGE (Accordion) ===== */
.faq-container {
    max-width: 800px;
    margin: 0 auto;
}

.faq-item {
    background-color: var(--white);
    border: 1px solid var(--light-gray);
    border-radius: 8px;
    margin-bottom: 15px;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.faq-question {
    padding: 18px 25px;
    background-color: var(--light);
    color: var(--secondary);
    font-weight: 600;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.3s ease;
}

.faq-question:hover {
    background-color: var(--light-gray);
}

.faq-question::after {
    content: '\2B'; /* Plus sign */
    font-size: 1.5rem;
    transition: transform 0.3s ease;
}

.faq-question.active::after {
    content: '\2212'; /* Minus sign */
    transform: rotate(180deg);
}

.faq-answer {
    padding: 0 25px;
    background-color: var(--white);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out, padding 0.4s ease-out;
}

.faq-answer.active {
    max-height: 200px; /* Adjust based on content */
    padding: 15px 25px;
}

.faq-answer p {
    color: var(--gray);
    font-size: 1rem;
    line-height: 1.7;
}

/* ===== CONTACT PAGE ===== */
.contact-container {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 50px;
    max-width: 1000px;
    margin: 0 auto;
    background-color: var(--white);
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    padding: 40px;
}

.contact-info h3,
.contact-form h3 {
    color: var(--primary);
    font-size: 1.8rem;
    margin-bottom: 30px;
}

.contact-detail {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
}

.contact-detail i {
    font-size: 1.8rem;
    color: var(--accent);
    margin-right: 20px;
    width: 35px; /* For alignment */
    text-align: center;
}

.contact-detail h4 {
    font-size: 1.1rem;
    color: var(--secondary);
    margin-bottom: 5px;
}

.contact-detail p {
    font-size: 1rem;
    color: var(--gray);
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--secondary);
}

.form-control {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid var(--light-gray);
    border-radius: 5px;
    font-size: 1rem;
    color: var(--dark);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.form-control:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(91, 192, 190, 0.2); /* Accent with transparency */
}

textarea.form-control {
    resize: vertical;
    min-height: 120px;
}

/* Form validation styling */
.form-control.error {
    border-color: var(--danger);
}

.form-control.success {
    border-color: var(--success);
}

.error-message {
    color: var(--danger);
    font-size: 0.85rem;
    margin-top: 5px;
    display: none; /* Hidden by default */
}

/* Notification Pop-ups */
.notification {
    position: fixed;
    top: 20px;
    right: 20px;
    padding: 15px 25px;
    border-radius: 8px;
    color: var(--white);
    font-weight: 600;
    z-index: 10000;
    opacity: 0;
    transform: translateY(-20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.notification.show {
    opacity: 1;
    transform: translateY(0);
}

.notification.success {
    background-color: var(--success);
}

.notification.error {
    background-color: var(--danger);
}

/* ===== FOOTER ===== */
footer {
    background-color: var(--secondary);
    color: var(--white);
    padding: 40px 0 20px;
    text-align: center;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    text-align: left;
    margin-bottom: 30px;
}

.footer-col h3 {
    color: var(--accent);
    margin-bottom: 20px;
    font-size: 1.4rem;
}

.footer-col p {
    font-size: 0.95rem;
    line-height: 1.8;
    margin-bottom: 10px;
    color: rgba(255,255,255,0.8);
}

.footer-col p i {
    margin-right: 10px;
    color: var(--accent);
}

.social-icons {
    margin-top: 20px;
    margin-bottom: 20px;
}

.social-icons a {
    color: var(--white);
    font-size: 1.5rem;
    margin: 0 10px;
    transition: color 0.3s ease;
}

.social-icons a:hover {
    color: var(--accent);
}

.copyright {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 20px;
    font-size: 0.85rem;
    color: rgba(255,255,255,0.6);
}

/* ===== Back to Top Button ===== */
.back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: var(--primary);
    color: var(--white);
    width: 55px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.0rem;
	box-shadow: 0 4px 15px rgba(0,0,0,0.3); (πιο έντονη σκιά)
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 999;
}

.back-to-top:hover {
    background-color: var(--primary-dark);
    transform: translateY(-3px); /* Slight lift on hover */
}

.back-to-top.show {
    opacity: 1;
    visibility: visible;
}


/* ================================================= */
/* NEW SECTIONS STYLING                  */
/* ================================================= */

/* Testimonials Section */
.testimonials {
    background-color: var(--light);
    padding: 60px 0;
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.testimonial-card {
    background-color: var(--white);
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    position: relative;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Push client info to bottom */
}

.testimonial-card p {
    font-style: italic;
    color: var(--gray);
    margin-bottom: 25px;
    font-size: 1.05rem;
    flex-grow: 1; /* Allow paragraph to take available space */
}

.client-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
}

.client-avatar {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 10px;
    border: 3px solid var(--primary);
}

.client-info h4 {
    font-size: 1.2rem;
    color: var(--secondary);
    margin-bottom: 5px;
}

.client-info span {
    font-size: 0.9rem;
    color: var(--gray);
}

/* Partners Section (Carousel) */
.partners {
    background-color: var(--white);
    padding: 60px 0;
    overflow: hidden; /* Ensure no overflow issues from scrolling content */
}

.partners-scroller {
    width: 100%;
    overflow: hidden; /* Hide the scrollbar */
    position: relative; /* Needed for absolute positioning if dots/arrows were added, good practice */
}

.partners-grid-scroll {
    display: flex; /* Use flexbox for horizontal alignment */
    width: max-content; /* Allow content to dictate width */
    animation: scroll-partners 30s linear infinite; /* Animation definition */
    padding: 10px 0; /* Add some vertical padding */
}

.partners-grid-scroll img {
    max-width: 150px;
    height: auto;
    filter: grayscale(100%);
    opacity: 0.7;
    transition: filter 0.3s ease, opacity 0.3s ease;
    margin: 0 30px; /* Space between logos */
    flex-shrink: 0; /* Prevent images from shrinking */
}

.partners-grid-scroll img:hover {
    filter: grayscale(0%);
    opacity: 1;
}

/* Keyframe Animation for Scrolling */
@keyframes scroll-partners {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%); /* Scroll by 50% to create infinite loop with duplicated content */
    }
}

/* Team Section (added to about.php) */
.team-section {
    background-color: var(--white);
    padding: 60px 0;
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    text-align: center;
}

.team-member-card {
    background-color: var(--light);
    border-radius: 8px;
    padding: 25px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.team-member-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.12);
}

.team-member-card img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 15px;
    border: 3px solid var(--accent);
}

.team-member-card h4 {
    font-size: 1.4rem;
    color: var(--primary);
    margin-bottom: 5px;
}

.team-member-card span {
    display: block;
    font-size: 0.95rem;
    color: var(--secondary);
    margin-bottom: 15px;
}

.team-member-card p {
    font-size: 0.9rem;
    color: var(--gray);
    line-height: 1.6;
}

/* ===== NEW STYLES FOR SERVICE DETAIL PAGES (e.g., service-auto.php) ===== */

.back-button-container {
    margin-bottom: 30px;
}

.service-detail-hero {
    display: flex;
    flex-wrap: wrap; /* Allows wrapping on smaller screens */
    align-items: center; /* Vertically centers items */
    gap: 40px; /* Space between image and text */
    margin-bottom: 50px;
    background-color: var(--light);
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 6px 15px rgba(0,0,0,0.08);
}

.service-detail-hero img {
    flex: 1; /* Takes up 1 part of the flex space */
    min-width: 300px; /* Ensures image doesn't get too small */
    max-width: 50%; /* Max width for the image */
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    object-fit: cover;
}

.service-detail-hero .service-hero-text {
    flex: 1.5; /* Takes up 1.5 parts of the flex space, giving more room to text */
    min-width: 300px; /* Ensures text doesn't get too small */
    padding-left: 20px; /* Add some padding if it's too close to the image */
}

.service-detail-hero .service-hero-text h2 {
    font-size: 2.2rem;
    color: var(--primary);
    margin-bottom: 15px;
    line-height: 1.3;
}

.service-detail-hero .service-hero-text p {
    font-size: 1.1rem;
    color: var(--dark);
    line-height: 1.7;
}

.service-detail-content h3 {
    font-size: 1.8rem;
    color: var(--secondary);
    margin-top: 40px;
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 10px;
}

.service-detail-content h3::after {
    content: '';
    display: block;
    width: 50px;
    height: 3px;
    background-color: var(--accent);
    margin-top: 10px;
    border-radius: 2px;
}

.service-detail-content p {
    margin-bottom: 20px;
    font-size: 1rem;
    line-height: 1.7;
    color: var(--dark);
}

.check-list {
    list-style: none; /* Remove default bullet points */
    padding-left: 0;
    margin-bottom: 30px;
}

.check-list li {
    font-size: 1.05rem;
    color: var(--dark);
    margin-bottom: 12px;
    display: flex;
    align-items: flex-start; /* Align icon to the top of text if it wraps */
}

.check-list li i {
    color: var(--primary); /* Use primary color for check icons */
    margin-right: 15px;
    font-size: 1.2rem;
    flex-shrink: 0; /* Prevent icon from shrinking */
    margin-top: 4px; /* Adjust vertical alignment of icon */
}

/* NEW: Styles for the text content within check-list items */
.check-list li .list-item-text {
    flex-grow: 1; /* Allow text content to take remaining space */
}

.check-list li .list-item-text p {
    margin-bottom: 0; /* Remove default paragraph margin for tight stacking */
}


.service-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
    margin-bottom: 50px;
}

.feature-item {
    background-color: var(--white);
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    text-align: center;
    border-top: 4px solid var(--accent); /* A subtle accent border */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.feature-item i {
    font-size: 2.8rem;
    color: var(--primary);
    margin-bottom: 15px;
}

.feature-item h4 {
    font-size: 1.5rem;
    color: var(--secondary);
    margin-bottom: 10px;
}

.feature-item p {
    font-size: 0.95rem;
    color: var(--gray);
    line-height: 1.6;
}

.process-steps {
    list-style: none; /* Remove default numbering */
    padding-left: 0;
    margin-bottom: 50px;
}

.process-steps li {
    background-color: var(--light);
    padding: 25px;
    border-left: 5px solid var(--primary);
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    position: relative;
    counter-increment: step-counter; /* Initialize counter for numbered list */
}

.process-steps li::before {
    content: counter(step-counter); /* Display the counter */
    position: absolute;
    left: -15px; /* Adjust position */
    top: 50%;
    transform: translateY(-50%);
    background-color: var(--primary);
    color: var(--white);
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 1.1rem;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.process-steps li h4 {
    font-size: 1.4rem;
    color: var(--secondary);
    margin-bottom: 10px;
    padding-left: 30px; /* Space for the counter */
}

.process-steps li p {
    font-size: 1rem;
    color: var(--gray);
    line-height: 1.6;
    padding-left: 30px; /* Space for the counter */
}

.call-to-action-box {
    background-color: var(--secondary);
    color: var(--white);
    padding: 40px;
    border-radius: 12px;
    text-align: center;
    margin-top: 50px;
    margin-bottom: 50px; /* Add margin to separate from footer */
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.call-to-action-box h3 {
    color: var(--accent);
    font-size: 2rem;
    margin-bottom: 20px;
}

.call-to-action-box p {
    font-size: 1.1rem;
    line-height: 1.7;
    margin-bottom: 30px;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    color: rgba(255,255,255,0.9);
}

.btn-primary-alt {
    background-color: var(--primary); /* Use primary for this button */
    color: var(--white);
    border: 2px solid var(--primary);
}

.btn-primary-alt:hover {
    background-color: var(--primary-dark);
    border-color: var(--primary-dark);
}


/* ===== Latest Blog Posts Section ===== */
.latest-blog-posts {
    padding: 60px 0;
    background-color: var(--light); /* Χρησιμοποιήστε μια ανοιχτότερη απόχρωση φόντου */
}

.latest-blog-posts .section-title {
    margin-bottom: 40px;
}

.blog-posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.blog-post-card {
    background-color: var(--white);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    padding: 25px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Σπρώχνει το read-more προς τα κάτω */
}

.blog-post-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.blog-post-card h3 {
    font-size: 1.5rem;
    color: var(--secondary);
    margin-bottom: 10px;
    line-height: 1.3;
}

.blog-post-card h3 a {
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease;
}

.blog-post-card h3 a:hover {
    color: var(--primary); /* Αλλάζει χρώμα στον τίτλο κατά το hover */
}

.blog-post-card .post-date {
    font-size: 0.9rem;
    color: var(--gray);
    margin-bottom: 15px;
}

.blog-post-card p {
    font-size: 1rem;
    color: var(--dark);
    line-height: 1.6;
    margin-bottom: 20px;
    flex-grow: 1; /* Επιτρέπει στο κείμενο να γεμίσει τον χώρο */
}

.blog-post-card .read-more {
    display: inline-block;
    background-color: var(--primary);
    color: var(--white);
    padding: 10px 15px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    transition: background-color 0.3s ease;
    align-self: flex-start; /* Τοποθετεί το κουμπί στην αρχή της γραμμής του */
}

.blog-post-card .read-more:hover {
    background-color: var(--primary-dark);
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 992px) {
    .about-intro-section {
        flex-direction: column; /* Στοίβαξη στηλών σε μικρότερες οθόνες */
        gap: 30px;
    }

    .about-image-left,
    .about-text-right {
        min-width: unset; /* Καταργεί το ελάχιστο πλάτος για πλήρη προσαρμογή */
        width: 100%;
        flex: unset; /* Καταργεί το flex για να πάρουν όλο το πλάτος */
    }

    .service-detail-hero {
        flex-direction: column;
        gap: 30px;
        padding: 20px;
    }

    .service-detail-hero img {
        max-width: 100%; /* Image takes full width on small screens */
    }

    .service-detail-hero .service-hero-text {
        padding-left: 0; /* Remove padding for mobile */
        text-align: center; /* Center text on mobile */
    }

    .service-detail-hero .service-hero-text h2::after {
        margin-left: auto;
        margin-right: auto;
    }
}


@media (max-width: 768px) {
    .menu-toggle {
        display: flex;
    }

    header {
        position: relative; /* Για σωστό absolute positioning του nav */
    }

    nav {
        position: absolute;
        top: 80px; /* Adjust based on header height */
        left: -100%;
        width: 100%;
		height: auto; /* ή 100vh για πλήρη ύψος */
		overflow-y: auto; /* για scroll αν χρειαστεί */
        background-color: var(--primary-dark);
        flex-direction: column;
        transition: all 0.3s ease-in-out;
        box-shadow: 0 5px 10px rgba(0,0,0,0.2);
        z-index: 1000;
    }

    nav.active {
        left: 0;
    }

    nav ul {
        flex-direction: column;
        padding: 20px 0;
    }

    nav ul li {
        margin: 0;
    }

    nav a {
        display: block;
        padding: 15px;
        text-align: center;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }

    nav a:hover,
    nav a.active {
        background-color: var(--primary);
        border-bottom-color: var(--accent);
    }

    .hero {
        height: 80vh;
    }

    .hero h1 {
        font-size: 2.3rem;
    }

    .section-title h2 {
        font-size: 2rem;
    }

    .indicators-grid {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

	.services-grid {
    grid-template-columns: 1fr; /* 1 κάρτα ανά γραμμή */
    }

    .service-icon img {
        width: 60px;
        height: 60px;
    }

   .service-features {
        padding-left: 20px;
    }

    .contact-container {
        grid-template-columns: 1fr;
        padding: 25px;
    }

    .contact-info, .contact-form {
        margin-bottom: 30px; /* Add space between sections on mobile */
    }

    .testimonials-grid, .blog-grid, .team-grid { /* partners-grid removed here */
        grid-template-columns: 1fr;
    }

    /* Responsive adjustments for Partners section (carousel) */
    .partners-grid-scroll img {
        max-width: 100px; /* Smaller logos on mobile */
        margin: 0 20px;
    }
    /* Responsive adjustments for blog posts */
    .blog-posts-grid {
        grid-template-columns: 1fr; /* Στήλες για μικρότερες οθόνες */
    }

}

@media (max-width: 576px) {
    .hero h1 {
        font-size: 2rem;
    }

    .hero p {
        font-size: 1rem;
    }

    .section-title h2 {
        font-size: 1.75rem;
    }

    .btn {
        padding: 10px 20px;
        font-size: 0.9rem;
    }

    .contact-detail {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }

    .contact-detail i {
        margin-right: 0;
        margin-bottom: 10px;
    }

    .contact-detail h4, .contact-detail p {
        text-align: left;
    }

    .process-steps li h4,
    .process-steps li p {
        padding-left: 0; /* Remove padding for smaller screens if content wraps fully */
    }

    .process-steps li::before {
        position: static;
        transform: none;
        margin-right: 10px;
        margin-bottom: 10px; /* For stacking with text */
    }
    .process-steps li {
        flex-direction: column;
        align-items: flex-start;
    }
}




/* Custom styles for ENFIA highlight box with animation */
.highlight-enfia {
    background-color: var(--light); /* Χρησιμοποιούμε ένα ανοιχτό φόντο από την παλέτα */
    border: 2px solid var(--accent); /* Ένα έντονο περίγραμμα με το accent χρώμα */
    color: var(--dark); /* Σκούρο κείμενο για καλή αναγνωσιμότητα */
    padding: 25px;
    margin: 30px 0;
    border-radius: 8px;
    text-align: center; /* Κεντράρισμα κειμένου για έμφαση */

    /* Animation properties */
    animation: enfia-pulse 2s infinite alternate; /* 2 δευτερόλεπτα, επ' αόριστον, εναλλάσσεται */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Αρχική σκιά */
}

.highlight-enfia h3 {
    font-size: 2rem; /* Μεγαλύτερο μέγεθος τίτλου */
    color: var(--primary); /* Κύριο χρώμα για τον τίτλο */
    margin-bottom: 15px;
}

.highlight-enfia h3 span {
    color: inherit; /* Κληρονομεί το χρώμα από το h3 */
}

.highlight-enfia p,
.highlight-enfia ul,
.highlight-enfia li {
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 10px;
    color: var(--dark); /* Σκούρο κείμενο */
}

.highlight-enfia ul.enfia-benefits {
    list-style: none; /* Αφαιρεί τα προεπιλεγμένα bullet points */
    padding: 0;
    margin-top: 20px;
    text-align: left; /* Ευθυγράμμιση λίστας αριστερά */
    max-width: 600px; /* Περιορίζει το πλάτος της λίστας */
    margin-left: auto;
    margin-right: auto;
}

.highlight-enfia ul.enfia-benefits li {
    margin-bottom: 10px;
    display: flex; /* Χρησιμοποιούμε flexbox για ευθυγράμμιση εικονιδίου και κειμένου */
    align-items: flex-start; /* Ευθυγραμμίζει το εικονίδιο και το κείμενο στην αρχή */
}


.highlight-enfia ul.enfia-benefits li i {
    margin-right: 10px; /* Απόσταση μεταξύ εικονιδίου και κειμένου */
    color: var(--accent);
    font-size: 1.2rem;
    min-width: 20px; /* Εξασφαλίζει σταθερό πλάτος για το εικονίδιο */
    text-align: center;
    flex-shrink: 0; /* Αποτρέπει το εικονίδιο να συρρικνωθεί */
    padding-top: 2px; /* Μικρή προσαρμογή για κάθετη ευθυγράμμιση του εικονιδίου */
}


.highlight-enfia .small-text {
    font-size: 0.9rem;
    margin-top: 20px;
    color: var(--gray); /* Γκρι χρώμα για μικρό κείμενο */
}

.enfia-benefit-text {
    flex-grow: 1; /* Επιτρέπει στο κείμενο να καταλαμβάνει τον υπόλοιπο διαθέσιμο χώρο */
    font-size: 1.1rem; /* Εξασφαλίζει το σωστό μέγεθος γραμματοσειράς */
    line-height: 1.6;
    color: var(--dark);
}
/* Keyframes for the pulsing animation */
@keyframes enfia-pulse {
    0% {
        background-color: var(--light);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        transform: scale(1);
    }
    50% {
        background-color: #f0faff; /* Ένα πολύ ανοιχτό μπλε/γαλάζιο για τον παλμό */
        box-shadow: 0 0 20px rgba(91, 192, 190, 0.5); /* Εντονότερη σκιά με accent χρώμα */
        transform: scale(1.01); /* Ελαφρύ ζουμ για πιο έντονο εφέ */
    }
    100% {
        background-color: var(--light);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        transform: scale(1);
    }
}

/* Founder Bio Section */
.founder-bio-section {
    background-color: var(--light); /* Ένα ανοιχτό φόντο για να ξεχωρίζει */
    padding: 40px;
    margin-top: 50px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    text-align: center; /* Κεντράρισμα του τίτλου */
}

.founder-bio-section h3 {
    color: var(--primary);
    margin-bottom: 30px;
    font-size: 2.2rem;
}

.founder-content {
    display: flex;
    flex-direction: column; /* Στοίχιση εικόνας και κειμένου σε στήλη σε μικρές οθόνες */
    align-items: center;
    gap: 30px; /* Απόσταση μεταξύ εικόνας και κειμένου */
}

@media (min-width: 768px) {
    .founder-content {
        flex-direction: row; /* Στοίχιση δίπλα-δίπλα σε μεγαλύτερες οθόνες */
        text-align: left;
    }

    .founder-image {
        flex-shrink: 0; /* Αποτρέπει την εικόνα να συρρικνωθεί */
        width: 250px; /* Σταθερό πλάτος για το container της εικόνας */
        height: 250px; /* Σταθερό ύψος για το container της εικόνας */
    }
}


.founder-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Εξασφαλίζει ότι η εικόνα καλύπτει την περιοχή, με περικοπή αν χρειαστεί */
    border-radius: 50%; /* Κυκλική εικόνα */
    border: 5px solid var(--accent); /* Περίγραμμα γύρω από την εικόνα */
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.founder-text {
    flex-grow: 1;
}

.founder-text h4 {
    color: var(--secondary);
    margin-bottom: 5px;
    font-size: 1.8rem;
}

.founder-text h5 {
    color: var(--gray);
    font-size: 1.1rem;
    margin-bottom: 15px;
}

.founder-text p {
    line-height: 1.7;
    margin-bottom: 15px;
    color: var(--dark);
}

.founder-bio-section .read-more-btn {
    margin-top: 15px;
    /* Χρησιμοποιεί το υπάρχον styling του btn-secondary */
}

/* Custom highlight for bold text */
.highlight-bold {
    font-weight: bold;
    color: var(--primary); /* Χρησιμοποιεί το βασικό χρώμα της Frontis */
}

/* Style for external link button in navigation */
nav ul li .external-link-btn {
    display: inline-block; /* Essential for applying padding and margin like a block */
    background-color: var(--accent); /* Χρησιμοποιεί το τιρκουάζ accent χρώμα */
    color: var(--white); /* Λευκό κείμενο στο κουμπί */
    padding: 8px 15px; /* Εσωτερικό padding για το κουμπί */
    border-radius: 5px; /* Ελαφρώς στρογγυλεμένες γωνίες */
    text-decoration: none; /* Αφαιρεί την υπογράμμιση από τον σύνδεσμο */
    font-weight: bold; /* Έντονη γραφή */
    margin-left: 12px; /* Απόσταση από το προηγούμενο στοιχείο μενού */
    transition: background-color 0.3s ease; /* Ομαλή μετάβαση στο hover */
    white-space: nowrap; /* Αποτρέπει την αλλαγή γραμμής στο κείμενο του κουμπιού */
}

nav ul li .external-link-btn:hover {
    background-color: var(--secondary); /* Αλλάζει χρώμα στο hover */
}

/* Styling for Useful Links in Footer */
.footer-col ul {
    list-style: none; /* Αφαιρεί τις τελείες της λίστας */
    padding: 0;
    margin: 0;
}

.footer-col ul li {
    margin-bottom: 8px; /* Λίγος χώρος μεταξύ των συνδέσμων */
}

.footer-col ul li a {
    color: var(--gray); /* Λευκό χρώμα για τους συνδέσμους */
    text-decoration: none; /* Αφαιρεί την υπογράμμιση */
    transition: color 0.3s ease; /* Ομαλή μετάβαση στο hover */
}

.footer-col ul li a:hover {
    color: var(--accent); /* Τιρκουάζ χρώμα στο hover */
}

/* Προσαρμογή για το mobile menu όταν είναι ενεργό */
@media (max-width: 767px) { /* Εφαρμόζεται σε μικρές οθόνες (π.χ. κινητά) */
    nav.active ul li .external-link-btn {
        background-color: transparent; /* Αφαιρεί το φόντο όταν το μενού είναι ανοιχτό */
        color: var(--primary); /* Χρησιμοποιεί το βασικό χρώμα για το κείμενο */
        border: none; /* Αφαιρεί το περίγραμμα */
        padding: 10px 0; /* Προσαρμόζει το padding για λίστα */
        text-align: left; /* Στοιχίζει το κείμενο αριστερά */
        margin-left: 0; /* Μηδενίζει το αριστερό περιθώριο */
        border-radius: 0; /* Αφαιρεί τις στρογγυλεμένες γωνίες */
    }
    nav.active ul li .external-link-btn:hover {
        background-color: var(--light-gray); /* Hover effect στο mobile menu */
        color: var(--primary-dark);
    }
}

/* Styling for Dynamic Documents List Section (File Manager Look) */
.documents-list-section {
    padding: 30px 0;
    font-family: 'Roboto', sans-serif; /* Χρήση μιας πιο καθαρής γραμματοσειράς */
}

/* Styling for Folder Groupings */
.folder-group {
    background-color: var(--white); /* Λευκό φόντο για κάθε ομάδα φακέλων */
    border: 1px solid var(--light-gray);
    border-radius: 10px;
    padding: 25px 20px;
    margin-bottom: 40px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08); /* Ελαφρώς πιο έντονη σκιά */
}

.folder-title {
    color: var(--secondary); /* Σκούρο μπλε/γκρι */
    font-size: 2em; /* Ελαφρώς μεγαλύτερη επικεφαλίδα */
    margin-bottom: 20px;
    padding-bottom: 15px; /* Περισσότερος χώρος κάτω από την επικεφαλίδα */
    border-bottom: 2px solid var(--light-gray);
    display: flex;
    align-items: center;
    gap: 12px; /* Αυξημένη απόσταση */
    font-weight: 700; /* Πιο έντονο */
}

.folder-title i {
    color: var(--primary); /* Κόκκινο εικονίδιο φακέλου */
    font-size: 1.5em; /* Μεγαλύτερο εικονίδιο */
}

/* Styling for individual document list items within folder groups */
.documents-list-section .document-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.documents-list-section .document-list li {
    background-color: var(--light); /* Ανοιχτό φόντο για κάθε αρχείο στη λίστα */
    border: 1px solid var(--light-gray);
    border-radius: 8px;
    margin-bottom: 10px; /* Ελαφρώς μικρότερο περιθώριο για πιο σφιχτή λίστα */
    padding: 12px 20px; /* Ελαφρώς προσαρμοσμένο padding */
    display: flex;
    flex-wrap: nowrap; /* Αποτρέπουμε το τύλιγμα κειμένου σε νέα γραμμή */
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05); /* Πιο απαλή σκιά */
    transition: all 0.25s ease; /* Ομαλότερη μετάβαση */
}

.documents-list-section .document-list li:hover {
    transform: translateY(-2px); /* Ελαφρώς λιγότερο "σήκωμα" */
    box-shadow: 0 6px 15px rgba(0,0,0,0.12); /* Πιο έντονη σκιά στο hover */
    background-color: var(--secondary-light); /* Highlight χρώμα στο hover */
    border-color: var(--accent); /* Χρώμα accent στο border στο hover */
}

.documents-list-section .document-list li .document-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: var(--dark); /* Σκούρο κείμενο για καλύτερη αναγνωσιμότητα */
    font-weight: 500; /* Μέτριο βάρος γραμματοσειράς */
    font-size: 1em; /* Κανονικό μέγεθος γραμματοσειράς */
    flex-grow: 1; 
    padding-right: 15px;
    overflow: hidden; /* Απόκρυψη υπερχείλισης κειμένου */
    white-space: nowrap; /* Αποτροπή αλλαγής γραμμής */
    text-overflow: ellipsis; /* Προσθήκη αποσιωπητικών για κείμενο που ξεπερνά το όριο */
}

.documents-list-section .document-list li .document-link:hover {
    color: var(--primary); /* Κύριο χρώμα στο κείμενο κατά το hover */
}

.documents-list-section .document-list li .document-link i {
    font-size: 1.8em; /* Μεγαλύτερα εικονίδια αρχείων */
    color: var(--accent); /* Τιρκουάζ χρώμα για τα εικονίδια αρχείων */
    margin-right: 18px; /* Περισσότερος χώρος από το εικονίδιο στο κείμενο */
    flex-shrink: 0;
    width: 30px; /* Σταθερό πλάτος για τα εικονίδια για καλύτερη στοίχιση */
    text-align: center;
}

.documents-list-section .btn-download {
    background-color: var(--primary); /* Κόκκινο κουμπί */
    color: var(--white);
    padding: 8px 18px; /* Ελαφρώς περισσότερο padding */
    border-radius: 6px; /* Ελαφρώς πιο στρογγυλεμένες γωνίες */
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background-color 0.3s ease, transform 0.2s ease;
    flex-shrink: 0; 
    font-size: 0.95em; /* Ελαφρώς μικρότερη γραμματοσειρά για το κουμπί */
    font-weight: 600;
}

.documents-list-section .btn-download:hover {
    background-color: var(--primary-dark);
    transform: translateY(-1px); /* Ελαφρύ σήκωμα στο hover του κουμπιού */
}

.last-updated-note {
    font-size: 0.85em; /* Μικρότερο μέγεθος γραμματοσειράς */
    color: #6c757d;   /* Ανοιχτό γκρι χρώμα */
    text-align: right; /* Προαιρετικά: ευθυγράμμιση δεξιά */
    margin-top: 30px; /* Απόσταση από το πάνω μέρος */
}

.cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: var(--dark); /* ή άλλο χρώμα */
    color: var(--white);
    padding: 15px 0;
    text-align: center;
    z-index: 1000;
    display: none; /* Αρχικά κρυμμένο, θα εμφανιστεί με JS */
    box-shadow: 0 -2px 10px rgba(0,0,0,0.2);
}
.cookie-banner p {
    margin: 0 0 10px 0;
    font-size: 0.95em;
}
.cookie-banner .cookie-buttons button,
.cookie-banner .cookie-buttons .btn-info {
    margin: 5px;
    padding: 8px 15px;
    cursor: pointer;
    border-radius: 5px;
    font-size: 0.9em;
    /* Προσθέστε στυλ για τα κουμπιά σας */
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .folder-group {
        padding: 15px;
        margin-bottom: 30px;
    }
    .folder-title {
        font-size: 1.6em;
        margin-bottom: 15px;
        padding-bottom: 10px;
    }
    .folder-title i {
        font-size: 1.3em;
    }
    .documents-list-section .document-list li {
        flex-direction: column; /* Στοίχιση αντικειμένων κάθετα σε μικρές οθόνες */
        align-items: flex-start;
        padding: 12px 15px;
    }
    .documents-list-section .document-list li .document-link {
        width: 100%; 
        margin-bottom: 10px; /* Χώρος μεταξύ link και κουμπιού */
        padding-right: 0;
        white-space: normal; /* Να επιτρέπεται η αλλαγή γραμμής κειμένου */
        text-overflow: clip; /* Όχι αποσιωπητικά όταν το κείμενο τυλίγεται */
    }
    .documents-list-section .document-list li .document-link span {
        word-break: break-word; /* Διασφάλιση ότι οι μεγάλες λέξεις σπάνε */
    }
    .documents-list-section .document-list li .document-link i {
        margin-right: 10px;
        font-size: 1.6em;
    }
    .documents-list-section .btn-download {
        width: 100%;
        justify-content: center;
        padding: 10px 15px;
    }
}

/* ====================== FOOTER BOTTOM LINKS ====================== */
.footer-bottom-links {
    display: flex; /* Χρησιμοποιεί flexbox για οριζόντια διάταξη */
    justify-content: center; /* Κεντράρει τα λινκ οριζόντια */
    gap: 20px; /* Προσθέτει χώρο μεταξύ των λινκ */
    padding: 20px 0; /* Εσωτερικό padding πάνω και κάτω */
    border-top: 1px solid rgba(255, 255, 255, 0.1); /* Προαιρετική γραμμή διαχωρισμού */
    margin-top: 20px; /* Περιθώριο πάνω από αυτό το τμήμα */
}

.footer-bottom-links a {
    color: var(--white); /* Χρώμα λινκ (π.χ. λευκό) */
    text-decoration: none; /* Αφαιρεί την υπογράμμιση */
    font-size: 0.9em; /* Μέγεθος γραμματοσειράς */
    transition: color 0.3s ease; /* Ομαλή μετάβαση στο hover */
}

.footer-bottom-links a:hover {
    color: var(--primary-light); /* Αλλαγή χρώματος στο hover */
}

/* Προσαρμογές για μικρότερες οθόνες (προαιρετικό) */
@media (max-width: 768px) {
    .footer-bottom-links {
        flex-direction: column; /* Στοίχιση κάθετα σε μικρές οθόνες */
        align-items: center; /* Κεντράρισμα κάθετων λινκ */
        gap: 10px; /* Μείωση κενού */
    }
}




@media (min-width: 768px) and (max-width: 991px) {
    .documents-list-section .document-list li {
        padding: 10px 15px;
    }
    .documents-list-section .document-list li .document-link i {
        font-size: 1.6em;
        margin-right: 15px;
    }
    .documents-list-section .btn-download {
        padding: 7px 12px;
        font-size: 0.9em;
    }
}


