/* ====== CSS VARIABLES & GENERAL STYLES ====== */
:root {
    --purple: #864da0;
    --dark-purple: #5c3f6b;
    --pink: #e499c2;
    --blue: #58c9e7;
    --text-dark: #333;
    --text-light: #666;
    --white: #fff;
    --bg-light: #fdfcff;
    --border-color: #ddd;

    --shape-pink: #f8a5c2;
    --shape-orange: #ffab76;
    --shape-yellow: #f9d56e;
    --shape-green: #57c7a3;
    --shape-blue: #86c4e2;
    --shape-purple: #483475;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Poppins', sans-serif;
    background-color: var(--bg-light);
    color: var(--text-dark);
    overflow-x: hidden;
}

.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* ====== BUTTONS ====== */
.btn {
    display: inline-block;
    padding: 14px 28px;
    border-radius: 50px;
    font-weight: 500;
    text-decoration: none;
    text-align: center;
    transition: all 0.3s ease;
}

.btn-primary {
    background-color: var(--dark-purple);
    color: var(--white);
    border: 2px solid var(--dark-purple);
}

.btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.btn-secondary {
    background-color: transparent;
    color: var(--white);
    border: 2px solid var(--white);
}

.btn-secondary:hover {
    background-color: var(--white);
    color: var(--dark-purple);
}

