/* Shiloh's Garden universal navigation — isolated from page/hero styles */
:root{
  --sg-green:#315c2b;
  --sg-green-dark:#274b23;
  --sg-cream:#fffaf3;
  --sg-pink:#e85f87;
  --sg-pink-light:#f49ab2;
}

.sg-nav{
  position:sticky;
  top:0; left:0; right:0;
  width:100%;
  z-index:9999;
  background:rgba(255,250,243,.985);
  border-bottom:1px solid rgba(49,92,43,.11);
  box-shadow:0 5px 18px rgba(49,92,43,.055);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.sg-nav-inner{
  width:min(94%,1440px);
  min-height:82px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:24px;
  position:relative;
  z-index:3;
}
.sg-logo{display:flex;align-items:center;flex-shrink:0;margin-right:auto}
.sg-logo img{display:block;width:128px;height:64px;object-fit:contain}
.sg-desktop-links{
  display:flex;align-items:center;justify-content:center;
  gap:clamp(17px,1.7vw,31px);flex:1;
}
.sg-desktop-links a{
  position:relative;color:var(--sg-green);text-decoration:none;
  font-size:14px;font-weight:700;padding:12px 0;white-space:nowrap;
  transition:color .25s ease;
}
.sg-desktop-links a::after{
  content:"";position:absolute;left:50%;bottom:4px;width:0;height:2px;
  border-radius:999px;background:var(--sg-pink);transform:translateX(-50%);
  transition:width .25s ease;
}
.sg-desktop-links a:hover{color:var(--sg-pink)}
.sg-desktop-links a:hover::after{width:100%}
.sg-nav-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.sg-tour{
  min-height:46px;padding:11px 20px;display:inline-flex;align-items:center;
  justify-content:center;border-radius:999px;background:var(--sg-green);
  color:#fff;text-decoration:none;font-size:13px;font-weight:800;
  white-space:nowrap;transition:transform .2s ease,background .2s ease;
}
.sg-tour:hover{transform:translateY(-1px);background:var(--sg-green-dark)}
.sg-tour-mobile{display:none}
.sg-menu-button{
  display:none;width:46px;height:46px;flex:0 0 46px;padding:0;
  border:1px solid rgba(49,92,43,.18);border-radius:50%;
  background:rgba(255,255,255,.78);cursor:pointer;align-items:center;
  justify-content:center;flex-direction:column;gap:5px;position:relative;z-index:10002;
}
.sg-menu-line{
  display:block;width:19px;height:2px;border-radius:99px;
  background:var(--sg-green);transition:transform .3s ease,opacity .2s ease;
}
.sg-menu-button.is-open .sg-menu-line:nth-child(1){transform:translateY(7px) rotate(45deg)}
.sg-menu-button.is-open .sg-menu-line:nth-child(2){opacity:0}
.sg-menu-button.is-open .sg-menu-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.sg-mobile-menu{display:none}

@media(max-width:991px){
  .sg-nav{
    position:fixed;top:0;left:0;right:0;width:100%;
    overflow:visible;
  }
  .sg-nav-inner{
    width:calc(100% - 30px);min-height:72px;gap:10px;
    position:relative;z-index:3;
  }
  .sg-logo{margin-right:auto}
  .sg-logo img{width:110px;height:55px}
  .sg-desktop-links{display:none}
  .sg-tour-desktop{display:none}
  .sg-tour-mobile{display:inline}
  .sg-tour{min-height:42px;padding:9px 17px;font-size:13px}
  .sg-menu-button{display:flex}

  /* Flowers distributed across the whole navbar, not just the corners. */
  .sg-nav-flower-strip{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    overflow:hidden;
  }
  .sg-nav-flower-strip span{
    position:absolute;
    color:var(--sg-pink-light);
    font-family:Georgia,"Times New Roman",serif;
    line-height:1;
    opacity:.55;
    filter:drop-shadow(0 1px 2px rgba(49,92,43,.05));
  }
  .sg-nav-flower-strip span:nth-child(1){left:3%;top:8px;font-size:12px;transform:rotate(-8deg)}
  .sg-nav-flower-strip span:nth-child(2){left:18%;bottom:6px;font-size:15px;transform:rotate(7deg)}
  .sg-nav-flower-strip span:nth-child(3){left:34%;top:7px;font-size:11px;transform:rotate(-4deg)}
  .sg-nav-flower-strip span:nth-child(4){left:49%;bottom:5px;font-size:16px;transform:rotate(4deg)}
  .sg-nav-flower-strip span:nth-child(5){left:64%;top:8px;font-size:12px;transform:rotate(-6deg)}
  .sg-nav-flower-strip span:nth-child(6){left:79%;bottom:6px;font-size:14px;transform:rotate(8deg)}
  .sg-nav-flower-strip span:nth-child(7){right:3%;top:8px;font-size:11px;transform:rotate(-3deg)}

  /* Homepage only: keep nav hidden during the sunflower opening, just like the original behavior. */
  .v4-home.sg-intro-active .sg-nav{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-100%)!important;
  }
  .v4-home .sg-nav{
    transition:opacity .28s ease,transform .28s ease,visibility .28s ease;
  }

  .sg-mobile-menu{
    display:block;position:fixed;top:72px;left:0;right:0;width:100%;
    max-height:calc(100vh - 72px);overflow-y:auto;padding:25px 6vw 32px;
    background:var(--sg-cream);border-bottom:1px solid rgba(49,92,43,.15);
    box-shadow:0 20px 38px rgba(35,66,31,.14);z-index:9998;
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-18px);
    transition:opacity .28s ease,transform .35s cubic-bezier(.2,.8,.2,1),visibility .28s ease;
  }
  .sg-mobile-menu.is-open{
    opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);
  }
  .sg-menu-flowers{
    display:flex;align-items:center;justify-content:center;gap:16px;
    margin-bottom:17px;color:var(--sg-pink-light);
    font-family:Georgia,"Times New Roman",serif;font-size:16px;
    opacity:.76;pointer-events:none;user-select:none;
  }
  .sg-menu-flowers span:nth-child(1){font-size:13px}
  .sg-menu-flowers span:nth-child(2){transform:translateY(-3px)}
  .sg-menu-flowers span:nth-child(3){font-size:19px}
  .sg-menu-flowers span:nth-child(4){transform:translateY(2px);font-size:13px}
  .sg-menu-flowers span:nth-child(5){font-size:15px}
  .sg-menu-flowers-bottom{margin-top:21px;margin-bottom:0;font-size:12px;opacity:.48}

  .sg-mobile-links{display:flex;flex-direction:column}
  .sg-mobile-links a{
    min-height:51px;display:flex;align-items:center;justify-content:space-between;
    gap:15px;padding:13px 4px;border-bottom:1px solid rgba(49,92,43,.10);
    color:var(--sg-green);text-decoration:none;font-size:15px;font-weight:800;
    transition:color .2s ease,padding-left .22s ease;
  }
  .sg-mobile-links a:hover{color:var(--sg-pink);padding-left:9px}
  .sg-mobile-arrow{
    color:var(--sg-pink-light);font-size:17px;font-weight:400;
    transition:transform .2s ease;
  }
  .sg-mobile-links a:hover .sg-mobile-arrow{transform:translateX(4px)}
  .sg-mobile-enroll{
    min-height:52px;margin-top:20px;padding:14px 22px;display:flex;
    align-items:center;justify-content:center;border-radius:999px;
    background:var(--sg-pink);color:#fff;text-decoration:none;text-align:center;
    font-size:15px;font-weight:800;box-shadow:0 9px 20px rgba(232,95,135,.17);
  }

  /* Subpages need room for the fixed header. The homepage hero remains untouched. */
  body:not(.v4-home) main{padding-top:72px}
}

