/* ============================================================
   CaptiveWiFi — Shared CSS
   Nav + Footer + Reset + Hover states
   ============================================================ */

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Poppins', sans-serif; background: #fff; color: #1a1a2e; }


/* ── Shared typography + CTA elements ───────────────────────── */
:root {
  --purple: #832FFF;
  --purple-l: #f0e6ff;
  --green: #22e5a0;
  --dark: #0e0e1a;
  --text: #1a1a2e;
  --mid: #4a4a6a;
  --light: #8888aa;
  --border: #e8e8f0;
  --white: #ffffff;
}

.wrap { max-width: 1160px; margin: 0 auto; padding: 0 40px; }

.t-hero { font-family: 'Work Sans', sans-serif; font-size: clamp(32px, 3.6vw, 56px); font-weight: 700; line-height: 1.04; letter-spacing: -2px; color: #000; }
.t-hero span { color: var(--purple); }
.t-h2 { font-family: 'Work Sans', sans-serif; font-size: clamp(26px, 3vw, 44px); font-weight: 700; letter-spacing: -1.5px; line-height: 1.1; color: #000; }
.t-h2 span { color: var(--purple); }
.t-body { font-size: 17px; color: var(--mid); line-height: 1.7; }

.eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--purple); font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 14px; }
.eyebrow::before { content: ''; width: 20px; height: 2px; background: var(--purple); border-radius: 2px; display: block; }

