/* ============================================================
   GOSWAMI JEWELLERY — Luxury Gold & Black Enhancement Layer
   Premium dark theme · gold shimmer · rich motion
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Playfair+Display:wght@500;600;700;800&family=Jost:wght@300;400;500;600&display=swap');

:root{
  --gs-bg:#0b0b0d;
  --gs-bg2:#141318;
  --gs-panel:rgba(28,26,32,.72);
  --gs-panel-solid:#17151b;
  --gs-text:#e8e1cf;
  --gs-muted:#b7ad96;
  --gs-gold:#d4af37;
  --gs-gold2:#f7e7a1;
  --gs-gold3:#b8860b;
  --gs-line:rgba(212,175,55,.28);
  --gs-glow:rgba(212,175,55,.45);
  --gs-grad:linear-gradient(135deg,#b8860b 0%,#f7e7a1 25%,#d4af37 50%,#fff6d0 65%,#d4af37 80%,#b8860b 100%);
}

/* ---------- Base / background ---------- */
html,body{scroll-behavior:smooth;}
html body{
  background:var(--gs-bg) !important;
  color:var(--gs-text) !important;
  font-family:'Jost',sans-serif !important;
}
body.boxed{box-shadow:0 0 80px rgba(0,0,0,.9) !important;}
.bodycontent,.bodycontent.ei{
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(212,175,55,.10), transparent 60%),
    radial-gradient(900px 500px at -10% 20%, rgba(212,175,55,.07), transparent 55%),
    linear-gradient(180deg,#0b0b0d 0%,#100f13 40%,#0b0b0d 100%) !important;
  color:var(--gs-text) !important;
}

/* kill the template's light zebra striping → dark glass */
#bodyFormatNT.evenOdd section:nth-child(odd),
#bodyFormatNT.evenOdd section:nth-child(even),
#bodyFormatNT.oddEven section:nth-child(odd),
#bodyFormatNT.oddEven section:nth-child(even),
#bodyFormatNT section,
section,.bodycontent section{
  background-color:transparent !important;
  background-image:none !important;
}
#bodyFormatNT section:nth-child(even){
  background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.0)) !important;
}

/* ---------- Typography ---------- */
h1,h2,h3,.h1,.h2 h2,.h2 h3,#middle .h2 h2,.head-c2,.headHr,.headFormat,
.slider-content h1,.slider-content .hd1{
  font-family:'Playfair Display','Cormorant Garamond',serif !important;
  letter-spacing:.3px;
}
/* gold shimmer headings */
.h2 h2,.h2 h3,#middle .h2 h2,#middle .h2 p.rHead,h1.gs-shine,h2.gs-shine,
.headHr,.supHead,.head-c1,.head-c2,.dif,.dif a{
  background:var(--gs-grad);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent !important;
  animation:gsShine 6s linear infinite;
}
@keyframes gsShine{to{background-position:200% center;}}

p,li,td,span,div,label,.data,address{color:var(--gs-text);}
.dif2 span,.head-c1{color:var(--gs-gold) !important;}

/* ---------- Links ---------- */
a{color:var(--gs-gold);transition:color .3s ease,opacity .3s ease;}
a:hover{color:var(--gs-gold2);}

