/* --- BASE --- */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Montserrat', sans-serif; background-color: #f1f7fe; font-weight: 700; color: #000000; }
.txt-blue { color: #1a4a8e; }
.txt-black { color: #000000; }
.bold { font-weight: 700; }

/* --- HEADER / YELLOW LINE --- */
.top-yellow-line {
    background-color: #fbc02d;
    height: 50px;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 0 5%;
    position: relative;
    z-index: 1000;
}
.nav-menu { display: flex; align-items: center; }
.nav-item {
    background-color: #7a2b6d;
    color: white;
    padding: 8px 22px;
    border-radius: 25px;
    text-decoration: none;
    font-size: 14px;
    margin-right: 10px;
    transition: 0.3s;
}
.nav-item:hover, .nav-item.active { background-color: #1a4a8e; }

.menu-toggle { display: none; cursor: pointer; }
.bar { display: block; width: 25px; height: 3px; margin: 5px auto; background-color: #1a4a8e; transition: 0.3s; }

/* --- LOGO --- */
.logo-wrapper { width: 100%; display: flex; justify-content: flex-end; padding: 30px 5% 0 0; }
.extra-big-logo { height: 160px; width: auto; }

/* --- CONTENT --- */
.contact-content { padding: 0 10% 80px 10%; }
.page-label { color: #1a4a8e; font-size: 18px; margin-top: 20px; margin-bottom: 40px; }

/* Upper Section */
.contact-upper-section { display: flex; gap: 50px; margin-bottom: 40px; }
.contact-text-details { flex: 1; }
.loc-block { margin-bottom: 25px; line-height: 1.6; }

/* Street Photos & Titles */
.contact-street-photos { flex: 2; display: flex; gap: 20px; }
.street-item { flex: 1; text-align: center; }
.street-item p { 
    margin-bottom: 25px; /* Περισσότερο κενό για να μην κολλάνε οι τίτλοι */
    color: #1a4a8e; 
    font-size: 16px; 
}
.street-item img { width: 100%; height: 420px; object-fit: cover; border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }

/* --- INFO BAR --- */
.contact-info-bar { 
    display: flex; justify-content: space-between; align-items: center; 
    margin: 40px 0; padding: 20px 0; border-bottom: 1px solid rgba(26, 74, 142, 0.2); 
}
.bar-right { display: flex; gap: 30px; }
.info-group { display: flex; align-items: center; gap: 10px; flex-direction: row-reverse; }
.bar-icon { width: 22px; height: 22px; }

/* --- MAPS --- */
.maps-container-grid { display: flex; gap: 30px; width: 100%; margin-top: 20px; }
.map-box { flex: 1; text-align: center; }
.map-box iframe { border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.map-caption { margin-top: 15px; font-size: 14px; }

/* --- BOTTOM BAR --- */
.cta-bottom-bar { 
    width: 100%; height: 60px; background: linear-gradient(to right, #7a2b6d, #1a4a8e); 
    display: flex; justify-content: space-between; align-items: center; padding: 0 5%; 
}
.cta-bottom-left { display: flex; align-items: center; gap: 10px; color: white; font-size: 15px; }
.icon-colored { width: 28px; height: 28px; }
.cta-bottom-socials { display: flex; gap: 20px; }
.top-icon { width: 22px; height: 22px; }
.home-red { filter: invert(21%) sepia(100%) saturate(7414%) hue-rotate(359deg) brightness(94%) contrast(117%); }

/* --- RESPONSIVE (MOBILE) --- */
@media (max-width: 1100px) {
    .menu-toggle { display: block; position: absolute; right: 5%; }
    .nav-menu {
        position: absolute; top: 50px; left: -100%; flex-direction: column; 
        background-color: #fbc02d; width: 100%; padding: 20px 0; transition: 0.4s;
    }
    .nav-menu.active { left: 0; }
    .nav-item { margin: 10px 0; width: 80%; text-align: center; margin-right: 0; }

    .contact-upper-section, .contact-street-photos, .maps-container-grid { flex-direction: column; align-items: center; }
    .street-item { width: 100%; margin-bottom: 30px; }
    .street-item img { height: 300px; }

    /* Μάζεμα εικονιδίων στο κινητό */
    .contact-info-bar { flex-direction: column; gap: 30px; border: none; }
    .bar-right { flex-direction: column; gap: 40px; align-items: center; }
    .info-group { flex-direction: column; gap: 8px; }
    .bar-icon { width: 32px; height: 32px; } /* Μικρό εικονίδιο */
    .info-group span { font-size: 14px; }

    .logo-wrapper { justify-content: center; padding-right: 0; }
    .extra-big-logo { height: 100px; }
    .cta-bottom-bar { flex-direction: column; height: auto; padding: 15px; gap: 15px; }
}