@media(max-width:767px){
  .sg-nav-inner{width:calc(100% - 24px)}
  .sg-nav-flower-strip span:nth-child(2),
  .sg-nav-flower-strip span:nth-child(6){font-size:13px}
  .sg-nav-flower-strip span:nth-child(4){font-size:14px}
  .sg-logo img{width:104px;height:52px}
}

@media(max-width:479px){
  .sg-nav-inner{width:calc(100% - 18px);min-height:70px;gap:7px}
  .sg-nav-flower-strip span{opacity:.48}
  .sg-nav-flower-strip span:nth-child(1){left:2%;font-size:10px}
  .sg-nav-flower-strip span:nth-child(2){left:16%;font-size:11px}
  .sg-nav-flower-strip span:nth-child(3){left:31%;font-size:9px}
  .sg-nav-flower-strip span:nth-child(4){left:47%;font-size:12px}
  .sg-nav-flower-strip span:nth-child(5){left:63%;font-size:10px}
  .sg-nav-flower-strip span:nth-child(6){left:78%;font-size:11px}
  .sg-nav-flower-strip span:nth-child(7){right:2%;font-size:9px}
  .sg-logo img{width:96px;height:48px}
  .sg-tour{min-height:39px;padding:8px 13px;font-size:12px}
  .sg-menu-button{width:42px;height:42px;flex-basis:42px}
  .sg-menu-line{width:18px}
  .sg-mobile-menu{
    top:70px;max-height:calc(100vh - 70px);padding:22px 20px 28px;
  }
  .sg-menu-flowers{gap:12px;font-size:14px}
  .sg-mobile-links a{min-height:49px;padding:12px 2px;font-size:14px}
  body:not(.v4-home) main{padding-top:70px}
}
body.sg-menu-open{overflow:hidden}

