:root {
	--latte-base: #eff1f5;
	--latte-text: #4c4f69;
	--latte-pink: #ea76cb;
	--latte-mauve: #8839ef;
	--latte-red: #d20f39;
	--latte-maroon: #e64553;
	--latte-peach: #fe640b;
	--latte-yellow: #df8e1d;
	--latte-green: #40a02b;
	--latte-teal: #179299;
	--latte-sky: #04a5e5;
	--latte-sapphire: #209fb5;
	--latte-blue: #1e66f5;
	--latte-lavender: #7287fd;
	--latte-text: #4c4f69;
	--latte-subtext1: #5c5f77;
	--latte-subtext0: #6c6f85;
	--latte-overlay2: #7c7f93;
	--latte-overlay1: #8c8fa1;
	--latte-overlay0: #9ca0b0;
	--latte-surface2: #acb0be;
	--latte-surface1: #bcc0cc;
	--latte-surface0: #ccd0da;
	--latte-base: #eff1f5;
	--latte-mantle: #e6e9ef;
	--latte-crust: #dce0e8;
}

.panel {
  min-height: 100vh;
  padding: 4rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.panel h2 {
  margin-bottom: 1.5rem;
}

.panel-lavender {
  background-color: var(--latte-crust);
}

#accomodations h4 {
  font-family: "Cormorant Garamond", serif;
  margin-top: 2rem;
}

#accomodations ul li {
  line-height: 1.6;
}

/* ===== Program Panel ===== */

.panel-program {
  position: relative;
  overflow: hidden;

  background-color: #f6f1e8; /* soft beige */
}

/* Paper texture using subtle noise */
.panel-program::before {
  content: "";
  position: absolute;
  inset: 0;

  background-image:
    url("/static/img/background_mauve.svg"),
    radial-gradient(rgba(0,0,0,0.02) 1px, transparent 1px);

  background-repeat: no-repeat, repeat;
  background-position: center 45%, 0 0;
  background-size: min(65vw, 650px), 3px 3px;

  opacity: 0.18;
  pointer-events: none;
  z-index: 0;
}

@media (max-width: 767px) {

  .panel-program::before {
    background-position: center 20%;
    background-size: 85vw;
    opacity: 0.30;
  }

}

/* Keep content above background */
.program-inner {
  position: relative;
  z-index: 1;
}

.program-content {
  min-height: 70vh;
}

.day {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 3rem 2rem;
}

.day-inner {
  max-width: 420px;
}


.section-title {
  font-family: "cormorant garamond", serif;
  font-size: 3rem;
  margin-bottom: 4rem;
  letter-spacing: 1px;
}

.program-title {
  font-family: "cormorant garamond", serif;
  font-size: 3rem;
  margin-bottom: 4rem;
  letter-spacing: 1px;
}

.day-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 2rem;
  margin-bottom: 2rem;
}

.event {
  font-family: "Inter", sans-serif;
  font-size: 1.05rem;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}

.event-title {
  font-weight: 500;
  letter-spacing: 0.5px;
}

.note {
  font-family: "Inter", sans-serif;
  font-size: 0.95rem;
  opacity: 0.75;
}

@media (min-width: 768px) {
  .day:first-child {
    border-right: 1px solid rgba(0,0,0,0.06);
  }
}

/* Intro text */
#accomodations .intro-text {
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.1rem;
  opacity: 0.85;
}

/* Clean list layout */
.accommodation-list li {
  margin-bottom: 2.5rem;
  line-height: 1.6;
}

/* Hotel name */
.accommodation-list strong {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.3rem;
  letter-spacing: 0.5px;
}

/* Description */
.accommodation-list .desc {
  display: block;
  font-style: italic;
  opacity: 0.85;
}

/* Meta info */
.accommodation-list .meta {
  display: block;
  font-size: 0.95rem;
  opacity: 0.7;
}

/* Subtle link style */
.accommodation-list a {
  display: inline-block;
  margin-top: 0.4rem;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,0.2);
  font-size: 0.9rem;
}

.accommodation-list a:hover {
  border-color: currentColor;
}

.subtle-heading {
  margin-top: 3rem;
  font-size: 1rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  opacity: 0.6;
}

/* ============================= */
/* Login Page */
/* ============================= */

.login-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f6f1e8;
  position: relative;
  overflow: hidden;
}

/* Same decorative background */
.login-page::before {
  content: "";
  position: absolute;
  inset: 0;

  background-image:
    url("/static/img/background_mauve.svg"),
    radial-gradient(rgba(0,0,0,0.02) 1px, transparent 1px);

  background-repeat: no-repeat, repeat;
  background-position: center 45%, 0 0;
  background-size: min(65vw, 650px), 3px 3px;

  opacity: 0.18;
  pointer-events: none;
}

/* Keep content above */
.login-wrapper {
  position: relative;
  z-index: 1;
  padding: 2rem;
}

.login-box {
  max-width: 420px;
}

/* Typography */
.login-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 3rem;
  letter-spacing: 1px;
}

.login-subtitle {
  font-family: "Inter", sans-serif;
  opacity: 0.7;
}

.login-note {
  font-size: 0.85rem;
  opacity: 0.6;
}

/* Softer button */
.login-page .btn-dark {
  background-color: var(--latte-mauve);
  border: none;
}

.login-page .btn-dark:hover {
  background-color: var(--latte-lavender);
}

@media (max-width: 767px) {

  .login-page::before {
    background-position: center 32%;
    background-size: 85vw;
    opacity: 0.30;
  }

}