.btn { display: inline-flex; align-items: center; justify-content: center; padding: 14px 32px; border-radius: 8px; font-size: 15px; font-weight: 700; text-decoration: none; font-family: 'Poppins', sans-serif; transition: background .15s, transform .15s, box-shadow .2s; }
.btn-purple { background: var(--purple); color: #fff !important; }
.btn-purple:hover { background: #6a1fe8; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(131,47,255,.4); }
.btn-outline { background: transparent; color: var(--dark); border: 1.5px solid var(--border); }
.btn-outline:hover { border-color: var(--purple); color: var(--purple); }

.divider { height: 1px; background: var(--border); }
.section { padding: 88px 0; }
.section-bg { padding: 88px 0; background: var(--purple-l); }
.section-dark { padding: 88px 0; background: var(--dark); }
.section-header { text-align: center; margin-bottom: 56px; }

@media(max-width:768px) {
  .section, .section-bg, .section-dark { padding: 56px 0; }
  .wrap { padding: 0 20px; }
  .t-hero { font-size: clamp(30px, 8vw, 44px); letter-spacing: -1.5px; }
}

/* ===== CW NAV FINAL ===== */
@keyframes cw-logo-spin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
.cw-nav{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid #E4E4EC;font-family:'Poppins',sans-serif;}
.cw-nav-inner{max-width:1280px;margin:0 auto;padding:0 40px;height:64px;display:flex;align-items:center;}
.cw-nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#0e0e1a;flex-shrink:0;}
.cw-nav-brand img{height:36px;width:auto;display:block;flex-shrink:0;animation:cw-logo-spin 12s linear infinite;transform-origin:center;}
.cw-nav-wordmark{font-size:15px;font-weight:700;letter-spacing:-0.3px;white-space:nowrap;color:#0e0e1a;}
.cw-nav-links{display:flex;align-items:center;gap:2px;margin-left:auto;}
.cw-nav-links > a{padding:8px 12px;border-radius:6px;font-size:14px;font-weight:500;color:#1a1a1a;text-decoration:none;white-space:nowrap;transition:background .15s;}
.cw-nav-links > a:hover{background:#F4F4F8;}
.cw-nav-dropdown{position:relative;}
.cw-nav-dropdown-toggle{cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:500;color:#1a1a1a;white-space:nowrap;transition:background .15s;background:none;border:none;font-family:'Poppins',sans-serif;}
.cw-nav-dropdown-toggle:hover{background:#F4F4F8;}
.cw-nav-dropdown-menu{display:none;position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #E4E4EC;border-radius:12px;padding:8px;min-width:220px;box-shadow:0 8px 32px rgba(0,0,0,.1);z-index:200;}
.cw-nav-dropdown.open .cw-nav-dropdown-menu{display:flex;flex-direction:column;}
.cw-nav-dropdown-menu a{display:block;padding:9px 14px;border-radius:8px;font-size:13px;font-weight:500;color:#1a1a1a;text-decoration:none;transition:background .1s;}
.cw-nav-dropdown-menu a:hover{background:#F4F2FF;color:#832FFF;}
.cw-nav-dropdown-divider{height:1px;background:#E4E4EC;margin:6px 4px;}
.cw-nav-help{cursor:pointer;display:inline-flex;align-items:center;padding:8px;border-radius:6px;color:#5A5A6A;text-decoration:none;transition:background .15s;}
.cw-nav-help:hover{background:#F4F4F8;color:#832FFF;}
.cw-nav-btns{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:16px;}
.cw-nav-demo{display:inline-flex;align-items:center;padding:9px 20px;border-radius:6px;font-size:14px;font-weight:600;white-space:nowrap;text-decoration:none;background:#832FFF;color:#fff !important;transition:background .15s,transform .15s;}
.cw-nav-demo:hover{background:#6a1fe8;transform:translateY(-1px);}
.cw-nav-login{display:inline-flex;align-items:center;padding:9px 20px;border-radius:6px;font-size:14px;font-weight:600;white-space:nowrap;text-decoration:none;background:#f4f4f8;color:#1a1a1a !important;transition:background .15s;}
.cw-nav-login:hover{background:#e8e8f0;}
.cw-nav-signup{display:inline-flex;align-items:center;padding:9px 20px;border-radius:6px;font-size:14px;font-weight:600;white-space:nowrap;text-decoration:none;background:#000;color:#fff !important;transition:background .15s;}
.cw-nav-signup:hover{background:#222;}
.cw-nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;margin-left:16px;}
.cw-nav-hamburger span{display:block;width:22px;height:2px;background:#000;border-radius:2px;}
.cw-nav-mobile{display:none;flex-direction:column;border-top:1px solid #E4E4EC;}
.cw-nav.open .cw-nav-mobile{display:flex;}
.cw-nav-mobile a{display:block;padding:13px 20px;font-size:14px;font-weight:500;color:#1a1a1a;text-decoration:none;border-bottom:1px solid #F4F4F8;}
.cw-nav-mobile-section{padding:10px 20px 4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#9A9AAA;}
@media(min-width:901px){.cw-nav-hamburger,.cw-nav-mobile{display:none !important;}}
@media(max-width:900px){.cw-nav-links,.cw-nav-btns{display:none;}.cw-nav-hamburger{display:flex;}}
@media(max-width:900px){.cw-nav-inner{justify-content:space-between;}.cw-nav-hamburger{margin-left:auto;}}
@media(max-width:480px){.cw-nav-inner{padding:0 20px;}}
/* ===== END CW NAV ===== */


/* ── Nav extras ── */
.cw-nav-wordmark{font-size:15px;font-weight:700;color:#0e0e1a;}
/* Desktop One Login — green pill badge */
.cw-nav-one-login{padding:7px 12px;border-radius:100px;font-size:14px;font-weight:600;color:#0a0a0a;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;background:#22e5a0;transition:background .15s,transform .15s;}
.cw-nav-one-login:hover{background:#1dd494;transform:translateY(-1px);}
/* Mobile One Login — green tinted background, lock icon, green tag */
.cw-nav-mobile-one-login{background:rgba(34,229,160,.08);color:#1a1a1a;border:1px solid rgba(34,229,160,.2);border-radius:8px;margin-bottom:8px;}
.cw-nav-mobile-one-login-tag{font-size:10px;font-weight:700;background:#22e5a0;color:#0a0a0a;padding:2px 8px;border-radius:100px;margin-left:auto;}
.cw-nav-help{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;color:#666;text-decoration:none;transition:background .15s,color .15s;}
.cw-nav-help:hover{background:#f4f4f8;color:#1a1a1a;}
.cw-nav-dropdown-divider{height:1px;background:#e4e4ec;margin:4px 0;}
.cw-nav-dropdown-menu a svg{flex-shrink:0;opacity:.6;}
/* Mobile nav */
.cw-nav-mobile{display:none;flex-direction:column;background:#fff;border-top:1px solid #e4e4ec;padding:12px 16px 20px;}
.cw-nav.open .cw-nav-mobile{display:flex;}
.cw-nav-mobile-section{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#999;padding:14px 8px 6px;}
.cw-nav-mobile > a{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:6px;font-size:14px;font-weight:500;color:#1a1a1a;text-decoration:none;}
.cw-nav-mobile > a:hover{background:#f4f4f8;}
.cw-nav-mobile-ctas{display:flex;gap:8px;padding:12px 0 4px;}
.cw-nav-mobile-one-login{display:flex;align-items:center;gap:10px;padding:12px 8px;border-radius:8px;background:#f4f2ff;color:#832FFF;font-size:14px;font-weight:600;text-decoration:none;margin-bottom:4px;}
.cw-nav-mobile-one-login-tag{font-size:10px;font-weight:700;background:#832FFF;color:#fff;padding:2px 7px;border-radius:100px;margin-left:auto;}
.cw-nav-mobile-group{border-radius:6px;}
.cw-nav-mobile-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 8px;border-radius:6px;font-size:14px;font-weight:500;color:#1a1a1a;background:none;border:none;cursor:pointer;font-family:"Poppins",sans-serif;}
.cw-nav-mobile-group-toggle:hover{background:#f4f4f8;}
.cw-nav-mobile-group-items{display:flex;flex-direction:column;padding-left:12px;}
.cw-nav-mobile-group.collapsed .cw-nav-mobile-group-items{display:none;}
.cw-nav-mobile-group-items a{display:flex;align-items:center;gap:10px;padding:9px 8px;font-size:13px;color:#555;text-decoration:none;border-radius:6px;}
.cw-nav-mobile-group-items a:hover{background:#f4f4f8;color:#1a1a1a;}
/* ===== CW FOOTER ===== */
.cw-footer{background:#0a0a0a;color:#fff;font-family:'Poppins',sans-serif;margin-top:0 !important;}

/* Desktop: brand col + 3 link cols */
.cw-footer-top{max-width:1280px;margin:0 auto;padding:64px 40px 48px;display:grid;grid-template-columns:220px 1fr 1fr 1fr;gap:56px;align-items:start;}

/* Headings */
.cw-footer-heading{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:18px;}

/* Link columns — plain text, no icons */
.cw-footer-col{display:flex;flex-direction:column;gap:12px;}
.cw-footer-col a{font-size:14px;color:rgba(255,255,255,.55);text-decoration:none;transition:color .15s;line-height:1.4;}
.cw-footer-col a:hover{color:#fff;}

/* Bottom bar: copyright + legal only */
.cw-footer-bottom{max-width:1280px;margin:0 auto;padding:20px 40px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.cw-footer-bottom p{font-size:12px;color:rgba(255,255,255,.3);margin:0;}
.cw-footer-bottom a{font-size:12px;color:rgba(255,255,255,.3);text-decoration:none;transition:color .15s;}
.cw-footer-bottom a:hover{color:#fff;}

/* ── Tablet 768-1024px ── */
@media(max-width:1024px){
  .cw-footer-top{grid-template-columns:180px 1fr 1fr 1fr;gap:36px;padding:56px 32px 40px;}
}

/* ── Small tablet 640-768px ── */
@media(max-width:768px){
  .cw-footer-top{grid-template-columns:1fr 1fr;gap:40px 24px;padding:48px 24px 36px;}
  .cw-footer-brand{grid-column:1/-1;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:32px;}
  .cw-footer-bottom{padding:20px 24px;}
}

/* ── Mobile <640px ── */
@media(max-width:640px){
  .cw-footer-top{grid-template-columns:1fr 1fr;gap:32px 16px;padding:40px 20px 32px;}
  .cw-footer-brand{grid-column:1/-1;padding-bottom:28px;}
  .cw-footer-col{gap:14px;}
  .cw-footer-col a{font-size:15px;min-height:44px;display:flex;align-items:center;}
  .cw-footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;padding:20px;}
  .cw-footer-bottom p,.cw-footer-bottom a{font-size:12px;}
}

/* ── Small mobile <400px ── */
@media(max-width:400px){
  .cw-footer-top{grid-template-columns:1fr;}
}
/* ===== END CW FOOTER ===== */

/* ─── FOOTER CTA ─────────────────────────────────── */
.footer-cta { background: linear-gradient(160deg, #f8f4ff 0%, #ecfaf5 100%); padding: 88px 24px 64px; text-align: center; }
.footer-cta .t-h2 { margin: 0 auto 16px; max-width: 600px; }
.footer-sub { font-size: 17px; color: var(--mid); max-width: 420px; margin: 0 auto 36px; line-height: 1.7; }
.footer-note { margin-top: 24px; font-size: 13px; color: var(--light); }

/* ── Hamburger mobile fix ──────────────────────────────────── */
@media(max-width:900px) {
  .cw-nav-inner { justify-content: space-between; }
  .cw-nav-hamburger { margin-left: auto; }
}

/* ── HOVER STATES ────────────────────────────────────────────── */



/* ── Footer gap fix ──────────────────────────────────────── */
.cw-footer { margin-top: 0 !important; }
.footer-cta { margin-bottom: 0 !important; }
