.bh-home-greeting-popup{
  position:fixed;
  inset:0;
  z-index:99999;
  padding:20px;
  display:grid;
  place-items:center;
  opacity:0;
  visibility:hidden;
  background:rgba(1,6,14,.68);
  backdrop-filter:blur(9px);
  transition:.28s ease;
}

.bh-home-greeting-popup.show{
  opacity:1;
  visibility:visible;
}

.bh-home-greeting-card{
  position:relative;
  width:min(620px,100%);
  padding:36px;
  overflow:hidden;
  border:1px solid rgba(70,234,211,.22);
  border-radius:30px;
  color:#f7f9fd;
  text-align:center;
  transform:translateY(18px) scale(.97);
  background:
    radial-gradient(circle at 15% 0,rgba(255,118,22,.17),transparent 34%),
    radial-gradient(circle at 100% 0,rgba(83,63,255,.24),transparent 37%),
    linear-gradient(145deg,#081926,#070e1c 62%,#10102d);
  box-shadow:0 40px 140px rgba(0,0,0,.55);
  transition:.32s cubic-bezier(.2,.8,.2,1);
}

.bh-home-greeting-popup.show
.bh-home-greeting-card{
  transform:none;
}

.bh-home-greeting-close{
  position:absolute;
  top:14px;
  right:16px;
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:13px;
  color:#cad5e1;
  font-size:24px;
  cursor:pointer;
  background:rgba(255,255,255,.04);
}

.bh-home-greeting-visual{
  width:125px;
  height:125px;
  margin:0 auto 20px;
  display:grid;
  place-items:center;
  font-size:88px;
  animation:
    bhFestivalFloat 3.8s ease-in-out infinite;
  filter:
    drop-shadow(0 15px 28px rgba(245,75,170,.28));
}

.bh-home-greeting-visual img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:24px;
}

