/* General Styles */
:root{
  --blue:#004080;
  --blue-dark:#003060;
  --accent:#0066cc;
  --page-bg:#f9f9f9;
}
*{box-sizing:border-box}
body {
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
  line-height: 1.6;
  background-color: var(--page-bg);
  color: #333;
}

/* Headings & text */
h1,h2 {
  text-align: left;
  margin: 30px 0 15px;
}
p { 
  text-align:left; 
  margin:10px auto; 
  max-width:600px; 
}

/* NAVIGATION */
nav {
  background: var(--blue);
  padding: 10px;
  position: relative;
  display: flex;
  align-items: center;
  gap:10px;
}
.nav-left { flex:0; }
.lang-btn {
  display:inline-block;
  padding:6px 10px;
  background:var(--accent);
  color:#fff;
  border-radius:6px;
  text-decoration:none;
  font-size:14px;
  white-space:nowrap;
}
.lang-btn:hover{ background:#004d99; }
.nav-right { margin-left:auto; flex:0; position:relative; }
#menu-toggle {
  background:transparent;
  border:0;
  color:#fff;
  font-size:22px;
  cursor:pointer;
  padding:6px 8px;
}
#menu-toggle:focus { outline:2px solid #fff8; }
#nav-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 8px;
  background: var(--blue);
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
  padding: 6px 0;
  min-width: 160px;
  width: max-content;
  display: none;
  z-index: 999;
}
#nav-menu.open { display:block; }
#nav-menu li { list-style:none; }
#nav-menu a {
  display:block;
  padding:10px 16px;
  color:#fff;
  text-decoration:none;
  font-weight:bold;
  white-space:nowrap;
}
#nav-menu a:hover { background:var(--blue-dark); }

/* RESPONSIVE MEDIA */
.responsive-media {
  display:block;
  margin:20px auto;
  width:100%;
  max-width:600px;
  height:auto;
  border-radius:12px;
  box-shadow:0 2px 6px rgba(0,0,0,0.12);
}

/* Gallery grid */
.gallery {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap:15px;
  padding:20px;
  max-width:1000px;
  margin:0 auto;
}
.gallery img {
  width:100%;
  height:auto;
  border-radius:12px;
  box-shadow:0 2px 6px rgba(0,0,0,0.12);
}

/* Registration form */
.registration-form {
  max-width:400px;
  margin:20px auto;
  padding:20px;
  background:#fff;
  border-radius:10px;
  box-shadow:0 2px 5px rgba(0,0,0,0.08);
  display:flex;
  flex-direction:column;
}
.registration-form label { margin:8px 0 4px; font-weight:bold; }
.registration-form input,
.registration-form select {
  padding:10px;
  border:1px solid #ccc;
  border-radius:6px;
  margin-bottom:12px;
  font-size:14px;
}
.registration-form input:focus,
.registration-form select:focus { outline:none; border-color:var(--accent); }
.submit-btn {
  padding:12px;
  background:var(--accent);
  color:#fff;
  border:none;
  border-radius:6px;
  font-size:16px;
  cursor:pointer;
}
.submit-btn:hover { background:#004d99; }

/* Section separation */
section { padding:20px 12px; border-radius:8px; margin:10px 12px; }
section:nth-of-type(odd) { background:#ffffff; }
section:nth-of-type(even) { background:#f1f5f9; }

/* Contact block */
#contact p { text-align:left; margin:6px 0; }

/* --- Site Footer with QR --- */
.site-footer {
  background: #002b50;              /* dark navy */
  color: #fff;
  text-align: center;
  padding: 50px 20px 30px;
}

.footer-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px;
  flex-wrap: nowrap;
  margin-bottom: 20px;
}

.footer-name {
  font-size: 28px;
  font-weight: bold;
  text-transform: lowercase;
  color: #ffffff;
  white-space: nowrap;
  opacity: 0.9;
}

.footer-qr {
  width: 90px;
  height: 90px;
  border-radius: 10px;
  background: #fff;
  padding: 5px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  flex-shrink: 0;
}

.footer-note {
  font-size: 14px;
  opacity: 0.7;
  margin: 0 auto;
  text-align: center;
}

/* Stack only on very small phones */
@media (max-width: 320px) {
  .footer-inner {
    flex-direction: column;
    gap: 10px;
  }
  .footer-name {
    font-size: 22px;
  }
  .footer-qr {
    width: 80px;
    height: 80px;
  }
}

/* small screens: ensure menu remains usable */
@media (min-width:720px){
  #nav-menu { right:12px; top:calc(100% + 10px); }
}
