@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=DM+Sans:wght@400;500;600;700&display=swap');

:root{
  --accent:#2b6b5a;
  --accent-dark:#1e4f42;
  --accent-light:#e8f2ef;
  --warm-bg:#f8f5f0;
  --warm-surface:#fff;
  --warm-border:#ede8e0;
  --warm-muted:#a09282;
  --text-primary:#1a1f1e;
  --text-secondary:#5a6360;
  --amber:#c97a2a;
  --radius-md:10px;
  --radius-lg:16px;
}

html{
  background:#f7f5f1;
}

body{
  min-height:100vh;
}

.navbar-photo{
  position:sticky;
  top:0;
  z-index:1000;
  padding:6px 0;
  overflow:visible;
  background:linear-gradient(90deg, rgba(12, 30, 26, 0.97) 0%, rgba(22, 45, 38, 0.95) 52%, rgba(39, 55, 47, 0.94) 100%);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,0.08);
  box-shadow:0 12px 32px rgba(0,0,0,0.14);
}

.page-home .navbar-photo{
  position:absolute;
  top:0;
  left:0;
  right:0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border-bottom-color:rgba(255,255,255,0.08);
  box-shadow:none;
}

.dropdown-menu{
  z-index:2000 !important;
}

.navbar-shell-wrap{
  width:min(100% - 40px, 1320px);
  margin:0 auto;
}

.navbar-shell{
  position:relative;
  display:grid;
  grid-template-columns:minmax(280px, 1fr) auto minmax(280px, 1fr);
  align-items:center;
  gap:18px;
  min-height:40px;
}

.navbar-left,
.navbar-right{
  position:relative;
  display:flex;
  align-items:center;
}

.navbar-left{
  justify-content:flex-start;
}

.navbar-right{
  justify-content:flex-end;
}

.navbar-brand-custom{
  display:flex;
  align-items:center;
  align-self:center;
  height:100%;
  min-width:0;
  margin:0;
  padding:0;
  color:#fff !important;
  text-decoration:none;
  justify-self:start;
}

.brand-text-wrap{
  display:flex;
  align-items:center;
  min-height:40px;
}

.brand-text{
  font-family:'Playfair Display',serif;
  font-size:1.5rem;
  font-weight:700;
  letter-spacing:-0.03em;
  color:#fff;
  white-space:nowrap;
}

.navbar-center{
  position:static;
  display:flex;
  align-items:center;
  justify-content:center;
}

.navbar-center-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  white-space:nowrap;
}

.navbar-photo .nav-link{
  color:rgba(255,255,255,0.92) !important;
  font-size:0.88rem;
  font-weight:600;
  padding:6px 10px !important;
  line-height:1.15;
  border-radius:999px;
  text-decoration:none;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}

.navbar-photo .nav-link:hover,
.navbar-photo .nav-link:focus{
  background:rgba(255,255,255,0.12);
  color:#fff !important;
  transform:translateY(-1px);
}

.navbar-photo .nav-link.active{
  background:rgba(255,255,255,0.16);
  color:#fff !important;
}

.navbar-right-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-height:40px;
  min-width:max-content;
}

.navbar-cta{
  display:inline-flex;
  align-items:center;
  align-self:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border-radius:12px;
  background:rgba(255,255,255,0.96);
  color:#173427;
  text-decoration:none;
  font-size:.82rem;
  font-weight:700;
  box-shadow:0 12px 28px rgba(0,0,0,0.12);
  transition:transform .2s ease, box-shadow .2s ease;
}

.navbar-cta:hover{
  color:#173427;
  transform:translateY(-1px);
  box-shadow:0 14px 32px rgba(0,0,0,0.16);
}

.navbar-profile-dropdown{
  display:flex;
  align-items:center;
}

.navbar-profile-btn{
  width:36px;
  height:36px;
  border:none;
  border-radius:999px;
  padding:0;
  margin:0;
  background:transparent !important;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:none !important;
}

.navbar-profile-btn::after{
  display:none;
}

