:root {
   --maroon: #79230d;
   --maroon-dark: #541707;
   --saffron: #f28a08;
   --gold: #f8b62b;
   --cream: #fff9ef;
   --cream-deep: #f9ecd5;
   --ink: #35180f;
   --muted: #7c5c4e;
   --border: #f0d5b0;
   --white: #fffefa
}

* {
   box-sizing: border-box
}

body {
   font-family: "DM Sans", sans-serif;
   color: var(--ink);
   background: var(--cream);
   font-size: 14px
}

h1,
h2,
h3,
h4,
h5,
.serif {
   font-family: "Playfair Display", serif;
   color: var(--maroon-dark)
}

a {
   text-decoration: none;
   color: inherit
}

.site-header {
   position: relative;
   z-index: 10;
   background: rgba(255, 250, 241, .98);
   border-bottom: 1px solid #f2ddbf
}

.temple-brand {
   display: flex;
   align-items: center;
   gap: 10px;
   color: var(--maroon) !important;
   white-space: nowrap
}

.temple-brand b {
   display: block;
   font: 700 16px "Playfair Display", serif
}

.temple-brand small {
   display: block;
   color: #9b6e56;
   font-size: 10px;
   margin-top: 2px
}

.brand-mark {
   display: grid;
   place-items: center;
   width: 46px;
   height: 46px;
   border-radius: 50%;
   background: linear-gradient(145deg, #9b2b0a, var(--saffron));
   border: 2px solid #f8c34e;
   color: #fff7dc;
   font: 700 22px "Playfair Display", serif;
   box-shadow: 0 4px 14px #7a260d20
}

.nav-link {
   font-size: 12px;
   font-weight: 700;
   color: #4b2a1d;
   padding: .65rem !important
}

.nav-link:hover,
.nav-link.active {
   color: #e65d00
}

.btn {
   border-radius: 12px;
   font-weight: 700;
   font-size: 13px;
   padding: 11px 19px;
   transition: .25s
}

.btn-maroon {
   background: var(--maroon);
   color: white;
   border: 1px solid var(--maroon);
   box-shadow: 0 4px 10px #641b1015
}

.btn-maroon:hover {
   background: var(--maroon-dark);
   color: white;
   transform: translateY(-1px)
}

.btn-saffron {
   background: linear-gradient(90deg, #ffc72e, #f58b00);
   color: #431707;
   border: 0
}

.btn-saffron:hover {
   color: #431707;
   filter: brightness(1.04);
   transform: translateY(-2px)
}

.btn-glass {
   border: 1px solid #fff4d9;
   color: white;
   background: #45170942
}

.btn-glass:hover {
   background: #fff;
   color: var(--maroon)
}

.btn-outline-maroon {
   border: 1px solid var(--maroon);
   color: var(--maroon);
   background: white
}

.btn-outline-maroon:hover {
   background: var(--maroon);
   color: white
}

.hero {
   position: relative;
   isolation: isolate;
   min-height: 445px;
   background: #4d1a08 url("https://images.unsplash.com/photo-1606293926075-69a00dbdde81?auto=format&fit=crop&w=2000&q=90") center 42%/cover no-repeat;
   color: white;
   overflow: hidden
}

.hero:before {
   content: "";
   position: absolute;
   inset: 0;
   z-index: -1;
   background: linear-gradient(90deg, rgba(48, 14, 3, .93) 0%, rgba(84, 26, 5, .82) 38%, rgba(75, 22, 4, .30) 68%, rgba(36, 11, 3, .6) 100%)
}

.hero:after {
   content: "";
   position: absolute;
   z-index: -1;
   inset: auto -2% -42px;
   height: 75px;
   background: var(--cream);
   border-radius: 50% 50% 0 0/35% 35% 0 0
}

.hero-content {
   padding-top: 70px;
   padding-bottom: 68px
}

.eyebrow,
.section-kicker {
   font-size: 10px;
   font-weight: 800;
   letter-spacing: 1.6px;
   color: #d85a08;
   margin-bottom: 12px
}

.eyebrow {
   color: #ffcf4c
}

.eyebrow span {
   display: inline-block;
   width: 24px;
   height: 2px;
   background: var(--gold);
   vertical-align: middle;
   margin-right: 8px
}

.hero h1 {
   color: #fff7e9;
   font-size: clamp(2.4rem, 5vw, 4rem);
   line-height: 1.02;
   letter-spacing: -1.2px;
   margin: 0 0 16px;
   text-shadow: 0 4px 20px #1a0705
}

.hero h1 em {
   font-style: normal;
   color: #ffce75
}

.hero-copy {
   color: #f8e9d9;
   line-height: 1.7;
   font-size: 14px
}

.hero-mantra {
   font-family: "Playfair Display", serif;
   color: #ffc04b;
   font-size: 22px;
   line-height: 1.65;
   text-shadow: 0 2px 8px #000
}

.hero-perks {
   max-width: 600px
}

.hero-perks>div {
   display: flex;
   align-items: center;
   gap: 10px
}

.hero-perks i {
   width: 36px;
   height: 36px;
   display: grid;
   place-items: center;
   background: #ffcf77;
   color: var(--maroon);
   border-radius: 50%;
   font-size: 18px
}

.hero-perks b,
.hero-perks small {
   display: block
}

.hero-perks b {
   font-size: 11px
}

.hero-perks small {
   font-size: 10px;
   color: #f3d9c5
}

.temple-main {
   background: var(--cream);
   position: relative
}

.service-strip {
   position: relative;
   margin-top: -35px;
   z-index: 2
}

.service-card {
   height: 100%;
   min-height: 105px;
   display: flex;
   align-items: center;
   gap: 14px;
   background: var(--white);
   border: 1px solid #f2d4a9;
   border-radius: 13px;
   padding: 17px;
   box-shadow: 0 8px 25px #7a2a0e0c;
   transition: .25s
}

.service-card:hover {
   transform: translateY(-5px);
   border-color: var(--gold);
   box-shadow: 0 14px 30px #7a2a0e16
}

.service-icon {
   flex: 0 0 52px;
   height: 52px;
   border-radius: 50%;
   display: grid;
   place-items: center;
   background: linear-gradient(140deg, #a52c0a, #ff9e05);
   color: white;
   font-size: 23px;
   box-shadow: 0 4px 12px #d65b1630
}

.service-card b {
   display: block;
   font: 700 16px "Playfair Display", serif;
   color: var(--maroon)
}

.service-card small {
   display: block;
   color: var(--muted);
   font-size: 11px;
   line-height: 1.45;
   margin-top: 4px
}

.service-card>.bi-chevron-right {
   color: var(--maroon);
   font-size: 13px
}

.section-space {
   padding-top: 42px;
   padding-bottom: 40px
}

.section-title {
   font-size: clamp(1.7rem, 3vw, 2.25rem);
   font-weight: 800;
   letter-spacing: -.4px;
   margin-bottom: 12px
}

.muted {
   color: var(--muted);
   line-height: 1.7
}

.live-frame {
   position: relative;
   min-height: 300px;
   height: 78%;
   border: 4px solid #f7b82d;
   border-radius: 16px;
   overflow: hidden;
   background: linear-gradient(135deg, #351105, #8a2c0c 65%, #401307);
   box-shadow: 0 12px 30px #76270d20;
   color: white
}

.live-label {
   position: absolute;
   top: 14px;
   left: 14px;
   z-index: 2;
   border-radius: 20px;
   background: #e90020;
   color: white;
   padding: 5px 11px;
   font-size: 10px;
   font-weight: 800;
   letter-spacing: .4px
}

.live-label span {
   display: inline-block;
   width: 6px;
   height: 6px;
   border-radius: 50%;
   background: white;
   margin-right: 4px
}

.live-placeholder {
   min-height: 300px;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-direction: column;
   gap: 8px;
   color: #ffead6
}

.live-placeholder>i {
   font-size: 48px;
   color: #ffd17b
}

.live-placeholder b {
   font-size: 15px
}

.live-placeholder small {
   font-size: 11px;
   color: #e6c2a7
}

.live-controls {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   display: flex;
   justify-content: space-between;
   padding: 10px 14px;
   background: linear-gradient(transparent, #210900c9);
   font-size: 13px
}

.text-saffron {
   color: #e76805 !important
}

.timing-card {
   padding: 20px;
   border-radius: 15px;
   background: #fff0d7;
   border: 1px solid #fbe0b5;
   margin-top: 18px
}

.timing-card h3 {
   font: 700 17px "Playfair Display", serif;
   color: var(--maroon)
}

.timing-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 13px 18px
}

.timing-grid>div {
   display: flex;
   justify-content: space-between;
   gap: 10px;
   border-bottom: 1px dashed #e7c99e;
   padding-bottom: 8px;
   font-size: 11px
}

.timing-grid span {
   color: #76503b
}

.timing-grid b {
   white-space: nowrap;
   color: var(--maroon)
}

.text-link {
   color: #d95b00;
   font-weight: 800;
   font-size: 12px
}

.text-link:hover {
   color: var(--maroon)
}

.section-heading {
   display: flex;
   justify-content: space-between;
   align-items: end;
   margin-bottom: 18px
}

.video-card {
   display: block;
   position: relative;
   border-radius: 12px;
   overflow: hidden;
   background: #411607;
   box-shadow: 0 7px 20px #5b1b0d12
}

.video-card img {
   display: block;
   width: 100%;
   height: 150px;
   object-fit: cover;
   transition: transform .4s
}

.video-card:hover img {
   transform: scale(1.05)
}

.video-card:after {
   content: "";
   position: absolute;
   inset: 35% 0 0;
   background: linear-gradient(transparent, #220a04d9)
}

.video-card b {
   position: absolute;
   z-index: 2;
   bottom: 12px;
   left: 12px;
   right: 12px;
   color: white;
   font-size: 12px
}

.play {
   position: absolute;
   z-index: 2;
   left: 50%;
   top: 42%;
   transform: translate(-50%, -50%);
   display: grid;
   place-items: center;
   width: 38px;
   height: 38px;
   background: #ffffffd9;
   color: var(--maroon);
   border-radius: 50%;
   font-size: 20px
}

.swiper {
   padding-bottom: 32px
}

.swiper-pagination-bullet-active {
   background: var(--saffron)
}

.site-footer {
   background: linear-gradient(120deg, #641a08, #84270d);
   color: #fff1de;
   border-top: 3px solid #f1b02a;
   position: relative
}

.site-footer h6 {
   font-weight: 800;
   font-size: 12px;
   color: #fff4dc;
   margin-bottom: 14px
}

.site-footer a:not(.temple-brand) {
   display: block;
   font-size: 11px;
   color: #f2d4be;
   margin-bottom: 8px
}

.site-footer a:hover {
   color: #ffd36c
}

.footer-brand b {
   color: #fff;
   font-size: 15px
}

.footer-brand small {
   color: #e8bda1
}

.footer-muted {
   font-size: 11px;
   color: #e6c2a9
}

.socials {
   display: flex;
   gap: 9px
}

.socials a {
   width: 32px;
   height: 32px;
   border: 1px solid #d9a58a;
   border-radius: 50%;
   display: grid !important;
   place-items: center;
   font-size: 14px !important;
   margin: 0 !important
}

.copyright {
   text-align: center;
   padding: 15px;
   border-top: 1px solid #ffffff20;
   color: #e8bda1;
   font-size: 10px
}

.inner-page {
   min-height: calc(100vh - 250px);
   padding: 44px 0 90px
}

.narrow-container {
   max-width: 850px
}

.form-panel {
   background: #fffefa;
   border: 1px solid #efd2aa;
   border-radius: 17px;
   padding: 26px;
   box-shadow: 0 12px 32px #6e240b08
}

.form-label {
   font-size: 12px;
   font-weight: 700;
   color: #3e2115;
   margin-bottom: 7px
}

.form-control,
.form-select,
.input-group-text {
   border-color: #ebd0ac;
   border-radius: 10px;
   min-height: 43px;
   background-color: #fffefa;
   color: var(--ink);
   font-size: 13px;
   box-shadow: 0 2px 4px #54200b08
}

.form-control:focus,
.form-select:focus {
   border-color: #e99326;
   box-shadow: 0 0 0 .2rem #f5ad3828
}

.form-control::placeholder {
   color: #b59b88
}

.form-control[type=number] {
   font-variant-numeric: tabular-nums
}

.form-control[type=date] {
   color: var(--ink)
}

textarea.form-control {
   min-height: 95px
}

.choice-card {
   height: 100%;
   display: flex;
   flex-direction: column;
   gap: 6px;
   padding: 17px;
   border: 1px solid #efd4b1;
   border-radius: 13px;
   background: white;
   cursor: pointer;
   transition: .2s
}

.choice-card input {
   accent-color: var(--saffron)
}

.choice-card b {
   font: 700 15px "Playfair Display", serif;
   color: var(--maroon)
}

.choice-card small {
   color: var(--muted);
   font-size: 11px
}

.choice-card.active,
.choice-card:has(input:checked) {
   border: 2px solid #ef790c;
   background: #fff1d9
}

.amount-options {
   display: flex;
   gap: 8px;
   flex-wrap: wrap
}

.amount-options button {
   border: 1px solid #ebd0ad;
   background: #fffaf1;
   color: var(--ink);
   padding: 9px 15px;
   border-radius: 10px;
   font-size: 12px;
   font-weight: 700;
   box-shadow: 0 3px 7px #42170c0a
}

.amount-options button.selected,
.amount-options button:hover {
   background: var(--maroon);
   color: white;
   border-color: var(--maroon)
}

.login-notice {
   display: flex;
   gap: 13px;
   align-items: flex-start;
   border: 1px dashed #ef7d24;
   border-radius: 13px;
   background: #fff1d9;
   padding: 17px;
   color: var(--maroon)
}

.login-notice p {
   font-size: 12px;
   color: #80513a;
   line-height: 1.6;
   margin-top: 4px
}

.login-container {
   max-width: 470px
}

.login-mark {
   width: 64px;
   height: 64px;
   font-size: 30px;
   margin: auto
}

.product-card {
   height: 100%;
   background: white;
   border: 1px solid var(--border);
   border-radius: 15px;
   overflow: hidden;
   box-shadow: 0 7px 20px #5c1b0d0a;
   transition: .25s
}

.product-card:hover {
   transform: translateY(-4px);
   box-shadow: 0 14px 25px #5c1b0d15
}

.product-card>img {
   width: 100%;
   height: 190px;
   object-fit: cover
}

.product-card h3 {
   font: 700 17px "Playfair Display", serif;
   margin: 8px 0
}

.product-card p {
   color: var(--muted);
   font-size: 12px;
   min-height: 36px
}

.product-tag {
   font-size: 10px;
   text-transform: uppercase;
   letter-spacing: .8px;
   color: #d85a08;
   font-weight: 800
}

.temple-alert {
   background: #fff0d6;
   border-color: #f0d0a1;
   color: #79401e;
   font-size: 12px
}

.about-image {
   border: 5px solid white;
   outline: 1px solid var(--border);
   border-radius: 20px;
   overflow: hidden;
   box-shadow: 0 15px 35px #501b0e20
}

.about-image img {
   width: 100%;
   height: 450px;
   object-fit: cover
}

.mini-stat {
   background: white;
   border: 1px solid var(--border);
   border-radius: 12px;
   padding: 16px
}

.mini-stat i,
.contact-card i {
   display: block;
   color: #e76a05;
   font-size: 24px;
   margin-bottom: 8px
}

.mini-stat b,
.mini-stat small {
   display: block
}

.mini-stat b {
   font: 700 15px "Playfair Display", serif
}

.mini-stat small {
   font-size: 11px;
   color: var(--muted);
   margin-top: 4px
}

.contact-card {
   height: 100%;
   padding: 18px;
   background: #fffefa;
   border: 1px solid var(--border);
   border-radius: 13px
}

.contact-card b,
.contact-card span,
.contact-card>a {
   display: block;
   font-size: 12px;
   margin-top: 5px
}

.contact-card>a {
   color: var(--maroon);
   font-weight: 700
}

.gallery-grid img {
   width: 100%;
   height: 260px;
   object-fit: cover;
   border-radius: 13px;
   border: 3px solid white;
   box-shadow: 0 5px 16px #4a1b0c12;
   transition: .3s
}

.gallery-grid img:hover {
   transform: scale(1.015)
}

@media(max-width:767px) {
   .hero {
      min-height: auto;
      background-position: 60% center
   }

   .hero-content {
      padding-top: 55px;
      padding-bottom: 75px
   }

   .hero h1 {
      font-size: 2.45rem
   }

   .hero-perks {
      max-width: 100%
   }

   .service-strip {
      margin-top: -32px
   }

   .service-card {
      min-height: 90px;
      padding: 13px
   }

   .service-icon {
      flex-basis: 43px;
      height: 43px;
      font-size: 20px
   }

   .service-card b {
      font-size: 14px
   }

   .section-space {
      padding-top: 30px
   }

   .live-frame,
   .live-placeholder {
      min-height: 235px
   }

   .timing-grid {
      grid-template-columns: 1fr
   }

   .section-heading {
      align-items: start;
      gap: 15px
   }

   .video-card img {
      height: 135px
   }

   .form-panel {
      padding: 19px
   }

   .inner-page {
      padding: 32px 0 55px
   }

   .about-image img {
      height: 300px
   }

   .gallery-grid img {
      height: 160px
   }

   .temple-brand b {
      font-size: 13px
   }

   .brand-mark {
      width: 40px;
      height: 40px
   }
}

/* ==========================================================
   Home page refresh (scoped to index.php only)
   ========================================================== */
.home-page .site-header {
   box-shadow: 0 5px 24px rgba(74, 24, 8, .06);
}

.home-page .navbar {
   min-height: 78px;
}

.brand-mark {
   position: relative;
   overflow: hidden;
   flex: 0 0 46px;
}

.brand-mark img {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   border-radius: 50%;
   display: block;
   z-index: 2;
}

.brand-logo-fallback {
   position: absolute;
   inset: 0;
   display: grid;
   place-items: center;
   color: #fff7dc;
   font: 700 23px "Playfair Display", serif;
   z-index: 1;
}

.footer-brand .brand-mark {
   width: 48px;
   height: 48px;
   flex: 0 0 48px;
}

.home-page-main {
   overflow: hidden;
   background: #fffaf2;
}

.home-hero {
   position: relative;
   isolation: isolate;
   color: #fff;
   background: #4c1808 url("https://images.unsplash.com/photo-1606293926075-69a00dbdde81?auto=format&fit=crop&w=2000&q=90") center 43%/cover no-repeat;
   min-height: 525px;
}

.home-hero:before {
   content: "";
   position: absolute;
   inset: 0;
   z-index: -1;
   background: linear-gradient(100deg, rgba(38, 10, 2, .82) 0%, rgba(77, 19, 4, .70) 43%, rgba(88, 31, 7, .38) 72%, rgba(36, 9, 2, .48) 100%);
}

.home-hero-inner {
   position: relative;
   z-index: 1;
   padding-top: 76px;
   padding-bottom: 90px;
}

.home-eyebrow {
   display: flex;
   align-items: center;
   gap: 10px;
   margin-bottom: 20px;
   color: #ffd17b;
   font-size: 10px;
   font-weight: 800;
   letter-spacing: 2px;
}

.home-eyebrow span {
   display: inline-block;
   width: 32px;
   height: 2px;
   background: #ffbd38;
}

.home-hero h1 {
   margin: 0 0 20px;
   color: #fff9ed;
   font-size: clamp(2.5rem, 5.4vw, 4.7rem);
   line-height: 1.08;
   letter-spacing: -1.8px;
   text-shadow: 0 5px 24px #21090075;
   overflow-wrap: anywhere;
}

.home-hero h1 span {
   color: #ffd078;
}

.home-hero-copy {
   max-width: 570px;
   color: #f7e7d7;
   font-size: 15px;
   line-height: 1.9;
}

.home-hero-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 13px;
   margin-top: 28px;
}

.home-hero-actions .btn {
   padding: 13px 22px;
}

.home-trust-row {
   display: flex;
   flex-wrap: wrap;
   gap: 18px;
   margin-top: 28px;
   color: #f9e5d1;
   font-size: 11px;
   font-weight: 600;
}

.home-trust-row i {
   margin-right: 6px;
   color: #ffd078;
}

.home-blessing-card {
   max-width: 340px;
   margin: 0 auto;
   padding: 32px 28px;
   text-align: center;
   border: 1px solid rgba(255, 215, 143, .58);
   border-radius: 150px 150px 24px 24px;
   background: linear-gradient(160deg, rgba(255, 226, 170, .15), rgba(57, 12, 2, .42));
   box-shadow: 0 22px 65px rgba(20, 4, 0, .25), inset 0 0 35px rgba(255, 196, 93, .08);
   backdrop-filter: blur(3px);
}

.home-om {
   display: grid;
   place-items: center;
   width: 90px;
   height: 90px;
   margin: 0 auto 17px;
   border: 1px solid #ffd078;
   border-radius: 50%;
   color: #ffd078;
   font: 52px "Playfair Display", serif;
   box-shadow: 0 0 0 8px rgba(255, 208, 120, .08), 0 0 34px rgba(255, 183, 60, .17);
}

.home-blessing-card p {
   margin: 0 0 12px;
   color: #ffd078;
   font-size: 11px;
   letter-spacing: 2px;
   font-weight: 800;
}

.home-blessing-card h2 {
   color: #fff8eb;
   font-size: 25px;
   line-height: 1.45;
   margin-bottom: 15px;
}

.home-blessing-card>span {
   color: #f5d5b6;
   font-size: 12px;
}

.home-hero-bottom {
   position: absolute;
   left: -5%;
   right: -5%;
   bottom: -42px;
   height: 75px;
   background: #fffaf2;
   border-radius: 50% 50% 0 0/60% 60% 0 0;
}

.home-quick-links {
   position: relative;
   z-index: 3;
   margin-top: -28px;
}

.home-service-card {
   display: flex;
   align-items: center;
   gap: 12px;
   min-height: 96px;
   height: 100%;
   padding: 17px 15px;
   border: 1px solid #f0d8b9;
   border-radius: 16px;
   background: #fff;
   box-shadow: 0 10px 30px rgba(89, 34, 9, .07);
   transition: transform .2s, box-shadow .2s, border-color .2s;
}

.home-service-card:hover {
   transform: translateY(-4px);
   border-color: #edb74b;
   box-shadow: 0 16px 35px rgba(89, 34, 9, .12);
}

.home-service-icon {
   display: grid;
   place-items: center;
   flex: 0 0 46px;
   width: 46px;
   height: 46px;
   border-radius: 14px;
   background: #fff0d4;
   color: #9b310b;
   font-size: 21px;
}

.home-service-card b,
.home-service-card small {
   display: block;
}

.home-service-card b {
   color: #68200c;
   font: 700 15px "Playfair Display", serif;
}

.home-service-card small {
   margin-top: 5px;
   color: #8c6b58;
   font-size: 10px;
   line-height: 1.4;
}

.home-service-arrow {
   margin-left: auto;
   align-self: flex-start;
   color: #c35b15;
   font-size: 14px;
}

.home-section {
   padding-top: 76px;
   padding-bottom: 70px;
}

.home-section-heading {
   display: flex;
   align-items: end;
   justify-content: space-between;
   gap: 24px;
   margin-bottom: 26px;
}

.home-kicker {
   display: block;
   margin-bottom: 9px;
   color: #d86714;
   font-size: 10px;
   font-weight: 800;
   letter-spacing: 1.8px;
}

.home-section-heading h2 {
   margin: 0 0 9px;
   color: #541707;
   font-size: clamp(1.8rem, 3vw, 2.5rem);
   letter-spacing: -.7px;
}

.home-section-heading p {
   margin: 0;
   max-width: 600px;
   color: #816252;
   font-size: 13px;
   line-height: 1.7;
}

.home-view-link {
   flex: 0 0 auto;
   color: #a33a0d;
   font-size: 12px;
   font-weight: 800;
   padding-bottom: 4px;
}

.home-view-link i {
   margin-left: 5px;
   transition: margin .2s;
}

.home-view-link:hover i {
   margin-left: 9px;
}

.home-live-panel,
.home-aarti-panel {
   height: 100%;
   padding: 20px;
   border: 1px solid #f0d7b8;
   border-radius: 20px;
   background: #fff;
   box-shadow: 0 12px 35px rgba(85, 29, 7, .055);
}

.home-live-panel-top {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 12px;
   margin-bottom: 16px;
   color: #60200b;
   font-weight: 800;
   font-size: 13px;
}

.home-live-panel-top>span:first-child i {
   margin-right: 8px;
   color: #d86c13;
}

.home-live-badge {
   color: #b12b20;
   font-size: 9px;
   font-weight: 800;
   letter-spacing: .8px;
}

.home-live-badge i {
   display: inline-block;
   width: 7px;
   height: 7px;
   margin-right: 5px;
   border-radius: 50%;
   background: #df3328;
   box-shadow: 0 0 0 4px #df33281a;
}

.home-live-panel .live-frame {
   min-height: 285px;
   border: 0;
   border-radius: 14px;
}

.home-live-panel .live-placeholder {
   min-height: 285px;
}

.home-live-panel .home-darshan-list {
   padding-top: 13px;
}

.home-darshan-list .temple-darshan-card {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   margin-bottom: 0;
   border-radius: 12px;
   background: #fffaf2;
}

.home-darshan-list .temple-darshan-card h3 {
   margin: 0;
   font-size: 15px;
}

.home-darshan-list .temple-darshan-card .btn {
   white-space: nowrap;
   padding: 9px 13px;
   font-size: 11px;
}

.home-aarti-panel {
   padding: 25px;
   background: linear-gradient(155deg, #fff 0%, #fff8eb 100%);
}

.home-aarti-title {
   display: flex;
   align-items: center;
   gap: 13px;
   margin-bottom: 14px;
}

.home-aarti-icon {
   display: grid;
   place-items: center;
   width: 48px;
   height: 48px;
   flex: 0 0 48px;
   border-radius: 15px;
   background: #ffe9bf;
   color: #8c2b0b;
   font-size: 21px;
}

.home-aarti-title .home-kicker {
   margin-bottom: 4px;
}

.home-aarti-title h3 {
   margin: 0;
   color: #541707;
   font: 700 24px "Playfair Display", serif;
}

.home-aarti-intro {
   margin-bottom: 22px;
   color: #856653;
   font-size: 12px;
   line-height: 1.8;
}

.home-aarti-list .temple-aarti-row {
   gap: 11px;
   padding: 13px 0;
   margin: 0;
   border: 0;
   border-top: 1px solid #f0dfca;
   border-radius: 0;
   background: transparent;
}

.home-aarti-list .aarti-row-icon {
   width: 36px;
   height: 36px;
   flex: 0 0 36px;
   font-size: 14px;
}

.home-aarti-list .aarti-row-details h3 {
   font-size: 14px;
}

.home-aarti-list .aarti-row-details p {
   font-size: 11px;
   margin-bottom: 3px;
}

.home-aarti-list .aarti-row-details small {
   font-size: 10px;
}

.home-aarti-list .temple-aarti-row>strong {
   color: #8b2c0c;
   font-size: 12px;
}

.home-aarti-cta {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-top: 15px;
   padding-top: 15px;
   border-top: 1px solid #f0dfca;
   color: #9b350d;
   font-size: 12px;
   font-weight: 800;
}

.home-gallery-section {
   background: #f8eedf;
   border-top: 1px solid #f0dfca;
   border-bottom: 1px solid #f0dfca;
}

.home-gallery-section .home-section {
   padding-top: 65px;
   padding-bottom: 60px;
}

.home-gallery-swiper .video-card {
   border-radius: 16px;
}

.home-gallery-swiper .video-card img {
   height: 220px;
}

.home-gallery-swiper .video-card b {
   font-size: 13px;
}

.home-seva-banner {
   display: flex;
   align-items: center;
   gap: 22px;
   margin-top: 65px;
   margin-bottom: 70px;
   padding: 28px 32px;
   border-radius: 20px;
   background: linear-gradient(110deg, #641b08, #8c2c0d);
   color: #fff;
   box-shadow: 0 18px 40px rgba(83, 25, 5, .15);
}

.home-seva-symbol {
   display: grid;
   place-items: center;
   flex: 0 0 58px;
   width: 58px;
   height: 58px;
   border: 1px solid #f7c15d;
   border-radius: 50%;
   color: #ffd078;
   font-size: 22px;
}

.home-seva-banner>div:nth-child(2) {
   flex: 1;
}

.home-seva-banner span {
   color: #ffd078;
   font-size: 9px;
   font-weight: 800;
   letter-spacing: 1.6px;
}

.home-seva-banner h2 {
   margin: 5px 0 6px;
   color: #fff8eb;
   font-size: clamp(1.3rem, 2.5vw, 1.8rem);
}

.home-seva-banner p {
   margin: 0;
   color: #f1d4c0;
   font-size: 12px;
   line-height: 1.6;
}

.home-seva-banner .btn {
   flex: 0 0 auto;
}

@media(max-width:991px) {
   .home-hero-inner {
      padding-top: 58px;
      padding-bottom: 76px;
   }

   .home-blessing-card {
      max-width: 280px;
      padding: 24px 20px;
   }

   .home-blessing-card h2 {
      font-size: 21px;
   }

   .home-section {
      padding-top: 55px;
      padding-bottom: 55px;
   }
}

@media(max-width:767px) {
   .home-page .navbar {
      min-height: 68px;
   }

   .home-hero {
      min-height: auto;
      background-position: 58% center;
   }

   .home-hero-inner {
      padding-top: 48px;
      padding-bottom: 68px;
   }

   .home-eyebrow {
      font-size: 9px;
      letter-spacing: 1.3px;
   }

   .home-hero h1 {
      font-size: clamp(2.25rem, 10vw, 3.3rem);
      letter-spacing: -1px;
   }

   .home-hero-copy {
      font-size: 13px;
   }

   .home-hero-actions {
      gap: 9px;
   }

   .home-hero-actions .btn {
      padding: 11px 14px;
      font-size: 11px;
   }

   .home-trust-row {
      gap: 10px 14px;
      font-size: 10px;
   }

   .home-blessing-card {
      display: none;
   }

   .home-quick-links {
      margin-top: -25px;
   }

   .home-service-card {
      min-height: 88px;
      padding: 12px 10px;
      gap: 9px;
      border-radius: 13px;
   }

   .home-service-icon {
      flex-basis: 38px;
      width: 38px;
      height: 38px;
      border-radius: 12px;
      font-size: 18px;
   }

   .home-service-card b {
      font-size: 12px;
   }

   .home-service-card small {
      font-size: 9px;
   }

   .home-service-arrow {
      display: none;
   }

   .home-section {
      padding-top: 48px;
      padding-bottom: 45px;
   }

   .home-section-heading {
      align-items: flex-start;
      flex-direction: column;
      gap: 12px;
      margin-bottom: 20px;
   }

   .home-section-heading h2 {
      font-size: 1.8rem;
   }

   .home-live-panel,
   .home-aarti-panel {
      padding: 15px;
      border-radius: 16px;
   }

   .home-live-panel .live-frame,
   .home-live-panel .live-placeholder {
      min-height: 230px;
   }

   .home-live-panel-top {
      font-size: 11px;
   }

   .home-live-badge {
      font-size: 8px;
   }

   .home-aarti-panel {
      padding: 19px;
   }

   .home-gallery-section .home-section {
      padding-top: 48px;
      padding-bottom: 40px;
   }

   .home-gallery-swiper .video-card img {
      height: 180px;
   }

   .home-seva-banner {
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 42px;
      margin-bottom: 45px;
      padding: 22px;
   }

   .home-seva-symbol {
      flex-basis: 46px;
      width: 46px;
      height: 46px;
   }

   .home-seva-banner>div:nth-child(2) {
      flex-basis: calc(100% - 65px);
   }

   .home-seva-banner .btn {
      width: 100%;
   }
}