/* ==========================================================
   V135 — DESKTOP ONLY (992px+)
   Restore the original pre-universal desktop navbar sizing/
   spacing from V132, while keeping the distributed flowers.
   Tablet/mobile rules below remain unchanged.
========================================================== */
@media (min-width:992px){

  .sg-nav{
    position:sticky;
    top:0;
    left:0;
    right:0;
    width:100%;
    z-index:9999;

    background:rgba(255,250,243,.96);
    border-bottom:1px solid rgba(49,92,43,.14);

    /* Original desktop navbar was flatter / simpler. */
    box-shadow:none;

    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);

    overflow:visible;
  }

  .sg-nav-inner{
    width:min(1380px,94vw);
    min-height:84px;

    margin:0 auto;

    display:flex;
    align-items:center;

    gap:20px;

    position:relative;
    z-index:3;
  }

  .sg-logo{
    margin-right:auto;
  }

  .sg-logo img{
    width:132px;
    height:64px;

    object-fit:contain;
  }

  .sg-desktop-links{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:14px;

    flex:initial;
  }

  .sg-desktop-links a{
    position:relative;

    padding:0;

    color:#315c2b;

    font-size:11px;
    font-weight:800;

    line-height:1.2;

    white-space:nowrap;
  }

  .sg-desktop-links a:hover{
    color:#e34c7b;
  }

  .sg-desktop-links a::after{
    bottom:-5px;
    height:2px;
  }

  .sg-nav-actions{
    display:flex;
    align-items:center;

    gap:10px;

    flex-shrink:0;
  }

  .sg-tour{
    min-height:46px;

    padding:11px 20px;

    border-radius:999px;

    background:#315c2b;

    color:#fff;

    font-size:12px;
    font-weight:800;

    white-space:nowrap;
  }

  .sg-tour-desktop{
    display:inline;
  }

  .sg-tour-mobile{
    display:none;
  }

  .sg-menu-button,
  .sg-mobile-menu{
    display:none!important;
  }

  /* Same distributed flower idea as mobile, across the full desktop nav. */
  .sg-nav-flower-strip{
    position:absolute;
    inset:0;

    display:block;

    z-index:1;

    pointer-events:none;

    overflow:hidden;
  }

  .sg-nav-flower-strip span{
    position:absolute;

    color:var(--sg-pink-light);

    font-family:Georgia,"Times New Roman",serif;

    line-height:1;

    opacity:.48;

    filter:drop-shadow(0 1px 2px rgba(49,92,43,.04));
  }

  .sg-nav-flower-strip span:nth-child(1){
    left:3%;
    top:11px;
    font-size:12px;
    transform:rotate(-8deg);
  }

  .sg-nav-flower-strip span:nth-child(2){
    left:18%;
    bottom:8px;
    font-size:14px;
    transform:rotate(7deg);
  }

  .sg-nav-flower-strip span:nth-child(3){
    left:34%;
    top:9px;
    font-size:10px;
    transform:rotate(-4deg);
  }

  .sg-nav-flower-strip span:nth-child(4){
    left:49%;
    bottom:7px;
    font-size:15px;
    transform:rotate(4deg);
  }

  .sg-nav-flower-strip span:nth-child(5){
    left:64%;
    top:10px;
    font-size:11px;
    transform:rotate(-6deg);
  }

  .sg-nav-flower-strip span:nth-child(6){
    left:79%;
    bottom:8px;
    font-size:13px;
    transform:rotate(8deg);
  }

  .sg-nav-flower-strip span:nth-child(7){
    right:3%;
    top:10px;
    font-size:10px;
    transform:rotate(-3deg);
  }
}



/* ============================================================
   V149 — NAV LOGO READABILITY
   Larger logo without making the navigation bulky.
============================================================ */

@media(min-width:992px){
  .sg-logo img{
    width:148px!important;
    height:70px!important;
  }
}

@media(max-width:991px){
  .sg-logo img,
  body.v4-home .sg-logo img{
    width:128px!important;
    height:62px!important;
    max-width:39vw!important;
  }
}

@media(max-width:767px){
  .sg-logo img,
  body.v4-home .sg-logo img{
    width:122px!important;
    height:60px!important;
    max-width:40vw!important;
  }
}

@media(max-width:479px){
  .sg-logo img,
  body.v4-home .sg-logo img{
    width:116px!important;
    height:57px!important;
    max-width:40vw!important;
  }
}
