/* =========================
   Root Variables
========================= */
:root {
  --dusty-red: #D43F3F;
  --dusty-red-hover: #C73636;
  --dark-yellow: #FFD27F;
  --pale-yellow: #FFECB3;
  --peach: #F5A96E;
  --dark: #850000;
}

/* =========================
   Global Styles
========================= */
.delius {
  font-family: 'Delius Swash Caps', cursive;
  font-weight: 400;
  font-style: normal;
}

.mali-regular {
  font-family: 'Mali', cursive;
  font-weight: 400;
  font-style: normal;
}

body,
html {
  height: 100%;
  margin: 0;
  font-family: 'Mali', cursive;
  background-color: var(--pale-yellow);
}

/* =========================
   Layout Container
========================= */
.container {
  display: flex;
  height: 100vh;
}

/* =========================
   Header Styles
========================= */
.top-header {
  position: sticky;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;

  height: 60px;
  padding: 10px 20px;

  background-color: var(--dusty-red);
  color: var(--dark-yellow);
}

.top-header .swirl {
  height: 40px;
  width: auto;
  margin: 0 20px;
}

.site-name {
  font-family: 'Delius Swash Caps', serif;
  font-size: 2.5em;
  font-weight: bold;
  letter-spacing: 4px;
  color: var(--dark-yellow);
  white-space: nowrap;
}

.header-wrap a {
  text-decoration: none;
}

/* =========================
   Main Content Area
========================= */
.align-decor {
  display: flex;
  flex-direction: row;
  height: 100%;
   justify-content: center;
  align-items: center;
}

.main-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  flex-grow: 0;
  margin-top: 40px;
}

.vert_swirl {
  height: 65%;
  width: auto;
  margin: 0 50px;
}

/* =========================
   Login Box
========================= */
.login-box {
  width: 400px;
  padding: 45px;
  border-radius: 20px;

  background-color: var(--peach);
  color: var(--dark);
}

.login-box h2 {
  margin: 8px 0 30px;

  font-size: 50px;
  font-weight: bold;
  text-align: center;
}

/* Form Labels */
.login-box label {
  display: block;
  width: 90%;
  margin: 10px;

  font-size: 20px;
  font-weight: bold;
}

/* Form Inputs */
.login-box input {
  display: block;
  width: 90%;
  margin: 5px auto 0;
  padding: 10px;

  font-size: 20px;
  border-radius: 10px;
  border: 2.5px solid var(--dusty-red);
  background-color: var(--pale-yellow);
  box-sizing: border-box;
}

.alert {
  color: var(--dusty-red);
}

/* =========================
   Button Styles
========================= */
.login-box button {
  display: block;
  width: 40%;
  margin: 20px auto 0;
  padding: 10px;

  font-family: 'Mali', cursive;
  font-weight: bold;
  color: var(--dark-yellow);
  background-color: var(--dusty-red);

  border: none;
  border-radius: 10px;
  cursor: pointer;

  transition: background-color 0.1s ease, transform 0.2s ease;
}

.login-box button:hover {
  background-color: var(--dusty-red-hover);
  transform: scale(1.05);
}

/* =========================
   Sign Up Section
========================= */
.sign_up {
  color: var(--dusty-red);
}

.sign_up a {
  display: inline-block;
  color: var(--dark);
  text-decoration: none;
  transition: transform 0.2s ease;
}

.sign_up a:hover {
  transform: scale(1.03);
}