/* Ported from samarthivf.com (nav). */

#sivf-nav,#sivf-nav *,#sivf-nav *::before,#sivf-nav *::after{box-sizing:border-box;margin:0;padding:0;}
#sivf-nav svg{fill:none !important;}
#sivf-nav a{text-decoration:none;}
#sivf-nav ul{list-style:none;}
#sivf-nav{font-family:'Montserrat',sans-serif;position:sticky;top:0;z-index:9999;width:100vw;margin-left:calc(50% - 50vw);box-sizing:border-box;border-bottom:0px solid rgba(139,43,137,.08);}
#sivf-nav .sn-wrap{max-width:1480px;margin:0 auto;padding:0 24px;height:68px;display:flex;align-items:center;gap:20px;position:relative;}
#sivf-nav .sn-logo{flex-shrink:0;position:relative;z-index:10002;}
#sivf-nav .sn-logo img{height:70px;width:auto;display:block;}
#sivf-nav .sn-list{display:flex;align-items:center;gap:0;flex:1;justify-content:center;}
#sivf-nav .sn-list>li{position:relative;}
#sivf-nav .sn-list>li>a{display:flex;align-items:center;gap:4px;padding:8px 13px;font-size:.88rem;font-weight:600;color:#2a1840;border-radius:10px;transition:color .15s,background .15s;white-space:nowrap;cursor:pointer;}
#sivf-nav .sn-chev{transition:transform .2s;flex-shrink:0;opacity:.6;}
#sivf-nav .sn-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#8b2b89,#563084);color:#fff !important;font-size:.82rem;font-weight:700;padding:10px 20px;border-radius:100px;box-shadow:0 4px 16px rgba(139,43,137,.3);transition:transform .15s,box-shadow .15s;white-space:nowrap;}
#sivf-nav .sn-cta:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(139,43,137,.4);}
#sivf-nav .sn-burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:none;border:1.5px solid #e6d4ee;border-radius:10px;cursor:pointer;flex-shrink:0;margin-left:auto;position:relative;z-index:10002;}
#sivf-nav .sn-burger span{display:block;width:20px;height:2px;background:#563084;border-radius:2px;transition:transform .25s,opacity .2s;}
#sivf-nav .sn-burger.on span:nth-child(1){transform:translateY(7px) rotate(45deg);}
#sivf-nav .sn-burger.on span:nth-child(2){opacity:0;}
#sivf-nav .sn-burger.on span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

#sivf-nav .sn-panel{position:absolute;top:100%;padding-top:10px;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .18s,transform .18s;z-index:1000;}
#sivf-nav .sn-panel-card{background:#fff;border:1px solid #e6d4ee;border-radius:18px;box-shadow:0 20px 60px rgba(86,48,132,.14);overflow:hidden;}
#sivf-nav .sn-panel.drop{left:0;min-width:210px;}
#sivf-nav .sn-panel.drop .sn-panel-card{border-radius:14px;padding:8px;}
#sivf-nav .sn-drow{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:#2a1840;font-size:.85rem;font-weight:500;transition:background .13s,color .13s;}
#sivf-nav .sn-dico{width:28px;height:28px;border-radius:8px;background:rgba(139,43,137,.09);display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* Shifted box rightwards to prevent logo overlap */
#sivf-nav .sn-panel.about{left:-80px;transform:translateY(-4px);width:750px;}
#sivf-nav .sn-panel.about .sn-panel-card{display:grid;grid-template-columns:1.1fr 1.45fr 1.45fr;overflow:hidden;}
#sivf-nav .sn-a-left{padding:22px;background:linear-gradient(160deg,#faf4fc,#f3e8f7);}
#sivf-nav .sn-a-badge{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8b2b89;background:rgba(139,43,137,.12);padding:3px 10px;border-radius:100px;display:inline-block;margin-bottom:10px;}
#sivf-nav .sn-a-left h3{font-size:1rem;font-weight:800;color:#2a1840;margin-bottom:6px;line-height:1.3;}
#sivf-nav .sn-a-left p{font-size:.77rem;color:#563084;line-height:1.5;opacity:.9;}
#sivf-nav .sn-a-right{padding:14px;}
#sivf-nav .sn-a-right-border{border-left:1px solid #f1e8f5;}
#sivf-nav .sn-a-right-title{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8b2b89;margin-bottom:10px;padding-left:10px;display:block;}
#sivf-nav .sn-arow{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:11px;color:#2a1840;transition:background .13s,transform .13s;margin-bottom:2px;}
#sivf-nav .sn-aico{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
#sivf-nav .sn-aname{font-size:.83rem;font-weight:600;color:#2a1840;display:block;line-height:1.2;}
#sivf-nav .sn-asub{font-size:.69rem;color:#8b2b89;display:block;margin-top:1px;}