/* ---------- Header / nav ---------- */
header,.navF1_format,.fixer,.tml_r_format,.headVr,.t2_fixer{
  background:rgba(10,10,12,.86) !important;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.tml_r_format.theme1{
  background:linear-gradient(90deg,rgba(15,14,18,.95),rgba(25,22,16,.95)) !important;
  border-bottom:1px solid var(--gs-line) !important;
}
.t2_fixer{box-shadow:0 8px 30px rgba(0,0,0,.6) !important;}
.ddsmoothmenu ul li a{
  color:var(--gs-text) !important;font-weight:500 !important;
  transition:all .3s ease;
}
.ddsmoothmenu ul li a:hover,.ddsmoothmenu ul li.on>a,
.ddsmoothmenu>ul>li>a.selected{
  background:var(--gs-grad) !important;background-size:200% auto;
  color:#1a150a !important;-webkit-text-fill-color:#1a150a !important;
  animation:gsShine 5s linear infinite;
}
.ddsmoothmenu ul li ul{background:#141117 !important;border:1px solid var(--gs-line) !important;}
.menu-arrow-top{display:none !important;}

/* ---------- Buttons ---------- */
a.button,.button a,input.button,a.buttonBig,input.buttonBig,.buttonBig a,
button.site-btn,a.site-btn,.search-btn,.slider-content2 .search-btn,
.smsBtn,.emailBtn,.bdr-btn,.bdr-btn a,input[type=submit],.razorpay-payment-button,
.contact-icon,.fldynBnr span.buttonBig{
  position:relative;overflow:hidden;
  background:var(--gs-grad) !important;background-size:200% auto !important;
  color:#1a150a !important;-webkit-text-fill-color:#1a150a !important;
  border:none !important;border-radius:40px !important;font-weight:600 !important;
  letter-spacing:.5px;
  box-shadow:0 6px 22px rgba(212,175,55,.28),inset 0 1px 0 rgba(255,255,255,.5) !important;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,background-position .6s ease !important;
}
a.button:hover,.button a:hover,input.button:hover,a.buttonBig:hover,
input.buttonBig:hover,.buttonBig a:hover,button.site-btn:hover,a.site-btn:hover,
.search-btn:hover,.smsBtn:hover,.emailBtn:hover,.bdr-btn:hover,input[type=submit]:hover,
.razorpay-payment-button:hover{
  transform:translateY(-3px) scale(1.02);
  background-position:right center !important;
  box-shadow:0 12px 34px var(--gs-glow),inset 0 1px 0 rgba(255,255,255,.6) !important;
}
/* sheen sweep */
a.button::after,a.buttonBig::after,input.button::after,button.site-btn::after{
  content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-20deg);transition:left .7s ease;
}
a.button:hover::after,a.buttonBig:hover::after,input.button:hover::after,
button.site-btn:hover::after{left:140%;}

/* ---------- Panels / cards / data blocks ---------- */
.data,.testimonial_fm li>div.data,.single-box-bdr,.clfd-details,.cInfo-box,
.resort-box,.services-list li,.category li,.iconBox,.shadowList ul li{
  background:var(--gs-panel) !important;
  border:1px solid var(--gs-line) !important;
  border-radius:16px !important;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  box-shadow:0 10px 30px rgba(0,0,0,.45) !important;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,border-color .45s ease !important;
}
.slider ul li>div,.no-scroll li>div{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease;}
.data:hover,.slider ul li:hover>div,.no-scroll li:hover>div,
.category li:hover,.services-list li:hover,.shadowList ul li:hover{
  transform:translateY(-10px);
  border-color:var(--gs-gold) !important;
  box-shadow:0 22px 50px rgba(0,0,0,.6),0 0 26px rgba(212,175,55,.22) !important;
}

/* ---------- Images ---------- */
.imgFrame,.imgWidth,.slider ul li img,.no-scroll li img,.fancybox img,.imgFrame img{
  border-radius:14px;
}
.imgWidth,.imgFrame{overflow:hidden;position:relative;}
.imgWidth img,.imgFrame img,.slider ul li .imgWidth img{
  transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .6s ease !important;
}
.imgWidth:hover img,.imgFrame:hover img,
.slider ul li:hover .imgWidth img,.no-scroll li:hover img{
  transform:scale(1.12) !important;filter:saturate(1.1) contrast(1.05);
}
/* gold frame glow on product image hover */
.slider ul li:hover .imgWidth,.no-scroll li:hover .imgWidth,.imgFrame:hover{
  box-shadow:0 0 0 2px var(--gs-gold),0 0 30px rgba(212,175,55,.35);
}
.col-1.ofh,.company_mH,.company_mH .dt,#company{overflow:visible !important;height:auto !important;}
.company_mH img,#company img{
  height:62px !important;width:auto !important;max-width:240px !important;
  filter:drop-shadow(0 3px 12px rgba(212,175,55,.45));
  transition:filter .4s ease,transform .4s ease;
}
.company_mH img:hover,#company img:hover{filter:drop-shadow(0 5px 18px rgba(212,175,55,.7));transform:scale(1.03);}

/* ---------- Forms ---------- */
input,select,textarea,.input{
  background:rgba(255,255,255,.04) !important;
  border:1px solid var(--gs-line) !important;
  color:var(--gs-text) !important;border-radius:10px !important;
  transition:border-color .3s ease,box-shadow .3s ease !important;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--gs-gold) !important;
  box-shadow:0 0 0 3px rgba(212,175,55,.18) !important;outline:none !important;
}
input::placeholder,textarea::placeholder{color:var(--gs-muted) !important;}
option{background:#141117;color:var(--gs-text);}

/* ---------- Footer ---------- */
footer,#footerFormat1{
  background:linear-gradient(180deg,#0a0a0c,#141117) !important;
  border-top:1px solid var(--gs-line) !important;color:var(--gs-muted) !important;
}
footer a{color:var(--gs-gold) !important;}
footer .headHr,footer h2,footer h3{color:var(--gs-gold) !important;}

/* ---------- Dividers / accents ---------- */
.headHr::after,.borderB::after,.head-bdrb::before{background:var(--gs-grad) !important;}
hr{border-color:var(--gs-line) !important;}

/* ---------- Custom scrollbar ---------- */
::-webkit-scrollbar{width:11px;height:11px;}
::-webkit-scrollbar-track{background:#0b0b0d;}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,var(--gs-gold3),var(--gs-gold));
  border-radius:10px;border:2px solid #0b0b0d;
}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--gs-gold),var(--gs-gold2));}
::selection{background:rgba(212,175,55,.35);color:#fff;}

/* ---------- Scroll-reveal animation states ---------- */
.gs-reveal{opacity:0;transform:translateY(38px);
  transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);
  will-change:opacity,transform;}
