:root{
  --brand:#1FB6D5;
  --brand-dark:#1593AC;

  --bg:#F3F8FC;
  --surface:#ffffff;
  --text:#0B1F2A;
  --muted:#5B6B76;

  --border:rgba(11,31,42,.10);
  --shadow-sm:0 12px 30px rgba(11,31,42,.08);
  --shadow-md:0 22px 70px rgba(11,31,42,.10);

  --nav-h:76px;
}

/*
.container-fixed{max-width:1180px;width:100%;margin:0 auto;padding:0 20px}
@media (max-width:768px){.container-fixed{padding:0 16px}}
*/
/* NAV */
.racf-nav{
  position:sticky;top:0;left:0;right:0;z-index:1000;
  height:var(--nav-h);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(11,31,42,.08);
  transform: translateZ(0);
}
html[data-theme="dark"] .racf-nav{
  background:rgba(7,24,33,.78);
  border-bottom:1px solid rgba(234,244,250,.10);
}
.nav-inner{
  height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  flex-wrap:nowrap;min-width:0;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.brand img{height:34px;width:auto;flex:0 0 auto}
.nav-links{display:flex;gap:6px;align-items:center}
.nav-links a{
  text-decoration:none;font-weight:800;font-size:.92rem;
  padding:10px 12px;border-radius:12px;color:var(--text);
  transition:.18s ease;
}
.nav-links a:hover{background:rgba(31,182,213,.10);color:var(--brand-dark)}
.btn-racf{
  border-radius:14px;font-weight:900;padding:12px 18px;
  border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  text-decoration:none;transition:.18s ease;/*white-space:nowrap;*/
}
.btn-brand{
  background:var(--brand);color:#fff;border-color:rgba(31,182,213,.35);
  box-shadow:0 10px 26px rgba(31,182,213,.22);
}
.btn-light{background:var(--surface);border-color:rgba(11,31,42,.12);color:var(--text)}
html[data-theme="dark"] .btn-light{border-color:rgba(234,244,250,.16)}
.btn-racf:hover{transform:translateY(-1px);opacity:.98}

.theme-toggle{
  width:44px;height:44px;border-radius:14px;
  border:1px solid rgba(11,31,42,.12);
  background:var(--surface);
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-sm);
  transition:.18s ease;flex:0 0 auto;
}
html[data-theme="dark"] .theme-toggle{border-color:rgba(234,244,250,.16)}
.theme-toggle:hover{transform:translateY(-1px)}
.theme-toggle i{font-size:1.1rem;color:var(--text)}

.nav-auth{display:flex;}
@media (max-width: 992px){
  .nav-links{display:none}
  .nav-auth{display:none !important;}
}

.hamburger-btn{
  width:46px;height:46px;border-radius:16px;
  border:1px solid rgba(11,31,42,.12);
  background:var(--surface);
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-sm);transition:.18s ease;
}
html[data-theme="dark"] .hamburger-btn{border-color:rgba(234,244,250,.16)}
.hamburger-btn:hover{transform:translateY(-1px)}
.hamburger-btn i{font-size:1.55rem;color:var(--text)}

.offcanvas-backdrop.show{
  opacity: 1;
  background: rgba(7, 24, 33, .10);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
html[data-theme="dark"] .offcanvas-backdrop.show{background: rgba(0,0,0,.32)}
html.menu-open .racf-nav{z-index:1010}

#mobileMenu.offcanvas{--bs-offcanvas-width: 100vw;background:transparent!important}
#mobileMenu .offcanvas-header,#mobileMenu .offcanvas-body{background:transparent!important;border:0!important}
#mobileMenu .offcanvas-body{
  padding:14px 0 0;
  display:flex;
  justify-content:center;
  pointer-events:none;
  overflow: hidden; /* Αποφεύγουμε overflow */
}
#mobileMenu .menu-sheet{
  pointer-events:auto;
  max-height: 85vh; /* Περιορίζουμε το ύψος */
  display: flex;
  flex-direction: column;
}