#sivf-nav .sn-panel.treats{left:50%;transform:translateX(-50%) translateY(-4px);width:700px;}
#sivf-nav .sn-panel.treats .sn-panel-card{overflow:visible;}
#sivf-nav .sn-thead{display:flex;align-items:center;gap:10px;padding:16px 20px 13px;border-bottom:1px solid #f1e8f5;}
#sivf-nav .sn-thead h4{font-size:.9rem;font-weight:700;color:#2a1840;margin-bottom:2px;}
#sivf-nav .sn-thead p{font-size:.73rem;color:#8b2b89;}
#sivf-nav .sn-tgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:12px;}
#sivf-nav .sn-trow{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:12px;color:#2a1840;transition:background .13s,transform .13s;}
#sivf-nav .sn-tico{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
#sivf-nav .sn-tname{font-size:.83rem;font-weight:600;color:#2a1840;display:block;line-height:1.3;}
#sivf-nav .sn-tsub{font-size:.69rem;color:#8b2b89;display:block;margin-top:2px;}

#sivf-nav .sn-panel.branches{right:0;left:auto;width:660px;}
#sivf-nav .sn-panel.branches .sn-panel-card{overflow:hidden;}
#sivf-nav .sn-bhead{padding:16px 20px 12px;border-bottom:1px solid #f1e8f5;}
#sivf-nav .sn-bhead h4{font-size:.9rem;font-weight:700;color:#2a1840;}
#sivf-nav .sn-bhead p{font-size:.73rem;color:#8b2b89;margin-top:2px;}
#sivf-nav .sn-bgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:12px;}
#sivf-nav .sn-brow{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 6px;border-radius:12px;color:#2a1840;text-align:center;transition:background .13s,transform .13s;}
#sivf-nav .sn-bdot{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#f3e8f7,#dcc3e6);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
#sivf-nav .sn-bdot.main{background:linear-gradient(135deg,#8b2b89,#563084);}
#sivf-nav .sn-bname{font-size:.76rem;font-weight:600;color:#2a1840;line-height:1.3;}
#sivf-nav .sn-brow.main .sn-bname{color:#8b2b89;}
#sivf-nav .sn-bmain-tag{font-size:.62rem;color:#d3a6dc;font-weight:400;}

