* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Roboto', sans-serif;
}

body {
  overflow-x: hidden;
}

/* SECTION */
.coming-soon {
  min-height: 100vh;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
}

/* BACKGROUND */
.bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

/* HERO */
.hero-container {
  width: 100%;
  display: flex;
  justify-content: center;
}

/* LEFT */
.left-content {
  max-width: 700px;
}

/* FUTURE TEXT */
.future-text {
  margin-bottom: 10px;
  color: #1f6fb2;
}

.future-text p {
  font-size: 22px;
}

.future-text h1 {
  font-size: 42px;
  font-weight: 800;
}

/* CARD WRAPPER */
.card-wrapper {
  position: relative;
}

/* DOCTOR IMAGE OVER CARD */
.doctor {
  position: absolute;
  right: -140px;
  top: -120px;
  z-index: 3;
}

.doctor img {
  height: 520px;
}

/* INFO CARD */
.info-card {
  background: rgba(255,255,255,0.95);
  border-radius: 16px;
  padding: 32px 36px;
  width: 620px;
  height: 320px;

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  box-shadow: 0 20px 50px rgba(0,0,0,0.18);
  position: relative;
  z-index: 2;
}


/* CARD CONTENT */
.consult {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: -4px;
}

.info-card h2 {
  font-size: 25px;
  margin-bottom: 4px;
}

.designation {
  font-size: 14px;
  margin-bottom: 5px;
  line-height: 1.4;
  font-weight: 500;
}




.features li {
  font-size: 14px;
  margin-bottom: 6px;
  list-style: none;
  font-weight: 500;
  padding-left: 16px;
  position: relative;
}

.features li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: #1f6fb2;
}

.experience {
  font-weight: 800;
  margin-top: 8px;
}

/* BOTTOM */
.bottom-content {
  margin-top: 4px;
  text-align: center;
}

.coming-soon-text {
  font-size: 22px;
  font-weight: 700;
  color: #000;
  letter-spacing: 1px;
  margin-bottom: -120px;  /* pulls it closer to timer */
  text-shadow: 0 3px 10px rgba(0,0,0,0.6);
  margin-top: 60px;
}


/* TIMER */
.timer-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 650px;
  height: 280px;
  background-image: url("images/time.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  padding: 16px 28px;
  gap: 12px;
  position: relative;
  z-index: 1; /* Keep timer behind the notify bar if they touch */

  /* ADD THIS: Pushes everything inside down away from the top edge */
  padding-top: 30px !important; 
  padding-bottom: 20px;
  gap: 12px;
  position: relative;
}



/* Timer item */
.timer-item {
  display: flex;
  align-items: baseline;
  gap: 6px;
  color: #ffffff;
  text-shadow: 0 2px 6px rgba(0,0,0,0.4);
}

/* Numbers */
.timer-item .num {
  font-size: 32px;
  font-weight: 800;
  letter-spacing: 1px;
  line-height: 1; /* Ensures no extra space above the text */
}

/* Labels */
.timer-item .label {
  font-size: 18px;
  font-weight: 600;
  opacity: 0.95;
}

/* Vertical dividers */
.divider {
  width: 1px;
  height: 34px;
  background: rgba(255,255,255,0.55);
  box-shadow: 0 0 6px rgba(255,255,255,0.6);
}


/* COMING BAR */
.coming-bar {
  max-width: 360px;
  margin-bottom: 12px;
}

/* EMAIL */
.notify {
  display: flex;
  justify-content: center;
  max-width: 420px;
  margin: -70px auto 0 auto; /* Negative margin pulls it up */
  position: relative; 
  z-index: 10; /* CRITICAL: This puts the input on top of the timer box */
}

.notify input {
  flex: 1;
  padding: 14px 16px;
  border-radius: 30px 0 0 30px;
  border: 1px solid #ddd;
  outline: none;
  background: white;
}

.notify button {
  padding: 14px 24px;
  border-radius: 0 30px 30px 0;
  border: none;
  background: #2bbcff;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s ease;
}

.notify button:hover {
  background: #1a9cd8;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .doctor {
    position: relative;
    right: 0;
    top: -40px;
    text-align: center;
  }

  .info-card {
    width: 95%;
  }

  .future-text h1 {
    font-size: 32px;
  }
}




