/* Independently managed decorations; the skyline and functional controls are unchanged. */
.festival-decorations { position:absolute; inset:0; z-index:19; overflow:hidden; pointer-events:none; }
.festival-decorations * { pointer-events:none; }
.festival-marigolds { position:absolute; top:0; left:12px; display:flex; gap:13px; align-items:flex-start; }
.festival-marigolds--right { left:auto; right:12px; flex-direction:row-reverse; }
.festival-marigold { position:relative; display:block; width:38px; height:280px; overflow:hidden; transform-origin:50% 0; animation:festival-flower-sway 7s ease-in-out infinite alternate; }
.festival-marigold img { position:absolute; width:100%; height:auto; bottom:0; left:0; }
.festival-marigold--2 { height:230px; animation-duration:8.3s; animation-delay:-2.1s; }
.festival-marigold--3 { height:185px; animation-duration:9.2s; animation-delay:-4.2s; }
.festival-marigolds--right .festival-marigold { animation-delay:-3.4s; }
.festival-marigolds--right .festival-marigold--2 { animation-delay:-5.3s; }
.festival-marigolds--right .festival-marigold--3 { animation-delay:-1.6s; }
.festival-fairy-lights { position:absolute; top:0; left:0; width:100%; height:120px; overflow:visible; }
.festival-fairy-lights__w { filter:drop-shadow(0 0 2px #ffcb60); }
.festival-bulb { filter:drop-shadow(0 0 2px #ffcf68); animation:festival-light-twinkle 4.5s ease-in-out infinite alternate; animation-delay:var(--bulb-delay); }
.festival-bulb__halo { filter:blur(1px); }
.festival-arrangement { position:absolute; bottom:0; left:0; width:clamp(250px,21vw,340px); }
.festival-arrangement img { display:block; width:100%; height:auto; }
.diwali-luxury[data-diya-animation="on"] .festival-center-diya { animation:festival-diya-glow 3.8s ease-in-out infinite; }
.diwali-luxury[data-diya-animation="on"] .festival-diya-flame { transform-box:fill-box; transform-origin:50% 100%; animation:festival-center-flame 1.9s ease-in-out infinite; }
.diwali-luxury[data-diya-animation="on"] .festival-diya-reflection { animation:festival-reflection 3.8s ease-in-out infinite; }
.diwali-luxury[data-text-glow="on"] .festival-heading-highlight { background:linear-gradient(105deg,var(--highlight-color) 30%,#fff6d6 47%,var(--highlight-color) 64%); background-size:260% 100%; background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; animation:festival-word-glow 5.5s ease-in-out infinite; }
.festival-divider-runner { position:absolute; top:7px; width:50%; height:8px; opacity:0; }
.festival-divider-runner::before { content:''; position:absolute; width:36px; height:8px; left:-18px; border-radius:50%; background:radial-gradient(ellipse,#fffbe4 5%,#ffdc7d 30%,transparent 72%); filter:drop-shadow(0 0 5px #ffc45c); }
.festival-divider-runner--right::before { left:auto; right:-18px; }
.festival-divider-runner--left { left:0; }
.festival-divider-runner--right { right:0; }
.diwali-luxury[data-divider-flow="on"] .festival-divider-runner--left { animation:festival-flow-left 4.5s ease-in-out infinite; }
.diwali-luxury[data-divider-flow="on"] .festival-divider-runner--right { animation:festival-flow-right 4.5s ease-in-out infinite; }
.diwali-luxury[data-divider-flow="on"] .festival-heading-divider span { animation:festival-diamond-glow 4.5s ease-in-out infinite; }
.diwali-luxury[data-flower-sway="off"] .festival-marigold,.diwali-luxury[data-light-twinkle="off"] .festival-bulb { animation:none; }
@keyframes festival-flower-sway { from { transform:rotate(-.7deg); } to { transform:rotate(.8deg); } }
@keyframes festival-light-twinkle { from { opacity:.68; } to { opacity:1; } }
@keyframes festival-center-flame { 0%,100% { transform:scale(1,1); opacity:.94; } 32% { transform:scale(.94,1.05); opacity:1; } 67% { transform:scale(1.03,.96); opacity:.85; } }
@keyframes festival-diya-glow { 0%,100% { filter:drop-shadow(0 0 4px #ffbf5977); } 50% { filter:drop-shadow(0 0 9px #ffd783bb); } }
@keyframes festival-reflection { 0%,100% { opacity:.12; } 50% { opacity:.3; } }
@keyframes festival-word-glow { 0%,100% { background-position:100% 50%; text-shadow:0 0 7px #dbaa3333; } 50% { background-position:0 50%; text-shadow:0 0 14px #e7b85666; } }
@keyframes festival-flow-left { 0% { opacity:0; transform:translateX(0); } 5% { opacity:.9; } 44% { opacity:1; transform:translateX(100%); } 48%,100% { opacity:0; transform:translateX(100%); } }
@keyframes festival-flow-right { 0% { opacity:0; transform:translateX(0); } 5% { opacity:.9; } 44% { opacity:1; transform:translateX(-100%); } 48%,100% { opacity:0; transform:translateX(-100%); } }
@keyframes festival-diamond-glow { 0%,39%,68%,100% { opacity:.65; filter:brightness(1); } 45% { opacity:1; filter:brightness(1.65); } 62% { opacity:.8; filter:brightness(1.05); } }
.diwali-luxury[data-festive-motion="off"] *, .diwali-motion-idle .diwali-luxury * { animation-play-state:paused !important; }
@media(prefers-reduced-motion:reduce) { .diwali-luxury * { animation:none !important; } .diwali-luxury .festival-heading-highlight { -webkit-text-fill-color:var(--highlight-color); } }
@media(max-width:1100px) { .festival-marigold { width:28px; height:210px; } .festival-marigold--2 { height:175px; } .festival-marigold--3 { height:140px; } .festival-marigolds { gap:8px; } .festival-arrangement { width:240px; } }
@media(max-width:767px) { .festival-marigolds { left:5px; gap:5px; } .festival-marigolds--right { left:auto; right:5px; } .festival-marigold { width:16px; height:115px; } .festival-marigold--2 { height:94px; } .festival-marigold--3 { height:74px; } .festival-fairy-lights { height:48px; } .festival-arrangement { width:165px; } }
/* Managed luxury banner: background and functional content remain separate. */
.diwali-luxury { position: relative; }
.diwali-luxury #slider { position: relative; isolation: isolate; min-height:max(720px,56.28vw); }
.festival-background { position: absolute; inset:0; height:100%; background: #092449; }
.festival-background__image { width: 100%; height: 100%; object-fit: cover; object-position: var(--banner-desktop, 50% 50%); }
.festival-background::after { content: ''; position: absolute; inset: 0; background: #06162c; opacity: var(--banner-overlay, .12); pointer-events: none; }
.diwali-luxury .banner-bg-slider-content { position:relative; width:100%; top:auto; transform:none; padding-top:clamp(115px,9vw,170px); padding-bottom:245px; }
.diwali-luxury .banner-bg-slider-content > .container:first-child { max-width: 1440px; }
.diwali-luxury .banner-bg-slider-content .col-lg-8 { width: 90%; }
.diwali-luxury .banner-bg-slider-title { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(28px, 3.5vw, 62px); font-weight: 400; line-height: 1.18; text-shadow: 0 2px 14px #03132b; }
.diwali-luxury .banner-bg-slider-title span { font-style: italic; font-weight: 600; }
.diwali-luxury #homeSearch { max-width: 960px; margin: 0 auto; }
.diwali-luxury .search { border: 1px solid #fff9; border-radius: 10px; overflow: hidden; box-shadow: 0 5px 24px #071d4022; }
.diwali-luxury .search input { min-height: 62px; padding-right: 125px; font: 18px Arial, sans-serif; }
.diwali-luxury .search .btn { border-radius: 8px; font-family: Arial, sans-serif; }
.diwali-luxury .nav-tabs-02 { gap: 18px; margin-top: 26px; }
.diwali-luxury .nav-tabs-02 .nav-link { border: 1px solid #f5d186; border-radius: 10px; font: 600 19px Arial, sans-serif; padding: 16px 28px; background: #0454bbed; }
.diwali-luxury .counter-content { text-shadow: 0 2px 8px #071d40; }
.diwali-luxury .diwali-diya--right { display: none; }
.festival-center-diya { display: block; width: 110px; height: 92px; margin: 0 auto 12px; filter: drop-shadow(0 0 6px #ffbf59aa); pointer-events: none; }
.festival-heading-divider { position: relative; height: 22px; max-width: 620px; width: 66%; margin: 16px auto 30px; pointer-events: none; }
.festival-heading-divider::before { content: ''; position: absolute; top: 10px; left: 0; right: 0; height: 2px; background: linear-gradient(90deg,transparent,#ffd269 24%,#fff2b4 50%,#ffd269 76%,transparent); box-shadow: 0 0 12px #fbb85555; }
.festival-heading-divider span { position: absolute; left: 50%; top: 4px; width: 14px; height: 14px; transform: translateX(-50%) rotate(45deg); background: #fff3bd; box-shadow: 0 0 12px 4px #ffca59,0 0 28px 10px #ffb93a66; border-radius: 2px 70%; }
.festival-brand-seal { position: absolute; width: clamp(76px, 7vw, 115px); height: auto; right: 5%; top: 15%; z-index: 21; pointer-events: none; }
.footer { position: relative; }
.footer .diwali-footer-main { position: relative; min-height:500px; margin-top:0; background-color:#071d38; background-image:url('../images/diwali/diwali-footer-complete.png'); background-repeat:no-repeat; background-position:center; background-size:100% 100%; }
.footer .diwali-footer-content { position: relative; z-index: 2; display:flex; align-items:flex-start; min-height:500px; padding:108px 15px 82px; background:linear-gradient(180deg,transparent 18%,rgba(3,16,37,.12) 38%,rgba(3,16,37,.1) 68%,transparent 82%); }
.footer .diwali-footer-content > .container { width:100%; max-width:1200px; margin:auto; }
.footer .diwali-footer-content .row { position:relative; z-index:2; }
.footer .diwali-footer-main + .footer-bottom { padding:4px 0; }
.footer .footer-bottom .diwali-greeting--footer { position:relative; inset:auto; display:flex; align-items:center; justify-content:center; gap:10px; width:max-content; max-width:100%; height:30px; margin:0 auto; transform:none; z-index:2; }
.footer .footer-bottom .diwali-greeting--footer .diwali-greeting__text { font-size:22px; }
.footer .footer-bottom .diwali-greeting--footer .diwali-greeting__lamp { margin:10px 2px 0; }
.footer .footer-bottom .diwali-greeting--footer .diwali-greeting__glint { right:-5px; top:-3px; }
.footer .footer-bottom .row { align-items:center; }
.footer .footer-bottom .disclaimer { margin-top:0; padding-top:0; }
.homepage-footer-social { padding-top:12px !important; padding-bottom:12px !important; }
@media(max-width:1023px) and (min-width:768px) { .footer .diwali-footer-main,.footer .diwali-footer-content { min-height:610px; }.footer .diwali-footer-content { padding:118px 20px 90px; }.footer .diwali-footer-content > .container { max-width:900px; } }
@media(max-width:767px) { .footer .diwali-footer-main { min-height:0; background-size:100% auto; background-position:center top; background-color:#062746; }.footer .diwali-footer-content { min-height:0; padding:180px 12px 18px; background:linear-gradient(180deg,transparent 0,rgba(3,16,37,.65) 150px,rgba(3,16,37,.55) 100%); }.footer .diwali-footer-content > .container { max-width:560px; }.footer .footer-bottom .diwali-greeting--footer { gap:6px; }.footer .footer-bottom .diwali-greeting--footer .diwali-greeting__text { font-size:19px; }.footer .footer-bottom .diwali-greeting--footer .diwali-greeting__ornament { display:inline; } }
@media (max-width: 1100px) {
 .festival-background__image { object-position: var(--banner-tablet, 50% 50%); }
 .festival-brand-seal { right: 5%; top: 19%; }
}
@media (max-width: 767px) {
 .diwali-luxury #slider { min-height:max(680px,92svh); }
 .festival-background__image { object-position: var(--banner-mobile, 50% 50%); }
 .diwali-luxury .banner-bg-slider-content { top:auto; transform:none; padding:145px 10px 130px; }
 .diwali-luxury .banner-bg-slider-content .col-lg-8 { width: 100%; }
 .diwali-luxury .search input { font-size: 14px; min-height: 54px; padding-left: 12px; padding-right: 85px; }
 .diwali-luxury .nav-tabs-02 { gap: 5px; margin-top: 18px; }
 .diwali-luxury .nav-tabs-02 .nav-link { font-size: 13px; padding: 12px 9px; }
 .festival-brand-seal { width: 65px; top: 66px; right: 18px; }
 .festival-center-diya { width: 76px; height: 64px; margin-bottom: 12px; }
 .festival-heading-divider { width: 75%; margin: 12px auto 20px; }
 .festival-footer-accent { height: 70px; }
 .festival-footer-accent img { height: 54px; }
 .festival-footer-accent .diwali-diya { display: none; }
}
/* Decorations occupy an absolute layer; the existing hero keeps its own size. */
.diwali-site-body {
    position: relative;
    background-color: #f8fafc;
}

.diwali-internal-page-theme[data-diwali-section] {
    position: fixed;
    inset: 125px 0 0;
    z-index: 30;
    overflow: hidden;
    pointer-events: none;
    opacity: .72;
}

.diwali-internal-page-theme .ds-corners {
    position: absolute;
    inset: 0;
    height: 100%;
}

.diwali-theme-layer {
    position: absolute;
    inset: 0;
    z-index: 20;
    overflow: hidden;
    pointer-events: none;
    --diwali-nav-bottom: 44px;
}
.diwali-theme-layer * { pointer-events: none; }
.diwali-page-fireworks { position: fixed; z-index: 998; }
.diwali-hero .banner-bg-slider-content { z-index: 21; }
.diwali-hero .diwali-theme-layer { z-index: 22; }
.diwali-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.diwali-lights {
    position: absolute;
    top: var(--diwali-nav-bottom);
    left: 12%;
    right: 3%;
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #bc965b80;
}
.diwali-light {
    width: 6px;
    height: 9px;
    margin-top: 3px;
    border-radius: 45% 45% 50% 50%;
    background: #fff5cd;
    box-shadow: 0 0 5px 2px #fff8dc, 0 0 18px 5px #ffca55dd, 0 0 28px 7px #ffb52b66;
    animation: diwali-twinkle 3.4s ease-in-out infinite alternate;
}
.diwali-light--1 { animation-delay: -1.2s; }
.diwali-light--2 { animation-delay: -2.6s; background: #ffd078; }
.diwali-light--3 { animation-delay: -.6s; }
.diwali-fountain { position: absolute; width: 58px; height: 53px; z-index: 3; }
.diwali-fountain--left { left: var(--fountain-left-x, 7%); top: var(--fountain-left-y, 82%); }
.diwali-fountain--right { left: var(--fountain-right-x, 86%); top: var(--fountain-right-y, 82%); }
.diwali-diya {
    position: absolute;
    width: 39px;
    height: 16px;
    border-radius: 12% 12% 55% 55%;
    border-top: 2px solid #ffdd8c;
    background: linear-gradient(100deg, #8d4319, #edb755 45%, #a85b20);
    box-shadow: 0 3px 12px #fbb03b55, inset 0 -3px 4px #6d301a77;
}
.diwali-diya::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 13px;
    width: 11px;
    height: 25px;
    border-radius: 55% 45% 45% 45%;
    background: radial-gradient(ellipse at 50% 75%, #fffce2 15%, #ffda65 50%, #ef851c 85%);
    box-shadow: 0 0 9px #ffbd4fcc, 0 0 22px #ffac2944;
    transform-origin: 50% 100%;
    transform: translateX(-50%);
    animation: diwali-flame 1.7s ease-in-out infinite;
}
.diwali-diya--left { left: 17px; bottom: 22px; }
.diwali-diya--right { right: max(6%, 86px); bottom: 22px; }
.diwali-diya--right::before { animation-delay: -.8s; animation-direction: reverse; }
.diwali-greeting {
    position: absolute;
    left: 150px;
    top: 7px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 27px;
    max-width: 210px;
    color: #9a6117;
    white-space: nowrap;
    pointer-events: none;
    animation: diwali-reveal 1s ease-out both;
}
.diwali-greeting__text {
    font: 600 18px/1.3 Georgia, serif;
    background: linear-gradient(110deg, #865014 15%, #bb831c 35%, #ffe2a2 44%, #9a6117 53%, #865014 80%);
    background-size: 260% 100%;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    animation: diwali-shimmer 6s ease-in-out infinite;
}
.diwali-greeting__ornament { font-size: 16px; color: #bd892d; }
.diwali-greeting__lamp { position: relative; width: 20px; height: 8px; margin: 10px 4px 0; }
.diwali-greeting__lamp::before { width: 6px; height: 13px; bottom: 6px; box-shadow: 0 0 5px #ffd07377; }
.diwali-greeting__glint { position: absolute; top: -5px; right: 29px; font-size: 8px; color: #b8801f; animation: diwali-glint 6.3s ease-in-out infinite; }
.diwali-motion-idle .diwali-theme-layer *,
.diwali-motion-idle .diwali-theme-layer *::before,
.diwali-motion-idle .diwali-greeting,
.diwali-motion-idle .diwali-greeting *,
.diwali-motion-idle .diwali-greeting *::before { animation-play-state: paused; }
@keyframes diwali-twinkle { to { opacity: .85; box-shadow: 0 0 5px 2px #fff8dc, 0 0 14px 4px #ffc04abb; } }
@keyframes diwali-flame {
    0%, 100% { transform: translateX(-50%) rotate(-3deg) scale(1, 1); }
    35% { transform: translateX(-50%) rotate(4deg) scale(.9, 1.08); }
    68% { transform: translateX(-50%) rotate(-1deg) scale(1.04, .95); }
}
@keyframes diwali-reveal { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
@keyframes diwali-shimmer { 0%, 65% { background-position: 100% 0; } 90%, 100% { background-position: 0 0; } }
@keyframes diwali-glint { 0%, 65%, 100% { opacity: .15; } 80% { opacity: .9; } }
@media (max-width: 1199px) and (min-width: 992px) {
    .diwali-greeting { left: 125px; gap: 3px; }
    .diwali-greeting__text { font-size: 14px; }
    .diwali-greeting__ornament { display: none; }
}
@media (max-width: 767px) {
    .diwali-greeting { left: 115px; top: 11px; gap: 3px; max-width: 135px; }
    .diwali-greeting__text { font-size: 15px; }
    .diwali-greeting__ornament, .diwali-greeting__glint { display: none; }
    .diwali-fountain { width: 36px; height: 33px; bottom: 10px; }
    .diwali-fountain--left { left: 10px; }
    .diwali-fountain--right { right: 62px; }
    .diwali-diya--left { left: 48px; bottom: 13px; }
    .diwali-diya--right { right: 24px; bottom: 13px; }
    .diwali-theme-layer > .diwali-diya { width: 25px; height: 11px; }
    .diwali-theme-layer > .diwali-diya::before { bottom: 9px; width: 8px; height: 18px; }
    .diwali-lights { left: 26%; right: 5%; }
    .diwali-light:nth-child(n+10) { display: none; }
}
@media (max-width: 359px) {
    .diwali-greeting { left: 100px; }
    .diwali-greeting__text { font-size: 12px; }
    .diwali-greeting__lamp { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .diwali-canvas { display: none; }
    .diwali-theme-layer *, .diwali-theme-layer *::before,
    .diwali-greeting, .diwali-greeting *, .diwali-greeting *::before { animation: none !important; }
    .diwali-greeting__text { background: none; color: #9a6117; }
}
.diwali-canvas { z-index: 2; }
.diwali-flowers { position:absolute; top:calc(var(--diwali-nav-bottom) + 16px); display:flex; align-items:flex-start; gap:10px; width:185px; pointer-events:none; }
.diwali-flowers--left { left:12px; }
.diwali-flowers--right {
    /* Mirror the left container's 12px inset without moving the strands by transform. */
    left: auto;
    right: 0;
    padding-right: 12px;
    box-sizing: content-box;
    direction: ltr;
    flex-direction: row-reverse;
    justify-content: flex-start;
}
.diwali-garland { display:block; width:29px; height:280px; object-fit:fill; transform-origin:50% 0; filter:drop-shadow(1px 2px 2px #34150040); animation:diwali-sway 7s ease-in-out infinite alternate; }
.diwali-garland--2 { height:220px; animation-duration:8.3s; animation-delay:-3s; }
.diwali-garland--3 { height:180px; animation-duration:9.1s; animation-delay:-1s; }
.diwali-garland--4 { height:145px; animation-duration:7.7s; animation-delay:-4s; }
.diwali-garland--5 { height:110px; animation-duration:8.8s; animation-delay:-2s; }
@keyframes diwali-sway { from { transform:rotate(-1deg); } to { transform:rotate(1.3deg); } }
@media (max-width:1199px) { .diwali-flowers { width:125px; gap:7px; } .diwali-garland { width:24px; height:190px; } .diwali-garland--2 { height:155px; } .diwali-garland--3 { height:120px; } .diwali-garland--4 { height:90px; } .diwali-garland--5 { display:none; } }
@media (max-width:767px) { .diwali-flowers { width:50px; gap:5px; } .diwali-garland { width:15px; height:88px; } .diwali-garland--2 { height:62px; } .diwali-garland--3,.diwali-garland--4 { display:none; } }
/* Matching side extensions: repeat actual flower pixels at their natural aspect ratio.
   Five outermost reference rectangles: inner -> outer 21%,39%,49%,61%,88%. */
.diwali-flowers { height:calc(100% - var(--diwali-nav-bottom) - 16px); }
.diwali-flowers .diwali-garland--extended { display:flex; flex-direction:column; flex-shrink:0; object-fit:initial; height:88%; }
.diwali-flowers .diwali-garland--2 { height:61%; }
.diwali-flowers .diwali-garland--3 { height:49%; }
.diwali-flowers .diwali-garland--4 { height:39%; }
.diwali-flowers .diwali-garland--5 { height:21%; }
.diwali-garland--extended::before { content:''; display:block; flex:none; width:100%; aspect-ratio:90 / 44; background:url('../images/diwali/marigold-top.webp') center / 100% auto no-repeat; }
.diwali-garland__flowers { display:block; flex:1; min-height:0; width:100%; background:url('../images/diwali/marigold-flowers.webp') center top / 100% auto repeat-y; }
.diwali-garland--extended::after { content:''; display:block; flex:none; width:100%; aspect-ratio:90 / 66; background:url('../images/diwali/marigold-diya.webp') center / 100% auto no-repeat; }
@media (max-width:1199px) { .diwali-flowers .diwali-garland--5 { display:none; } }
@media (max-width:767px) {
 .diwali-flowers .diwali-garland--extended { height:88px; }
 .diwali-flowers .diwali-garland--2 { height:62px; }
 .diwali-flowers .diwali-garland--3,.diwali-flowers .diwali-garland--4 { display:none; }
}
.diwali-theme-layer[data-flowers="off"] .diwali-flowers,
.diwali-theme-layer[data-lights="off"] .diwali-lights,
.diwali-theme-layer[data-diyas="off"] > .diwali-diya,
.diwali-theme-layer[data-fountains="off"] .diwali-fountain { display:none; }
.diwali-theme-layer[data-motion="off"] *, .diwali-theme-layer[data-motion="off"] *::before { animation:none !important; }
.diwali-theme-layer .diwali-lights { filter:brightness(var(--diwali-light-brightness,1)); }

/* Compact reference composition: keep the whole arrangement within the hero. */
.diwali-luxury #slider { min-height:660px; height:calc(100svh - 115px); max-height:none; }
.diwali-luxury .banner-bg-slider-content { padding:clamp(60px,calc(8vw - 75px),76px) 0 143px; }
.diwali-luxury .banner-bg-slider-title { font-size:clamp(28px,3vw,49px); margin-bottom:8px !important; }
.diwali-luxury .festival-center-diya { width:105px; height:81px; margin-bottom:12px; }
.diwali-luxury #homeSearch { width:76%; max-width:800px; }
.diwali-luxury #homeSearch .search { display:flex; flex-direction:row-reverse; align-items:stretch; height:56px; margin-top:16px !important; padding:2px; background:#fff; border:1px solid #e8e6f2; border-radius:8px; }
.diwali-luxury #homeSearch .search input { width:0; flex:1; min-width:0; min-height:0; height:50px; padding:0 18px; font:16px Arial,sans-serif; background:transparent; }
.diwali-luxury #homeSearch .festival-search-submit { position:static; display:flex; align-items:center; justify-content:center; gap:8px; flex:0 0 132px; margin:0; padding:0 14px; border-radius:6px; background:#0758c6; color:#fff; font:600 16px Arial,sans-serif; }
.diwali-luxury .nav-tabs-02 { margin-top:20px; gap:14px; }
.diwali-luxury .nav-tabs-02 .nav-link { font-size:16px; padding:12px 23px; border:1px solid #e4c374; border-radius:9px; }
.diwali-luxury .counter .timer { font-size:28px; }
.diwali-luxury .counter label { font-size:13px; }
.diwali-luxury .festival-arrangement { width:clamp(220px,22vw,330px); bottom:52px; }
.diwali-luxury .festival-marigold { height:220px; width:30px; }
.diwali-luxury .festival-marigold--2 { height:180px; }
.diwali-luxury .festival-marigold--3 { height:145px; }
.festival-star-accent { height:20px; display:flex; gap:18px; justify-content:center; align-items:center; margin:8px auto 14px; pointer-events:none; }
.festival-star-accent i { width:4px; height:4px; background:#ffe4a5; transform:rotate(45deg); opacity:.55; box-shadow:0 0 7px #ffc45a; }
.festival-star-accent i:nth-child(3) { width:8px; height:8px; }
.diwali-luxury[data-divider-flow="on"] .festival-star-accent i { animation:festival-stars 3.6s ease-in-out infinite; }
.festival-star-accent i:nth-child(2),.festival-star-accent i:nth-child(4) { animation-delay:-1.2s !important; }
.festival-star-accent i:nth-child(3) { animation-delay:-2.4s !important; }
@keyframes festival-stars { 0%,100% { opacity:.35; } 50% { opacity:1; } }
@media(min-width:768px) and (max-width:1100px) {
 .diwali-luxury #slider { height:auto; min-height:760px; }
 .diwali-luxury .banner-bg-slider-content { padding-top:99px; padding-bottom:151px; }
 .diwali-luxury .counter-content { margin-bottom:0; }
 .diwali-luxury .banner-bg-slider-content > .container.ic-vid-bnr .col-sm-6 { width:33.333%; }
 .diwali-luxury .festival-arrangement { width:240px; }
}
@media(max-width:767px) {
 .diwali-luxury #slider { height:auto; min-height:0; max-height:none; overflow:hidden; }
 .diwali-luxury .banner-bg-slider-content { padding:clamp(112px,17svh,136px) 12px clamp(130px,20svh,175px); }
 .diwali-luxury .banner-bg-slider-content > .container:first-child { padding-left:0; padding-right:0; }
 .diwali-luxury .festival-center-diya { width:86px; height:66px; }
 .diwali-luxury #homeSearch { width:100%; max-width:100%; }
 .diwali-luxury #homeSearch .search input { font-size:13px; padding:0 8px; }
 .diwali-luxury #homeSearch .festival-search-submit { flex-basis:89px; font-size:13px; gap:4px; padding:0 6px; }
 .diwali-luxury .nav-tabs-02 { display:flex; flex-wrap:wrap; gap:6px; }
 .diwali-luxury .nav-tabs-02 .nav-item { margin:0 !important; }
 .diwali-luxury .nav-tabs-02 .nav-link { font-size:13px; padding:11px 9px; white-space:nowrap; }
 .diwali-luxury .festival-arrangement { width:185px; }
 .diwali-luxury .festival-marigold { width:16px; height:115px; }
 .diwali-luxury .festival-marigold--2 { height:94px; }
 .diwali-luxury .festival-marigold--3 { height:74px; }
}
@media(max-width:380px) {
 .diwali-luxury .banner-bg-slider-title { font-size:clamp(20px,6vw,24px); }
 .diwali-luxury #homeSearch .festival-search-submit { flex-basis:82px; }
 .diwali-luxury .nav-tabs-02 .nav-link { padding:10px 8px; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .diwali-luxury .festival-star-accent i { animation:none !important; } }

/* Photographic center diya: retain the existing layout footprint. */
.festival-center-diya--photo { position:relative; }
.festival-center-diya--photo img { display:block; width:100%; height:100%; object-fit:contain; }
.festival-center-diya--photo .festival-diya-flame-glow { position:absolute; left:48%; top:3%; width:9%; height:44%; border-radius:70% 30% 65% 35%; background:radial-gradient(ellipse at 50% 75%,#fffbd6cc 0%,#ffdc73aa 35%,#ff9a2566 58%,transparent 75%); filter:blur(3px); transform-origin:50% 100%; opacity:.65; pointer-events:none; }
.festival-center-diya--photo .festival-diya-reflection { position:absolute; width:36%; height:35%; left:34%; top:5%; border-radius:50%; background:radial-gradient(ellipse,#ffeebc66,transparent 70%); opacity:.16; pointer-events:none; }
.diwali-luxury[data-diya-animation="on"] .festival-center-diya--photo .festival-diya-flame-glow { animation:festival-blowing-flame 2.1s ease-in-out infinite; }
@keyframes festival-blowing-flame { 0%,100% { transform:rotate(-5deg) scale(.9,1); opacity:.55; } 26% { transform:rotate(12deg) scale(1.2,.86); opacity:.85; } 51% { transform:rotate(-11deg) scale(.78,1.1); opacity:.4; } 74% { transform:rotate(16deg) scale(1.15,.8); opacity:.8; } }
.diwali-luxury[data-diya-animation="on"] .festival-center-diya--photo .festival-diya-reflection { animation:festival-photo-flame 1.9s ease-in-out infinite; }
@keyframes festival-photo-flame { 0%,100% { opacity:.12; transform:scale(1); } 38% { opacity:.32; transform:scale(.94,1.05); } 70% { opacity:.18; transform:scale(1.03,.97); } }
@media(prefers-reduced-motion:reduce) { .diwali-luxury .festival-center-diya--photo .festival-diya-reflection,.diwali-luxury .festival-center-diya--photo .festival-diya-flame-glow { animation:none !important; } }
/* Compact footer and aligned content. */
.footer .diwali-footer-content > .container { margin:0 auto; }
.footer .diwali-footer-content .footer-link { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; align-content:start; }
.footer .diwali-footer-content .footer-link h5 { grid-column:1 / -1; }
.footer .diwali-footer-content .footer-link ul { display:block; padding-right:0 !important; }
.footer .diwali-footer-content .rating { padding:8px 0 0; }
.footer .diwali-footer-content .footer-subscribe > p { margin-bottom:10px; }
.footer .diwali-footer-main + .footer-bottom { position:relative; margin-top:0; padding:10px 0 8px; }
.footer .footer-bottom .footer-back-to-top { position:absolute; top:-18px; left:50%; transform:translateX(-50%); width:36px; height:36px; line-height:36px; font-size:18px; z-index:5; }
.footer .footer-bottom .disclaimer { margin-top:5px; padding-bottom:0; }
@media(min-width:1024px) {
 .footer .diwali-footer-main { min-height:420px; }
 .footer .diwali-footer-content { min-height:420px; padding:104px 30px 82px; background:linear-gradient(180deg,transparent 17%,rgba(3,16,37,.32) 28%,rgba(3,16,37,.32) 64%,transparent 77%); }
 .footer .diwali-footer-content > .container { max-width:1140px; }
 .footer .diwali-footer-content > .container > .row { align-items:flex-start; }
 .footer .diwali-footer-content p,.footer .diwali-footer-content li { line-height:1.4; }
 .footer .diwali-footer-content .footer-subscribe .mb-3 { margin-bottom:10px !important; }
 .footer .footer-bottom .footer-logo { height:40px; width:auto; }
 .footer .footer-bottom .diwali-greeting--footer .diwali-greeting__text { font-size:18px; }
}
@media(max-width:767px) { .footer .footer-bottom .footer-greeting-column { margin:5px 0; } }
/* Align the middle content and copyright greeting with the artwork's center. */
.footer .diwali-footer-content .footer-link h5 { text-align:center; }
.footer .diwali-footer-content .footer-link ul { text-align:center; }
.footer .footer-bottom .footer-back-to-top { text-align:center; padding:0; box-sizing:border-box; }
.footer .footer-bottom .footer-back-to-top > i { display:block; position:static; width:100%; height:100%; margin:0; padding:0; line-height:36px; text-align:center; transform:none; }
.footer .footer-bottom .diwali-greeting--footer .diwali-greeting__text {
 background-image:linear-gradient(110deg,#e8ad38 15%,#ffd66e 35%,#fff5cf 44%,#ffc94d 53%,#e8ad38 80%);
 color:transparent; text-shadow:0 0 8px #d8932440;
}
.footer .footer-bottom .diwali-greeting--footer .diwali-greeting__ornament,
.footer .footer-bottom .diwali-greeting--footer .diwali-greeting__glint { color:#ffd66e; }
@media(min-width:768px) {
 .footer .footer-bottom .footer-greeting-column { position:absolute; left:50%; top:25px; transform:translateX(-50%); width:max-content; max-width:32%; padding:0; }
 .footer .footer-bottom .row > .col-md-5 { margin-left:auto; }
}
@media(max-width:767px) {
 .footer .diwali-footer-main { background-image:url('../images/diwali/diwali-footer-mobile-v2.png'); background-size:100% 100%; background-position:center; background-color:#061c36; }
 .footer .diwali-footer-content { display:block; padding:clamp(80px,27vw,120px) 0 clamp(130px,35vw,170px); background:linear-gradient(to bottom,rgba(2,12,30,.04),rgba(2,12,30,.1) 22%,rgba(2,12,30,.14) 77%,rgba(2,12,30,.04)); }
 .footer .diwali-footer-content > .container { max-width:560px; padding:0 20px; }
 .footer .diwali-footer-content > .container > .row { row-gap:0; }
 .footer .diwali-footer-content > .container > .row > [class*="col-"] { min-width:0; }
 .footer .diwali-footer-content h5 { margin-bottom:12px !important; font-size:18px; line-height:1.3; }
 .footer .diwali-footer-content p,.footer .diwali-footer-content li { font-size:14px; line-height:1.55; }
 .footer .diwali-footer-content h5,.footer .diwali-footer-content p,.footer .diwali-footer-content li,.footer .diwali-footer-content a { text-shadow:0 1px 3px #001024; }
 .footer .diwali-footer-content .footer-contact-info ul li span { min-width:0; overflow-wrap:anywhere; }
 .footer .diwali-footer-content .footer-link { gap:0 16px; }
 .footer .diwali-footer-content .footer-link h5,.footer .diwali-footer-content .footer-link ul { text-align:left; }
 .footer .diwali-footer-content .footer-link ul li { padding-bottom:8px; }
 .footer .diwali-footer-content .footer-subscribe { max-width:100%; }
 .footer .diwali-footer-content .footer-subscribe .form-control { width:100%; min-height:44px; }
 .footer .diwali-footer-content .footer-subscribe .btn { min-height:40px; }
 .footer .diwali-footer-main + .footer-bottom { padding:24px 12px 20px; }
 .footer .footer-bottom .row { row-gap:10px; }
 .footer .footer-bottom .footer-logo { height:50px; width:auto; }
 .footer .footer-bottom .disclaimer { line-height:1.5; text-align:left; overflow-wrap:anywhere; }
}
@media(max-width:359px) {
 .footer .diwali-footer-content > .container { padding:0 16px; }
 .footer .diwali-footer-content .footer-link { gap:0 10px; }
 .footer .diwali-footer-content .footer-link ul li a { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) {
 .footer .footer-bottom .diwali-greeting--footer .diwali-greeting__text { background:none; color:#ffd66e; }
}