@keyframes snSlideDown{
  from{opacity:0;transform:translateY(-14px) scale(.97);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
@keyframes snSlideUp{
  from{opacity:1;transform:translateY(0) scale(1);}
  to{opacity:0;transform:translateY(-10px) scale(.97);}
}

/* MOBILE REPLACEMENT ANIMATIONS - PREVENTS SCROLL AND COMPOSITING LOCKUPS ON MOBILE CHROMIUM */
@keyframes snFadeInMobile{
  from{opacity:0;}
  to{opacity:1;}
}
@keyframes snFadeOutMobile{
  from{opacity:1;}
  to{opacity:0;}
}

/* DESKTOP HOVER STYLES - ISOLATED TO PREVENT MOBILE CLASHES & STICKY TOUCH HIGHLIGHTS */
@media(min-width:960px){
  #sivf-nav .sn-list>li>a:hover, #sivf-nav .sn-list>li:hover>a{color:#8b2b89;background:rgba(139,43,137,.07);}
  #sivf-nav .sn-list>li:hover .sn-panel{opacity:1;pointer-events:auto;transform:translateY(0);}
  #sivf-nav .sn-list>li:hover .sn-chev{transform:rotate(180deg);}
  #sivf-nav .sn-list>li:hover .sn-panel.about{transform:translateY(0);}
  #sivf-nav .sn-list>li:hover .sn-panel.treats{transform:translateX(-50%) translateY(0);}
  
  /* Row Hovers Desktop Only */
  #sivf-nav .sn-arow:hover{background:rgba(139,43,137,.07);transform:translateX(2px);}
  #sivf-nav .sn-trow:hover{background:rgba(139,43,137,.07);transform:translateX(2px);}
  #sivf-nav .sn-brow:hover{background:rgba(139,43,137,.07);transform:translateY(-2px);}
  #sivf-nav .sn-drow:hover{background:rgba(139,43,137,.07);color:#8b2b89;}
  #sivf-nav .sn-cta:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(139,43,137,.4);}
}

@media(max-width:960px){
  #sivf-nav .sn-wrap{height:68px;}
  #sivf-nav .sn-logo img{height:46px !important;} /* Restricts logo height to prevent layout overflows */
  
  /* REPOSITIONED: Absolute layout bound to the bottom of the sticky wrapper ensures no logo or button overlap */
  #sivf-nav .sn-list{
    display:none !important; /* Hidden by default */
    position:absolute !important;
    top:100% !important; /* Forces layout to start exactly below the header wrap height */
    left:12px !important;
    right:12px !important;
    max-height:calc(100vh - 100px) !important;
    background:#fff;
    border:1.5px solid rgba(139,43,137,.22);
    border-radius:20px;
    padding:16px 12px 20px !important;
    overflow-y:auto !important;
    overscroll-behavior-y:contain;
    overflow-anchor:none !important;
    box-shadow:0 16px 48px rgba(86,48,132,.18),0 2px 8px rgba(139,43,137,.08);
    gap:0;
    z-index:10001;
    -webkit-overflow-scrolling:touch;
  }
  
  #sivf-nav .sn-list.on{
    display:block !important; /* Block layout handles vertical overflow calculations correctly */
    animation:snFadeInMobile .22s ease-out forwards;
  }
  #sivf-nav .sn-list.closing{
    display:block !important;
    animation:snFadeOutMobile .16s ease-in forwards;
  }
  #sivf-nav .sn-burger{display:flex;}
  #sivf-nav .sn-cta{display:none;}
  #sivf-nav .sn-list>li{position:relative;overflow-anchor:none !important;display:block !important;width:100% !important;}
  #sivf-nav .sn-list>li>a{font-size:.95rem;padding:13px 10px;justify-content:space-between;border-radius:10px;min-height:48px;border-bottom:1px solid rgba(139,43,137,.07);position:relative;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:manipulation;display:flex !important;}
  #sivf-nav .sn-list>li:last-child>a{border-bottom:none;}
  #sivf-nav .sn-list>li:hover>a{background:none;color:#2a1840;}
  #sivf-nav li.mob-open>a{color:#8b2b89;background:rgba(139,43,137,.06);}
  #sivf-nav li.mob-open>a .sn-chev{transform:rotate(180deg);}
  
  /* Adjusted mobile panel styles for layout stability */
  #sivf-nav .sn-panel{
    position:relative !important;
    opacity:0;
    pointer-events:none;
    transform:none !important;
    padding-top:0;
    max-height:0;
    overflow:hidden !important;
    overflow-anchor:none !important;
    transition:max-height .22s cubic-bezier(.4,0,.2,1),opacity .22s,margin .22s cubic-bezier(.4,0,.2,1) !important;
    width:100% !important;
    left:auto !important;
    right:auto !important;
    border-radius:14px;
    margin:0;
    z-index:10 !important;
  }
  
  /* Stacking layer definition for the card component */
  #sivf-nav .sn-panel-card{
    position:relative !important;
    overflow:hidden !important;
    border-radius:12px;
    border:none;
    box-shadow:none;
    background:rgba(139,43,137,.04);
    margin:4px 0 8px;
  }
  
  #sivf-nav li.mob-open .sn-panel{
    opacity:1 !important;
    max-height:1200px !important; /* Adjusted standard height boundary for performance */
    pointer-events:auto !important;
    margin-bottom:6px;
  }
  #sivf-nav .sn-panel.about .sn-panel-card{grid-template-columns:1fr;}
  #sivf-nav .sn-a-left{display:none;}
  #sivf-nav .sn-a-right{padding:6px 8px;}
  #sivf-nav .sn-a-right-border{border-left:none;border-top:1px solid #f1e8f5;margin-top:8px;padding-top:12px !important;}
  #sivf-nav .sn-arow{padding:11px 10px;min-height:48px;position:relative;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:manipulation;display:flex !important;}
  
  #sivf-nav .sn-tgrid{grid-template-columns:1fr;padding:6px 8px;display:grid !important;}
  
  #sivf-nav .sn-trow{min-height:48px;padding:10px 10px;position:relative;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:manipulation;display:flex !important;}
  #sivf-nav .sn-thead{display:none;}
  #sivf-nav .sn-bgrid{grid-template-columns:repeat(3,1fr);padding:8px;display:grid !important;}
  #sivf-nav .sn-bhead{display:none;}
  #sivf-nav .sn-brow{min-height:64px;padding:10px 4px;position:relative;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:manipulation;display:flex !important;}
  #sivf-nav .sn-panel.drop .sn-panel-card{padding:6px;}
  #sivf-nav .sn-drow{min-height:48px;padding:12px 12px;position:relative;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:manipulation;display:flex !important;}
  
  #sivf-nav li.mob-open .sn-panel,
  #sivf-nav li.mob-open .sn-panel *{
    pointer-events:auto !important;
  }

  #sivf-nav .sn-panel{
    z-index:1;
  }

  #sivf-nav .sn-trow,
  #sivf-nav .sn-drow,
  #sivf-nav .sn-arow,
  #sivf-nav .sn-brow{
    pointer-events:auto !important;
    position:relative;
    z-index:5;
  }

  /* FORCE DISABLE ALL ACTIVE/HOVER FLASH STYLES ON MOBILE CHROME/ANDROID */
  #sivf-nav .sn-arow:hover, #sivf-nav .sn-arow:active, #sivf-nav .sn-arow:focus,
  #sivf-nav .sn-trow:hover, #sivf-nav .sn-trow:active, #sivf-nav .sn-trow:focus,
  #sivf-nav .sn-brow:hover, #sivf-nav .sn-brow:active, #sivf-nav .sn-brow:focus,
  #sivf-nav .sn-drow:hover, #sivf-nav .sn-drow:active, #sivf-nav .sn-drow:focus {
    background: none !important;
    transform: none !important;
    color: inherit !important;
  }
}
@media(max-width:540px){
  #sivf-nav .sn-bgrid{grid-template-columns:repeat(2,1fr);}
  #sivf-nav .sn-bname{font-size:.72rem;}
}
@media(max-width:380px){
  #sivf-nav .sn-wrap{padding:0 14px;}
  #sivf-nav .sn-logo img{height:42px !important;} /* Keeps proportional scaling boundaries secure on smallest viewports */
}