/* MOBILE CSS RULE */
@media screen and (max-width: 768px) {
  .bg-img {
    /* object-fit: cover; is already in your main CSS */
    
    /* This shifts the image to show the most important part. 
       Adjust 'center' to 'left' or 'right' depending on where 
       the main graphics are in your bg.png */
    object-position: 70% 50% !important; 
    
    /* Ensures the background image always fills the full height of mobile */
    height: 100% !important;
    width: 100% !important;
  }

  /* 2. ENSURE CONTENT READABILITY */
  .coming-soon {
    /* Adds a slight dark overlay if the BG image makes text hard to read on narrow screens */
    background: rgba(0, 0, 0, 0.2); 
    justify-content: flex-start !important; /* Start content from top to avoid clipping */
    padding-top: 60px !important;
  }
  /* 1. CENTER HEADER TEXT */
  .hero-container, .left-content, .future-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
  }

  .future-text p { font-size: 24px !important; margin: 0 !important; }
  .future-text h1 { font-size: 34px !important; line-height: 1.1 !important; }

  /* 2. DOCTOR OVERLAP & CARD */
  .card-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: 10px !important;
  }

  .doctor {
    position: relative !important;
    inset: auto !important;
    margin: 0 auto -20px auto !important; /* Pulls card up UNDER doctor */
    z-index: 10 !important;
  }

  .doctor img {
    height: 500px !important; /* Adjust if doctor looks too big/small */
    width: auto !important;
  }

  .info-card {
    width: 92% !important;
    height: auto !important; /* FIX: Allows card to grow with text */
    min-height: 350px !important; 
    padding: 20px 20px 30px 20px !important; /* FIX: 110px top padding pushes text below doctor */
    margin: 0 auto !important;
    background: white !important;
    border-radius: 20px !important;
    display: block !important; /* Removes flex-justify-between which breaks mobile height */
  }
  /* Specifically left-align the doctor's name and consult text on mobile */
  .info-card .consult,
  .info-card h2 {
    text-align: left !important;
    width: 100% !important;
  }

  /* 3. CARD CONTENT STYLING */
  .info-card h2 { font-size: 22px !important; margin: 10px 0 !important; }
  .designation { font-size: 13px !important; margin-bottom: 15px !important; text-align: left !important; }
  .features { text-align: left !important; padding: 0 !important; }
  .features li { font-size: 13px !important; margin-bottom: 8px !important; }
  .experience { margin-top: 15px !important; text-align: left !important; }

  /* 4. BOTTOM SECTION GAPS */
  .bottom-content {
    margin-top: 30px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .coming-soon-text {
    margin-top: 0 !important;
    margin-bottom: -45px !important; /* Pulls timer closer */
    font-size: 20px !important;
  }

  .timer-wrap {
    width: 95% !important;
    max-width: 360px !important;
    height: 130px !important;
    background-size: 100% 100% !important;
    gap: 5px !important;
    margin: 0 auto !important;
  }

  .timer-item .num { font-size: 22px !important; }
  .timer-item .label { font-size: 10px !important; }

  /* 5. SLIM NOTIFY BAR (Mobile Only) */
 /* 5. SLIM NOTIFY BAR (Mobile Only) */
  .notify {
    position: relative !important; /* REQUIRED for z-index to work */
    z-index: 99 !important;        /* Moves it to the very front layer */
    margin-top: -25px !important; 
    width: 85% !important;
    height: 38px !important; 
    display: flex !important;
    justify-content: center !important;
    align-items: stretch !important;
    pointer-events: auto !important; /* Ensures it accepts clicks */
  }

  .notify input {
    flex: 1 !important;
    height: 100% !important;
    padding: 0 15px !important; /* Horizontal padding only */
    font-size: 13px !important;
    border: 1px solid #ddd !important;
    border-right: none !important;
    border-radius: 25px 0 0 25px !important;
  }

  .notify button {
    height: 100% !important;
    padding: 0 15px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    border-radius: 0 25px 25px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important; /* Keeps text on one line */
  }
}