/* Design tokens: duplicated from styles.css so the navigation and footer render correctly on pages that do not load styles.css (tools, calculator, admin). Keep the values identical. */
:root{--tgs-violet-950:#150A2E;--tgs-violet-900:#2A0F5C;--tgs-violet-800:#3B0A7A;--tgs-violet-700:#5B21B6;--tgs-violet-600:#7C3AED;--tgs-violet-500:#8B5CF6;--tgs-orchid:#C084FC;--tgs-violet-200:#DDD6FE;--tgs-violet-100:#EDE9FE;--tgs-violet-50:#F6F2FF;--tgs-bg:#FAF8FF;--tgs-white:#FFFFFF;--tgs-ink:#1B1030;--tgs-muted:#6B6485;--tgs-line:#E7E0F7;--tgs-gold:#C9A24B;--tgs-ok:#1F7A55;--tgs-warn:#8A5A00;--tgs-bad:#B3261E;--tgs-grad-primary:linear-gradient(135deg,#3B0A7A,#5B21B6 50%,#8B5CF6);--tgs-grad-dark:linear-gradient(160deg,#150A2E,#2A0F5C 60%,#4C1D95);--tgs-grad-text:linear-gradient(90deg,#5B21B6,#C084FC);--tgs-r-sm:.75rem;--tgs-r-md:1.25rem;--tgs-r-lg:1.75rem;--tgs-r-pill:999px;--tgs-shadow-sm:0 6px 20px rgba(91,33,182,.08);--tgs-shadow-md:0 20px 60px rgba(91,33,182,.14);--tgs-shadow-glow:0 10px 40px rgba(139,92,246,.45);--tgs-ease:cubic-bezier(.22,1,.36,1);--tgs-gutter:clamp(1rem,4vw,2rem);--tgs-section-y:clamp(3.5rem,8vw,8.75rem);--tgs-container:80rem;--tgs-tap:2.75rem;--tgs-step--1:clamp(.8125rem,.79rem + .12vw,.875rem);--tgs-step-0:clamp(1rem,.96rem + .2vw,1.125rem);--tgs-step-1:clamp(1.25rem,1.15rem + .5vw,1.5rem);--tgs-step-2:clamp(1.6rem,1.4rem + 1vw,2.25rem);--tgs-step-3:clamp(2rem,1.6rem + 2vw,3.5rem);--tgs-step-4:clamp(2.5rem,1.8rem + 3.5vw,5.5rem);--tgs-font-head:'Cormorant Garamond',Georgia,'Times New Roman',serif;--tgs-font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--tgs-nav-height:5rem;--tgs-shimmer:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);}
/* VELORA GEM AND JEWELRY — navigation + footer (Stage 2). The ONLY nav stylesheet:
   site-nav-v62/v65/v66.css are empty stubs kept so old <link> tags never 404.
   Markup comes from site-nav.js. Mobile-first (480 / 768 / 1024 / 1280), no !important,
   hover only on hover devices, transform/opacity animation only. */

/* ───────── header: floating pill, transparent over hero → frosted after scroll ───────── */
.tgsGlobalNav{position:fixed;top:0;left:0;right:0;z-index:1100;padding:max(.5rem,env(safe-area-inset-top,0px)) env(safe-area-inset-right,0px) 0 env(safe-area-inset-left,0px);pointer-events:none;color:#fff;font-family:var(--tgs-font-body);transition:transform .45s var(--tgs-ease)}
.tgsGlobalNav.is-hidden{transform:translateY(calc(-100% - 1rem))}
.tgsGlobalNav *,.tgsFooter *{box-sizing:border-box}
.tgsMainNav{position:relative;pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:min(100% - 1rem,var(--tgs-container,80rem));min-height:3.75rem;margin-inline:auto;padding:.4rem .5rem .4rem .6rem;border:1px solid rgba(255,255,255,.2);border-radius:var(--tgs-r-pill,999px);background:transparent;transition:background-color .35s,border-color .35s,box-shadow .35s}
.tgsMainNav::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;opacity:0;background:rgba(255,255,255,.84);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);transition:opacity .35s}
.tgsGlobalNav.is-solid .tgsMainNav,.tgsGlobalNav.is-open .tgsMainNav{border-color:rgba(111,70,199,.16);box-shadow:var(--tgs-shadow-md)}
.tgsGlobalNav.is-solid .tgsMainNav::before,.tgsGlobalNav.is-open .tgsMainNav::before{opacity:1}
.tgsGlobalNav.is-solid,.tgsGlobalNav.is-open{color:var(--tgs-ink,#1B1030)}

/* brand: wordmark sits in a white capsule so it reads on any background */
.tgsBrand{display:inline-flex;align-items:center;flex:0 1 auto;min-width:0;min-height:2.75rem;padding:.2rem .8rem;border-radius:var(--tgs-r-pill,999px);background:rgba(255,255,255,.92);color:var(--tgs-ink,#1B1030);text-decoration:none}
.tgsFullWordmark{display:block;width:auto;max-width:100%;height:auto;max-height:2.4rem;object-fit:contain;object-position:left center}

/* desktop link row (hidden until 1024) */
.tgsNavDesktop,.tgsRight{display:none}
.tgsNavDesktop{flex:1;min-width:0}
.tgsLinks{display:flex;align-items:center;justify-content:center;gap:.15rem;margin:0;padding:0;list-style:none}
.tgsLinks>li,.tgsLinks>.tgsDrop{position:relative;list-style:none}
.tgsLinks a,.tgsDropBtn{position:relative;display:inline-flex;align-items:center;gap:.4rem;min-height:2.75rem;padding:.5rem .85rem;border:0;border-radius:var(--tgs-r-pill,999px);background:transparent;color:inherit;font:650 .875rem/1 var(--tgs-font-body);letter-spacing:.01em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color .25s,background-color .25s}
.tgsLinks a::after,.tgsDropBtn::after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.35rem;height:1px;background:var(--tgs-gold,#C9A24B);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--tgs-ease)}
.tgsLinks a.active::after,.tgsDrop.has-active>.tgsDropBtn::after{transform:scaleX(1)}
.tgsLinks a.active,.tgsDrop.has-active>.tgsDropBtn{color:inherit}
.tgsGlobalNav.is-solid .tgsLinks a.active,.tgsGlobalNav.is-solid .tgsDrop.has-active>.tgsDropBtn{color:var(--tgs-violet-700,#5B21B6)}
.tgsCaret{width:.55rem;height:.55rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s var(--tgs-ease)}
.tgsDrop.is-open>.tgsDropBtn .tgsCaret{transform:translateY(1px) rotate(225deg)}
.tgsDropMenu{position:absolute;left:50%;top:calc(100% + .6rem);z-index:2;min-width:15rem;margin:0;padding:.5rem;list-style:none;border:1px solid rgba(111,70,199,.16);border-radius:var(--tgs-r-md,1.25rem);background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--tgs-shadow-md);color:var(--tgs-ink,#1B1030);opacity:0;visibility:hidden;transform:translate(-50%,-.5rem);transition:opacity .25s,transform .35s var(--tgs-ease),visibility .25s}
.tgsDrop.is-open>.tgsDropMenu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.tgsDropMenu a{display:flex;width:100%;justify-content:space-between;padding:.7rem .9rem;border-radius:var(--tgs-r-sm,.75rem);color:var(--tgs-ink,#1B1030);font-weight:600}
.tgsDropMenu a::after{display:none}
.tgsDropMenu a small{color:var(--tgs-muted,#6B6485);font-size:.75rem;font-weight:500}
.tgsDropMenu a.active{background:var(--tgs-violet-50,#F6F2FF);color:var(--tgs-violet-700,#5B21B6)}

.tgsRight{align-items:center;gap:.5rem;flex:none}
.tgsCartLink,.tgsAdmin{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.5rem 1rem;border-radius:var(--tgs-r-pill,999px);font:700 .875rem/1 var(--tgs-font-body);text-decoration:none;white-space:nowrap;transition:transform .3s var(--tgs-ease),box-shadow .3s,background-color .3s,border-color .3s}
.tgsCartLink{position:relative;overflow:hidden;background:var(--tgs-grad-primary);color:#fff;box-shadow:0 8px 24px rgba(91,33,182,.3)}
.tgsCartLink::after{content:"";position:absolute;inset:0;background:var(--tgs-shimmer);transform:translateX(-120%);pointer-events:none}
.tgsCartLink svg{width:1.1rem;height:1.1rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tgsCartBadge{display:inline-grid;place-items:center;min-width:1.4rem;height:1.4rem;padding:0 .35rem;border-radius:var(--tgs-r-pill,999px);background:#fff;color:var(--tgs-violet-800,#3B0A7A);font-size:.75rem;font-weight:800;font-variant-numeric:tabular-nums}
.tgsAdmin{border:1px solid rgba(255,255,255,.4);color:inherit;background:transparent}
.tgsGlobalNav.is-solid .tgsAdmin{border-color:rgba(111,70,199,.28);background:#fff}
.tgsAdminDot{width:.4rem;height:.4rem;border-radius:50%;background:var(--tgs-gold,#C9A24B)}

.tgsSkip{position:fixed;left:1rem;top:-5rem;z-index:1200;padding:.75rem 1.1rem;border-radius:var(--tgs-r-sm,.75rem);background:#fff;color:var(--tgs-violet-800,#3B0A7A);font:700 .875rem/1 var(--tgs-font-body);text-decoration:none;box-shadow:var(--tgs-shadow-md);transition:top .2s}
.tgsSkip:focus{top:max(1rem,env(safe-area-inset-top,0px))}

/* hamburger (compact bar) */
.tgsMenu{display:inline-grid;place-items:center;flex:none;width:2.9rem;height:2.9rem;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.1);color:inherit;cursor:pointer}
.tgsGlobalNav.is-solid .tgsMenu,.tgsGlobalNav.is-open .tgsMenu{border-color:rgba(111,70,199,.25);background:var(--tgs-violet-50,#F6F2FF)}
.tgsMenuLines{position:relative;display:block;width:1.2rem;height:.95rem}
.tgsMenuLines i{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .35s var(--tgs-ease),opacity .2s,top .35s var(--tgs-ease)}
.tgsMenuLines i:nth-child(1){top:0}.tgsMenuLines i:nth-child(2){top:calc(50% - 1px)}.tgsMenuLines i:nth-child(3){top:calc(100% - 2px)}
.tgsMenu[aria-expanded=true] .tgsMenuLines i:nth-child(1){top:calc(50% - 1px);transform:rotate(45deg)}
.tgsMenu[aria-expanded=true] .tgsMenuLines i:nth-child(2){opacity:0}
.tgsMenu[aria-expanded=true] .tgsMenuLines i:nth-child(3){top:calc(50% - 1px);transform:rotate(-45deg)}

/* ───────── full-screen mobile menu (sibling of the header so fixed positioning is never trapped) ───────── */
.tgsMobilePanel{position:fixed;inset:0;z-index:1090;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:calc(var(--tgs-nav-height,5rem) + .75rem) max(var(--tgs-gutter,1rem),env(safe-area-inset-right,0px)) 0 max(var(--tgs-gutter,1rem),env(safe-area-inset-left,0px));background:var(--tgs-grad-dark);color:#fff;opacity:0;transform:translateY(-1rem);transition:opacity .35s var(--tgs-ease),transform .45s var(--tgs-ease)}
.tgsMobilePanel[hidden]{display:none}
.tgsMobilePanel.is-open{opacity:1;transform:none}
.tgsMobileLinks{display:grid;gap:.25rem;align-content:start}
.tgsMobileGroup{margin:1rem 0 .15rem;font-size:.75rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#E9D5FF}
.tgsMobileLinks a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3rem;padding:.35rem .25rem;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;font:500 clamp(1.5rem,6.5vw,2rem)/1.1 var(--tgs-font-head);text-decoration:none;opacity:0;transform:translateY(.75rem);transition:opacity .4s var(--tgs-ease),transform .5s var(--tgs-ease),color .2s;transition-delay:calc(var(--i,0) * 35ms)}
.tgsMobilePanel.is-open .tgsMobileLinks a{opacity:1;transform:none}
.tgsMobileLinks a.active{color:#E9D5FF}
.tgsMobileLinks a.active::before{content:"";width:.45rem;height:.45rem;margin-right:.6rem;border-radius:50%;background:var(--tgs-gold,#C9A24B);flex:none}
.tgsMobileLinks a span{margin-left:auto;color:var(--tgs-orchid,#C084FC);font-family:var(--tgs-font-body);font-size:1.1rem}
.tgsMobileActions{position:sticky;bottom:0;display:grid;gap:.6rem;margin-top:auto;padding:1.25rem 0 max(1.25rem,env(safe-area-inset-bottom,0px));background:linear-gradient(0deg,#2A0F5C 60%,rgba(42,15,92,0))}
.tgsMobileCalc,.tgsMobileAdmin{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:3rem;padding:.75rem 1.1rem;border-radius:var(--tgs-r-pill,999px);font:700 1rem/1.2 var(--tgs-font-body);text-decoration:none}
.tgsMobileCalc{background:#fff;color:var(--tgs-violet-800,#3B0A7A)}
.tgsMobileAdmin{border:1px solid rgba(255,255,255,.4);color:#fff}
html.tgs-lock,html.tgs-lock body{overflow:hidden;overscroll-behavior:none}
body.tgs-nav-pad{padding-top:var(--tgs-nav-height,5rem)}

/* ───────── footer ───────── */
.tgsFooter{margin-top:0;background:var(--tgs-violet-950,#150A2E);color:rgba(247,242,255,.82);font-family:var(--tgs-font-body);padding-bottom:env(safe-area-inset-bottom,0px)}
.tgsFooterInner{width:min(100% - 2 * var(--tgs-gutter,1rem),var(--tgs-container,80rem));margin-inline:auto}
.tgsFooterTop{border-top:1px solid var(--tgs-gold,#C9A24B);background:radial-gradient(circle at top left,rgba(168,85,247,.3),transparent 40%),radial-gradient(circle at bottom right,rgba(124,58,237,.25),transparent 45%),var(--tgs-grad-dark)}
.tgsFooterIntro{display:grid;gap:1.25rem;padding-block:clamp(2.5rem,7vw,5rem)}
.tgsFooterEyebrow{color:#E9D5FF;font-size:.75rem;font-weight:800;letter-spacing:.22em}
.tgsFooterIntro h2{margin:.9rem 0 .75rem;color:#fff;font-size:var(--tgs-step-3)}
.tgsFooterIntro h2 em{background-image:linear-gradient(90deg,#F5EEFF,#C084FC)}
.tgsFooterIntro p{max-width:34rem;margin:0;font-size:.9375rem;line-height:1.8;color:rgba(247,242,255,.78)}
.tgsFooterMain{background:rgba(10,5,22,.55)}
.tgsFooterColumns{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding-top:2rem;padding-bottom:1rem}
.tgsFooterColumns>*{min-width:0}
.tgsFooterBrand{padding-bottom:1.5rem}
.tgsFooterLogo{display:inline-flex;margin-bottom:1rem}
.tgsFooterWordmark{max-height:3rem}
.tgsFooterBrand>p{max-width:22rem;margin:0 0 1rem;font-size:.9375rem;line-height:1.8}
.tgsFooterTag{display:inline-flex;align-items:center;padding:.55rem .9rem;border:1px solid rgba(216,199,255,.35);border-radius:var(--tgs-r-pill,999px);background:rgba(168,85,247,.16);color:#F3DDFF;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.tgsFooterCol{border-top:1px solid rgba(255,255,255,.12)}
.tgsFooterHead{margin:0;font:inherit}
.tgsAccBtn{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:3rem;padding:.5rem 0;border:0;background:transparent;color:#F3DDFF;font:800 .8125rem/1 var(--tgs-font-body);letter-spacing:.14em;text-transform:uppercase;text-align:left;cursor:pointer}
.tgsAccIcon{position:relative;width:.9rem;height:.9rem;flex:none}
.tgsAccIcon::before,.tgsAccIcon::after{content:"";position:absolute;left:0;right:0;top:calc(50% - .5px);height:1px;background:currentColor;transition:transform .35s var(--tgs-ease)}
.tgsAccIcon::after{transform:rotate(90deg)}
.tgsAccBtn[aria-expanded=true] .tgsAccIcon::after{transform:rotate(0)}
.tgsFooterPanel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--tgs-ease)}
.tgsFooterPanel>div{overflow:hidden;min-height:0;visibility:hidden;transition:visibility .4s}
.tgsFooterCol.is-open .tgsFooterPanel{grid-template-rows:1fr}
.tgsFooterCol.is-open .tgsFooterPanel>div{visibility:visible}
.tgsFooterCol a:not(.tgsFooterAdmin){display:flex;align-items:center;min-height:2.75rem;color:rgba(247,242,255,.82);font-size:.9375rem;text-decoration:none;transition:color .2s,transform .3s var(--tgs-ease)}
.tgsFooterCol p{margin:0 0 .75rem;font-size:.875rem;line-height:1.7}
.tgsFooterAdmin{display:flex;justify-content:space-between;align-items:center;gap:.75rem;min-height:2.75rem;margin-bottom:1rem;padding:.65rem 1rem;border:1px solid rgba(216,199,255,.4);border-radius:var(--tgs-r-sm,.75rem);color:#fff;font-size:.875rem;font-weight:700;text-decoration:none}
.tgsSocialTitle{margin:1rem 0 .25rem;color:#F3DDFF;font:800 .8125rem/1 var(--tgs-font-body);letter-spacing:.14em;text-transform:uppercase}
.tgsSocialIcon{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.4rem .75rem;border:1px solid rgba(216,199,255,.34);border-radius:var(--tgs-r-sm,.75rem);background:rgba(255,255,255,.06);color:#F7F2FF;text-decoration:none}
.tgsSocialIcon span{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:#fff;color:var(--tgs-violet-700,#5B21B6);font-size:.75rem;font-weight:900;text-transform:uppercase}
.tgsSocialIcon b{font-size:.8125rem}
.tgsFooterBottom{border-top:1px solid rgba(255,255,255,.1);background:rgba(8,4,18,.85)}
.tgsFooterBottomInner{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem;padding-block:1.25rem .75rem;color:rgba(247,242,255,.7);font-size:.8125rem}
.tgsFooterLinks{display:flex;flex-wrap:wrap;gap:0 1.25rem}
.tgsFooterLinks a,.tgsToTop{display:inline-flex;align-items:center;min-height:2.75rem;color:rgba(247,242,255,.8);text-decoration:none}
.tgsToTop{gap:.5rem;padding:.4rem 1rem;border:1px solid rgba(216,199,255,.35);border-radius:var(--tgs-r-pill,999px);background:transparent;font:700 .8125rem/1 var(--tgs-font-body);cursor:pointer;transition:background-color .25s,transform .3s var(--tgs-ease)}
.tgsDisclaimer{padding-bottom:1.5rem;color:rgba(247,242,255,.6);font-size:.75rem;line-height:1.7;max-width:62rem}
.tgsGlobalNav :focus-visible,.tgsMobilePanel :focus-visible,.tgsFooter :focus-visible{outline:2px solid var(--tgs-orchid,#C084FC);outline-offset:3px}
.tgsGlobalNav.is-solid :focus-visible{outline-color:var(--tgs-violet-600,#7C3AED)}

@media (hover:hover){
  .tgsLinks a:hover::after,.tgsDropBtn:hover::after{transform:scaleX(1)}
  .tgsLinks a:hover,.tgsDropBtn:hover{background:rgba(139,92,246,.12)}
  .tgsDropMenu a:hover{background:var(--tgs-violet-50,#F6F2FF);color:var(--tgs-violet-700,#5B21B6)}
  .tgsCartLink:hover{transform:translateY(-2px);box-shadow:var(--tgs-shadow-glow)}
  .tgsCartLink:hover::after{transform:translateX(120%);transition:transform .8s var(--tgs-ease)}
  .tgsAdmin:hover{background:rgba(139,92,246,.14);border-color:var(--tgs-violet-500,#8B5CF6)}
  .tgsMobileLinks a:hover,.tgsFooterCol a:not(.tgsFooterAdmin):hover,.tgsFooterLinks a:hover{color:#fff}
  .tgsFooterCol a:not(.tgsFooterAdmin):hover{transform:translateX(4px)}
  .tgsToTop:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}
}

@media (min-width:480px){
  .tgsMainNav{width:min(100% - 1.5rem,var(--tgs-container,80rem))}
  .tgsFullWordmark{max-height:2.6rem}
}
@media (min-width:768px){
  .tgsFooterColumns{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem;padding-top:3.5rem;padding-bottom:2rem}
  .tgsFooterBrand{grid-column:1/-1;padding-bottom:2rem}
  .tgsFooterCol{border-top:0;padding-bottom:1.5rem}
  .tgsAccBtn{min-height:2.5rem;cursor:default;pointer-events:none}
  .tgsAccIcon{display:none}
  .tgsFooterPanel{grid-template-rows:1fr}
  .tgsFooterPanel>div{visibility:visible}
  .tgsFooterIntro{grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);align-items:center;gap:3rem}
  .tgsFooterBottomInner{flex-direction:row;justify-content:space-between;align-items:center}
}
@media (min-width:1024px){
  .tgsMainNav{min-height:4rem;padding:.4rem .5rem .4rem 1rem}
  .tgsNavDesktop{display:block}
  .tgsRight{display:flex}
  .tgsMenu,.tgsMobilePanel{display:none}
  .tgsFooterColumns{grid-template-columns:1.3fr 1fr 1fr 1.2fr}
  .tgsFooterBrand{grid-column:auto;padding-bottom:1.5rem}
}
@media (min-width:1280px){
  .tgsLinks a,.tgsDropBtn{padding-inline:1.05rem}
}
@media (prefers-reduced-motion:reduce){
  .tgsGlobalNav,.tgsMobilePanel,.tgsMobileLinks a,.tgsDropMenu,.tgsFooterPanel{transition:none}
  .tgsMobileLinks a{opacity:1;transform:none}
}
