/* =====================
   RESET
===================== */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; font-family: 'Montserrat', sans-serif; }
ul { list-style: none; margin: 0; padding: 0; }
a { text-decoration: none; color: inherit; }

/* =====================
   CONTAINER
===================== */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

/* =====================
   HEADER
===================== */
.site-header {
    position: relative;
    z-index: 1000;
}

/* ---------- TOP BAR ---------- */
.top-bar {
    background: #1b6b74;
    padding: 10px 0;
}

.top-bar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; /* allow wrap for mobile language switcher */
}

.top-menu {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.top-menu a {
    color: #fff;
    font-size: 14px;
}

/* Language switcher */
.language-switcher {
    margin-left: auto;
}

@media(max-width: 992px){ 
    .language-switcher { 
        width: 100%; 
        text-align: center; 
        margin-top: 8px; 
        order: 2; /* move below top menu on mobile */ 
    }
}

/* ---------- MAIN HEADER ---------- */
.main-header {
    border-bottom: 1px solid #ddd;
	margin-bottom:20px;
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 14px 0;
}

/* =====================
   MAIN MENU – DESKTOP
===================== */
.main-navigation {
    display: flex;
}

.main-menu {
    display: flex;
    gap: 28px;
}

.main-menu li {
    position: relative;
}

.main-menu > li > a {
    font-size: 17px;
    font-weight: 600;
    color: #000;
    padding: 6px 0 10px; /* extra spacing for submenu */
    transition: color 0.3s;
}

/* Hover color ONLY (no background) */
.main-menu > li > a:hover {
    color: #74A8CF;
}
@media (min-width: 993px) {
/* Arrows for parent items */
.menu-item-has-children > a::after {
    content: " ▼";
    font-size: 11px;
    margin-left: 8px;
    transition: transform 0.3s;
}
/* Arrow for nested levels */
.sub-menu .menu-item-has-children > a::after {
    content: " ▶";
    float: right;
    margin-left: 8px;
}
.main-menu li:hover > .sub-menu {
    display: block;
}
}
/* =====================
   SUB MENUS – DESKTOP
===================== */
.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background: #fff;
    border: 1px solid #ddd;
    display: none;
    z-index: 9999;
    padding: 8px 0; /* spacing for submenu */
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}



/* Second level → right */
.sub-menu .sub-menu {
    top: 0;
    left: 100%;
}



/* Submenu links */
.sub-menu li a {
    display: block;
    padding: 10px 16px;
    font-size: 15px;
    color: #000;
    transition: color 0.3s;
}

.sub-menu li a:hover {
    color: #5A7ABB;
}

/* =====================
   HAMBURGER
===================== */
.hamburger {
    display: none;
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
}

.hamburger span {
    width: 28px;
    height: 3px;
    background: #000;
}

/* =====================
   MOBILE MENU
===================== */
@media (max-width: 992px) {

    .hamburger { 
        display: flex;
        padding-right:14px;
    }
.site-logo{
    padding-left:7px;
}
    .main-navigation {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #fff;
        display: none;
        flex-direction: column;
        border: 1px solid #ddd;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }

    .main-navigation.show {
        display: flex;
    }

    .main-menu {
        flex-direction: column;
        gap: 0;
        margin-top:3px;
    }

    .main-menu > li > a {
        padding: 14px 20px;
       
        font-size: 15px;
    }
.main-menu li{
    padding:8px;
     border-bottom: 1px solid #eee;
}
    
   /* .menu-item-has-children > a::after {
        content: " ▶";
        float: right;
        margin-left: 12px;
    }

    .menu-item-has-children.open > a::after {
        content: " ▼";
    }

   .sub-menu {
        position: static;
        border: 1px solid #ddd;
        display: none;
        padding-left: 20px;
        background: #f9f9f9;
        margin-bottom: 6px; 
         box-shadow: 0 2px 6px rgba(0,0,0,0.05);
        margin-top:3px;
    }*/

    .menu-item-has-children.open > .sub-menu {
        display: block;
    }




    .menu-item-has-children > a .submenu-toggle {
        display: inline-block;
        float: right;
        margin-left: 12px;
        cursor: pointer;
    }

  

    .sub-menu {
        display: none;
        padding-left: 20px;
        border: 1px solid #ddd;
        background: #f9f9f9;
        margin-bottom: 6px;
        box-shadow: 0 2px 6px rgba(0,0,0,0.05);
        margin-top:3px;
    }

 

   /* .sub-menu li a {
        padding: 10px 16px;
    }*/
}

/* =====================
   FOOTER
===================== */
.site-footer {
    padding: 0;
    color: #000;
}

.footer-row {
    text-align: center;
    margin: 10px 0; /* space between footer rows */
}

/* Footer menu */
.footer-menu {
    display: inline-flex;
   /* flex-direction: column; */
	 flex-wrap: wrap;          /* 👈 allows next line */
    justify-content: center;
    gap: 20px;
    align-items: center;
}

.footer-menu a {
    color: #000;
    transition: color 0.3s;
}

.footer-menu a:hover {
    color: #5A7ABB;
}

/* Footer submenu */
.footer-menu .sub-menu {
    position: static;
    display: none;
    padding-left: 15px;
}

.footer-menu li:hover > .sub-menu {
    display: block;
}
.footer-row {
    padding:8px;
}
/* Footer social icons */

a.social-icon {
    font-size: 20px; /* increased size */
    color: #000;
    transition: color 0.3s;
}

a.social-icon:hover {
    color: #5A7ABB;
}
.language-switcher .lang-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 5px 10px 5px 35px; /* left padding for flag */
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 3px;
    background-color: #7abdc3;
    background-repeat: no-repeat;
    background-position: 8px center; /* flag on left */
    background-size: 20px 14px;
    cursor: pointer;
}

/* Remove default arrow in IE */
.language-switcher .lang-select::-ms-expand {
    display: none;
}

/* Optional: smaller arrow */
.language-switcher .lang-select::after {
    content: "▼";
    position: absolute;
    right: 10px;
}

#contact-map {
	width:99.48vw;
	max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: 0px;
    padding-right: 0px;
    box-sizing: border-box;
}