.elementor-widget-image-gallery .gallery-item .gallery-caption{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-121 .elementor-element.elementor-element-0660097 .gallery-item .gallery-caption{text-align:center;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-d052397 *//* =========================================
   PREMIUM DOUBLE-LINE IMAGE FRAME
========================================= */

.utr-mini-img{
  position:relative !important;

  width:128px !important;
  height:128px !important;

  flex:0 0 128px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:4px !important;

  box-sizing:border-box !important;

  overflow:hidden !important;

  border-radius:14px !important;

  /* OUTER GOLD LINE */
  border:1px solid rgba(185,135,52,.75) !important;

  background:
    linear-gradient(
      145deg,
      #fffdf8,
      #f6ead5
    ) !important;

  box-shadow:
    0 5px 16px rgba(70,25,15,.12),
    0 0 0 1px rgba(255,255,255,.8) inset !important;
}


/* =========================================
   INNER SECOND LINE
========================================= */

.utr-mini-img::before{

  content:"";

  position:absolute;

  inset:4px;

  border:
    1px solid
    rgba(210,166,78,.72);

  border-radius:10px;

  pointer-events:none;

  z-index:3;

  box-shadow:
    0 0 0 1px
    rgba(255,255,255,.45)
    inset;
}


/* =========================================
   SMALL CORNER ORNAMENTS
========================================= */

.utr-mini-img::after{

  content:"❈";

  position:absolute;

  top:1px;
  left:50%;

  transform:translateX(-50%);

  width:20px;
  height:12px;

  display:flex;

  align-items:center;
  justify-content:center;

  color:#bd8b38;

  background:#fffaf0;

  font-size:8px;

  line-height:1;

  z-index:4;

  opacity:.9;

}


/* =========================================
   IMAGE
========================================= */

.utr-mini-img img{

  position:relative;

  z-index:1;

  width:100% !important;
  height:100% !important;

  display:block;

  object-fit:cover !important;

  border-radius:9px;

  transition:
    transform .5s ease,
    filter .4s ease;

}


/* =========================================
   HOVER
========================================= */

.utr-mini-img:hover{

  border-color:#c99a45 !important;

  box-shadow:
    0 8px 22px rgba(72,28,15,.18),
    0 0 16px rgba(201,154,69,.15) !important;

}

.utr-mini-img:hover img{

  transform:scale(1.06);

}


/* =========================================
   MOBILE — SMALLER FRAME
========================================= */

@media(max-width:900px){

  .utr-mini-img{

    width:108px !important;
    height:108px !important;

    flex-basis:108px !important;

    padding:4px !important;

  }

}


@media(max-width:600px){

  .utr-mini-img{

    width:82px !important;
    height:82px !important;

    flex-basis:82px !important;

    padding:3px !important;

    border-radius:10px !important;

  }

  .utr-mini-img::before{

    inset:3px;

    border-radius:7px;

  }

  .utr-mini-img::after{

    font-size:6px;

    width:15px;
    height:9px;

  }

  .utr-mini-img img{

    border-radius:6px;

  }

}


@media(max-width:380px){

  .utr-mini-img{

    width:72px !important;
    height:72px !important;

    flex-basis:72px !important;

  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-55fdd0b *//* FULL WIDTH FIX — REMOVE LEFT/RIGHT GAP */

.utr-rangoli-showcase{
  width:100vw !important;
  max-width:100vw !important;

  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;

  padding-left:0 !important;
  padding-right:0 !important;

  box-sizing:border-box !important;
}

.elementor-widget-html:has(.utr-rangoli-showcase){
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.elementor-widget-html:has(.utr-rangoli-showcase)
.elementor-widget-container{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

html,
body{
  overflow-x:hidden !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-542cf66 *//* ===== UTKARSHA ABOUT FULL WIDTH FIX ===== */

.utr-about-preview{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;

    margin-top:0 !important;
    margin-bottom:0 !important;

    padding-top:75px !important;
    padding-bottom:75px !important;

    box-sizing:border-box !important;
}

/* Elementor outer container */
.elementor-element:has(.utr-about-preview){
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
}

/* Elementor HTML widget */
.elementor-element:has(.utr-about-preview) .elementor-widget-container{
    margin:0 !important;
    padding:0 !important;
}

/* Remove body horizontal gap */
html,
body{
    overflow-x:hidden !important;
}

/* Mobile */
@media(max-width:600px){

    .utr-about-preview{
        width:100vw !important;
        max-width:100vw !important;

        margin-left:calc(50% - 50vw) !important;
        margin-right:calc(50% - 50vw) !important;

        padding:55px 16px !important;
    }

}/* End custom CSS */
/* Start custom CSS for image-gallery, class: .elementor-element-0660097 *//* =====================================================
   UTKARSHA RANGOLI — BASIC GALLERY
   PREMIUM MAROON + GOLD STYLE
===================================================== */

.utr-basic-gallery{
  --gallery-maroon:#65152f;
  --gallery-red:#8d2346;
  --gallery-gold:#c79a45;
  --gallery-cream:#fffaf3;
  --gallery-dark:#241d1b;

  position:relative;

  width:100% !important;
  max-width:100% !important;

  margin:0 !important;

  padding:80px 20px !important;

  background:
    radial-gradient(
      circle at 10% 20%,
      rgba(199,154,69,.10),
      transparent 28%
    ),
    radial-gradient(
      circle at 90% 80%,
      rgba(101,21,47,.08),
      transparent 30%
    ),
    linear-gradient(
      135deg,
      #fffaf3,
      #fff7f0 50%,
      #fffaf3
    );

  overflow:hidden;
}


/* =====================================================
   SUBTLE RANGOLI BACKGROUND
===================================================== */

.utr-basic-gallery::before{
  content:"";

  position:absolute;

  width:420px;
  height:420px;

  left:-180px;
  top:-180px;

  border:
    1px solid
    rgba(199,154,69,.20);

  border-radius:50%;

  box-shadow:
    0 0 0 35px rgba(199,154,69,.035),
    0 0 0 70px rgba(101,21,47,.025),
    0 0 0 105px rgba(199,154,69,.025);

  pointer-events:none;
}


.utr-basic-gallery::after{
  content:"";

  position:absolute;

  width:360px;
  height:360px;

  right:-160px;
  bottom:-170px;

  border:
    1px solid
    rgba(101,21,47,.12);

  border-radius:50%;

  box-shadow:
    0 0 0 30px rgba(101,21,47,.025),
    0 0 0 60px rgba(199,154,69,.035),
    0 0 0 90px rgba(199,154,69,.025);

  pointer-events:none;
}


/* =====================================================
   GALLERY HEADING
===================================================== */

.utr-basic-gallery
.elementor-heading-title{

  position:relative;

  color:
    var(--gallery-maroon) !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-weight:700 !important;

  letter-spacing:.5px;

}


/* Heading underline / gold accent */

.utr-basic-gallery
.elementor-heading-title::after{

  content:"✦";

  display:block;

  margin-top:12px;

  color:
    var(--gallery-gold);

  font-family:Arial,sans-serif;

  font-size:18px;

}


/* =====================================================
   GALLERY IMAGE GRID
===================================================== */

.utr-basic-gallery
.elementor-gallery__container{

  position:relative;

  gap:18px !important;

}


/* =====================================================
   GALLERY ITEMS
===================================================== */

.utr-basic-gallery
.e-gallery-item{

  position:relative;

  overflow:hidden !important;

  border-radius:18px !important;

  background:#fff !important;

  border:
    1px solid
    rgba(199,154,69,.28) !important;

  box-shadow:
    0 8px 25px
    rgba(36,29,27,.08) !important;

  transition:
    transform .35s ease,
    box-shadow .35s ease,
    border-color .35s ease !important;
}


.utr-basic-gallery
.e-gallery-item:hover{

  transform:
    translateY(-7px);

  border-color:
    rgba(199,154,69,.70) !important;

  box-shadow:
    0 18px 40px
    rgba(101,21,47,.16) !important;
}


/* =====================================================
   GALLERY IMAGE
===================================================== */

.utr-basic-gallery
.e-gallery-image{

  transition:
    transform .55s
    cubic-bezier(.2,.8,.2,1),
    filter .35s ease !important;
}


.utr-basic-gallery
.e-gallery-item:hover
.e-gallery-image{

  transform:
    scale(1.07);

  filter:
    saturate(1.08)
    contrast(1.02);
}


/* =====================================================
   IMAGE OVERLAY
===================================================== */

.utr-basic-gallery
.e-gallery-item::after{

  content:"";

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      180deg,
      transparent 55%,
      rgba(36,29,27,.30)
    );

  opacity:0;

  pointer-events:none;

  transition:
    opacity .35s ease;
}


.utr-basic-gallery
.e-gallery-item:hover::after{

  opacity:1;
}


/* =====================================================
   GALLERY CAPTION
===================================================== */

.utr-basic-gallery
.elementor-gallery-item__title{

  position:absolute !important;

  left:15px !important;
  right:15px !important;
  bottom:14px !important;

  z-index:3;

  color:#fff !important;

  font-size:13px !important;

  font-weight:700 !important;

  letter-spacing:.3px;

  text-shadow:
    0 2px 8px rgba(0,0,0,.35);

}


/* =====================================================
   LIGHTBOX / VIEW BUTTON
===================================================== */

.utr-basic-gallery
.elementor-gallery-item__overlay{

  background:
    linear-gradient(
      135deg,
      rgba(101,21,47,.25),
      rgba(199,154,69,.15)
    ) !important;

  transition:
    background .3s ease !important;
}


/* =====================================================
   GALLERY LOAD MORE BUTTON
===================================================== */

.utr-basic-gallery
.elementor-button{

  margin-top:25px;

  border:0 !important;

  border-radius:50px !important;

  padding:
    14px 28px !important;

  background:
    linear-gradient(
      135deg,
      var(--gallery-maroon),
      var(--gallery-red)
    ) !important;

  color:#fff !important;

  font-size:12px !important;

  font-weight:700 !important;

  box-shadow:
    0 8px 22px
    rgba(101,21,47,.18) !important;

  transition:
    transform .25s ease,
    box-shadow .25s ease !important;
}


.utr-basic-gallery
.elementor-button:hover{

  transform:
    translateY(-2px);

  box-shadow:
    0 13px 30px
    rgba(101,21,47,.26) !important;
}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:767px){

  .utr-basic-gallery{

    padding:
      55px 14px !important;
  }


  .utr-basic-gallery
  .elementor-gallery__container{

    gap:10px !important;
  }


  .utr-basic-gallery
  .e-gallery-item{

    border-radius:13px !important;
  }


  .utr-basic-gallery
  .elementor-heading-title{

    font-size:27px !important;

    line-height:1.2 !important;
  }


  .utr-basic-gallery
  .elementor-gallery-item__title{

    left:10px !important;
    right:10px !important;
    bottom:9px !important;

    font-size:10px !important;
  }

}


/* =====================================================
   SMALL PHONE
===================================================== */

@media(max-width:480px){

  .utr-basic-gallery{

    padding:
      45px 10px !important;
  }


  .utr-basic-gallery
  .elementor-gallery__container{

    gap:8px !important;
  }


  .utr-basic-gallery
  .e-gallery-item{

    border-radius:11px !important;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c9a320d *//* ===== WHY UTKARSHA - FULL WIDTH FIX ===== */

.utr-why-section{
  width:100vw !important;
  max-width:100vw !important;

  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;

  padding-left:0 !important;
  padding-right:0 !important;

  box-sizing:border-box !important;
  overflow:hidden !important;
}

/* Elementor HTML widget */
.elementor-widget-html:has(.utr-why-section){
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.elementor-widget-html:has(.utr-why-section)
.elementor-widget-container{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* Elementor parent container */
.elementor-element:has(.utr-why-section){
  margin-left:0 !important;
  margin-right:0 !important;
}

.elementor-element:has(.utr-why-section)
.e-con-inner{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Prevent horizontal scroll */
html,
body{
  overflow-x:hidden !important;
}/* End custom CSS */