@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,600;1,400&display=swap');

:root{
  --text-color: #592C38;
  --bg: #F3ECDC;
  --nav-gap: 28px;
  --nav-font-size: 18px;
  --dropdown-bg: rgba(242,240,208,0.98);
  --dropdown-border: rgba(89,44,56,0.06);

  /* shared horizontal padding so title aligns with nav content */
  --page-pad: 24px;

  /* Events layout */
  --events-gap: 90px;         /* space between the two images (desktop) */
  --event-card-width: 300px;  /* both images width (desktop) */
}

body {
  margin:0;
  background-color: var(--bg);
  color: var(--text-color);
  font-family: 'CaslonAntiqueRegular','EB Garamond',serif;
  -webkit-font-smoothing: antialiased;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

/* ----------------------------- */
/* NAVIGATION (keep your theme)  */
/* ----------------------------- */
nav ul, nav a, nav button {
  font-family: 'CaslonAntiqueRegular','EB Garamond',serif !important;
}

.nav-wrap {
  display:flex;
  justify-content:center;
  padding: 18px var(--page-pad);
  background: transparent;
}

nav ul {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:var(--nav-gap);
  align-items:center;
  font-size:var(--nav-font-size);
}

nav li { position:relative; }

nav a, nav button {
  color:var(--text-color);
  text-decoration:none;
  background:none;
  border:none;
  padding:6px 8px;
  cursor:pointer;
  font:inherit;
}

nav a:hover, nav button:hover { opacity:0.7; }

.dropdown {
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  top:100%;
  min-width:180px;
  background:var(--dropdown-bg);
  border:1px solid var(--dropdown-border);
  border-radius:6px;
  padding:8px 0;
  box-shadow:0 8px 20px rgba(0,0,0,0.04);
  display:none;
  z-index:200;
}

.dropdown a {
  display:block;
  padding:8px 20px;
  text-decoration:none;
  color:var(--text-color);
  font-size:16px;
}
.dropdown a:hover { background:rgba(89,44,56,0.06); }

nav li:hover > .dropdown,
nav li:focus-within > .dropdown {
  display:block;
}

/* ----------------------------- */
/* EVENTS PAGE LAYOUT            */
/* ----------------------------- */
.events-page{
  width: min(1100px, calc(100% - (var(--page-pad) * 2)));
  margin: 28px auto 70px;
}

.events-page h1{
  font-size:30px;
  font-weight:400;
  margin: 10px 0 26px;
  padding-left: var(--page-pad);
}

.events-row{
  display:flex;
  align-items:center;
  justify-content:center;  /* centers the *pair* as one composition */
  gap: var(--events-gap);
  transform: none;         /* remove the left shift */
}

/* Both images same displayed size, keep natural 3:4 proportions */
.event-image{
  width: var(--event-card-width);
  height: auto;            /* preserves original proportions */
  border-radius: 12px;
  box-shadow: 0 6px 25px rgba(0,0,0,0.08);
  display:block;
}

.event-card{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.event-link-small{
  font-size: 13px;
  text-decoration: underline;
  color: var(--text-color);
  opacity: 0.9;
}

.event-link-small:hover{
  opacity: 0.7;
}


/* FOOTER (keep your theme)      */
footer {
  margin-top:auto;
  padding:10px 20px;
  font-size:14px;
  display:flex;
  justify-content:space-between;
  opacity:0.85;
}

/* LIGHTBOX OVERLAY */
.lightbox{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.75);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  cursor: zoom-out;
}

.lightbox.open{
  display:flex;
}

/* big image */
.lightbox-img{
  max-width: 85vw;
  max-height: 85vh;
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}

/* make images feel clickable (desktop only) */
@media (min-width: 721px){
  .event-image{
    cursor: zoom-in;
    transition: transform .25s ease, box-shadow .25s ease;
  }

  .event-image:hover{
    transform: scale(1.03);
    box-shadow: 0 12px 35px rgba(0,0,0,0.18);
  }
}

/* ------------------------------------------------ */
/* MOBILE: stack image 1 then image 2 underneath    */
/* ------------------------------------------------ */
@media (max-width: 720px) {

  .hamburger {
    display: flex;
    flex-direction: column;
    gap: 3px;
    background: transparent;
    border: none;
    width: 44px;
    height: 44px;
    padding: 8px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: absolute;
    left: 16px;
    top: 12px;
    z-index: 1100;
  }

  .hamburger .line {
    width: 20px;
    height: 4px;
    background: #592C38;
    border-radius: 3px;
    transition: transform .25s ease, opacity .2s ease;
    display: block;
  }

  .hamburger[aria-expanded="true"] .line:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  .hamburger[aria-expanded="true"] .line:nth-child(2) { opacity: 0; }
  .hamburger[aria-expanded="true"] .line:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  nav ul { display: none; }

  .nav-wrap.open::before {
    content: '';
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 900;
  }

  .nav-wrap.open nav ul {
    display: flex;
    position: fixed;
    left: 0;
    top: 60px;
    bottom: 0;
    width: 280px;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    background: var(--bg);
    z-index: 950;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
    overflow-y: auto;
    align-items: flex-start;
  }

  .nav-wrap.open nav ul li { width: 100%; }

  .nav-wrap.open nav ul a,
  .nav-wrap.open nav ul button {
    display: block;
    width: 100%;
    padding: 12px 14px;
    text-align: left;
    font-size: 16px;
  }

  .nav-wrap.open nav ul .dropdown {
    position: static;
    transform: none;
    background: rgba(89, 44, 56, 0.06);
    border: none;
    box-shadow: none;
    padding: 0;
    display: flex !important;
    flex-direction: column;
    width: 100%;
    margin-top: 4px;
  }

  .nav-wrap.open nav ul .dropdown a {
    padding: 8px 14px;
    font-size: 14px;
  }

  .events-page{
    width: calc(100% - 32px);
    margin: 22px auto 60px;
  }

  .events-page h1{
    font-size:35px;
    margin-bottom: 18px;
    padding-left: 0; /* usually looks better on mobile */
  }

  .events-row{
    flex-direction: column;
    gap: 18px;
  }

  .event-image{
    width: min(340px, 100%);
  }

  footer {
    font-size:12px;
    opacity:0.85;
  }
}