/* COUNSIVA festive login — premium Dashain + Tihar motion v2
   Decorative only. Authentication and form behavior are untouched. */

.login-shell.counsiva-festive-login{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 12% 18%,rgba(245,191,85,.10),transparent 23rem),
    radial-gradient(circle at 88% 74%,rgba(10,144,165,.09),transparent 25rem),
    linear-gradient(135deg,#f8fcfd 0%,#f5fbfc 46%,#f4f8fb 100%);
}

.login-shell.counsiva-festive-login>.login-card,
.login-shell.counsiva-festive-login>.counsiva-login-aside{
  position:relative;
  z-index:5;
}

.counsiva-festive-scene{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  pointer-events:none;
  user-select:none;
}

.counsiva-festive-scene::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 7%,rgba(255,255,255,.92),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,0) 42%);
}

/* Subtle top festive light string */
.counsiva-premium-lightline{
  position:absolute;
  left:-1%;
  right:-1%;
  top:18px;
  height:44px;
  border-top:1px solid rgba(98,78,49,.20);
  border-radius:50%;
  opacity:.8;
}

.counsiva-premium-bulb{
  --delay:0s;
  position:absolute;
  top:-2px;
  width:5px;
  height:8px;
  border-radius:50%;
  background:#ffd477;
  box-shadow:
    0 0 6px 2px rgba(255,207,104,.42),
    0 0 15px 4px rgba(255,171,56,.13);
  transform-origin:50% -7px;
  animation:counsiva-soft-twinkle 3.2s ease-in-out var(--delay) infinite;
}

.counsiva-premium-bulb::before{
  content:"";
  position:absolute;
  left:2px;
  top:-7px;
  width:1px;
  height:7px;
  background:rgba(80,68,49,.35);
}

/* Elegant toran only on upper corners */
.counsiva-toran{
  position:absolute;
  top:0;
  width:250px;
  height:86px;
  opacity:.62;
}

.counsiva-toran.left{left:0}
.counsiva-toran.right{right:0;transform:scaleX(-1)}

.counsiva-toran-line{
  position:absolute;
  left:-8px;
  top:18px;
  width:240px;
  height:46px;
  border-top:1px solid rgba(106,81,48,.25);
  border-radius:50%;
  transform:rotate(2deg);
}

.counsiva-toran-flower,
.counsiva-toran-leaf{
  position:absolute;
  transform-origin:50% -14px;
  animation:counsiva-toran-sway 5.5s ease-in-out infinite alternate;
}

