/* =============================================================================
   sf-shell.css — the site's shared chrome: design tokens, navigation bar and
   footer. Extracted from the QR generator's stylesheet so that pages rendered
   by PHP (the card builder, the tools index) carry identical header and footer
   styling without pulling in a tool-specific stylesheet.
   ============================================================================= */

:root{
  --white:#FBFAFF;--purple:#5B3DF5;--pl:#6D4BFF;--pd:#4526C9;
  --p50:#EDE7FF;--p100:#DCD1FF;--p200:#C9BEFF;--p300:#B9A9FF;
  --gold:#E9B949;--gd:#D89A2E;--green:#20A46A;--red:#D33A45;
  --ink:#1E1B2E;--ink2:#4A4560;--ink3:#6E6885;--ink4:#8A83A0;
  --glass:rgba(255,255,255,.85);--glassBrd:rgba(255,255,255,.8);
  --sh:0 20px 50px -18px rgba(91,61,245,.35);
  --shL:0 40px 90px -30px rgba(91,61,245,.55);
  --rl:24px;--rm:18px;--rs:12px;
  --fd:'Playfair Display',Georgia,serif;
  --fs:'Great Vibes',cursive;
  --fb:'Poppins',sans-serif;
  --fu:'Montserrat',sans-serif;
  --maxw:1200px;
}

/* ----- Nav (identical rules to the site's unified header) ----- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:14px 0;background:rgba(251,250,255,.7);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid rgba(91,61,245,.08);transition:box-shadow .4s,background .4s;display:block}

.nav.scrolled{box-shadow:0 6px 32px rgba(91,61,245,.1);background:rgba(251,250,255,.92)}

.nav-inner{max-width:var(--maxw);width:100%;margin:0 auto;padding:0 clamp(20px,5vw,40px);display:flex;align-items:center;justify-content:space-between}

.nav-logo{display:flex;align-items:center;gap:12px}

.nav-logo-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--pl),var(--pd));display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:800;font-size:1.1rem;color:#fff;box-shadow:0 8px 22px rgba(91,61,245,.4);transition:transform .3s}

.nav-logo:hover .nav-logo-mark{transform:rotate(-6deg) scale(1.08)}

.nav-logo-name{font-family:var(--fu);font-weight:700;font-size:1.05rem;color:var(--ink)}

.nav-logo-name span{color:var(--purple)}

.nav-links{display:flex;align-items:center;gap:28px}

.nav-links a{font-family:var(--fu);font-size:.82rem;font-weight:500;color:var(--ink3);position:relative;transition:color .3s}

.nav-links a::after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--purple);border-radius:99px;transition:width .3s}

.nav-links a:hover{color:var(--purple)}

.nav-links a:hover::after{width:100%}

.nav-links a.active{color:var(--purple)}

.nav-links a.active::after{width:100%}

.nav-cta-link{padding:10px 22px;border-radius:999px;font-family:var(--fu)!important;font-weight:600!important;font-size:.82rem!important;color:#fff!important;background:linear-gradient(135deg,var(--pl),var(--pd))!important;box-shadow:0 8px 24px rgba(91,61,245,.35)}

.nav-cta-link:hover{color:#fff!important}

.nav-cta-link::after{display:none!important}

.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}

.hamburger span{width:22px;height:2.5px;background:var(--ink);border-radius:99px}

@media(max-width:768px){.nav-links{display:none}.hamburger{display:flex}}

.nav-item{position:relative;display:flex;align-items:center}

.nav-links .nav-drop-trigger{display:inline-flex;align-items:center;gap:6px}

.nav-caret{width:10px;height:7px;flex:none;transition:transform .3s}

.nav-item.has-drop:hover .nav-caret,.nav-item.has-drop:focus-within .nav-caret{transform:rotate(180deg)}

.nav-drop{position:absolute;top:100%;left:50%;transform:translate(-50%,8px);padding-top:20px;min-width:232px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s,transform .28s,visibility .28s;z-index:101}

.nav-item.has-drop:hover .nav-drop,.nav-item.has-drop:focus-within .nav-drop{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}

.nav-drop-inner{padding:10px;border-radius:16px;background:rgba(255,255,255,.98);border:1px solid rgba(91,61,245,.1);box-shadow:0 22px 46px -18px rgba(91,61,245,.45);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}

.nav-links .nav-drop a{display:block;padding:11px 14px;border-radius:11px;font-family:var(--fu);font-size:.82rem;font-weight:500;color:var(--ink3);white-space:nowrap;text-decoration:none;transition:background .25s,color .25s}

.nav-links .nav-drop a::after{display:none!important}

.nav-links .nav-drop a:hover,.nav-links .nav-drop a.active{background:linear-gradient(135deg,rgba(109,75,255,.12),rgba(69,38,201,.08));color:var(--purple)}

@media(max-width:768px){
  .nav-item{flex-direction:column;align-items:center;gap:12px;width:100%}
  .nav-caret{display:none}
  .nav-drop{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;padding-top:0;min-width:0;width:100%}
  .nav-drop-inner{padding:6px;background:rgba(91,61,245,.05);border-color:rgba(91,61,245,.12);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav-links .nav-drop a{text-align:center}
}

.nav-drop-inner a.all{border-top:1px solid rgba(91,61,245,.12);margin-top:7px;padding-top:13px;font-weight:700;color:var(--purple)}

.footer-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.7fr .85fr .85fr .85fr 1.05fr;gap:30px 34px;align-items:start}

.footer-brand h3{font-family:var(--fd);font-weight:700;font-size:1.6rem;color:#fff}

.footer-brand p{margin-top:10px;font-size:.88rem;line-height:1.6;max-width:30ch;color:rgba(255,255,255,.6)}

.footer-col h4{font-family:var(--fu);font-weight:600;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--p300);margin-bottom:12px}

.footer-col a{display:block;font-size:.86rem;line-height:1.45;color:rgba(255,255,255,.62);margin-bottom:7px;transition:color .3s}

.footer-col a:hover{color:var(--p200)}

.footer-social{display:flex;gap:10px;margin-top:14px}

.footer-social .social-btn{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;box-shadow:none;transition:background .3s,transform .3s,color .3s,border-color .3s}

.footer-social .social-btn svg{width:19px;height:19px;display:block}

.footer-social .social-btn:hover{background:var(--purple);border-color:var(--purple);color:#fff;transform:translateY(-3px)}

.footer-bottom{max-width:var(--maxw);margin:28px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);text-align:center;font-family:var(--fu);font-size:.8rem;color:rgba(255,255,255,.5)}

@media(max-width:1100px){.footer-grid{grid-template-columns:repeat(4,1fr)}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:60ch}}

@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:26px 24px}.footer-brand{grid-column:1/-1}}

@media(max-width:480px){.footer-grid{grid-template-columns:1fr;gap:22px}.footer-brand p{max-width:none}}