.gs-reveal.gs-in{opacity:1;transform:none;}
.gs-reveal.gs-d1{transition-delay:.08s;}
.gs-reveal.gs-d2{transition-delay:.16s;}
.gs-reveal.gs-d3{transition-delay:.24s;}
.gs-reveal.gs-d4{transition-delay:.32s;}

/* float-in entrance for hero/banner */
@keyframes gsFloatUp{from{opacity:0;transform:translateY(40px) scale(.98);}to{opacity:1;transform:none;}}
.DynBanner,.banner_area,.slider-content{animation:gsFloatUp 1.1s cubic-bezier(.2,.8,.2,1) both;}

/* ---------- Back-to-top glow ---------- */
#toTop,.back{
  background:var(--gs-grad) !important;color:#1a150a !important;
  box-shadow:0 6px 20px var(--gs-glow) !important;border-radius:50% !important;
}

/* ---------- Page entrance fade ---------- */
@keyframes gsPageIn{from{opacity:0;}to{opacity:1;}}
.bodycontent{animation:gsPageIn .7s ease both;}

/* ---------- subtle gold top progress shimmer line ---------- */
#gs-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:99999;
  background:var(--gs-grad);background-size:200% auto;box-shadow:0 0 12px var(--gs-glow);
  animation:gsShine 4s linear infinite;}

/* reduce motion respect */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.05ms !important;}
  .gs-reveal{opacity:1 !important;transform:none !important;}
}

/* ============================================================
   PERFORMANCE + MOBILE OPTIMIZATION LAYER
   ============================================================ */

/* Skip rendering work for off-screen sections (huge paint win) */
#bodyFormatNT section{content-visibility:auto;contain-intrinsic-size:auto 700px;}

/* Prevent layout shift / overflow */
html,body{max-width:100%;overflow-x:hidden;}
img{height:auto;}

/* ---- Tablets & down: drop expensive blur, use solid panels ---- */
@media(max-width:992px){
  header,.navF1_format,.fixer,.tml_r_format,.headVr,.t2_fixer,
  .data,.single-box-bdr,.cInfo-box,.resort-box,.services-list li,.category li,.iconBox{
    -webkit-backdrop-filter:none !important;backdrop-filter:none !important;
  }
  .data,.cInfo-box,.resort-box,.services-list li,.category li,.shadowList ul li{
    background:var(--gs-panel-solid) !important;
  }
  header,.tml_r_format.theme1,.t2_fixer{background:#0c0b0e !important;}
}

/* ---- Phones ---- */
@media(max-width:768px){
  /* comfortable tap targets */
  a.button,.button a,a.buttonBig,input.button,.buttonBig a,button.site-btn,
  a.site-btn,.smsBtn,.emailBtn,.bdr-btn,input[type=submit]{
    padding:12px 24px !important;font-size:15px !important;
    min-height:46px;display:inline-flex;align-items:center;justify-content:center;
    border-radius:30px !important;
  }
  .ddsmoothmenu ul li a{padding:14px 16px !important;font-size:16px !important;}
  /* readable headings */
  .h2 h2,.h2 h3,#middle .h2 h2,section h1,section h2{font-size:23px !important;line-height:1.28 !important;}
  p,li,td{font-size:15px !important;line-height:1.6 !important;}
  /* lighter motion + shadows for smoother scroll */
  .gs-reveal{transform:translateY(20px);transition-duration:.6s;}
  .data,.slider ul li>div,.no-scroll li>div{box-shadow:0 6px 16px rgba(0,0,0,.45) !important;}
  .data:hover,.slider ul li:hover>div{transform:translateY(-5px);}
  /* logo + scrollbar */
  .company_mH img,#company img{height:46px !important;}
  ::-webkit-scrollbar{width:5px;}
  /* simpler background = less GPU work */
  .bodycontent,.bodycontent.ei{
    background:linear-gradient(180deg,#0b0b0d,#100f13) !important;
  }
}

/* ---- Small phones ---- */
@media(max-width:480px){
  .h2 h2,#middle .h2 h2,section h1,section h2{font-size:21px !important;}
  .company_mH img,#company img{height:42px !important;}
  a.button,a.buttonBig,input.button{width:auto;max-width:100%;}
}
/* ============================================================
   LOGO VISIBILITY FIX (homepage absolute header) + TRIM-TO-FIT
   ============================================================ */

/* keep the whole header above the homepage banner */
.abs-div.pa,header .abs-div,header{z-index:9999 !important;}
.fixer,.tml_r_format,.row1.col-12.dt{position:relative;z-index:9999;}
.col-1.ofh{overflow:visible !important;}

/* force the logo to render at a fixed height, never clipped, always on top */
#company,#company a.dib,.company_mH,.company_mH .dt{
  display:inline-block !important;overflow:visible !important;
  height:auto !important;width:auto !important;line-height:0 !important;
  position:relative;z-index:10001;
}
#company img,.company_mH img,a.dib img[src*="logo-goswami"]{
  display:block !important;height:60px !important;width:auto !important;
  max-width:280px !important;min-width:130px !important;
  opacity:1 !important;visibility:visible !important;object-fit:contain !important;
}
@media(max-width:768px){
  #company img,.company_mH img,a.dib img[src*="logo-goswami"]{height:46px !important;min-width:108px !important;}
}