.bh-home-greeting-kicker{
  color:#73ecda;
  font-size:10px;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.bh-home-greeting-card h2{
  margin:15px auto 10px;
  max-width:540px;
  font-size:clamp(30px,5vw,48px);
  line-height:1.15;
  background:
    linear-gradient(
      100deg,
      #46efd0,
      #27bce9,
      #7555e9,
      #eb5079,
      #ff9e18
    );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.bh-home-greeting-card p{
  max-width:500px;
  margin:0 auto;
  color:#b0bdcc;
  line-height:1.75;
}

.bh-home-greeting-actions{
  margin-top:25px;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
}

.bh-home-greeting-primary,
.bh-home-greeting-secondary{
  min-height:47px;
  padding:0 19px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  font:inherit;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}

.bh-home-greeting-primary{
  border:0;
  color:#03131a;
  background:
    linear-gradient(
      110deg,
      #4bf0bd,
      #25d7ef,
      #2e72ff
    );
}

.bh-home-greeting-secondary{
  border:1px solid rgba(255,255,255,.1);
  color:#e9eef5;
  background:rgba(255,255,255,.04);
}

@keyframes bhFestivalFloat{
  0%,100%{
    transform:translateY(0) scale(1);
  }
  50%{
    transform:translateY(-9px) scale(1.03);
  }
}

@media(max-width:560px){
  .bh-home-greeting-card{
    padding:30px 20px 24px;
  }

  .bh-home-greeting-visual{
    width:100px;
    height:100px;
    font-size:70px;
  }

  .bh-home-greeting-actions > *{
    width:100%;
  }
}

/* ==========================================================
   BHAVYA_HOME_GREETING_POPUP_PREMIUM_V2
   Professional desktop + mobile visual hierarchy
   ========================================================== */

.bh-home-greeting-popup{
  padding:24px;
}

.bh-home-greeting-card{
  width:min(880px,calc(100vw - 48px));
  max-height:calc(100vh - 48px);
  overflow:auto;

  display:grid;
  grid-template-columns:
    minmax(240px,300px)
    minmax(0,1fr);

  grid-template-rows:auto auto auto auto;
  column-gap:38px;
  row-gap:0;

  align-items:center;

  padding:34px 38px 34px 34px;

  text-align:left;

  border:
    1px solid rgba(90,220,215,.24);

  border-radius:30px;

  background:
    radial-gradient(
      circle at 0 0,
      rgba(244,145,39,.13),
      transparent 35%
    ),
    radial-gradient(
      circle at 100% 0,
      rgba(67,75,255,.20),
      transparent 42%
    ),
    linear-gradient(
      145deg,
      #091824,
      #07111f 58%,
      #111230
    );

  box-shadow:
    0 45px 150px rgba(0,0,0,.62),
    inset 0 1px 0 rgba(255,255,255,.04);
}


/* portrait visual panel */

.bh-home-greeting-visual{
  grid-column:1;
  grid-row:1 / 5;

  width:100%;
  height:auto;
  aspect-ratio:4 / 5;

  margin:0;

  overflow:hidden;

  display:grid;
  place-items:center;

  border:
    1px solid rgba(255,255,255,.09);

  border-radius:24px;

  font-size:92px;

  background:
    radial-gradient(
      circle at 50% 30%,
      rgba(255,188,71,.14),
      transparent 52%
    ),
    rgba(255,255,255,.025);

  box-shadow:
    0 28px 70px rgba(0,0,0,.38),
    0 0 55px rgba(89,73,255,.08);

  animation:
    bhFestivalFloat 4.2s ease-in-out infinite;
}

.bh-home-greeting-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  border-radius:24px;
}


/* small festival label */

.bh-home-greeting-kicker{
  grid-column:2;
  grid-row:1;

  align-self:end;

  margin:0 0 11px;

  color:#75eee1;

  font-size:10px;
  font-weight:900;

  letter-spacing:.18em;
  line-height:1.45;

  text-transform:uppercase;
}


/* main greeting title */

.bh-home-greeting-card h2{
  grid-column:2;
  grid-row:2;

  margin:0;

  max-width:500px;

  font-size:
    clamp(
      30px,
      3.1vw,
      43px
    );

  line-height:1.13;
  letter-spacing:-.025em;

  background:
    linear-gradient(
      100deg,
      #48efd1 0%,
      #2bc5ed 24%,
      #7462f4 49%,
      #ea587f 73%,
      #ff9f1c 100%
    );

  -webkit-background-clip:text;
  background-clip:text;

  color:transparent;
}


/* supporting message */

.bh-home-greeting-card > p{
  grid-column:2;
  grid-row:3;

  max-width:520px;

  margin:18px 0 0;

  color:#b6c3d2;

  font-size:16px;
  line-height:1.75;
}


/* CTA row */

.bh-home-greeting-actions{
  grid-column:2;
  grid-row:4;

  justify-content:flex-start;

  margin-top:25px;

  gap:10px;
}

.bh-home-greeting-primary,
.bh-home-greeting-secondary{
  min-height:49px;
  padding:0 21px;

  border-radius:14px;

  font-size:14px;
  font-weight:850;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

.bh-home-greeting-primary:hover,
.bh-home-greeting-secondary:hover{
  transform:translateY(-2px);
}

.bh-home-greeting-primary{
  box-shadow:
    0 12px 30px rgba(32,172,235,.19);
}


/* close control */

.bh-home-greeting-close{
  top:16px;
  right:16px;

  z-index:3;

  width:42px;
  height:42px;

  border-radius:13px;

  background:
    rgba(10,22,39,.72);

  backdrop-filter:blur(8px);
}


/* ============================================
   TABLET
   ============================================ */

@media(max-width:760px){

  .bh-home-greeting-popup{
    padding:16px;
  }

  .bh-home-greeting-card{
    width:min(
      560px,
      calc(100vw - 28px)
    );

    display:block;

    padding:
      26px 22px 24px;

    text-align:center;

    border-radius:26px;
  }

  .bh-home-greeting-visual{
    width:min(220px,62vw);
    height:auto;
    aspect-ratio:4 / 5;

    margin:
      4px auto 23px;
  }

  .bh-home-greeting-kicker{
    margin:
      0 auto 10px;

    text-align:center;

    font-size:9px;
  }

  .bh-home-greeting-card h2{
    max-width:470px;

    margin:0 auto;

    font-size:
      clamp(
        29px,
        7.5vw,
        39px
      );

    line-height:1.16;
  }

  .bh-home-greeting-card > p{
    max-width:470px;

    margin:
      15px auto 0;

    font-size:14px;
    line-height:1.7;
  }

  .bh-home-greeting-actions{
    justify-content:center;

    margin-top:21px;
  }
}


/* ============================================
   MOBILE
   ============================================ */

@media(max-width:480px){

  .bh-home-greeting-card{
    max-height:
      calc(100vh - 24px);

    padding:
      23px 16px 18px;

    border-radius:22px;
  }

  .bh-home-greeting-close{
    top:10px;
    right:10px;

    width:38px;
    height:38px;
  }

  .bh-home-greeting-visual{
    width:min(178px,55vw);

    margin-bottom:18px;

    border-radius:20px;
  }

  .bh-home-greeting-visual img{
    border-radius:20px;
  }

  .bh-home-greeting-card h2{
    font-size:
      clamp(
        27px,
        8.4vw,
        34px
      );
  }

  .bh-home-greeting-actions{
    display:grid;
    grid-template-columns:1fr;

    width:100%;
  }

  .bh-home-greeting-actions > *{
    width:100%;
  }
}


/* accessibility */

@media(prefers-reduced-motion:reduce){

  .bh-home-greeting-card,
  .bh-home-greeting-visual{
    animation:none !important;
    transition:none !important;
  }
}

/* ==========================================================
   BHAVYA_POPUP_DEVANAGARI_FIX_V1
   Prevent top/bottom matra clipping in Hindi titles
   ========================================================== */

.bh-home-greeting-card h2{
  /*
   * Nirmala UI is particularly reliable for Devanagari
   * rendering on Windows/Chrome.
   */
  font-family:
    "Noto Sans Devanagari",
    "Nirmala UI",
    "Mangal",
    "Kohinoor Devanagari",
    system-ui,
    sans-serif;

  /*
   * Devanagari requires more vertical room than Latin text.
   */
  line-height:1.28;

  /*
   * Extra glyph breathing room for:
   * ि ी ु ू े ै ो ौ ँ ं etc.
   */
  padding-top:.10em;
  padding-bottom:.18em;

  /*
   * Prevent the gradient glyph box from visually cutting
   * upper/lower matras.
   */
  overflow:visible;

  /*
   * Slightly relaxed tracking looks more natural in Hindi.
   */
  letter-spacing:-.012em;

  /*
   * Helps Chrome keep glyph contours clean.
   */
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}


/* Supporting Hindi message */
.bh-home-greeting-card > p{
  font-family:
    "Noto Sans Devanagari",
    "Nirmala UI",
    "Mangal",
    "Kohinoor Devanagari",
    system-ui,
    sans-serif;

  line-height:1.85;

  padding-top:.05em;
  padding-bottom:.08em;

  overflow:visible;
}


/* Hindi CTA */
.bh-home-greeting-primary{
  font-family:
    "Noto Sans Devanagari",
    "Nirmala UI",
    "Mangal",
    system-ui,
    sans-serif;

  line-height:1.35;

  padding-top:2px;
}


/* Mobile needs slightly more vertical room */
@media(max-width:760px){
  .bh-home-greeting-card h2{
    line-height:1.30;
    padding-top:.12em;
    padding-bottom:.20em;
  }
}

@media(max-width:480px){
  .bh-home-greeting-card h2{
    line-height:1.32;
  }
}
