/* ============================================================
   GREECEVEST — New-design Header & Footer (namespaced)
   All selectors are prefixed with `gv-` so they never collide
   with Bootstrap / main.css on the existing site pages.
   ============================================================ */

/* Inter font for the new header/footer only (must precede other rules) */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");

:root {
    --gv-primary: #1e3254;
    --gv-primary-foreground: #f7f9fc;
    --gv-accent: #6eb4d4;
    --gv-accent-foreground: #131d30;
    --gv-foreground: #131d30;
    --gv-muted-foreground: #5c7899;
    --gv-border: #c4d4e6;
    --gv-card: #ffffff;
    --gv-radius: 0.5rem;
}

/* Spacer rendered right after the fixed navbar so page content (and any
   top alerts) are never hidden behind it. Hero sections can bleed back
   under the navbar by adding `.gv-under-nav` (margin-top:-5rem). */
.gv-nav-spacer {
    height: 5rem;
}
.gv-under-nav {
    margin-top: -5rem !important;
}

/* ===================== NAVBAR ===================== */
.gv-navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1050;
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid transparent;
    transition: all 300ms ease;
    font-family:
        "Inter",
        ui-sans-serif,
        system-ui,
        -apple-system,
        sans-serif;
}
.gv-navbar.gv-scrolled {
    background-color: rgba(255, 255, 255, 0.97);
    border-bottom-color: var(--gv-border);
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
}
.gv-navbar-inner {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 5rem;
    transition: height 300ms ease;
}
@media (min-width: 640px) {
    .gv-navbar-inner {
        padding: 0 1.5rem;
    }
}
@media (min-width: 1024px) {
    .gv-navbar-inner {
        padding: 0 2rem;
    }
}

.gv-dropdown-menu {
  overflow-y: auto;
}

.gv-dropdown-menu::-webkit-scrollbar {
  width: 3px;
}

.gv-dropdown-menu::-webkit-scrollbar-thumb {
  border-radius: 999px;
}
.gv-navbar.gv-scrolled .gv-navbar-inner {
    height: 4rem;
}

.gv-navbar-logo img {
    height: 3rem;
    width: auto;
    transition: height 300ms ease;
}

@media (max-width: 550px) {
    .gv-navbar-inner {
        height: 4rem !important;
    }
    .gv-navbar-logo img {
    height: 2.3rem;
  }
}
@media (min-width: 550px) and (max-width: 768px) {
    .gv-navbar-inner {
        height: 4.3rem !important;
    }
    .gv-navbar-logo img {
    height: 2.5rem;
  }
}
@media (min-width: 768px) and (max-width: 991px) {

}

.gv-navbar-logo {
    display: inline-flex;
    align-items: center;
}
.gv-navbar.gv-scrolled .gv-navbar-logo img {
    height: 2.5rem;
}
@media (min-width: 640px) {
    /* .gv-navbar-logo img {
        height: 3.5rem;
    } */
    .gv-navbar.gv-scrolled .gv-navbar-logo img {
        height: 2.75rem;
    }
}

/* Desktop links */
.gv-navbar-links {
    display: none;
    align-items: center;
    gap: 1.75rem;
}
@media (min-width: 1024px) {
    .gv-navbar-links {
        display: flex;
    }
}

.gv-nav-link {
    position: relative;
    font-size: 0.875rem;
    font-weight: 500;
    color: oklch(0.45 0.03 250);
    /* color: var(--gv-muted-foreground); */
    padding: 0.5rem 0;
    transition: color 150ms;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-family: inherit;
    white-space: nowrap;
}
.gv-nav-link:hover {
    color: var(--gv-foreground);
}
.gv-nav-link.gv-active {
    color: var(--gv-foreground);
}
.gv-nav-link.gv-active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 2px;
    background: var(--gv-accent);
    border-radius: 9999px;
}

/* Resources dropdown */
.gv-dropdown {
    position: relative;
}
/* Text link + chevron toggle sit side by side; the text links to the map
   route, the chevron button toggles the dropdown. */