.menu-sheet{
  width: calc(100% - 32px);
  max-width: 390px;
  background: var(--surface);
  border: 1px solid rgba(11,31,42,.10);
  border-radius: 26px;
  box-shadow: var(--shadow-md);
  overflow: hidden;
}
html[data-theme="dark"] .menu-sheet{border-color: rgba(234,244,250,.12)}
.menu-sheet-top{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 14px 12px;
  border-bottom:1px solid rgba(11,31,42,.08);
  background: linear-gradient(180deg, rgba(31,182,213,.10), rgba(31,182,213,0));
}
html[data-theme="dark"] .menu-sheet-top{
  border-bottom-color: rgba(234,244,250,.10);
  background: linear-gradient(180deg, rgba(31,182,213,.14), rgba(31,182,213,0));
}
.menu-sheet-title{font-weight:950;letter-spacing:-.02em;font-size:1.2rem;margin:0;color:var(--text)}
.icon-btn{
  width:44px;height:44px;border-radius:14px;
  border:1px solid rgba(11,31,42,.12);
  background:var(--surface);
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow: var(--shadow-sm);
  transition:.18s ease;
}
html[data-theme="dark"] .icon-btn{border-color: rgba(234,244,250,.16);background:#0B2230}
.icon-btn:hover{transform:translateY(-1px)}
.icon-btn i{font-size:1.15rem;color:var(--text)}

.menu-sheet-body{
  padding:12px 14px 14px;
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: calc(85vh - 60px); /* Αφαιρούμε το ύψος του top bar */
  overflow-y: auto; /* Scroll μόνο αν χρειάζεται */
}

.menu-section-label{
  font-size:.70rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase;
  opacity:.55;margin:10px 6px 10px;color:var(--text)
}
.menu-link{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 12px;border-radius:16px;text-decoration:none;
  font-weight:950;color:var(--text);transition:.15s ease;
  flex-shrink: 0; /* Δεν συμπιέζεται */
}
.menu-link:hover{background:rgba(31,182,213,.10);color:var(--brand-dark)}
.menu-divider{
  margin:12px 0;
  border-top:1px solid rgba(11,31,42,.12);
  opacity:.35;
  flex-shrink: 0; /* Δεν συμπιέζεται */
}
html[data-theme="dark"] .menu-divider{border-top-color:rgba(234,244,250,.14)}

/* Νέο: Περιοχή πλοήγησης που μπορεί να κάνει scroll */
.menu-navigation {
  flex: 1;
  overflow-y: auto;
  min-height: 0; /* Βασικό για flex με overflow */
}

/* Περιοχή account που παραμένει στο κάτω μέρος */
.menu-account {
  margin-top: auto; /* Σπρώχνει το account προς τα κάτω */
  padding-top: 10px;
  border-top: 1px solid rgba(11,31,42,.12);
  flex-shrink: 0; /* Δεν συμπιέζεται */
}
html[data-theme="dark"] .menu-account{
  border-top-color: rgba(234,244,250,.14);
}

/* Login και Sign Up στο mobile menu */
.menu-auth-row{
  display:grid;
  gap: 10px;
  margin-top: 10px;
}
.menu-auth-row .btn-racf{
  width: 100%;
  text-align: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 14px;
  font-weight: 900;
}

@media (max-width: 420px){
  .theme-toggle{width:40px;height:40px;border-radius:12px}
  .hamburger-btn{width:44px;height:44px;border-radius:14px}
  .hamburger-btn i{font-size:1.45rem}

  .menu-sheet{
    width: calc(100% - 24px);
    max-height: 90vh;
  }
  .menu-sheet-body{
    max-height: calc(90vh - 60px);
  }
}

@media (prefers-reduced-motion: reduce){
  .btn-racf,.theme-toggle,.hamburger-btn,.icon-btn{transition:none!important}
}
