/* ─────────────────────────────────────────────────────────────
   Top navigation — smooth version.
   Links sit dead-centre in Maria's handwriting font, little hearts
   between them, and a pink squiggle draws itself under the one
   you hover (and stays under the page you're on). The bar slims down
   gently when you scroll. Loaded AFTER each page's own styles.
   ───────────────────────────────────────────────────────────── */
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;
  padding:16px 34px;background:rgba(255,246,241,.78);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid rgba(224,92,126,.14);box-shadow:0 0 0 rgba(58,34,48,0);
  transition:padding .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease, background .45s ease}
.nav.scrolled{padding:9px 34px;background:rgba(255,246,241,.9);box-shadow:0 10px 30px -12px rgba(58,34,48,.18)}
.nav::after{content:none}
.nav .logo{justify-self:start;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.nav .logo:hover{transform:rotate(-4deg) scale(1.04)}

/* handwritten links — no boxes, a pink squiggle draws itself underneath */
.nav-links{justify-self:center;display:flex;gap:30px;align-items:center;font-family:'Caveat',cursive;font-size:1.6rem;font-weight:700;line-height:1;gap:38px}
.nav-links a{position:relative;display:inline-block;padding:4px 4px 6px;color:var(--plum);text-decoration:none;white-space:nowrap;
  transition:color .4s ease, transform .55s cubic-bezier(.22,1,.36,1)}
.nav-links a:hover{color:var(--hot);transform:translateY(-2px) rotate(-2deg)}
.nav-links a.on{color:var(--hot)}
.nav-links a::after{content:none!important}
/* little hearts between the links */
.nav-links a + a::before{content:"♡";position:absolute;left:-25px;top:50%;transform:translateY(-45%);font-family:'Nunito',sans-serif;font-size:.95rem;color:var(--blush);pointer-events:none}
.nav-links a + a:hover::before{color:var(--blush)}
/* the squiggle (svg added by nav-auth.js) */
.nav-links .squiggle{position:absolute;left:-3px;bottom:-5px;width:calc(100% + 6px);height:12px;overflow:visible;pointer-events:none}
.nav-links .squiggle path{fill:none;stroke:var(--hot);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:150;stroke-dashoffset:150;
  transition:stroke-dashoffset .75s cubic-bezier(.22,1,.36,1)}
.nav-links a:hover .squiggle path,.nav-links a.on .squiggle path,.nav-links a:focus-visible .squiggle path{stroke-dashoffset:0}
.nav-links a.on:hover{transform:translateY(-2px) rotate(-2deg)}

/* right-hand side */
.nav-right{justify-self:end;display:flex;gap:10px;align-items:center}
.nav-acct{font-family:'Shantell Sans';font-weight:700;font-size:.88rem;color:var(--rose);text-decoration:none;white-space:nowrap;
  background:rgba(255,255,255,.75);border:1px solid rgba(224,92,126,.28);border-radius:999px;padding:9px 18px;
  transition:background .35s ease, border-color .35s ease, transform .45s cubic-bezier(.22,1,.36,1), box-shadow .35s ease}
.nav-acct:hover{background:#fff;border-color:rgba(224,92,126,.55);transform:translateY(-1px);box-shadow:0 8px 18px -8px rgba(201,67,104,.35)}
.nav-right .btn{padding:10px 22px;background:linear-gradient(135deg,#E05C7E 0%,#C94368 100%);
  box-shadow:0 8px 20px -6px rgba(224,92,126,.6);transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease}
.nav-right .btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px -6px rgba(224,92,126,.7)}
.nav-right .btn:active{transform:translateY(0);box-shadow:0 5px 14px -6px rgba(224,92,126,.6)}
.nav-right .btn::after{content:none}

/* phones + small laptops: logo & buttons on top, pill centred underneath */
@media(max-width:880px){
  .nav,.nav.scrolled{grid-template-columns:1fr auto;row-gap:10px;padding:10px 16px 12px}
  .nav-links{display:flex;grid-column:1/-1;grid-row:2;justify-self:center;justify-content:center;flex-wrap:wrap;font-size:1.3rem;gap:4px 22px;max-width:100%}
  .nav-links a{padding:3px 2px 6px}
  .nav-links a + a::before{left:-16px;font-size:.75rem}
  .nav-right{gap:8px}.nav-right .btn{padding:8px 15px;font-size:.85rem}.nav-acct{padding:7px 13px;font-size:.8rem}
}
@media(max-width:400px){.nav-right .btn{display:none}.nav-links{font-size:1.18rem;gap:4px 18px}.nav-links a + a::before{left:-14px}}
@media (prefers-reduced-motion: reduce){.nav,.nav-links a,.nav-links .squiggle path{transition:none!important}}

/* ── the diary link glows softly for members ── */
.nav-links a[href$="diary.html"]{color:var(--hot);
  background:radial-gradient(closest-side, rgba(246,200,216,.75), rgba(246,200,216,0));background-size:140% 160%;background-position:center;background-repeat:no-repeat;
  animation:diaryglow 3.4s ease-in-out infinite}
.nav-links a[href$="diary.html"] .spark{position:absolute;top:-6px;right:-12px;font-family:'Nunito',sans-serif;font-size:.7rem;color:var(--hot);pointer-events:none;animation:twinkle 2.2s ease-in-out infinite}
.nav-links a[href$="diary.html"] .spark + .spark{top:auto;bottom:4px;right:auto;left:-10px;font-size:.5rem;animation-delay:-1.1s}
@keyframes diaryglow{0%,100%{text-shadow:0 0 8px rgba(224,92,126,.3)}50%{text-shadow:0 0 14px rgba(224,92,126,.7),0 0 28px rgba(246,200,216,.9)}}
@keyframes twinkle{0%,100%{opacity:.2;transform:scale(.6) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(25deg)}}
@media (prefers-reduced-motion: reduce){.nav-links a[href$="diary.html"],.nav-links .spark{animation:none}}

/* smooth cross-fade when moving between pages (Safari 18+, Chrome 126+) */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .28s ease both}
::view-transition-new(root){animation:vt-in .45s cubic-bezier(.22,1,.36,1) both}
@keyframes vt-out{to{opacity:0}}
@keyframes vt-in{from{opacity:0;transform:translateY(8px)}}
@media (prefers-reduced-motion: reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