.navbar-profile-avatar,
.navbar-toggler{
  width:36px;
  height:36px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,0.18);
  background:rgba(255,255,255,0.12);
  color:#fff;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.page-home .navbar-profile-avatar,
.page-home .navbar-toggler{
  background:rgba(255,255,255,0.08);
}

.navbar-profile-avatar{
  font-size:0.86rem;
  font-weight:700;
}

.navbar-profile-avatar svg{
  width:15px;
  height:15px;
}

.navbar-profile-btn:hover .navbar-profile-avatar,
.navbar-toggler:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,0.16);
  border-color:rgba(255,255,255,0.24);
}

.navbar-toggler{
  padding:0;
}

.navbar-toggler:focus{
  box-shadow:none;
}

.navbar-toggler-icon{
  width:15px;
  height:15px;
}

.navbar-profile-menu{
  min-width:240px;
  margin-top:14px !important;
  border:none;
  border-radius:18px;
  padding:10px;
  background:rgba(18,29,26,0.97);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 22px 42px rgba(0,0,0,0.24);
}

.dropdown-user-summary{
  padding:10px 12px 8px;
}

.dropdown-user-name{
  font-size:0.95rem;
  font-weight:700;
  color:#fff;
}

.dropdown-user-sub{
  font-size:0.78rem;
  color:rgba(255,255,255,0.54);
  margin-top:2px;
}

.navbar-profile-menu .dropdown-divider{
  border-color:rgba(255,255,255,0.08);
  margin:8px 0;
}

.navbar-profile-menu .dropdown-item{
  color:rgba(255,255,255,0.84);
  border-radius:10px;
  font-size:0.92rem;
  font-weight:500;
  padding:10px 12px;
  transition:background .2s ease, color .2s ease;
}

.navbar-profile-menu .dropdown-item:hover{
  background:rgba(255,255,255,0.08);
  color:#fff;
}

.dropdown-item-signout{
  background:none;
  border:none;
  width:100%;
  text-align:left;
}

.navbar-mobile-collapse{
  grid-column:1 / -1;
}

.navbar-mobile-links{
  display:none;
}

@media (min-width: 992px){
  .navbar-mobile-collapse{
    display:none !important;
  }

  .navbar-left,
  .navbar-center,
  .navbar-right{
    transform:translateY(6px);
  }
}

@media (max-width: 991.98px){
  .navbar-shell-wrap{
    width:min(100% - 24px, 100%);
  }

  .navbar-photo{
    padding:6px 0;
  }

  .page-home .navbar-photo{
    position:absolute;
  }

  .navbar-shell{
    display:grid;
    grid-template-columns:1fr auto;
    gap:14px;
    min-height:auto;
  }

  .navbar-center{
    position:static;
    inset:auto;
  }

  .brand-text{
    font-size:1.3rem;
  }

  .brand-text-wrap,
  .navbar-right-actions{
    min-height:36px;
  }

  .navbar-right-actions{
    gap:8px;
  }

  .navbar-cta{
    display:none !important;
  }

  .navbar-mobile-collapse{
    margin-top:14px;
  }

  .navbar-mobile-collapse.collapse:not(.show){
    display:none !important;
  }

  .navbar-mobile-collapse.collapse.show,
  .navbar-mobile-collapse.collapsing{
    display:block !important;
  }

  .navbar-mobile-collapse .navbar-mobile-links{
    display:grid;
    gap:6px;
    padding:14px;
    border-radius:18px;
    background:rgba(14,26,22,0.94);
    border:1px solid rgba(255,255,255,0.08);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }

  .navbar-photo .navbar-mobile-links .nav-link{
    width:100%;
    padding:10px 12px !important;
    border-radius:12px;
  }
}

@media (max-width: 767.98px){
  html{
    font-size:15px;
  }

  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl{
    --bs-gutter-x:1rem;
  }

  .navbar-shell-wrap{
    width:min(100% - 18px, 100%);
  }

  .brand-text{
    font-size:1.18rem;
  }
}
