/* Ojus Ayurved v2 - design polish layer. Loaded last; the original layout and content are untouched. */
:root{
  --oj-green:#2f9340; --oj-green-d:#1f6b2e; --oj-forest:#12442a; --oj-forest-d:#0c3120;
  --oj-plum:#6b1e70; --oj-gold:#d99a2b; --oj-mint:#eefaf2; --oj-ink:#1c2b22; --oj-mute:#55655b;
  --oj-r:16px; --oj-shadow:0 14px 40px -18px rgba(18,68,42,.35);
  --oj-head:inherit;
  --oj-body:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',sans-serif;
}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color:var(--oj-ink)}
::selection{background:var(--oj-green);color:#fff}
:focus-visible{outline:3px solid var(--oj-gold);outline-offset:2px;border-radius:4px}

/* ---------- Header ---------- */
header#masthead{position:sticky!important;z-index:999;background:#fff;transition:box-shadow .25s}
header#masthead.oj-stuck{box-shadow:0 8px 28px -14px rgba(18,68,42,.45)}
.elementskit-navbar-nav>li>a:hover{background:var(--oj-mint)}
.elementskit-navbar-nav .elementskit-submenu-panel{border-radius:14px!important;box-shadow:var(--oj-shadow)!important;border:1px solid #e3efe7}
/* no overflow:hidden here: it clipped the nested OPD / IPD fly-out menus */
.elementskit-navbar-nav .elementskit-submenu-panel>li:first-child>a{border-radius:13px 13px 0 0}
.elementskit-navbar-nav .elementskit-submenu-panel>li:last-child>a{border-radius:0 0 13px 13px}
.elementskit-navbar-nav .elementskit-submenu-panel>li>a{transition:background .2s,padding .2s}
.elementskit-navbar-nav .elementskit-submenu-panel>li>a:hover{background:var(--oj-mint);padding-left:22px}
@media(min-width:1025px){
  .elementskit-navbar-nav>li:last-child>a{border-radius:999px;margin-left:6px;background:var(--oj-green);color:#fff!important;padding-left:20px!important;padding-right:20px!important;box-shadow:0 8px 18px -8px var(--oj-green)}
  .elementskit-navbar-nav>li:last-child>a:hover{background:var(--oj-green-d)}
}
.elementskit-menu-hamburger{border-radius:12px!important}

/* ---------- Hero slider ---------- */
.elementor-swiper-button{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.16);display:flex!important;align-items:center;justify-content:center;backdrop-filter:blur(6px);transition:background .2s}
.elementor-swiper-button:hover{background:rgba(255,255,255,.34)}
.swiper-pagination-bullet{transition:width .25s,background .25s;cursor:pointer}
.swiper-pagination-bullet-active{width:22px!important;border-radius:8px!important;background:var(--oj-green)!important}

/* ---------- Buttons ---------- */
.elementor-button,.elementskit-btn,.trecsa-carousel__details,.wpforms-submit,button[type=submit],input[type=submit]{
  transition:transform .2s,box-shadow .2s,background-color .2s,color .2s!important}
.elementor-button:hover,.elementskit-btn:hover,.trecsa-carousel__details:hover,button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(18,68,42,.55)}

/* ---------- Cards, images, counters ---------- */
.elementor-accordion .elementor-accordion-item{border-radius:12px!important;overflow:hidden;margin-bottom:10px;border:1px solid #dfece3!important;background:#fff}
.elementor-accordion .elementor-tab-title{transition:background .2s;cursor:pointer}
.elementor-accordion .elementor-tab-title:hover,.elementor-accordion .elementor-tab-title.elementor-active{background:var(--oj-mint)}
.elementor-widget-lottie a,.elementor-widget-image a{transition:transform .25s;display:inline-block}
.elementor-widget-lottie a:hover{transform:translateY(-4px)}
.trecsa-carousel__nav,.rpi-ltgt{transition:transform .2s,box-shadow .2s}
.trecsa-carousel__nav:hover{transform:scale(1.08)}
.grw-review-inner{border-radius:16px!important;transition:transform .25s,box-shadow .25s}
.grw-review-inner:hover{transform:translateY(-4px)}
input[type=text],input[type=email],input[type=tel],textarea,select{border-radius:12px!important;transition:border-color .2s,box-shadow .2s}
input:focus,textarea:focus,select:focus{border-color:var(--oj-green)!important;box-shadow:0 0 0 3px rgba(47,147,64,.18)!important;outline:0}

/* ---------- Opening schedule + footer: brand greens instead of bright blue / cyan ---------- */
.elementor-792 .elementor-element-81da695>.elementor-widget-wrap,.elementor-792 .elementor-element-205860e .elementskit-infobox{background-color:var(--oj-forest)!important}
.elementor-792 .elementor-element-b292576>.elementor-widget-wrap,.elementor-792 .elementor-element-5b7d021 .elementskit-infobox{background-color:var(--oj-green-d)!important}
.elementor-792 .elementor-element-d7355fa>.elementor-widget-wrap{background-color:var(--oj-green)!important}
.elementor-792 .elementor-element-d7355fa,.elementor-792 .elementor-element-d7355fa h1,.elementor-792 .elementor-element-d7355fa h2,.elementor-792 .elementor-element-d7355fa h3,.elementor-792 .elementor-element-d7355fa h4,.elementor-792 .elementor-element-d7355fa p,.elementor-792 .elementor-element-d7355fa label{color:#fff!important}
.elementor-792 .elementor-element-d7355fa button,.elementor-792 .elementor-element-d7355fa input[type=submit]{background:var(--oj-plum)!important;border-color:var(--oj-plum)!important;color:#fff!important}
.elementor-792 .elementor-element-81da695>.elementor-widget-wrap{border-radius:var(--oj-r) 0 0 var(--oj-r)}
.elementor-792 .elementor-element-d7355fa>.elementor-widget-wrap{border-radius:0 var(--oj-r) var(--oj-r) 0}
.elementor-792 .elementor-element-b563192{background-color:var(--oj-forest)!important}
.elementor-792 .elementor-element-37ae5bd{background-color:var(--oj-forest-d)!important}
.elementor-792 .ekit-vertical-navbar-nav>li{border-color:rgba(255,255,255,.14)!important}
.elementor-792 .ekit-vertical-navbar-nav>li>a{transition:padding .2s,color .2s}
.elementor-792 .ekit-vertical-navbar-nav>li>a:hover{padding-left:8px;color:#bff0cb!important}
.elementor-792 a{transition:color .2s}

/* ---------- Popup ---------- */
.elementor-popup-modal .dialog-widget-content{border-radius:18px!important;box-shadow:0 40px 90px -30px rgba(0,0,0,.6)}
.elementor-popup-modal .elementor-widget-video{width:min(880px,92vw)}

/* ---------- Mobile quick-action bar ---------- */
.oj-bar{display:none}
@media(max-width:767px){
  html{scroll-padding-top:90px}
  .oj-bar{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:8px;position:fixed;left:10px;right:10px;bottom:10px;z-index:9990;background:#fff;border-radius:18px;padding:7px;box-shadow:0 14px 40px -8px rgba(12,49,32,.5);transition:transform .3s}
  .oj-bar.oj-hide{transform:translateY(140%)}
  .oj-bar a{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 6px;border-radius:13px;font:600 14px/1 var(--oj-body);background:var(--oj-mint);color:var(--oj-green-d);text-decoration:none}
  .oj-bar a.oj-p{background:var(--oj-green);color:#fff}
  .oj-bar svg{width:17px;height:17px;flex:none}
  body{padding-bottom:78px}
  .elementor-792 .elementor-element-81da695>.elementor-widget-wrap,.elementor-792 .elementor-element-d7355fa>.elementor-widget-wrap{border-radius:0}
}

/* ---------- Scroll reveal ---------- */
.oj-rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.oj-rv.oj-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .oj-rv{opacity:1;transform:none}
  *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
@media(min-width:1025px){
  .elementskit-navbar-nav>li:last-child{display:flex;align-items:center}
  .elementskit-navbar-nav>li:last-child>a{line-height:1!important;height:auto!important;padding-top:13px!important;padding-bottom:13px!important}
}

/* ---------- Phone + tablet header: logo left, NABH + menu button right ---------- */
@media(max-width:1024px){
  .elementor-25 .elementor-element-6a7834f8{padding:8px 14px!important;min-height:0!important}
  .elementor-25 .elementor-element-6a7834f8>.e-con-inner{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;padding:0!important}
  .elementor-25 .elementor-element-2af98ea8{width:auto!important;max-width:none!important;flex:0 0 auto!important}
  .elementor-25 .elementor-element-2af98ea8 img{height:46px!important;width:auto!important}
  .elementor-25 .elementor-element-c2c7c04{order:2;margin-left:auto!important;width:auto!important;max-width:none!important;flex:0 0 auto!important}
  .elementor-25 .elementor-element-c2c7c04 img{height:44px!important;width:44px!important}
  .elementor-25 .elementor-element-fbcdf24{order:3;width:auto!important;max-width:none!important;flex:0 0 auto!important}
  .elementor-25 .elementor-element-fbcdf24 button.elementskit-menu-hamburger{float:none!important;display:flex!important;align-items:center;justify-content:center;width:46px;height:46px;padding:0!important;border:0!important;border-radius:14px!important;background:var(--oj-mint)!important}
  .elementor-25 .elementor-element-fbcdf24 button.elementskit-menu-hamburger>.ekit-menu-icon{color:var(--oj-green-d)!important;fill:var(--oj-green-d)!important;width:20px;height:20px}
}

/* ---------- Slider dots: evenly spaced, never overlapping ---------- */
.elementor-widget-slides .swiper-pagination,.elementor-widget-media-carousel .swiper-pagination{display:flex!important;justify-content:center;align-items:center;gap:8px;left:0!important;right:0!important;width:100%!important;transform:none!important}
.elementor-widget-slides .swiper-pagination{position:absolute!important;bottom:14px!important;top:auto!important;z-index:5}
.swiper-pagination .swiper-pagination-bullet{margin:0!important;flex:0 0 auto;width:8px;height:8px;border-radius:8px;opacity:1!important;transform:none!important}
.elementor-widget-slides .swiper-pagination-bullet{background:rgba(255,255,255,.55)!important}
.elementor-widget-slides .swiper-pagination-bullet-active{background:#fff!important}
/* Appointment button: always green with white text, in every state */
@media(min-width:1025px){
  .elementor-25 .elementskit-navbar-nav>li:last-child>a,.elementor-25 .elementskit-navbar-nav>li:last-child>a:hover,.elementor-25 .elementskit-navbar-nav>li:last-child>a:focus,.elementor-25 .elementskit-navbar-nav>li:last-child>a:active,.elementor-25 .elementskit-navbar-nav>li:last-child:hover>a,.elementor-25 .elementskit-navbar-nav>li:last-child.active>a,.elementor-25 .elementskit-navbar-nav>li:last-child.current-menu-item>a{background:var(--oj-green)!important;background-color:var(--oj-green)!important;color:#fff!important}
  .elementor-25 .elementskit-navbar-nav>li:last-child>a:hover,.elementor-25 .elementskit-navbar-nav>li:last-child:hover>a{background:var(--oj-green-d)!important;background-color:var(--oj-green-d)!important}
}

/* nested fly-out menus (OPD / IPD): stay open briefly so a diagonal mouse move reaches them */
@media(min-width:1025px){
  .elementskit-navbar-nav .elementskit-submenu-panel .elementskit-submenu-panel{pointer-events:auto!important;transition:opacity .2s ease,transform .3s ease,visibility 0s linear .35s!important}
  .elementskit-navbar-nav .elementskit-submenu-panel li:hover>.elementskit-submenu-panel{transition-delay:0s!important}
}

/* ---------- About megamenu (static rebuild of the live site's AJAX panel) ---------- */
.oj-mega{display:none}
@media(min-width:1025px){
  .elementskit-navbar-nav>li.oj-mega-li{position:static!important}
  .oj-mega-li>.oj-about-list{display:none!important}
  .oj-mega{display:block;position:absolute;left:var(--oj-mega-left,0);top:100%;width:100vw;z-index:999;background:#fff;border-top:1px solid #e3efe7;border-radius:0 0 22px 22px;box-shadow:0 30px 50px -30px rgba(18,68,42,.45);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .25s ease,transform .3s ease,visibility 0s linear .3s}
  .oj-mega-li:hover>.oj-mega,.oj-mega-li:focus-within>.oj-mega{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
  .oj-mega__in{max-width:1280px;margin:0 auto;padding:30px 32px 30px}
  .oj-mega__h{font:600 34px/1.2 'Fraunces',Georgia,serif;color:var(--oj-ink,#1c2a22);text-align:center;margin:0!important}
  .oj-mega__sub{font-style:italic;font-weight:600;color:#666;text-align:center;margin:10px 0 0!important}
  .oj-mega__grid{display:grid;grid-template-columns:220px repeat(3,1fr);gap:16px 40px;align-items:start;margin-top:22px}
  .oj-mega__grid .oj-mega__tree{align-self:center}
  .oj-mega__grid .oj-mega__tree{width:200px!important;height:200px!important;max-width:none;justify-self:center}
  .oj-mega__grid ul{list-style:none;margin:0!important;padding:0!important}
  .oj-mega__grid li{margin:0}
  .oj-mega__grid a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;font-size:19px;line-height:1.3;color:#036600!important;text-decoration:none!important;transition:background .2s,padding .2s}
  .oj-mega__grid a svg{flex:none;color:var(--oj-green,#2f9340)}
  .oj-mega__grid a:hover{background:var(--oj-mint,#eefaf2);padding-left:18px}
  .oj-mega__foot{max-width:1100px;margin:22px auto 0!important;text-align:center;font-weight:600;font-size:15px;line-height:1.7;color:#666;border-top:1px dashed #d5e5d9;padding-top:18px}
}

/* header must sit above page content everywhere (home slider was covering the megamenu) */
header#masthead{z-index:999!important}
/* phone / tablet menu: tapping the arrow expands the submenu (site.js toggles .open-submenu) */
@media(max-width:1024px){
  .elementskit-navbar-nav li.open-submenu>.elementskit-dropdown{display:block!important;position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;max-height:none!important;box-shadow:none!important;border:0!important;border-radius:12px!important;background:var(--oj-mint,#eefaf2)!important;margin:4px 10px 8px!important;min-width:0!important;width:auto!important}
  .elementskit-navbar-nav li.open-submenu>.elementskit-dropdown .elementskit-dropdown{background:#fff!important}
  .elementskit-navbar-nav li.open-submenu>a .elementskit-submenu-indicator{transform:rotate(180deg)}
  .elementskit-navbar-nav .elementskit-dropdown>li>a{white-space:normal}
}

/* About megamenu inside the phone / tablet menu: same content as desktop, stacked (as on the live site) */
@media(max-width:1024px){
  .elementskit-navbar-nav li.oj-mega-li>.oj-about-list{display:none!important}
  .oj-mega-li.open-submenu>.oj-mega{display:block;background:#fff;border-radius:14px;margin:4px 10px 10px;padding:16px 14px 14px;border:1px solid #e3efe7}
  .oj-mega__h{font:600 24px/1.2 'Fraunces',Georgia,serif;color:var(--oj-ink,#1c2a22);text-align:center;margin:0!important}
  .oj-mega__sub{font-style:italic;font-weight:600;font-size:14px;color:#666;text-align:center;margin:6px 0 0!important}
  .oj-mega__grid{display:block;margin-top:8px}
  .oj-mega__grid .oj-mega__tree{display:block;width:120px!important;height:120px!important;margin:0 auto 6px}
  .oj-mega__grid ul{list-style:none;margin:0 0 10px!important;padding:0!important}
  .oj-mega__grid li{margin:0}
  .oj-mega__grid a{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:10px;font-size:19px;line-height:1.3;color:#036600!important;text-decoration:none!important}
  .oj-mega__grid a svg{flex:none;color:var(--oj-green,#2f9340)}
  .oj-mega__grid a:active{background:var(--oj-mint,#eefaf2)}
  .oj-mega__foot{margin:8px 0 0!important;padding-top:12px;border-top:1px dashed #d5e5d9;text-align:center;font-weight:600;font-size:13px;line-height:1.6;color:#666}
}
.oj-mega__grid .oj-mega__tree{object-fit:contain}