/* ---- TRIM ALL PICTURES TO FIT their frames (cover, centred, no white gaps) ---- */
.imgWidth,.imgFrame,.imgFrame.picBg{overflow:hidden !important;}
.imgWidth{background-size:cover !important;background-position:center center !important;background-repeat:no-repeat !important;}
/* any directly-visible content image fills its box without distortion */
.slider ul li img,.no-scroll li img,.category li img,.single-product img,
.clfd-details img,.resort-box img{
  object-fit:cover !important;object-position:center !important;
  width:100% !important;height:100% !important;
}
/* never crop the logo */
#company img,.company_mH img{object-fit:contain !important;width:auto !important;height:60px !important;}
/* ============================================================
   FRONT-PAGE HERO BANNER — cap height so it never hides the menu
   ============================================================ */
.banner_area,.banner_area.pr{
  position:relative;z-index:1 !important;
  max-height:60vh !important;overflow:hidden !important;
}
.fluid_container,.fluid_dg_wrap,#fluid_dg_slider{max-height:60vh !important;}
.fluid_dg_wrap,#fluid_dg_slider{
  height:clamp(300px,56vh,520px) !important;overflow:hidden !important;
}
/* fill the slider area, crop photos to fit (no giant tall images) */
.fluid_dg_pages,.fluid_dg_page,.fluid_dg_page_content,.fluid_dg_photo_wrap{height:100% !important;}
.banner_area img,.fluid_dg_wrap img,.fluid_dg_photo{
  width:100% !important;height:100% !important;
  object-fit:cover !important;object-position:center !important;
}
/* keep slider arrows/dots clickable but below the header */
.fluid_dg_nav,.fluid_dg_pagination{z-index:5 !important;}

@media(max-width:992px){
  .banner_area,.fluid_container,.fluid_dg_wrap,#fluid_dg_slider{
    height:clamp(220px,42vh,360px) !important;max-height:42vh !important;
  }
}
@media(max-width:768px){
  .banner_area,.fluid_container,.fluid_dg_wrap,#fluid_dg_slider{
    height:clamp(170px,34vh,280px) !important;max-height:34vh !important;
  }
}
/* ============================================================
   FIX: header becomes a solid TOP BAR; hero banner sits BELOW it
   (stops big pictures from covering the logo & menu)
   ============================================================ */

/* Header no longer floats over the banner — it sits in normal flow on top */
header.navF1_format,.navF1_format,.abs-div.pa,.abs-div{
  position:relative !important;
  z-index:9999 !important;
  top:auto !important;left:auto !important;right:auto !important;bottom:auto !important;
}
header,.navF1_format,.tml_r_format,.tml_r_format.theme1,.fixer{
  background:#0b0a0d !important;
  -webkit-backdrop-filter:none !important;backdrop-filter:none !important;
}
.tml_r_format.theme1{border-bottom:1px solid var(--gs-line) !important;}

/* Remove the full-viewport (100vh) hero height */
.fullscreen,.fullscreen.wThumb,.wThumb{
  height:auto !important;min-height:0 !important;max-height:none !important;
}
.overlay-slide{display:none !important;}

/* Hero now a tidy band UNDER the menu */
.banner_area,.banner_area.pr{margin-top:0 !important;z-index:1 !important;}
.fluid_dg_wrap,#fluid_dg_slider{height:clamp(300px,52vh,500px) !important;}
@media(max-width:992px){.fluid_dg_wrap,#fluid_dg_slider,.banner_area{height:clamp(200px,40vh,340px) !important;}}
@media(max-width:768px){.fluid_dg_wrap,#fluid_dg_slider,.banner_area{height:clamp(160px,32vh,260px) !important;}}

/* scroll-down arrow stays out of the way */
.scroll-down{z-index:2 !important;}