.gv-dropdown-head {
    display: inline-flex;
    align-items: center;
    gap: 0.1rem;
}
.gv-dropdown-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem 0.15rem;
    margin: 0;
    color: oklch(0.45 0.03 250);
    display: inline-flex;
    align-items: center;
    font-family: inherit;
    line-height: 0;
}
.gv-dropdown-toggle:hover {
    color: var(--gv-foreground);
}
.gv-dropdown-chevron {
    transition: transform 200ms ease;
}
.gv-dropdown.gv-open .gv-dropdown-chevron {
    transform: rotate(180deg);
}
.gv-dropdown-menu {
    position: absolute;
    top: calc(100% + 0.5rem);
    left: 0;
    min-width: 17rem;
    max-width: 22rem;
    background: var(--gv-card);
    border: 1px solid var(--gv-border);
    border-radius: 0.75rem;
    box-shadow: 0 10px 30px -12px rgba(30, 50, 84, 0.3);
    padding: 0.75rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition:
        opacity 160ms ease,
        transform 160ms ease,
        visibility 160ms;
    z-index: 1060;
    max-height: 70vh;
    overflow-y: auto;
}
.gv-dropdown.gv-open .gv-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.gv-dropdown-group + .gv-dropdown-group {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid rgba(196, 212, 230, 0.5);
}
.gv-dropdown-group-title {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--gv-accent);
    padding: 0.35rem 0.5rem;
}
.gv-dropdown-item {
    display: block;
    font-size: 0.875rem;
    color: var(--gv-foreground);
    padding: 0.45rem 0.5rem;
    border-radius: var(--gv-radius);
    transition:
        background 150ms,
        color 150ms;
    text-decoration: none;
}
.gv-dropdown-item:hover {
    background: rgba(110, 180, 212, 0.12);
    color: var(--gv-primary);
}

/* Actions */
.gv-navbar-actions {
    display: none;
    align-items: center;
    gap: 0.5rem;
}
@media (min-width: 1024px) {
    .gv-navbar-actions {
        display: flex;
    }
}

.gv-lang-toggle {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--gv-muted-foreground);
    border: 1px solid var(--gv-border);
    border-radius: 9999px;
    padding: 0.25rem 0.625rem;
    transition:
        color 150ms,
        border-color 150ms;
    text-decoration: none;
}
.gv-lang-toggle:hover {
    color: var(--gv-foreground);
    border-color: rgba(110, 180, 212, 0.5);
}
.gv-nav-divider {
    width: 1px;
    height: 1.25rem;
    background: var(--gv-border);
    margin: 0 0.25rem;
}

/* Buttons */
.gv-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    font-family: inherit;
    border-radius: 10px;
    border: 1px solid transparent;
    padding: 0.45rem 1rem;
    cursor: pointer;
    transition:
        background 150ms,
        color 150ms,
        border-color 150ms;
    text-decoration: none;
    white-space: nowrap;
}
.gv-btn-accent {
    background: var(--gv-accent);
    color: var(--accent-foreground);
    border-color: var(--gv-accent);
}
.gv-btn-accent:hover {
    background: rgba(110, 180, 212, 0.85);
    color: #fff;
}
.gv-btn-ghost {
    background: transparent;
    color: var(--gv-foreground);
    border-color: transparent;
}
.gv-btn-ghost:hover {
    background: rgba(221, 232, 240, 0.7);
    color: var(--gv-foreground);
}
.gv-btn-outline {
    background: transparent;
    color: var(--gv-foreground);
    border: 1px solid rgba(30, 50, 84, 0.18);
}
.gv-btn-outline:hover {
    background: var(--gv-primary);
    color: #fff;
    border-color: var(--gv-primary);
}
.gv-btn-w-full {
    width: 100%;
}

/* Mobile toggle + menu */
.gv-navbar-mobile-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    min-width: 2.75rem;
    border: none;
    background: transparent;
    border-radius: var(--gv-radius);
    color: var(--gv-foreground);
    transition: background 150ms;
    cursor: pointer;
}
.gv-navbar-mobile-btn:hover {
    background: rgba(221, 232, 240, 0.6);
}
@media (min-width: 1024px) {
    .gv-navbar-mobile-btn {
        display: none;
    }
}