/* ===== PLUGIN-PROOF SVG ICONS (JegKit / Elementor addon conflicts) ===== */
#sivf-nav svg{
  fill:none !important;
  display:inline-block;
  flex-shrink:0;
  max-width:none !important;
  vertical-align:middle;
  overflow:visible;
}
#sivf-nav svg *{
  fill:none !important;              /* stops plugin black-fill */
  stroke:inherit !important;         /* keeps each icon's own stroke colour */
  stroke-width:inherit !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
/* Lock icon sizes in case the plugin forces svg{width:1em;height:1em} */
#sivf-nav .sn-aico svg{width:17px !important;height:17px !important;}
#sivf-nav .sn-tico svg{width:18px !important;height:18px !important;}
#sivf-nav .sn-dico svg{width:14px !important;height:14px !important;}
#sivf-nav .sn-thead > svg{width:20px !important;height:20px !important;}
#sivf-nav .sn-bdot svg{width:12px !important;height:12px !important;}
#sivf-nav .sn-bdot.main svg{width:13px !important;height:13px !important;}
#sivf-nav .sn-chev{width:13px !important;height:13px !important;}
#sivf-nav .sn-cta svg{width:14px !important;height:14px !important;}

/* Small laptops / tablets held sideways (961–1279px): the full desktop row (logo, 8 links, CTA) needs ~1175px,
   so tighten spacing and type here instead of letting "Book Consultation" run off the right edge. */
@media (min-width:961px) and (max-width:1279px){
  #sivf-nav .sn-wrap{gap:12px;padding:0 14px;}
  #sivf-nav .sn-logo img{height:56px;}
  #sivf-nav .sn-list>li>a{padding:8px 8px;font-size:.84rem;gap:2px;}
  #sivf-nav .sn-cta{padding:9px 16px;font-size:.78rem;gap:5px;}
}
@media (min-width:961px) and (max-width:1100px){
  #sivf-nav .sn-wrap{gap:8px;padding:0 10px;}
  #sivf-nav .sn-logo img{height:50px;}
  #sivf-nav .sn-list>li>a{padding:8px 5px;font-size:.8rem;}
  #sivf-nav .sn-cta{padding:8px 13px;}
  /* Centred under its link, the 700px treatments panel would start off-screen; anchor it like "About". */
  #sivf-nav .sn-panel.treats{left:-60px;transform:translateY(-4px);}
  #sivf-nav .sn-list>li:hover .sn-panel.treats{transform:translateY(0);}
}
