:root{
  --bg: #f7f9fa;
  --card:#ffffff;
  --muted:#6b6f74;
  --accent:#2d5d63;
  --accent-2:#3b7b85;
  --accent-3:#e8f4f5;
  --radius:12px;
  --max-width:1100px;
  --shadow: 0 8px 20px rgba(45,93,99,0.08);
  --header-offset:72px;
}

*{box-sizing:border-box}
html,body{height:100%}
body {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  margin: 0;
  padding: 0;
  line-height: 1.6;
  background: linear-gradient(180deg, #f6fbfb 0%, var(--bg) 100%);
  color: #1f2933;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding-bottom: 3rem;
}

/* Top bar and navigation */
.site-header {
  background: linear-gradient(180deg, rgba(45,93,99,0.95) 0%, rgba(35,72,77,0.92) 60%);
  color: #fff;
  padding: 0.5rem 1rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);

  /* Lock header to top so the menu is always visible */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  height: var(--header-offset);
  display: flex;
  align-items: center;
}

/* internal container */
.main-nav {
  max-width: var(--max-width);
  margin: 0 auto;
  width: 100%;
  display:flex;
  align-items:center;
  gap:1rem;
  padding: 0 1rem;
  justify-content:space-between;
}

/* left area (menu button) */
.nav-left { display:flex; align-items:center; gap:0.6rem; }

/* Nav toggle (mobile) */
.nav-toggle{
  display:none;
  background:transparent;
  border:1px solid rgba(255,255,255,0.18);
  color:#fff;
  padding:0.35rem 0.6rem;
  border-radius:8px;
  cursor:pointer;
}

/* nav list centered */
#nav-list {
  display:flex;
  gap:1rem;
  list-style:none;
  padding:0;
  margin:0;
  align-items:center;
  flex: 1;
  justify-content: center;
}
#nav-list li a{
  color: rgba(255,255,255,0.96);
  text-decoration:none;
  padding:0.5rem 0.6rem;
  border-radius:8px;
  transition:background .15s;
  font-weight:600;
}
#nav-list li a:hover{ background: rgba(255,255,255,0.07) }
#nav-list li.nav-book a{ background: rgba(255,255,255,0.95); color: var(--accent); padding:0.4rem 0.65rem }

/* Language switcher on the right */
.lang-switch{
  display:flex;
  gap:0.5rem;
  margin-left: auto; /* push to right */
}
.lang-btn{
  background:transparent;
  border:1px solid rgba(255,255,255,0.18);
  color:#fff;
  padding:0.35rem 0.55rem;
  border-radius:8px;
  cursor:pointer;
  font-weight:600;
  transition:all .18s ease;
}
.lang-btn:hover{ transform:translateY(-1px) }
.lang-btn.active{
  background:#fff;
  color:var(--accent);
  border-color:transparent;
  box-shadow:0 6px 18px rgba(0,0,0,0.08);
}

/* Make sure page content isn't hidden behind fixed header */
main{ padding-top: calc(var(--header-offset) + 1rem); }

/* Cards */
.card{
  background:var(--card);
  border-radius:var(--radius);
  padding:1.25rem;
  margin-bottom:1.2rem;
  box-shadow: 0 6px 20px rgba(32,45,47,0.04);
}
.card h3{
  margin-top:0;
  color:var(--accent);
  font-size:1.1rem;
}
.info-list, .check-list, .contact-list{
  list-style:none;
  padding-left:0;
  margin:0.6rem 0 0;
}
.info-list li, .check-list li, .contact-list li{
  padding:0.45rem 0;
  border-bottom:1px dashed #eef3f3;
}
.info-list li:last-child, .check-list li:last-child, .contact-list li:last-child{
  border-bottom:none;
}
.muted{ color:var(--muted) }

/* Checklist inputs */
.check-list input[type="checkbox"] {
  margin-right:0.6rem;
  transform:translateY(2px);
}

/* Subcards */
.subcards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.9rem;
  margin-top: 0.6rem;
}
.subcard {
  background: linear-gradient(180deg,#fff,#fbffff);
  border-radius:10px;
  padding:0.9rem;
  box-shadow: 0 6px 16px rgba(45,93,99,0.06);
  border: 1px solid rgba(60,80,82,0.04);
}
.subcard h5 { margin: 0 0 0.4rem; font-size:1rem; color:var(--accent); }
.subcard p { margin:0; color:#284041; }

/* Map placeholder */
.map-placeholder{
  margin-top:0.8rem;
  padding:1rem;
  border-radius:8px;
  background: linear-gradient(180deg,#f8fbfb,#fff);
  border:1px dashed #e6efef;
  color:var(--muted);
  min-height:260px;
}

/* Hidden utility class */
.hidden { display:none !important; }

/* Footer */
footer{
  max-width:var(--max-width);
  margin:2rem auto 0;
  padding:1.25rem;
  text-align:center;
  color:var(--muted);
  font-size:0.95rem;
}

/* Responsive */
@media (max-width:900px){
  .nav-list-center { justify-content:center; }
}
@media (max-width:700px){
  .nav-toggle{ display:inline-block }
  #nav-list{ display:none; flex-direction:column; gap:0; background:transparent; margin-top:0.6rem; position:absolute; top:var(--header-offset); left:0; right:0; padding:1rem; background:linear-gradient(180deg, rgba(45,93,99,0.98), rgba(35,72,77,0.98)); }
  #nav-list.show{ display:flex; }
  #nav-list li a{ padding:0.8rem 0; display:block; width:100% }
  .lang-switch { order: 2; margin-left: 0.5rem; }
}