.gv-mobile-menu {
    overflow: hidden;
    max-height: 0;
    background: var(--gv-card);
    border-bottom: 1px solid var(--gv-border);
    transition: max-height 300ms ease-out;
}
@media (min-width: 1024px) {
    .gv-mobile-menu {
        display: none;
    }
}
.gv-mobile-menu.gv-open {
    max-height: 85vh;
    overflow-y: auto;
}
.gv-mobile-menu-inner {
    display: flex;
    flex-direction: column;
    padding: 0.75rem 1.25rem 1.25rem;
}
.gv-mobile-nav-link {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--gv-muted-foreground);
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(196, 212, 230, 0.4);
    transition: color 150ms;
    text-decoration: none;
    background: none;
    border-left: none;
    border-right: none;
    border-top: none;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font-family: inherit;
    width: 100%;
}
.gv-mobile-nav-link:hover {
    color: var(--gv-foreground);
}
/* Mobile: Market Intelligence text (link) + chevron (collapse toggle) in one row. */
.gv-mobile-nav-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(196, 212, 230, 0.4);
}
.gv-mobile-nav-row .gv-mobile-nav-link {
    border-bottom: none;
    width: auto;
    flex: 0 0 auto;
}
/* The toggle fills the whole row to the right of the text, so there's a
   large, easy tap target to open the dropdown without hitting the map link. */
.gv-mobile-collapse-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.75rem 0.5rem;
    margin: 0;
    color: var(--gv-muted-foreground);
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    line-height: 0;
    flex: 1 1 auto;
    min-height: 2.75rem;
}
.gv-mobile-collapse-toggle:hover {
    color: var(--gv-foreground);
}
.gv-mobile-collapse-toggle .gv-dropdown-chevron {
    transition: transform 200ms ease;
}
.gv-mobile-sub {
    padding-left: 0.75rem;
}
.gv-mobile-sub .gv-mobile-nav-link {
    font-size: 0.875rem;
}
.gv-mobile-collapse {
    max-height: 0;
    overflow: hidden;
    transition: max-height 250ms ease;
}
.gv-mobile-collapse.gv-open {
    max-height: 1500px;
}
.gv-mobile-group-title {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--gv-accent);
    padding: 0.6rem 0 0.2rem;
}
.gv-mobile-lang-link {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--gv-accent);
    padding: 0.75rem 0;
    text-decoration: none;
}
.gv-mobile-menu-actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-top: 1rem;
    margin-top: 0.5rem;
    border-top: 1px solid var(--gv-border);
}

/* ===================== PAGE CTA BANNERS (above footer) ===================== */
.gv-cta-banner {
    padding: 4rem 1rem;
    text-align: center;
    font-family:
        "Inter",
        ui-sans-serif,
        system-ui,
        -apple-system,
        sans-serif;
}
@media (min-width: 640px) {
    .gv-cta-banner {
        padding: 5rem 1.5rem;
    }
}
.gv-cta-banner.gv-navy {
    background: var(--primary);
    color: var(--gv-primary-foreground);
}
.gv-cta-banner-inner {
    max-width: 80rem;
    margin: 0 auto;
}
.gv-cta-banner h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: inherit;
    margin: 0;
}
@media (min-width: 640px) {
    .gv-cta-banner h2 {
        font-size: 1.875rem;
    }
}
@media (min-width: 768px) {
    .gv-cta-banner h2 {
        font-size: 2.25rem;
    }
}
.gv-cta-banner p {
    margin: 1rem auto 0;
    font-size: 1rem;
    color: rgba(247, 249, 252, 0.8);
    max-width: 42rem;
    line-height: 1.6;
}
@media (min-width: 640px) {
    .gv-cta-banner p {
        font-size: 1.125rem;
    }
}
.gv-cta-banner .gv-btn {
    margin-top: 2rem;
}
.gv-btn-lg {
    font-size: 1rem;
    padding: 0.75rem 2rem;
}

