/* General Body Styles */
body {
  font-family: Arial, sans-serif;
  font-size: 14px;
  background-color: #be23bc;
  margin: 0;
  padding: 0;
}

.container {
  max-width: 794px;
  margin: 0 auto;
  background-color: #ffffff;
  position: relative;
}

/* --- Desktop Layout --- */
@media (min-width: 795px) {
    .left-edge {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 13px;
        background: url(./images/wedding_left_edge.jpg) repeat-y;
    }

    .right-edge {
        position: absolute;
        right: 0;
        top: 127px; /* After header */
        bottom: 0;
        width: 13px;
        background: url(./images/wedding_right_edge.jpg) repeat-y;
    }

    .main-area {
        padding-left: 13px;
        padding-right: 13px;
    }

    .header {
      height: 127px;
      display: flex;
      margin-right: -13px;
    }

    .header-logo {
        width: 562px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .header-right-img {
      width: 219px;
      height: 127px;
    }

    .content-wrapper {
      display: flex;
    }

    .main-content {
      width: 562px;
      padding: 0 15px 15px 15px;
      box-sizing: border-box;
    }

    .sidebar {
      width: 206px;
      background: url(./images/wedding_right_nav-bg.jpg);
      padding: 15px;
      box-sizing: border-box;
    }
    
    .hamburger-menu {
        display: none;
    }
}


/* --- Mobile Layout --- */
@media (max-width: 794px) {
  .container {
      position: static;
  }
  .main-area {
      padding: 0;
  }
  .left-edge, .right-edge, .header-right-img {
      display: none;
  }
  .header {
      height: auto;
      text-align: center;
      padding-top: 50px;
  }
  .content-wrapper {
      flex-direction: column;
  }
  .main-content, .sidebar {
      width: 100%;
      box-sizing: border-box;
      word-wrap: break-word;
      overflow-wrap: break-word;
      padding-left: 4px; /* Adjust text alignment on mobile */
      padding-right: 4px; /* Adjust text alignment on mobile */
  }

  .hamburger-menu {
    display: block;
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 1000;
  }
  #main-nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 250px;
    height: 100%;
    background-color: #be23bc;
    box-shadow: -2px 0 5px rgba(0,0,0,0.5);
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
    z-index: 1001;
    padding: 20px;
    box-sizing: border-box;
  }

  #main-nav.open {
    transform: translateX(0);
  }

  .menu-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 1000;
  }

  .menu-overlay.open {
    display: block;
  }

  .close-btn {
    position: absolute;
    top: 15px;
    right: 25px;
    color: white;
    font-size: 30px;
    text-decoration: none;
  }
  .sidebar nav ul {
      border: none;
  }
  .sidebar {
      background-image: none;
  }

  .main-content img {
      float: none !important;
      display: block;
      max-width: 100%;
      height: auto;
      margin: 10px auto;
  }
}

/* Common Styles */
.header-img {
  max-width: 100%;
  height: auto;
}
.page-title {
  text-align: center;
  font-family: Arial, sans-serif;
  color: #be23bc;
  font-size: 18px;
  font-weight: bold;
}

.homepage-slogan {
  font-size: 20px;
  margin-top: 0;
  font-weight: bold;
}

.page-slogan {
  font-size: 18px;
  text-align: center;
  color: #be23bc;
}
.contact-form {
  background-color: #fff5ee;
  padding: 15px;
  margin: 15px 0;
}
.form-row {
  margin-bottom: 10px;
}
.form-row label {
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
}
.form-row input[type="text"],
.form-row textarea {
  width: 100%;
  padding: 8px;
  box-sizing: border-box;
}
.form-row input[type="button"] {
    display: block;
    margin: 0 auto;
}
.form-note {
  color: red;
}
footer {
  text-align: center;
  font-size: 12px;
  color: #333;
  padding: 15px 0;
  clear: both;
}
hr {
    border-color: #be23bc;
    clear: both;
}
.sidebar nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  border: 5px solid #be23bc;
}
.sidebar nav li {
  border-bottom: 1px solid #ffffff;
}
.sidebar nav li:last-child {
  border-bottom: none;
}
.sidebar nav a {
  display: block;
  padding: 10px;
  color: white;
  text-decoration: none;
  font-weight: bold;
}
.testimonial {
  border: 5px solid #be23bc;
  background-color: #ffffff;
  padding: 15px;
  margin-top: 20px;
  text-align: center;
  font-size: 14px;
}
.bar {
  width: 25px;
  height: 3px;
  background-color: #333;
  margin: 5px 0;
}