/* ====== HERO SECTION - DESKTOP ====== */
.hero {
    position: relative;
    height: 700px;
    padding-top: 50px;
    background: linear-gradient(135deg, var(--pink) 0%, var(--blue) 100%);
    color: var(--white);
    clip-path: url(#wave);
}

.hero-background-image {
    position: absolute;
    top: -20px;
    left: 0;
    width: 55%;
    height: 100%;
    background-image: url('babylist_bg2.png');
    background-size: cover;
    background-position: center 20%;
    opacity: 0.9;
}

.hero-content {
    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
}

.hero-text {
    width: 45%;
    padding-left: 2rem;
}

.hero-text h1 {
    font-size: 3.5rem;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 2rem;
}

.button-group {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

/* ====== FEATURES SECTION - DESKTOP ====== */
.features {
    padding: 150px 0 100px;
    margin-top: -200px;
    position: relative;
    z-index: 10;
}

.features-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.features-text {
    flex-basis: 40%;
    text-align: center;
}

.features-heading {
    font-size: 2.8rem;
    font-weight: 600;
    color: var(--dark-purple);
    margin-bottom: 1rem;
}

.features-paragraph {
    font-size: 1.1rem;
    color: var(--text-light);
    margin-bottom: 2rem;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}

.features-image {
    flex-basis: 50%;
}

.features-image img {
    width: 100%;
    max-width: 450px;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0px 15px 30px rgba(0, 0, 0, 0.1));
}

/* ====== DECORATIVE SHAPES ====== */
.shape { position: absolute; z-index: -1; }
.shape-1 { background: var(--white); opacity: 0.15; width: 150px; height: 150px; border-radius: 30px; top: 15%; left: 48%; transform: rotate(25deg); }
.shape-2 { background: var(--white); opacity: 0.15; width: 250px; height: 250px; border-radius: 50px; top: 10%; right: 5%; transform: rotate(-15deg); }
.shape-3 { background: var(--white); opacity: 0.15; width: 80px; height: 80px; border-radius: 20px; bottom: 25%; right: 25%; transform: rotate(10deg); }
.shape-4 { background-color: var(--shape-pink); width: 20px; height: 10px; border-radius: 10px 10px 0 0; top: 18%; left: 15%; }
.shape-5 { background-color: var(--shape-green); width: 15px; height: 15px; border-radius: 50%; top: 25%; left: 45%; }
.shape-6 { background-color: var(--shape-orange); width: 25px; height: 12px; border-radius: 0 0 12px 12px; bottom: 20%; left: 10%; }
.shape-7 { background-color: var(--shape-purple); width: 12px; height: 12px; border-radius: 50%; bottom: 45%; left: 18%; }
.shape-8 { background-color: var(--shape-yellow); width: 20px; height: 10px; border-radius: 10px 10px 0 0; bottom: 15%; left: 40%;}
.shape-9 { background-color: var(--shape-green); width: 15px; height: 15px; border-radius: 50%; top: 35%; right: 10%; }
.shape-10 { background-color: var(--shape-yellow); width: 25px; height: 0; border-left: 12px solid transparent; border-right: 12px solid transparent; border-bottom: 20px solid var(--shape-yellow); top: 55%; right: 8%; transform: rotate(-25deg); }
.shape-11 { background-color: var(--shape-blue); width: 20px; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 15px solid var(--shape-blue); top: 20%; right: 15%; }
.shape-12 { background-color: var(--shape-pink); width: 25px; height: 12px; border-radius: 12px 12px 0 0; bottom: 30%; right: 15%; }

.welcome-box {
  position: relative;
  background: linear-gradient(to right, #b8ec6f, #ffe164);
  background-size: cover;
  color: #4c3268;
  padding: 100px 20px 80px;
  overflow: hidden;
  z-index: 0;
}

.welcome-content {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
}

.box-image img {
  max-width: 500px;
  width: 100%;
}

.box-text {
  max-width: 500px;
  margin-left: 40px;
}

.box-text h2 {
  font-size: 2rem;
  color: #771942;
  margin-bottom: 10px;
}

.box-text p {
  font-size: 1.1rem;
  color: #333;
  margin-bottom: 12px;
}

.box-text .get-started {
  padding: 12px 24px;
  background: #771942;
  color: white;
  border: none;
  border-radius: 25px;
  font-weight: bold;
  font-size: 1rem;
  cursor: pointer;
}

.welcome-box .wave svg {
  display: block;
  width: 100%;
  margin-top: 40px;
}


/* ====== RESPONSIVE DESIGN ====== */

/* For Tablets */
@media (max-width: 1024px) {
    .hero { height: auto; padding-bottom: 200px; }
    .hero-background-image { width: 65%; height: 110%; }
    .hero-text { width: 55%; }
    .hero-text h1 { font-size: 2.8rem; }
    .features-heading { font-size: 2.2rem; }
}

/* For Mobile */
@media (max-width: 768px) {
    /* ====== MOBILE HERO SECTION ====== */
    .hero {
        height: 580px;
        padding: 0;
        /* UPDATED: Apply the new, shallower wave shape */
        clip-path: url(#mobile-wave);
        position: relative;
        background: linear-gradient(135deg, var(--pink) 0%, var(--blue) 100%);
        display: flex;
        align-items: center;
        overflow: hidden;
    }

    .hero-background-image {
        display: block;
        position: absolute;
        left: -20%;
        top: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: 25% center;
        z-index: 1;
        opacity: 1;
    }
    
    .hero-content {
        position: relative;
        z-index: 2;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    .hero-text {
        width: 55%;
        padding: 0 1rem 0 1rem;
        text-align: right;
    }

    .hero-text h1 {
        font-size: clamp(1.7rem, 6vw, 2.3rem);
        line-height: 1.25;
        margin-bottom: 1.5rem;
        font-weight: normal;
    }

    .button-group {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }
    
    .button-group .btn {
        padding-left: 10px;
        padding-right: 10px;
        font-size: 0.9rem;
        white-space: normal;
        line-height: 1.2;
    }
    
    .button-group .btn-primary { text-align: center; }
    .button-group .btn-secondary { text-align: center; }


    /* ====== MOBILE FEATURES SECTION ====== */
    .features {
        /* UPDATED: Adjust margin to account for the new hero shape */
        margin-top: -160px;
        padding: 80px 0;
    }
    .features-content {
        flex-direction: column-reverse;
        gap: 3rem;
    }
    .features-text { display: block; }
    .features-image img { max-width: 320px; }
    .features-heading, .features-paragraph { text-align: center; }

    .shape-1, .shape-2, .shape-3, .shape-10, .shape-11, .shape-12 { display: none; }
	
  .welcome-content {
    flex-direction: column;
    text-align: center;
  }

  .box-text {
    margin: 40px 0 0;
  }
}