.gv-pro-cta-list {
    margin: 2rem auto 0;
    display: inline-flex;
    flex-direction: column;
    gap: 0.75rem;
    text-align: left;
    list-style: none;
    padding: 0;
}
.gv-pro-cta-list li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: rgba(247, 249, 252, 0.8);
}
.gv-pro-cta-list li svg {
    width: 1rem;
    height: 1rem;
    color: var(--gv-accent);
    flex-shrink: 0;
}

/* ===================== FOOTER ===================== */
.gv-footer {
    background: var(--primary);
    color: var(--gv-primary-foreground);
    font-family:
        "Inter",
        ui-sans-serif,
        system-ui,
        -apple-system,
        sans-serif;
}
.gv-footer-inner {
    max-width: 80rem;
    margin: 0 auto;
    padding: 3rem 1rem;
}
@media (min-width: 640px) {
    .gv-footer-inner {
        padding: 3rem 1.5rem;
    }
}
@media (min-width: 1024px) {
    .gv-footer-inner {
        padding: 3.5rem 2rem;
    }
}

/* Newsletter band */
.gv-footer-news {
    max-width: 38rem;
    margin: 0 auto 3rem;
    text-align: center;
}
.gv-footer-news h3 {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
    color: var(--gv-primary-foreground);
}
.gv-footer-news p {
    font-size: 0.9rem;
    color: rgba(247, 249, 252, 0.65);
    margin: 0 0 1.5rem;
}
.gv-news-form {
    display: flex;
    gap: 0.5rem;
    background: #fff;
    border-radius: 9999px;
    padding: 0.35rem 0.35rem 0.35rem 1.25rem;
    align-items: center;
}
.gv-news-input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.9rem;
    color: #131d30;
    font-family: inherit;
}
.gv-news-input::placeholder {
    color: #5c7899;
}
@media (max-width: 575px) {
    .gv-news-form {
        flex-direction: column;
        border-radius: 1rem;
        padding: 0.75rem;
    }
    .gv-news-input {
        width: 100%;
        padding: 0.4rem 0.5rem;
    }
    .gv-news-form .gv-btn {
        width: 100%;
    }
}

.gv-footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}
@media (min-width: 768px) {
    .gv-footer-grid {
        grid-template-columns: 2fr 1fr 1fr 1.2fr;
    }
}
.gv-footer-logo {
    height: 3rem;
    width: auto;
    filter: brightness(0) invert(1);
}
@media (min-width: 640px) {
    .gv-footer-logo {
        height: 3.25rem;
    }
}
.gv-footer-tagline {
    margin-top: 0.75rem;
    font-size: 0.875rem;
    color: rgba(247, 249, 252, 0.6);
    max-width: 22rem;
}
.gv-footer-col-title {
    font-size: 0.875rem;
    font-weight: 600;
    margin: 0 0 0.85rem;
    color: var(--gv-primary-foreground);
}
.gv-footer-links {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.gv-footer-link {
    font-size: 0.875rem;
    color: rgba(247, 249, 252, 0.6);
    transition: color 150ms;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}
.gv-footer-link:hover {
    color: var(--gv-primary-foreground);
}
.gv-footer-socials {
    display: flex;
    gap: 0.6rem;
    margin-top: 1.1rem;
}
.gv-footer-social-ico {
    width: 2rem;
    height: 2rem;
    border: 1px solid rgba(247, 249, 252, 0.4);
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition:
        background 150ms,
        border-color 150ms;
}
.gv-footer-social-ico:hover {
    background: rgba(110, 180, 212, 0.25);
    border-color: var(--gv-accent);
}
.gv-footer-social-ico img {
    width: 0.9rem;
    height: 0.9rem;
    filter: brightness(0) invert(1);
}
.gv-footer-bottom {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(247, 249, 252, 0.1);
    text-align: center;
    font-size: 0.85rem;
    color: rgba(247, 249, 252, 0.5);
}
.gv-footer-bottom-links {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.gv-footer-bottom-links a {
    color: rgba(247, 249, 252, 0.5);
    text-decoration: none;
    transition: color 150ms;
}
.gv-footer-bottom-links a:hover {
    color: var(--gv-primary-foreground);
}
