/* ==================================================================
   Global Styles & Resets
   ================================================================== */
   body {
    font-family: 'Lora', serif;
    background-color: #fffcf4;
    color: #0d0d0d;
    overflow-x: hidden; /* Prevents horizontal scrolling */
  }
  
  img {
    max-width: 100%;
    height: auto;
  }
  
  iframe {
    max-width: 100%;
  }
  
  /* ==================================================================
     Typography & Utility Classes
     ================================================================== */
  /* Headings */
  h1 {
    font-family: 'Dancing Script', cursive;
    font-size: 3.5rem;
    color: #0d0d0d;
  }
  
  h2 {
    font-family: 'Dancing Script', cursive;
    font-size: 3rem;
    color: #f94b6a;
  }
  
  h3 {
    font-family: 'Dancing Script', cursive;
    font-size: 3rem;
    color: #006c48;
  }
  
  h4 {
    font-family: 'Lora', serif;
    font-size: 1.5rem;
    color: #333;
  }
  
  h6 {
    font-family: 'Dancing Script', cursive;
    font-size: 1.5rem;
    color: #006c48;
  }
  
  /* Utility & helper classes */
  .green2 {
    color: #006c48;
  }
  
  .pink2 {
    color: #f94b6a;
    background-color: #faecef;
  }
  
  .pad-top {
    padding-top: 30px;
  }
  
  .pad-right {
    padding-right: 30px;
  }
  
  /* ==================================================================
     Layout & Containers
     ================================================================== */
  .section {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  
  .container {
    width: 100%;
    padding-right: var(--bs-gutter-x, .75rem);
    padding-left: var(--bs-gutter-x, .75rem);
    margin-right: auto;
    margin-left: auto;
  }
  
  .container-lg {
    max-width: 960px;
    padding-right: var(--bs-gutter-x, .75rem);
    padding-left: var(--bs-gutter-x, .75rem);
    margin-right: auto;
    margin-left: auto;
  }
  
  .flex-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
  }
  
  /* ==================================================================
     Hero Section
     ================================================================== */
  .hero {
    background: url('../images/photos/C_MM_capybara_blue.jpg') no-repeat center 47%;
    background-size: cover;
    background-attachment: fixed;
    overflow: hidden;
    height: 100vh;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding-left: 100px;
    padding-top: 130px;
    text-align: left;
    color: #333;
  }
  
  .hero h1 {
    font-size: 4rem;
    color: #0d0d0d;
    font-weight: bold;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
  }
  
  .hero p {
    font-size: 2.5rem;
    padding-left: 20%;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
  }
  
  .hero-content {
    position: relative;
    z-index: 2;
    animation: moveContent 1.5s ease-out;
  }
  
  @keyframes moveContent {
    from {
      transform: translateY(0);
    }
    to {
      transform: translateY(100%);
    }
  }
  
  /* ==================================================================
     Navbar
     ================================================================== */
  .navbar {
    background: white;
    text-align: center;
  }
  
  .brand-logo {
    max-height: 50px;
  }
  
  .mgtop {
    margin-top: 30px;
  }
  
  /* ==================================================================
     Components
     ================================================================== */
  
  /* Polaroid */
  .polaroid {
    width: 400px;
    padding: 10px;
    background-color: white;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    margin-bottom: 30px;
    text-align: center;
  }
  
  .polaroid img {
    width: 100%;
    height: auto;
  }
  
  .polaroid .caption {
    font-family: 'Caveat', serif;
    padding: 10px;
    font-size: 1.2rem;
    color: #333;
  }
  
  /* Custom Button */
  .custom-btn {
    content: "➜";
    background-color: #006c48;
    color: white;
    border: none;
    margin: 10px;
    padding: 10px 30px;
    cursor: pointer; /* Ensures pointer is shown */
    transition: transform 0.2s ease, box-shadow 0.2s ease; /* Smooth transitions */
  }
  
  .custom-btn:hover {
    background-color: #00472F;
    color: white;
    transform: scale(1.03); /* Slightly enlarges the button */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); /* Adds depth */
  }
  
  
  /* Carousel */
  .carousel {
    margin: 10px;
  }
  
  .carousel-inner {
    margin: 50px;
  }
  
  /* Intro */
  .intro {
    width: 200px;
  }
  
  /* Spacer Elements */
  .spacer1 {
    margin: 50px auto 0;
    height: 150px;
    display: block;
  }
  
  .spacer2 {
    margin: 50px auto 0;
    height: 100px;
    display: block;
  }
  
  /* Icon */
  .icon {
    height: 100px;
  }
  
  /* ==================================================================
     Color Swatches
     ================================================================== */
  .color-swatch {
    width: 50px;
    height: 50px;
    display: flex;
    color: white;
    font-weight: bold;
    border-radius: 8px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  }
  
  .lemon-yellow { background-color: #FFF44F; }
  .apricot-orange { background-color: #FFB347; }
  .tangerine-orange { background-color: #ffa600; }
  .strawberry-red { background-color: #FF6347; }
  .pink3 { background-color: #f94b6a; }
  .lavender { background-color: #E6E6FA; }
  .green { background-color: #006c48; }
  .sky-blue { background-color: #87CEEB; }
  .seafoam-blue { background-color: #9FE2BF; }
  
  /* ==================================================================
     Language Switcher
     ================================================================== */
  .language-switchers {
    gap: 10px;
  }
  
  .language-icon {
    width: 30px;
    cursor: pointer;
  }
  
  
  /* ==================================================================
     Section-Specific Styles
     ================================================================== */
  
  /* RSVP Section */
  #rsvp {
    position: relative;
    background: url('../images/icon_disco.png') no-repeat left top;
    background-size: auto 25%;
  }
  

  
  /* Registry Section */
  #registry {
    position: relative;
  }
  
  #registry::before {
    content: "";
    position: absolute;
    top: 60%;
    width: 30%;
    height: 30%;
    background: url('../images/icon_meeple_g.png') no-repeat center center;
    background-size: contain;
    z-index: 0;
  }
  
  #registry::after {
    content: "";
    position: absolute;
    top: 10%;
    right: 10%;
    transform: translateY(-50%);
    width: 30%;
    height: 30%;
    background: url('../images/icon_meeple_r.png') no-repeat center center;
    background-size: contain;
    z-index: 0;
  }
  
  /* FAQ Section */
  #faq {
    position: relative;
    background: url('../images/Icon Driving.png') no-repeat left bottom;
    background-size: auto 25%;
  }
  
  /* ==================================================================
     Media Queries
     ================================================================== */

  @media (max-width: 768px) {
    .hero h1 {
      font-size: 2.5rem;
      padding-left: 0;
    }
    
    .hero p {
      font-size: 1.5rem;
      padding-left: 5%;
    }
  }

  @media (max-width: 1000px) {
    section {
      padding-top: 30px;
      padding-bottom: 30px;
    }
    
    .polaroid {
      width: 100%;
    }
  
    .hero {
      background-attachment: scroll;
      background-size: 300% auto;
      background-position: 70% 50%;
      padding-left: 5%;
      padding-top: 20%;
    }

    .language-switchers {
      width: 100%;
      text-align: center;
      justify-content: center;
    }
    
    .carousel-inner {
      margin: auto;
    }
  }

  @media (max-width: 1250px) {
    #registry::before,
    #registry::after {
      display: none;
    }
    #rsvp {
      background: none;
    }
  }

  @media (max-width: 1400px) {
    #faq {
      background: none;
    }
  }