.counsiva-toran-flower{
  width:12px;
  height:12px;
  border-radius:50%;
  background:
    radial-gradient(circle at 36% 36%,#ffd97e 0 16%,#f6a829 17% 48%,#cf6617 49% 100%);
  box-shadow:0 3px 8px rgba(133,75,26,.12);
}

.counsiva-toran-leaf{
  width:9px;
  height:19px;
  border-radius:80% 10% 80% 10%;
  background:linear-gradient(180deg,#6b9a3d,#3e6d2c);
  opacity:.74;
}

/* Refined flying kites */
.counsiva-premium-kite{
  --delay:0s;
  --duration:24s;
  --scale:1;
  --kite-a:#d95d4f;
  --kite-b:#efb847;
  position:absolute;
  left:-90px;
  top:26%;
  width:34px;
  height:34px;
  opacity:.74;
  transform:rotate(45deg) scale(var(--scale));
  background:
    linear-gradient(135deg,var(--kite-a) 0 49.3%,var(--kite-b) 50% 100%);
  border:1px solid rgba(66,53,44,.25);
  box-shadow:0 5px 14px rgba(29,54,79,.08);
  animation:counsiva-kite-drift var(--duration) linear var(--delay) infinite;
}

.counsiva-premium-kite::before{
  content:"";
  position:absolute;
  left:16px;
  top:0;
  width:1px;
  height:34px;
  background:rgba(71,60,48,.32);
}

.counsiva-premium-kite::after{
  content:"";
  position:absolute;
  left:33px;
  top:31px;
  width:82px;
  height:54px;
  border-left:1px solid rgba(77,65,55,.34);
  border-radius:0 0 0 75%;
  transform:rotate(-18deg);
  transform-origin:0 0;
}

.counsiva-premium-kite.kite-two{
  top:52%;
  --duration:31s;
  --delay:-14s;
  --scale:.74;
  --kite-a:#168fa5;
  --kite-b:#e7c85b;
  opacity:.58;
}

/* Warm, smaller diyas */
.counsiva-premium-diyas{
  position:absolute;
  bottom:18px;
  display:flex;
  align-items:flex-end;
  gap:15px;
  opacity:.82;
}

.counsiva-premium-diyas.left{left:32px}
.counsiva-premium-diyas.right{right:32px}

.counsiva-premium-diya{
  --delay:0s;
  position:relative;
  width:46px;
  height:18px;
  border-radius:4px 4px 30px 30px / 4px 4px 16px 16px;
  background:linear-gradient(180deg,#c86c23,#8e3d1b);
  border:1px solid rgba(99,44,20,.28);
  box-shadow:0 7px 16px rgba(90,44,20,.10);
}

.counsiva-premium-diya:nth-child(2){
  transform:translateY(-4px) scale(.86);
  opacity:.92;
}

.counsiva-premium-diya::before{
  content:"";
  position:absolute;
  left:50%;
  top:-23px;
  width:11px;
  height:25px;
  margin-left:-5px;
  border-radius:60% 40% 60% 40% / 72% 64% 36% 28%;
  background:
    radial-gradient(circle at 50% 73%,#fff8ca 0 16%,#ffd65c 17% 42%,#ff972f 43% 72%,rgba(245,103,22,.10) 73%);
  filter:drop-shadow(0 0 5px rgba(255,161,52,.65));
  transform-origin:50% 100%;
  animation:counsiva-flame 1.45s ease-in-out var(--delay) infinite alternate;
}

.counsiva-premium-diya::after{
  content:"";
  position:absolute;
  left:50%;
  top:-34px;
  width:54px;
  height:54px;
  margin-left:-27px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,198,83,.16),rgba(255,167,60,.05) 48%,transparent 72%);
  animation:counsiva-glow 2.3s ease-in-out var(--delay) infinite alternate;
}

/* Very subtle jamara+tika accent in lower-left only */
.counsiva-premium-puja{
  position:absolute;
  left:118px;
  bottom:11px;
  width:78px;
  height:60px;
  opacity:.42;
}

.counsiva-premium-tika{
  position:absolute;
  left:0;
  bottom:4px;
  width:30px;
  height:9px;
  border-radius:50%;
  background:radial-gradient(ellipse,#d7313f 0 42%,#a5222d 68%,rgba(142,30,39,.08) 72% 100%);
}

.counsiva-premium-jamara{
  position:absolute;
  left:34px;
  bottom:3px;
  width:42px;
  height:54px;
}

.counsiva-premium-jamara i{
  position:absolute;
  left:20px;
  bottom:0;
  width:2px;
  height:50px;
  border-radius:50% 50% 0 0;
  background:linear-gradient(#9fbd3a,#4d7e27);
  transform-origin:50% 100%;
}

.counsiva-premium-jamara i:nth-child(1){transform:rotate(-27deg);height:42px}
.counsiva-premium-jamara i:nth-child(2){transform:rotate(-14deg);height:50px}
.counsiva-premium-jamara i:nth-child(3){transform:rotate(0deg);height:53px}
.counsiva-premium-jamara i:nth-child(4){transform:rotate(15deg);height:47px}
.counsiva-premium-jamara i:nth-child(5){transform:rotate(28deg);height:40px}

/* Soft bokeh instead of busy particles */
.counsiva-festive-bokeh{
  --delay:0s;
  --duration:7s;
  position:absolute;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(244,186,75,.32);
  box-shadow:0 0 10px rgba(244,186,75,.18);
  animation:counsiva-bokeh-float var(--duration) ease-in-out var(--delay) infinite alternate;
}

@keyframes counsiva-soft-twinkle{
  0%,100%{opacity:.28;transform:scale(.92)}
  50%{opacity:.78;transform:scale(1.07)}
}

@keyframes counsiva-toran-sway{
  from{transform:rotate(-2.5deg) translateY(0)}
  to{transform:rotate(2.5deg) translateY(2px)}
}

@keyframes counsiva-kite-drift{
  0%{transform:translate3d(-7vw,4vh,0) rotate(41deg) scale(var(--scale));opacity:0}
  10%{opacity:.68}
  38%{transform:translate3d(38vw,-3vh,0) rotate(46deg) scale(var(--scale))}
  68%{transform:translate3d(76vw,3vh,0) rotate(42deg) scale(var(--scale))}
  92%{opacity:.62}
  100%{transform:translate3d(116vw,-2vh,0) rotate(46deg) scale(var(--scale));opacity:0}
}

@keyframes counsiva-flame{
  0%{transform:rotate(-2deg) scale(.94,1.04)}
  50%{transform:rotate(2deg) scale(1.02,.98)}
  100%{transform:rotate(-1deg) scale(.96,1.06)}
}

@keyframes counsiva-glow{
  from{opacity:.45;transform:scale(.92)}
  to{opacity:.85;transform:scale(1.04)}
}

@keyframes counsiva-bokeh-float{
  from{transform:translate3d(0,6px,0);opacity:.18}
  to{transform:translate3d(6px,-12px,0);opacity:.48}
}

@media(max-width:1000px){
  .counsiva-toran{width:190px;opacity:.5}
  .counsiva-toran.right{display:none}
  .counsiva-premium-puja{display:none}
  .counsiva-premium-diyas.left{display:none}
  .counsiva-premium-kite.kite-two{display:none}
}

@media(max-width:620px){
  .counsiva-premium-lightline{top:10px;opacity:.55}
  .counsiva-toran{width:145px;opacity:.4}
  .counsiva-premium-kite{--scale:.72;opacity:.48}
  .counsiva-premium-diyas.right{
    right:8px;
    bottom:8px;
    transform:scale(.70);
    transform-origin:right bottom;
    opacity:.64;
  }
}

@media(prefers-reduced-motion:reduce){
  .counsiva-premium-bulb,
  .counsiva-toran-flower,
  .counsiva-toran-leaf,
  .counsiva-premium-kite,
  .counsiva-premium-diya::before,
  .counsiva-premium-diya::after,
  .counsiva-festive-bokeh{
    animation:none!important;
  }
  .counsiva-premium-kite{display:none}
}

/* === FINAL FOOTER KITES V3 START === */

/*
 Final direction:
 - Keep current premium top lights and toran.
 - Keep login center clean.
 - No jamara/tika.
 - No random floating particles.
 - Four kites launch from footer corners.
 */

.counsiva-premium-puja,
.counsiva-festive-bokeh,
.counsiva-premium-kite{
  display:none!important;
}

/* Keep bottom lamps understated */
.counsiva-premium-diyas{
  opacity:.62;
  bottom:12px;
}

.counsiva-premium-diyas.left{
  left:20px;
}

.counsiva-premium-diyas.right{
  right:20px;
}

.counsiva-premium-diya{
  transform:scale(.82);
}

.counsiva-premium-diya:nth-child(2){
  transform:translateY(-3px) scale(.70);
}

/* Footer kite wrapper */
.counsiva-footer-kite{
  --kite-size:34px;
  --kite-a:#d95c4d;
  --kite-b:#efb84c;
  --kite-opacity:.70;
  --kite-duration:24s;
  --kite-delay:0s;

  position:absolute;
  bottom:-90px;

  width:110px;
  height:150px;

  opacity:0;
  pointer-events:none;

  animation-duration:var(--kite-duration);
  animation-delay:var(--kite-delay);
  animation-timing-function:linear;
  animation-iteration-count:infinite;

  will-change:transform,opacity;
}

/* Start from left footer */
.counsiva-footer-kite.left{
  left:18px;
  animation-name:counsiva-footer-kite-left;
}

/* Start from right footer */
.counsiva-footer-kite.right{
  right:18px;
  animation-name:counsiva-footer-kite-right;
}

/* Diamond kite */
.counsiva-footer-kite-body{
  position:absolute;
  left:14px;
  top:4px;

  width:var(--kite-size);
  height:var(--kite-size);

  transform:rotate(45deg);

  border:1px solid rgba(69,55,44,.25);

  background:
    linear-gradient(
      135deg,
      var(--kite-a) 0 49.5%,
      var(--kite-b) 50% 100%
    );

  box-shadow:
    0 6px 14px rgba(24,49,72,.10);
}

/* Small structural line */
.counsiva-footer-kite-body::before{
  content:"";
  position:absolute;

  left:50%;
  top:0;

  width:1px;
  height:100%;

  background:rgba(73,59,49,.28);
}

/* Kite tail/string */
.counsiva-footer-kite-string{
  position:absolute;

  left:37px;
  top:39px;

  width:72px;
  height:82px;

  border-left:1px solid rgba(75,64,55,.30);
  border-bottom:1px solid rgba(75,64,55,.12);

  border-radius:0 0 0 80%;

  transform:rotate(-9deg);
  transform-origin:0 0;
}

/* Tail bows */
.counsiva-footer-kite-string::after{
  content:"";

  position:absolute;

  left:-4px;
  top:26px;

  width:6px;
  height:6px;

  border-radius:2px;

  background:var(--kite-b);

  box-shadow:
    8px 17px 0 var(--kite-a),
    17px 34px 0 var(--kite-b),
    28px 50px 0 rgba(10,143,165,.78);
}

/*
 KITE 1
 Larger left footer kite.
 */
.counsiva-footer-kite.kite-1{
  --kite-size:38px;
  --kite-a:#d95c4d;
  --kite-b:#efb64a;

  --kite-duration:23s;
  --kite-delay:-4s;

  --kite-opacity:.72;
}

/*
 KITE 2
 Smaller left footer kite.
 */
.counsiva-footer-kite.kite-2{
  left:76px;

  --kite-size:27px;
  --kite-a:#138da3;
  --kite-b:#e9cb62;

  --kite-duration:29s;
  --kite-delay:-17s;

  --kite-opacity:.52;
}

/*
 KITE 3
 Main right footer kite.
 */
.counsiva-footer-kite.kite-3{
  --kite-size:35px;
  --kite-a:#9a5ab2;
  --kite-b:#e89a45;

  --kite-duration:26s;
  --kite-delay:-10s;

  --kite-opacity:.64;
}

/*
 KITE 4
 Smaller right footer kite.
 */
.counsiva-footer-kite.kite-4{
  right:82px;

  --kite-size:25px;
  --kite-a:#167f99;
  --kite-b:#e5bb52;

  --kite-duration:32s;
  --kite-delay:-23s;

  --kite-opacity:.47;
}

/*
 Left path:
 footer -> upper-left/mid-left.
 It deliberately avoids the center login card.
 */
@keyframes counsiva-footer-kite-left{
  0%{
    transform:
      translate3d(-30px,40px,0)
      rotate(-5deg);

    opacity:0;
  }

  8%{
    opacity:var(--kite-opacity);
  }

  30%{
    transform:
      translate3d(5vw,-23vh,0)
      rotate(3deg);
  }

  58%{
    transform:
      translate3d(10vw,-47vh,0)
      rotate(-2deg);
  }

  82%{
    opacity:var(--kite-opacity);

    transform:
      translate3d(14vw,-67vh,0)
      rotate(4deg);
  }

  100%{
    transform:
      translate3d(17vw,-88vh,0)
      rotate(-3deg);

    opacity:0;
  }
}

/*
 Right path:
 footer -> upper-right/mid-right.
 Mirrored so it does not cross the login form.
 */
@keyframes counsiva-footer-kite-right{
  0%{
    transform:
      translate3d(30px,40px,0)
      rotate(5deg);

    opacity:0;
  }

  8%{
    opacity:var(--kite-opacity);
  }

  30%{
    transform:
      translate3d(-5vw,-22vh,0)
      rotate(-3deg);
  }

  58%{
    transform:
      translate3d(-10vw,-46vh,0)
      rotate(2deg);
  }

  82%{
    opacity:var(--kite-opacity);

    transform:
      translate3d(-14vw,-66vh,0)
      rotate(-4deg);
  }

  100%{
    transform:
      translate3d(-17vw,-87vh,0)
      rotate(3deg);

    opacity:0;
  }
}

/*
 Keep top section subtle.
 */
.counsiva-premium-lightline{
  opacity:.68;
}

.counsiva-toran{
  opacity:.52;
}

/*
 Tablet:
 only the two main kites remain.
 */
@media(max-width:900px){

  .counsiva-footer-kite.kite-2,
  .counsiva-footer-kite.kite-4{
    display:none;
  }

  .counsiva-footer-kite.kite-1{
    --kite-size:31px;
  }

  .counsiva-footer-kite.kite-3{
    --kite-size:29px;
  }

  .counsiva-premium-diyas.left{
    display:none;
  }
}

/*
 Mobile:
 keep decoration minimal.
 */
@media(max-width:600px){

  .counsiva-toran.right{
    display:none;
  }

  .counsiva-footer-kite.left{
    left:4px;
  }

  .counsiva-footer-kite.right{
    right:4px;
  }

  .counsiva-footer-kite.kite-1{
    --kite-size:25px;
    --kite-opacity:.48;
  }

  .counsiva-footer-kite.kite-3{
    --kite-size:23px;
    --kite-opacity:.42;
  }

  .counsiva-premium-diyas.right{
    transform:scale(.72);
    transform-origin:right bottom;
    right:2px;
  }
}

/*
 Accessibility:
 no continuous movement when reduced motion is requested.
 */
@media(prefers-reduced-motion:reduce){

  .counsiva-footer-kite{
    display:none!important;
  }

  .counsiva-premium-bulb,
  .counsiva-toran-flower,
  .counsiva-toran-leaf,
  .counsiva-premium-diya::before,
  .counsiva-premium-diya::after{
    animation:none!important;
  }
}

/* === FINAL FOOTER KITES V3 END === */

/* === NEPAL VILLAGE + DASHAIN PING V4 START === */

.counsiva-nepal-village{
  position:absolute;
  inset:58px 0 0 0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.52)),
    url("/festive-nepal-village-2083.svg?v=2083.4") center bottom/cover no-repeat;
  opacity:.40;
  filter:saturate(.88);
  z-index:0;
}

.counsiva-dashain-ping{
  position:absolute;
  left:28px;
  bottom:50px;
  width:210px;
  height:230px;
  z-index:2;
  opacity:.78;
  transform-origin:50% 100%;
}

.counsiva-dashain-ping .bamboo{
  position:absolute;
  display:block;
  background:
    repeating-linear-gradient(
      90deg,
      #96a95e 0 18px,
      #84984f 18px 21px,
      #aab96a 21px 38px
    );
  border:1px solid rgba(70,84,42,.24);
  border-radius:999px;
  box-shadow:0 4px 10px rgba(55,65,38,.08);
}

.counsiva-dashain-ping .leg{
  width:15px;
  height:206px;
  bottom:0;
  transform-origin:50% 100%;
}

.counsiva-dashain-ping .leg-left-outer{left:27px;transform:rotate(9deg)}
.counsiva-dashain-ping .leg-left-inner{left:67px;transform:rotate(-5deg)}
.counsiva-dashain-ping .leg-right-inner{right:67px;transform:rotate(5deg)}
.counsiva-dashain-ping .leg-right-outer{right:27px;transform:rotate(-9deg)}

.counsiva-dashain-ping .top-beam{
  left:28px;
  right:28px;
  top:20px;
  width:auto;
  height:14px;
  transform:rotate(-1deg);
}

.counsiva-dashain-ping .tie{
  position:absolute;
  top:22px;
  width:28px;
  height:9px;
  border-radius:999px;
  border:2px solid rgba(116,62,31,.6);
  transform:rotate(8deg);
}
.counsiva-dashain-ping .tie-left{left:43px}
.counsiva-dashain-ping .tie-right{right:43px;transform:rotate(-8deg)}

.counsiva-ping-rider{
  position:absolute;
  left:62px;
  top:42px;
  width:86px;
  height:160px;
  transform-origin:43px 0;
  animation:counsiva-ping-swing 4.6s ease-in-out infinite alternate;
}

.counsiva-ping-rider .rope{
  position:absolute;
  top:0;
  width:2px;
  height:112px;
  background:linear-gradient(#887057,#6f5b45);
  opacity:.74;
}
.counsiva-ping-rider .rope-left{left:23px}
.counsiva-ping-rider .rope-right{right:23px}

.counsiva-ping-rider .seat{
  position:absolute;
  left:15px;
  top:106px;
  width:58px;
  height:8px;
  border-radius:4px;
  background:linear-gradient(180deg,#7a5236,#51361f);
  box-shadow:0 3px 5px rgba(55,34,17,.15);
}

.counsiva-ping-child{
  position:absolute;
  top:62px;
  width:28px;
  height:62px;
  transform-origin:50% 50%;
}
.counsiva-ping-child.child-one{left:11px;transform:rotate(-4deg)}
.counsiva-ping-child.child-two{right:11px;transform:rotate(4deg)}

.counsiva-ping-child i{position:absolute;display:block}
.counsiva-ping-child .head{
  left:8px;
  top:0;
  width:13px;
  height:13px;
  border-radius:50%;
  background:#9a694e;
  box-shadow:0 -3px 0 #2f2b2a inset;
}
.counsiva-ping-child .body{
  left:5px;
  top:12px;
  width:19px;
  height:27px;
  border-radius:8px 8px 5px 5px;
  background:linear-gradient(180deg,#c85a49,#9b3e34);
}
.counsiva-ping-child.child-two .body{
  background:linear-gradient(180deg,#1f8aa0,#176b7a);
}
.counsiva-ping-child .legs{
  left:7px;
  top:37px;
  width:15px;
  height:22px;
  border-left:3px solid #445160;
  border-right:3px solid #445160;
  transform:skewX(-7deg);
}

@keyframes counsiva-ping-swing{
  0%{transform:rotate(-8deg)}
  100%{transform:rotate(8deg)}
}

.counsiva-festive-scene::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:22%;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.24));
  pointer-events:none;
}

.counsiva-premium-diyas.left{
  display:none!important;
}

@media(max-width:1100px){
  .counsiva-dashain-ping{
    left:12px;
    width:175px;
    height:195px;
    transform:scale(.86);
    transform-origin:left bottom;
  }
  .counsiva-nepal-village{opacity:.34}
}

@media(max-width:820px){
  .counsiva-dashain-ping{display:none}
  .counsiva-nepal-village{opacity:.25}
}

@media(prefers-reduced-motion:reduce){
  .counsiva-ping-rider{animation:none!important}
}

/* === NEPAL VILLAGE + DASHAIN PING V4 END === */

/* === DOUBLE PING + 2 KITES V5 START === */

/* Keep only 2 kites */
.counsiva-footer-kite.kite-2,
.counsiva-footer-kite.kite-4{
  display:none!important;
}

/* Subtle Nepal background */
.counsiva-nepal-village{
  position:absolute;
  inset:58px 0 0 0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.48)),
    url("/festive-nepal-village-2083.svg?v=2083.5") center bottom/cover no-repeat;
  opacity:.42;
  filter:saturate(.9);
  z-index:0;
}

/* Double ping layout */
.counsiva-dashain-ping{
  position:absolute;
  bottom:46px;
  width:185px;
  height:215px;
  z-index:2;
  opacity:.80;
  transform-origin:50% 100%;
}

.counsiva-dashain-ping.left{
  left:18px;
}

.counsiva-dashain-ping.right{
  right:18px;
}

.counsiva-dashain-ping .bamboo{
  position:absolute;
  display:block;
  background:
    repeating-linear-gradient(
      90deg,
      #98ab5f 0 18px,
      #84984f 18px 21px,
      #aab96a 21px 38px
    );
  border:1px solid rgba(70,84,42,.24);
  border-radius:999px;
  box-shadow:0 4px 10px rgba(55,65,38,.08);
}

.counsiva-dashain-ping .leg{
  width:14px;
  height:190px;
  bottom:0;
  transform-origin:50% 100%;
}

.counsiva-dashain-ping .leg-left-outer{left:24px;transform:rotate(10deg)}
.counsiva-dashain-ping .leg-left-inner{left:58px;transform:rotate(-4deg)}
.counsiva-dashain-ping .leg-right-inner{right:58px;transform:rotate(4deg)}
.counsiva-dashain-ping .leg-right-outer{right:24px;transform:rotate(-10deg)}

.counsiva-dashain-ping .top-beam{
  left:24px;
  right:24px;
  top:22px;
  width:auto;
  height:13px;
  transform:rotate(-1deg);
}

.counsiva-dashain-ping .tie{
  position:absolute;
  top:23px;
  width:24px;
  height:8px;
  border-radius:999px;
  border:2px solid rgba(116,62,31,.60);
}

.counsiva-dashain-ping .tie-left{
  left:37px;
  transform:rotate(8deg);
}

.counsiva-dashain-ping .tie-right{
  right:37px;
  transform:rotate(-8deg);
}

.counsiva-ping-rider{
  position:absolute;
  left:53px;
  top:42px;
  width:78px;
  height:148px;
  transform-origin:39px 0;
  animation:counsiva-ping-swing 4.5s ease-in-out infinite alternate;
}

.counsiva-ping-rider .rope{
  position:absolute;
  top:0;
  width:2px;
  height:104px;
  background:linear-gradient(#887057,#6f5b45);
  opacity:.76;
}

.counsiva-ping-rider .rope-left{left:20px}
.counsiva-ping-rider .rope-right{right:20px}

.counsiva-ping-rider .seat{
  position:absolute;
  left:13px;
  top:99px;
  width:52px;
  height:8px;
  border-radius:4px;
  background:linear-gradient(180deg,#7a5236,#51361f);
  box-shadow:0 3px 5px rgba(55,34,17,.15);
}

.counsiva-ping-child{
  position:absolute;
  top:56px;
  width:25px;
  height:58px;
}

.counsiva-ping-child.child-one{
  left:10px;
  transform:rotate(-4deg);
}

.counsiva-ping-child.child-two{
  right:10px;
  transform:rotate(4deg);
}

.counsiva-ping-child i{
  position:absolute;
  display:block;
}

.counsiva-ping-child .head{
  left:7px;
  top:0;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#9a694e;
  box-shadow:0 -3px 0 #2f2b2a inset;
}

.counsiva-ping-child .body{
  left:4px;
  top:11px;
  width:18px;
  height:25px;
  border-radius:8px 8px 5px 5px;
  background:linear-gradient(180deg,#c85a49,#9b3e34);
}

.counsiva-ping-child.child-two .body{
  background:linear-gradient(180deg,#1f8aa0,#176b7a);
}

.counsiva-ping-child .legs{
  left:6px;
  top:35px;
  width:14px;
  height:20px;
  border-left:3px solid #445160;
  border-right:3px solid #445160;
  transform:skewX(-7deg);
}

@keyframes counsiva-ping-swing{
  0%{transform:rotate(-8deg)}
  100%{transform:rotate(8deg)}
}

/* Keep center clean and outer only */
.counsiva-footer-kite.left{
  left:14px;
  animation-name:counsiva-footer-kite-left;
}

.counsiva-footer-kite.right{
  right:14px;
  animation-name:counsiva-footer-kite-right;
}

.counsiva-footer-kite.kite-1{
  --kite-size:34px;
  --kite-a:#d95c4d;
  --kite-b:#efb64a;
  --kite-duration:23s;
  --kite-delay:-5s;
  --kite-opacity:.68;
}

.counsiva-footer-kite.kite-3{
  --kite-size:32px;
  --kite-a:#1688a0;
  --kite-b:#e5bb52;
  --kite-duration:27s;
  --kite-delay:-13s;
  --kite-opacity:.60;
}

.counsiva-premium-diyas{
  opacity:.58;
  bottom:12px;
}

.counsiva-premium-diyas.left{
  left:16px;
}

.counsiva-premium-diyas.right{
  right:16px;
}

.counsiva-premium-diya{
  transform:scale(.80);
}

.counsiva-premium-diya:nth-child(2){
  transform:translateY(-2px) scale(.68);
}

/* Tablet */
@media(max-width:1180px){
  .counsiva-dashain-ping{
    width:165px;
    height:190px;
    transform:scale(.90);
    transform-origin:50% 100%;
  }
}

/* Smaller laptop/tablet */
@media(max-width:980px){
  .counsiva-dashain-ping.right{
    display:none;
  }

  .counsiva-footer-kite.right{
    display:none;
  }

  .counsiva-nepal-village{
    opacity:.32;
  }
}

/* Mobile */
@media(max-width:760px){
  .counsiva-dashain-ping{
    display:none;
  }

  .counsiva-premium-diyas.left{
    display:none;
  }

  .counsiva-nepal-village{
    opacity:.24;
  }
}

@media(prefers-reduced-motion:reduce){
  .counsiva-ping-rider{
    animation:none!important;
  }
}

/* === DOUBLE PING + 2 KITES V5 END === */

/* === PING LEFT + KITE KIDS RIGHT V6 START === */

/* Final composition:
   - left: Dashain ping with two children
   - right: two children flying two kites
   - center: login remains untouched and dominant
   - background: clearer Nepal village/Himal/sky */

.counsiva-footer-kite,
.counsiva-dashain-ping.right{
  display:none!important;
}

.counsiva-dashain-ping.left{
  left:18px!important;
  right:auto!important;
}

.counsiva-nepal-village{
  opacity:.52!important;
  filter:saturate(.92) contrast(1.03)!important;
}

.counsiva-kite-play{
  position:absolute;
  right:18px;
  bottom:44px;
  width:220px;
  height:270px;
  z-index:2;
  opacity:.82;
  pointer-events:none;
}

.counsiva-kite-kid{
  position:absolute;
  bottom:0;
  width:38px;
  height:86px;
  transform-origin:50% 100%;
}

.counsiva-kite-kid.kid-1{
  left:26px;
  transform:rotate(-2deg);
}

.counsiva-kite-kid.kid-2{
  right:30px;
  transform:rotate(3deg) scale(.92);
}

.counsiva-kite-kid i{
  position:absolute;
  display:block;
}

.counsiva-kite-kid .head{
  left:11px;
  top:0;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#9a694e;
  box-shadow:0 -4px 0 #302c2a inset;
}

.counsiva-kite-kid .body{
  left:8px;
  top:16px;
  width:23px;
  height:34px;
  border-radius:9px 9px 6px 6px;
  background:linear-gradient(180deg,#d1604f,#a64035);
}

.counsiva-kite-kid.kid-2 .body{
  background:linear-gradient(180deg,#268fa2,#1c6c79);
}

.counsiva-kite-kid .arm{
  top:24px;
  width:24px;
  height:4px;
  border-radius:999px;
  background:#9a694e;
  transform-origin:0 50%;
}

.counsiva-kite-kid .arm-front{
  left:18px;
  transform:rotate(-28deg);
}

.counsiva-kite-kid .arm-back{
  left:5px;
  transform:rotate(34deg);
}

.counsiva-kite-kid .legs{
  left:10px;
  top:49px;
  width:19px;
  height:34px;
  border-left:4px solid #43515d;
  border-right:4px solid #43515d;
  transform:skewX(-6deg);
}

.counsiva-kite-play .kite-line{
  position:absolute;
  height:1px;
  background:rgba(76,67,59,.42);
  transform-origin:left center;
}

.counsiva-kite-play .kite-line-1{
  left:61px;
  bottom:65px;
  width:150px;
  transform:rotate(-51deg);
}

.counsiva-kite-play .kite-line-2{
  right:61px;
  bottom:67px;
  width:128px;
  transform:rotate(-112deg);
}

.counsiva-kite-play .play-kite{
  --kite-a:#d85b4c;
  --kite-b:#efb74c;
  position:absolute;
  width:35px;
  height:35px;
  transform:rotate(45deg);
  background:
    linear-gradient(135deg,var(--kite-a) 0 49.5%,var(--kite-b) 50% 100%);
  border:1px solid rgba(63,53,44,.25);
  box-shadow:0 5px 12px rgba(35,54,68,.10);
  transform-origin:50% 50%;
  animation:counsiva-play-kite-sway 3.7s ease-in-out infinite alternate;
}

.counsiva-kite-play .play-kite-1{
  right:16px;
  top:24px;
}

.counsiva-kite-play .play-kite-2{
  left:4px;
  top:54px;
  --kite-a:#168ba0;
  --kite-b:#e7c75d;
  width:29px;
  height:29px;
  animation-delay:-1.3s;
}

.counsiva-kite-play .play-kite::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:1px;
  height:100%;
  background:rgba(64,54,46,.28);
}

.counsiva-kite-play .play-kite .tail{
  position:absolute;
  left:31px;
  top:29px;
  width:58px;
  height:50px;
  border-left:1px solid rgba(77,66,57,.32);
  border-radius:0 0 0 80%;
  transform:rotate(-20deg);
}

.counsiva-kite-play .play-kite-2 .tail{
  left:25px;
  top:24px;
  width:50px;
  height:43px;
}

@keyframes counsiva-play-kite-sway{
  0%{transform:translate3d(-5px,5px,0) rotate(42deg)}
  50%{transform:translate3d(5px,-6px,0) rotate(48deg)}
  100%{transform:translate3d(-2px,-10px,0) rotate(44deg)}
}

/* keep diyas modest and away from figures */
.counsiva-premium-diyas.left{
  display:none!important;
}

.counsiva-premium-diyas.right{
  right:244px!important;
  bottom:14px!important;
  opacity:.50!important;
}

/* prevent the left ping from being shrunk by the earlier generic left rule */
@media(max-width:1100px){
  .counsiva-dashain-ping.left{
    left:8px!important;
    right:auto!important;
  }

  .counsiva-kite-play{
    right:8px;
    transform:scale(.88);
    transform-origin:right bottom;
  }

  .counsiva-nepal-village{
    opacity:.46!important;
  }
}

@media(max-width:900px){
  .counsiva-kite-play{
    display:none;
  }

  .counsiva-dashain-ping.left{
    transform:scale(.78);
    transform-origin:left bottom;
  }

  .counsiva-nepal-village{
    opacity:.34!important;
  }
}

@media(max-width:760px){
  .counsiva-dashain-ping.left{
    display:none!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .counsiva-kite-play .play-kite{
    animation:none!important;
  }
}

/* === PING LEFT + KITE KIDS RIGHT V6 END === */

/* === REALISTIC BACKGROUND FINAL V7 START === */

/* Final realistic festive composition:
   The photographic background already contains the village, Himal,
   ping with two children, kite-flying children, top festive lights
   and subtle diyas. Keep the functional COUNSIVA login UI above it. */

.login-shell.counsiva-festive-login{
  background:#eef7fa!important;
}

.counsiva-nepal-village{
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(
      90deg,
      rgba(246,251,252,.20) 0%,
      rgba(246,251,252,.08) 22%,
      rgba(246,251,252,.12) 52%,
      rgba(246,251,252,.18) 100%
    ),
    url("/festive-nepal-realistic-2083.webp?v=2083.10")
      center center / cover no-repeat!important;
  opacity:1!important;
  filter:none!important;
  transform:scale(1.015);
  animation:counsiva-realistic-bg-breathe 18s ease-in-out infinite alternate;
  z-index:0!important;
}

.counsiva-nepal-village::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.02) 0%,
      rgba(255,255,255,.04) 58%,
      rgba(255,255,255,.16) 100%
    );
}

/* Hide the old CSS-drawn festive characters/objects.
   They are now part of the realistic background asset. */
.counsiva-dashain-ping,
.counsiva-kite-play,
.counsiva-footer-kite,
.counsiva-premium-kite,
.counsiva-premium-puja,
.counsiva-festive-bokeh,
.counsiva-premium-diyas,
.counsiva-premium-lightline,
.counsiva-toran{
  display:none!important;
}

/* Keep login surfaces crisp and readable. */
.login-shell.counsiva-festive-login>.login-card,
.login-shell.counsiva-festive-login>.counsiva-login-aside{
  position:relative;
  z-index:5;
}

@keyframes counsiva-realistic-bg-breathe{
  from{transform:scale(1.015) translate3d(0,0,0)}
  to{transform:scale(1.035) translate3d(0,-3px,0)}
}

@media(max-width:900px){
  .counsiva-nepal-village{
    background-position:center center!important;
    transform:none!important;
    animation:none!important;
  }
}

@media(max-width:620px){
  .counsiva-nepal-village{
    background-position:58% center!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .counsiva-nepal-village{
    animation:none!important;
    transform:none!important;
  }
}

/* === REALISTIC BACKGROUND FINAL V7 END === */


/* === PREVIEW POLISH V11 START === */
/* Restore official logo in preview and avoid extra scaling blur. */
body.product-ui-v371 .cui-login-mark{
  background:#fff url('/assets/counsiva-logo-official-landscape.png?v=3.7.9-logo2') center/92% auto no-repeat!important;
}
.counsiva-nepal-village{
  transform:none!important;
  animation:none!important;
  background-size:cover!important;
  background-position:center center!important;
}
/* === PREVIEW POLISH V11 END === */

/* === WIDE REALISTIC BACKGROUND V12 START === */

/*
 Full festive composition:
 - top garland/lights visible
 - bottom diya/flowers visible
 - left ping visible
 - right kite children visible
 - actual login remains functional above background
 */

.login-shell.counsiva-festive-login{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#eef7fa!important;
}

.counsiva-nepal-village{
  position:absolute!important;
  inset:0!important;

  background-image:
    linear-gradient(
      90deg,
      rgba(255,255,255,.04) 0%,
      rgba(255,255,255,.00) 25%,
      rgba(255,255,255,.00) 75%,
      rgba(255,255,255,.04) 100%
    ),
    url("/festive-nepal-realistic-2083.webp?v=2083.12")!important;

  /*
   Important:
   100% 100% prevents top/footer cropping.
  */
  background-size:
    100% 100%,
    100% 100%!important;

  background-position:center center!important;
  background-repeat:no-repeat!important;

  opacity:1!important;
  filter:none!important;
  transform:none!important;
  animation:none!important;

  z-index:0!important;
}

/* Remove old CSS-drawn festive objects */
.counsiva-dashain-ping,
.counsiva-kite-play,
.counsiva-footer-kite,
.counsiva-premium-kite,
.counsiva-premium-puja,
.counsiva-festive-bokeh,
.counsiva-premium-diyas,
.counsiva-premium-lightline,
.counsiva-toran{
  display:none!important;
}

/* Keep real COUNSIVA UI above scene */
.login-shell.counsiva-festive-login>.login-card,
.login-shell.counsiva-festive-login>.counsiva-login-aside{
  position:relative!important;
  z-index:5!important;
}

/* Restore official COUNSIVA landscape logo */
body.product-ui-v371 .cui-login-mark{
  background:
    #fff
    url('/assets/counsiva-logo-official-landscape.png?v=3.7.9-logo2')
    center/92% auto no-repeat!important;
}

/* Mobile: keep login readable */
@media(max-width:760px){
  .counsiva-nepal-village{
    opacity:.42!important;
  }
}

/* === WIDE REALISTIC BACKGROUND V12 END === */
