/* === BlueTika Blue & White Premium CSS === */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bt-navy: #0D2B6B;
  --bt-blue: #1A4FBF;
  --bt-blue-mid: #2563EB;
  --bt-blue-light: #3B82F6;
  --bt-cyan: #06D6A0;
  --bt-sky: #DBEAFE;
  --bt-sky-pale: #EFF6FF;
  --bt-white: #FFFFFF;
  --bt-cream: #F9FAFB;
  --bt-ink: #111827;
  --bt-charcoal: #374151;
  --bt-mist: #9CA3AF;
  --bt-border: #E5E7EB;
  --bt-kiwi: #16A34A;
  --bt-gold: #F59E0B;
  --bt-red: #DC2626;
  --bt-grad-hero: linear-gradient(135deg, #0D2B6B 0%, #1A4FBF 60%, #2563EB 100%);
  --bt-grad-blue: linear-gradient(135deg, #1A4FBF 0%, #3B82F6 100%);
  --font-display: 'Nunito', sans-serif;
  --font-body: 'Inter', sans-serif;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --color-primary: var(--bt-blue);
  --color-primary-light: var(--bt-blue-light);
  --color-primary-dark: var(--bt-navy);
  --color-accent: var(--bt-blue-light);
  --color-bg: var(--bt-white);
  --color-text: var(--bt-ink);
  --color-text-muted: var(--bt-mist);
  --color-border: var(--bt-border);
  --color-blue-500: var(--bt-blue-light);
  --color-blue-600: var(--bt-blue-mid);
  --color-blue-700: var(--bt-blue);
  --color-gray-50: var(--bt-cream);
  --color-gray-100: #f3f4f6;
  --color-gray-200: var(--bt-border);
  --color-gray-300: #d1d5db;
  --color-gray-400: var(--bt-mist);
  --color-gray-500: var(--bt-mist);
  --color-gray-600: var(--bt-charcoal);
  --color-gray-700: var(--bt-charcoal);
  --color-gray-800: #1f2937;
  --color-gray-900: var(--bt-ink);
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-2xl: 1.5rem;
  --shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.05);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
  --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
}

body {
  font-family: var(--font-body);
  background: var(--bt-white);
  color: var(--bt-ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Typography */
h1 { font-size: 2.25rem; font-weight: 800; letter-spacing: -0.025em; line-height: 1.1; }
h2 { font-size: 1.875rem; font-weight: 800; letter-spacing: -0.025em; line-height: 1.2; font-family: var(--font-display); }
h3 { font-size: 1.5rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.3; }
h4 { font-size: 1.25rem; font-weight: 700; line-height: 1.4; }
@media (min-width: 768px) {
  h1 { font-size: 3rem; }
  h2 { font-size: 2rem; }
}

/* Layout */
.container { max-width: 1280px; margin: 0 auto; padding: 0 1.5rem; }
.grid { display: grid; gap: 1.5rem; }
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.grid-4 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
@media (min-width: 768px) {
  .grid-2-md { grid-template-columns: repeat(2, 1fr); }
  .grid-3-md { grid-template-columns: repeat(3, 1fr); }
  .grid-4-md { grid-template-columns: repeat(4, 1fr); }
}

/* Spacing */
.section { padding: 5rem 0; }
.section-sm { padding: 3rem 0; }
.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }
.gap-8 { gap: 2rem; }

/* Section header */
.section-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:2rem; }
.section-header.center { flex-direction:column; text-align:center; gap:0.5rem; }
.section-header h2 { font-size:1.875rem; font-weight:800; font-family:var(--font-display); color:var(--bt-navy); }
.section-sub { color:#374151; font-size:1.125rem; max-width:520px; text-align:center; }

/* Navigation */
.bt-nav { position: sticky; top: 0; z-index: 100; background: var(--bt-white); border-bottom: 1px solid var(--bt-border); box-shadow: 0 1px 8px rgba(13,43,107,0.07); }
.bt-nav__inner { display: flex; align-items: center; gap: 1rem; height: 64px; }
.bt-nav__logo { display:flex; align-items:baseline; gap:0; font-family:var(--font-display); font-weight:900; font-size:1.5rem; text-decoration:none; color: var(--bt-navy); }
.bt-nav__logo span:first-child { color: var(--bt-blue); }
.bt-nav__search { flex:1; max-width:560px; }
.bt-nav__search-wrap { display:flex; align-items:center; gap:0.5rem; background:var(--bt-cream); border:1.5px solid var(--bt-border); border-radius:999px; padding:0.25rem 0.25rem 0.25rem 1rem; }
.bt-nav__search-wrap:focus-within { border-color:var(--bt-blue); background:#fff; }
.bt-nav__search-icon { color:var(--bt-mist); flex-shrink:0; }
.bt-nav__search-input { flex:1; border:none; background:transparent; font-size:var(--text-sm); outline:none; }
.bt-nav__actions { display:flex; align-items:center; gap:0.75rem; margin-left:auto; }
.bt-nav__link { font-size:var(--text-sm); font-weight:600; font-family:var(--font-display); }
.bt-nav__link:hover { color:var(--bt-blue); }
.bt-nav__link-gold { color:var(--bt-gold); }
.bt-nav__hamburger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
.bt-nav__hamburger span { display:block; width:24px; height:2px; background:var(--bt-navy); border-radius:2px; }
.bt-nav__hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.bt-nav__hamburger.open span:nth-child(2) { opacity: 0; }
.bt-nav__hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
.bt-nav__mobile { display:none; background:#fff; border-top:1px solid var(--bt-border); padding:1rem; }
.bt-nav__mobile-links { display:flex; flex-direction:column; gap:0.25rem; }
.bt-nav__mobile-links a { padding:0.6rem 0.5rem; font-weight:600; font-family:var(--font-display); border-radius:0.5rem; }
.bt-nav__mobile-links a:hover { background:var(--bt-sky-pale); }
@media (max-width: 900px) {
  .bt-nav__search, .bt-nav__actions { display:none; }
  .bt-nav__hamburger { display:flex; margin-left:auto; }
  .bt-nav__mobile.open { display:block; }
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.75rem;
  border-radius: 0.625rem;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  text-decoration: none;
  transition: 0.18s ease;
  cursor: pointer;
  border: none;
  line-height: 1.5;
}
.btn-primary {
  background: var(--bt-blue);
  color: #fff;
}
.btn-primary:hover {
  background: var(--bt-blue-mid);
  transform: translateY(-1px);
}
.btn-white {
  background: #fff;
  color: var(--bt-navy);
}
.btn-white:hover {
  background: var(--bt-cream);
  border-color: var(--bt-border);
}
.btn-secondary {
  background: var(--bt-cream);
  color: var(--bt-navy);
  border: 2px solid var(--bt-border);
}
.btn-secondary:hover {
  border-color: var(--bt-blue);
}
.btn-outline {
  background: transparent;
  color: var(--bt-blue);
  border: 1.5px solid var(--bt-blue);
}
.btn-outline:hover {
  background: var(--bt-blue);
  color: #fff;
}

/* Gold button - for Premium URLs and special actions */
.btn-gold {
  background: var(--bt-gold);
  color: var(--bt-navy);
}
.btn-gold:hover {
  background: #D97706;
}

/* Kiwi button - for verified/success actions */
.btn-kiwi {
  background: var(--bt-kiwi);
  color: #fff;
}
.btn-kiwi:hover {
  background: #15803D;
}

/* Danger button - for delete/error actions */
.btn-danger {
  background: #dc2626;
  color: #fff;
}
.btn-danger:hover {
  background: #b91c1c;
  transform: translateY(-1px);
}

/* Ghost button - for subtle actions */
.btn-ghost {
  background: transparent;
  color: var(--bt-charcoal);
}
.btn-ghost:hover {
  background: var(--bt-cream);
  color: var(--bt-navy);
}

/* Text button - for link-like actions */
.btn-text {
  background: transparent;
  color: var(--bt-blue);
  padding: 0;
  border: none;
  text-decoration: underline;
  font-weight: 500;
  font-size: 0.875rem;
}
.btn-text:hover {
  color: var(--bt-navy);
  text-decoration: underline;
}


/* Cards */
.card {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: 1.5rem;
  transition: all 0.25s ease;
}
.card:hover {
  border-color: var(--color-blue-300, #93c5fd);
  box-shadow: var(--shadow-lg);
  transform: translateY(-2px);
}
.card-featured {
  border: 2px solid var(--color-blue-600);
  position: relative;
}

/* Badges */
.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.025em;
}
.badge-blue { background: #dbeafe; color: #1e40af; }
.badge-green { background: #dcfce7; color: #166534; }
.badge-gold { background: #fef3c7; color: #92400e; }
.badge-kiwi { background: #dcfce7; color: #166534; }
.badge-verified { background: #dbeafe; color: #1A4FBF; }

/* Inputs */
.input {
  width: 100%;
  padding: 0.625rem 0.875rem;
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-lg);
  font-size: 0.9375rem;
  transition: all 0.2s ease;
  background: #fff;
}
.input:focus {
  outline: none;
  border-color: var(--color-blue-500);
  box-shadow: 0 0 0 3px rgba(59,130,246,0.15);
}

/* Text utilities */
.text-center { text-align: center; }
.text-sm { font-size: 0.875rem; }
.text-muted { color: var(--color-text-muted); }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.tracking-wide { letter-spacing: 0.05em; }
.tracking-tight { letter-spacing: -0.025em; }

/* Flex utilities */
.flex { display: flex; }
.flex-center { align-items: center; justify-content: center; }
.flex-between { align-items: center; justify-content: space-between; }
.flex-wrap { flex-wrap: wrap; }
.flex-col { flex-direction: column; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }

/* Hero */
.hero {
  background: linear-gradient(135deg, #0D2B6B 0%, #1A4FBF 60%, #2563EB 100%);
  padding: 5rem 0 4rem;
  color: #fff;
}
.hero__headline {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 6vw, 4rem);
  font-weight: 900;
  line-height: 1.1;
  margin-bottom: 1rem;
}
.hero__headline .highlight { color: var(--bt-gold); }
.hero__sub { font-size: 1.125rem; color: rgba(255,255,255,0.85); margin-bottom: 2rem; }
.hero__search { margin-bottom: 2rem; }
.hero__search-wrap {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background: rgba(255,255,255,0.15);
  border: 1.5px solid rgba(255,255,255,0.3);
  border-radius: 999px;
  padding: 0.5rem 0.5rem 0.5rem 1.25rem;
  backdrop-filter: blur(8px);
  transition: 0.18s ease;
}
.hero__search-wrap:focus-within {
  background: rgba(255,255,255,0.2);
  border-color: rgba(255,255,255,0.6);
  box-shadow: 0 0 0 3px rgba(255,255,255,0.1);
}
.hero__search-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: #fff;
  font-size: 1rem;
}
.hero__search-input::placeholder { color: rgba(255,255,255,0.55); }

/* Categories */
.categories-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0.75rem; }
@media (max-width: 900px) { .categories-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .categories-grid { grid-template-columns: repeat(2, 1fr); } }
.category-card {
  position: relative;
  display: block;
  height: 150px;
  border-radius: 0.875rem;
  overflow: hidden;
  text-decoration: none;
  background-size: cover;
  background-position: center;
  background-color: var(--bt-navy);
  transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.category-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(13,43,107,0.2);
}
.category-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.08) 50%, transparent 100%);
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.category-card:hover .category-card__overlay {
  opacity: 0.9;
}
.category-card__name {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.75rem 0.75rem 0.625rem;
  color: #fff;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 0.8125rem;
  text-shadow: 0 1px 4px rgba(0,0,0,0.35);
  text-align: left;
  pointer-events: none;
  line-height: 1.3;
}

/* Product cards */
.product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem; }
.product-card {
  background: var(--bt-white);
  border: 1px solid var(--bt-border);
  border-radius: 1rem;
  overflow: hidden;
  transition: 0.18s ease;
  text-decoration: none;
  color: inherit;
  max-width: 320px;
}
.product-card:hover { box-shadow: 0 8px 32px rgba(13,43,107,0.18); transform: translateY(-2px); }
.product-card__img-wrap { position: relative; aspect-ratio: 1; background: var(--bt-sky-pale); }
.product-card__img { width: 100%; height: 100%; object-fit: cover; }
.product-card__body { padding: 1rem; }
.product-card__store { font-size: 0.875rem; color: var(--bt-mist); margin-bottom: 0.25rem; }
.product-card__title { font-family: 'Nunito', sans-serif; font-weight: 700; font-size: 1rem; color: var(--bt-navy); margin-bottom: 0.5rem; }
.product-card__footer { display: flex; justify-content: space-between; align-items: center; }
.product-card__price { font-weight: 800; font-size: 1.25rem; color: var(--bt-navy); }

/* How it works */
.how-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
@media (max-width: 900px) { .how-grid { grid-template-columns: repeat(2, 1fr); } }
.how-card { text-align: center; padding: 1.5rem; }
.how-card__num { font-family: 'Nunito', sans-serif; font-size: 2rem; font-weight: 900; color: var(--bt-blue); margin-bottom: 0.5rem; }
.how-card__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 56px; height: 56px; border-radius: 0.75rem;
  background: var(--bt-sky-pale); color: var(--bt-blue); margin-bottom: 0.75rem;
}
.how-card__icon svg { width: 28px; height: 28px; }
.how-card h3 { font-family: 'Nunito', sans-serif; font-weight: 700; margin-bottom: 0.5rem; }

/* Trust band */
.trust-band { background: var(--bt-navy); color: #fff; padding: 2.5rem 0; }
.trust-band__inner { display: flex; justify-content: space-around; flex-wrap: wrap; gap: 1rem; }
.trust-stat { text-align: center; }
.trust-stat__num { font-family: 'Nunito', sans-serif; font-size: 2rem; font-weight: 900; display: block; }
.trust-stat__label { font-size: 0.875rem; opacity: 0.8; }
.trust-divider { width: 1px; background: rgba(255,255,255,0.2); align-self: stretch; }

/* CTA banner */
.cta-banner { background: var(--bt-blue); color: #fff; padding: 3rem 0; text-align: center; }
.cta-banner__inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }

/* Footer */
.bt-footer { background: #000000; color: rgba(255,255,255,0.75); padding: 4rem 0 2rem; margin-top: 6rem; }
.bt-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: 2.5rem; }
@media (max-width: 900px) { .bt-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .bt-footer__grid { grid-template-columns: 1fr; } }
.bt-footer__brand { display: flex; flex-direction: column; gap: 0.75rem; }
.bt-footer__logo { font-family: 'Nunito', sans-serif; font-weight: 900; font-size: 1.75rem; text-decoration: none; display: flex; align-items: baseline; }
.bt-footer__logo-blue { color: var(--bt-blue-light); }
.bt-footer__logo-white { color: #fff; }
.bt-footer__tagline { font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 1.1rem; }
.bt-footer__desc { font-size: 0.875rem; opacity: 0.9; margin-top: 0.5rem; }
.bt-footer__mission { font-size: 0.875rem; opacity: 0.9; margin-top: 0.5rem; }
.bt-footer__col h4 { font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 0.875rem; color: var(--bt-blue-light); text-transform: uppercase; margin-bottom: 1rem; }
.bt-footer__col a { display: block; font-size: 0.875rem; color: rgba(255,255,255,0.65); text-decoration: none; margin-bottom: 0.5rem; }
.bt-footer__col a:hover { color: var(--bt-blue-light); }
.bt-footer__bottom { display: flex; justify-content: space-between; padding-top: 1.5rem; font-size: 0.75rem; color: rgba(255,255,255,0.45); flex-wrap: wrap; gap: 1rem; }

/* Hero additional styles */
.hero__inner { display: flex; align-items: center; gap: 3rem; flex-wrap: wrap; }
.hero__content { flex: 1; min-width: 320px; }
.hero__visual { flex: 1; min-width: 320px; position: relative; height: 400px; }
.hero__card-float {
  position: absolute;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 1rem;
  padding: 1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  backdrop-filter: blur(10px);
}
.hero__card-float--2 { top: 50%; right: 0; transform: translateY(-50%); }
.hero__card-avatar { font-size: 1.5rem; }
.hero__ticker { margin-bottom: 1rem; }
.ticker-wrap { display: flex; gap: 2rem; font-size: 0.875rem; opacity: 0.9; }
.ticker-dot { display: inline-block; width: 6px; height: 6px; background: var(--bt-gold); border-radius: 50%; margin-right: 0.5rem; }
.hero__quick { display: flex; gap: 0.75rem; flex-wrap: wrap; font-size: 0.875rem; }
.hero__quick span { opacity: 0.7; }
.hero__quick a { color: rgba(255,255,255,0.85); text-decoration: none; }
.hero__quick a:hover { text-decoration: underline; color: #fff; }
.hero__ctas { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 2rem; }
.hero__trust { display: flex; gap: 1rem; flex-wrap: wrap; }
.hero__trust-pill { background: rgba(255,255,255,0.15); padding: 0.5rem 1rem; border-radius: 999px; font-size: 0.875rem; }
.hero__headline-accent { color: var(--bt-gold); }
.section-link { color: var(--bt-blue); font-weight: 700; text-decoration: none; }
.section-link:hover { text-decoration: underline; }

/* Why section */
.why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
@media (max-width: 900px) { .why-grid { grid-template-columns: 1fr; } }
.why-text { display: flex; flex-direction: column; gap: 1rem; }
.why-eyebrow { font-size: 0.875rem; font-weight: 700; color: var(--bt-blue); text-transform: uppercase; letter-spacing: 0.05em; }
.why-features { display: flex; flex-direction: column; gap: 1rem; margin-top: 1rem; }
.why-feature { display: flex; gap: 0.75rem; }
.why-feature__icon { font-size: 1.25rem; }
.compare-table { width: 100%; border-collapse: collapse; margin-top: 1rem; }
.compare-table th { text-align: left; padding: 0.5rem; font-size: 0.875rem; color: var(--bt-mist); }
.compare-table td { padding: 0.5rem; border-top: 1px solid var(--bt-border); }
.compare-us { color: var(--bt-blue); font-weight: 700; }

/* CTA banner */
.cta-banner__btns { display: flex; gap: 1rem; flex-wrap: wrap; }

/* Button sizes */
.btn-lg { padding: 1rem 2rem; font-size: 1rem; }
.btn-sm { padding: 0.5rem 1rem; font-size: 0.875rem; }

/* Navigation */
.nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--color-border);
}
.nav-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.nav-brand {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  text-decoration: none;
}
.nav-logo {
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nav-title {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--color-gray-900);
  letter-spacing: -0.03em;
}
.nav-title span { color: var(--color-blue-600); }
.nav-links {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.nav-link {
  padding: 0.5rem 0.875rem;
  color: var(--color-gray-600);
  text-decoration: none;
  font-size: 0.9375rem;
  font-weight: 500;
  border-radius: var(--radius-md);
  transition: all 0.2s ease;
}
.nav-link:hover {
  color: var(--color-blue-600);
  background: rgba(59,130,246,0.06);
}

/* Trust bar */
.trust-bar {
  background: var(--color-gray-50);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.trust-items {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  flex-wrap: wrap;
}
.trust-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-gray-700);
}
.trust-icon {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
}

/* Focus states */
:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

/* Pricing */
.pricing-hero { background:linear-gradient(135deg, #0D2B6B 0%, #1A4FBF 60%, #2563EB 100%); padding:4rem 0 3rem; text-align:center; }
.pricing-hero__inner { max-width:640px; margin:0 auto; }
.pricing-hero h1 { font-size:clamp(2rem,5vw,3rem); color:#fff; margin:0.75rem 0; font-family:Nunito,sans-serif; font-weight:900; }
.pricing-hero p { font-size:1.125rem; color:rgba(255,255,255,0.85); line-height:1.6; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-bottom:2rem; align-items:start; }
@media(max-width:900px){ .pricing-grid { grid-template-columns:1fr; max-width:480px; margin-inline:auto; } }
.pricing-card { background:#fff; border:2px solid #E5E7EB; border-radius:1.25rem; padding:2rem; position:relative; display:flex; flex-direction:column; gap:1.25rem; }
.pricing-card__toggle { display:flex; gap:0.25rem; background:#f1f5f9; border-radius:2rem; padding:0.2rem; width:fit-content; }
.toggle-btn { border:none; background:transparent; padding:0.3rem 0.85rem; border-radius:1.5rem; font-size:0.75rem; font-weight:600; cursor:pointer; color:#64748b; transition:all 0.15s; font-family:inherit; }
.toggle-btn--active { background:#fff; color:#0D2B6B; box-shadow:0 1px 3px rgba(0,0,0,0.1); }
.pricing-card--featured { border-color:#1A4FBF; box-shadow:0 8px 40px rgba(26,79,191,0.18); }
.pricing-card--premium { border-color:#0D2B6B; background:linear-gradient(180deg,#fff 0%,#EFF6FF 100%); }
.pricing-card__badge { position:absolute; top:-14px; left:50%; transform:translateX(-50%); color:#fff; font-family:Nunito,sans-serif; font-weight:700; font-size:0.75rem; padding:0.25rem 1rem; border-radius:999px; white-space:nowrap; }
.pricing-card__badge--blue { background:#1A4FBF; }
.pricing-card__badge--gold { background:#F59E0B; }
.pricing-card__name { font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:#9CA3AF; }
.pricing-card__plan { font-size:1.75rem; color:#0D2B6B; margin:0.25rem 0; font-family:Nunito,sans-serif; font-weight:800; }
.pricing-card__price { display:flex; align-items:baseline; gap:0.25rem; }
.pricing-card__amount { font-family:Nunito,sans-serif; font-weight:900; font-size:2.75rem; color:#0D2B6B; }
.pricing-card__period { font-size:0.875rem; color:#9CA3AF; }
.pricing-card__desc { font-size:0.875rem; color:#374151; line-height:1.6; }
.pricing-card__features { list-style:none; display:flex; flex-direction:column; gap:0.5rem; flex:1; }
.pricing-card__features li { font-size:0.8125rem; color:#374151; display:flex; gap:0.5rem; align-items:flex-start; line-height:1.5; }
.pricing-card__features li strong { color:#0D2B6B; }
.pricing-card__features .plus-label { font-size:0.75rem; font-weight:700; color:#1A4FBF; text-transform:uppercase; letter-spacing:0.06em; margin-top:0.25rem; }

/* Domain Forwarding Banner */
.domain-banner { background:linear-gradient(135deg, #0D2B6B 0%, #1A4FBF 60%, #2563EB 100%); border-radius:1.5rem; padding:3rem; margin:3rem 0; position:relative; overflow:hidden; }
.domain-banner::before { content:''; position:absolute; top:-50%; right:-20%; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.05); }
.domain-banner__content { position:relative; z-index:1; text-align:center; max-width:700px; margin:0 auto; }
.domain-banner__tag { display:inline-block; background:rgba(255,255,255,0.15); color:#fff; font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; padding:0.25rem 0.75rem; border-radius:999px; margin-bottom:1rem; }
.domain-banner h2 { font-size:clamp(1.5rem,4vw,2.25rem); color:#fff; font-family:Nunito,sans-serif; font-weight:900; margin:0 0 0.75rem; line-height:1.2; }
.domain-banner h2 span { color:#F59E0B; }
.domain-banner p { color:rgba(255,255,255,0.85); font-size:1.0625rem; line-height:1.6; max-width:600px; margin:0 auto 1.5rem; }
.domain-banner__price { display:flex; align-items:center; justify-content:center; gap:1rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.domain-banner__price-amount { font-family:Nunito,sans-serif; font-weight:900; font-size:3rem; color:#fff; }
.domain-banner__price-label { color:rgba(255,255,255,0.7); font-size:0.9375rem; }
.domain-banner__price-old { color:rgba(255,255,255,0.4); font-size:1.25rem; text-decoration:line-through; }
.domain-banner__features { display:flex; justify-content:center; gap:2rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.domain-banner__features span { color:rgba(255,255,255,0.9); font-size:0.875rem; display:flex; align-items:center; gap:0.375rem; }
.domain-banner .btn { font-size:1.125rem; padding:0.875rem 2.5rem; }
.domain-banner__note { color:rgba(255,255,255,0.5); font-size:0.75rem; margin-top:0.75rem; }

/* Pricing FAQ */
.pricing-faq { margin:3rem 0 1rem; }
.pricing-faq h2 { font-size:1.75rem; color:#0D2B6B; text-align:center; font-family:Nunito,sans-serif; font-weight:800; margin-bottom:1.5rem; }
.pricing-faq__grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media(max-width:700px){ .pricing-faq__grid { grid-template-columns:1fr; } }
.pricing-faq__item { background:#fff; border:1px solid #E5E7EB; border-radius:0.875rem; padding:1.25rem; }
.pricing-faq__item summary { font-family:Nunito,sans-serif; font-weight:700; font-size:0.9375rem; color:#0D2B6B; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.pricing-faq__item summary::after { content:'＋'; font-size:1.125rem; color:#1A4FBF; }
.pricing-faq__item[open] summary::after { content:'－'; }
.pricing-faq__item p { font-size:0.875rem; color:#374151; line-height:1.6; margin-top:0.75rem; }

/* Animations */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
.fade-in { animation: fadeInUp 0.5s ease-out forwards; }

/* Misc */
.divider { height: 1px; background: var(--color-border); border: none; }
.rounded-2xl { border-radius: 1.5rem; }
.shadow-lg { box-shadow: var(--shadow-lg); }
.shadow-xl { box-shadow: var(--shadow-xl); }
.relative { position: relative; }
.overflow-hidden { overflow: hidden; }
.w-full { width: 100%; }
.h-full { height: 100%; }
.p-4 { padding: 1rem; }
.p-6 { padding: 1.5rem; }
.p-8 { padding: 2rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-8 { padding-left: 2rem; padding-right: 2rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-8 { padding-top: 2rem; padding-bottom: 2rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }
.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-4 { margin-top: 1rem; }
.mt-6 { margin-top: 1.5rem; }

/* ── Layout utility classes (used by auth/storefront pages) ── */

/* Full viewport height */
.min-h-screen { min-height: 100vh; }

/* Flex utilities */
.flex { display: flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }

/* Width utilities */
.w-full { width: 100%; }
.w-4 { width: 1rem; }
.w-8 { width: 2rem; }
.w-12 { width: 3rem; }
.w-16 { width: 4rem; }

/* Spacing (gap between children) */
.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-4 { gap: 1rem; }
.gap-8 { gap: 2rem; }

/* Vertical spacing between children */
.space-y-3 > * + * { margin-top: 0.75rem; }
.space-y-4 > * + * { margin-top: 1rem; }

/* Background colors */
.bg-white { background: var(--bt-white); }
.bg-blue-600 { background: var(--bt-blue); }
.bg-red-50 { background: #FEF2F2; }
.bg-green-50 { background: #F0FDF4; }

/* Text colors */
.text-gray-900 { color: var(--bt-ink); }
.text-gray-500 { color: var(--bt-mist); }
.text-gray-400 { color: #9CA3AF; }
.text-gray-700 { color: var(--bt-charcoal); }
.text-blue-600 { color: var(--bt-blue); }
.text-blue-200 { color: #BFDBFE; }
.text-blue-700 { color: var(--bt-blue); }
.text-red-700 { color: #B91C1C; }
.text-green-700 { color: #15803D; }

/* Font utilities */
.text-sm { font-size: 0.875rem; }
.text-xs { font-size: 0.75rem; }
.text-2xl { font-size: 1.5rem; }
.text-xl { font-size: 1.25rem; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.tracking-wide { letter-spacing: 0.05em; }
.uppercase { text-transform: uppercase; }
.block { display: block; }
.hidden { display: none; }

/* Border radius */
.rounded-xl { border-radius: 0.75rem; }
.rounded-2xl { border-radius: 1.5rem; }
.rounded-full { border-radius: 9999px; }

/* Shadows */
.shadow-lg { box-shadow: var(--shadow-lg); }
.shadow-xl { box-shadow: var(--shadow-xl); }

/* Border utilities */
.border { border: 1px solid var(--bt-border); }
.border-none { border: none; }
.border-gray-200 { border-color: var(--bt-border); }
.border-red-100 { border-color: #FECACA; }
.border-green-100 { border-color: #BBF7D0; }

/* Max-width */
.max-w-md { max-width: 28rem; }
.max-w-sm { max-width: 24rem; }

/* Padding utilities */
.p-4 { padding: 1rem; }
.p-6 { padding: 1.5rem; }
.p-8 { padding: 2rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-8 { padding-top: 2rem; padding-bottom: 2rem; }
.py-2\.5 { padding-top: 0.625rem; padding-bottom: 0.625rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }

/* Object fit */
.object-cover { object-fit: cover; }

/* Transitions */
.transition-all { transition: all 0.2s ease; }
.hover\:text-blue-600:hover { color: var(--bt-blue); }
.hover\:underline:hover { text-decoration: underline; }
.hover\:bg-blue-700:hover { background: #1E40AF; }

/* Cursor */
.cursor-pointer { cursor: pointer; }

/* Overflow */
.overflow-hidden { overflow: hidden; }

/* Relative/Absolute */
.relative { position: relative; }
.absolute { position: absolute; }

/* Dash card for dashboard pages */
.dash-card {
  background: var(--bt-white);
  border: 1px solid var(--bt-border);
  border-radius: var(--radius-xl);
  padding: 1.5rem;
}

/* Focus ring for inputs */
.focus\:ring-2:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(26,79,191,0.3);
}
.focus\:ring-blue-500:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.3);
}
.focus\:outline-none:focus {
  outline: none;
}

/* Spinner animation for loading buttons */
@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.animate-spin {
  animation: spin 1s linear infinite;
}

/* Pulse animation */
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Additional layout utilities */
.mx-auto { margin-left: auto; margin-right: auto; }
.inline-block { display: inline-block; }
.leading-relaxed { line-height: 1.625; }
.shadow-sm { box-shadow: var(--shadow-sm); }

/* === MISSING UTILITIES (added for launch readiness) === */

/* Filter chip for search tabs */
.filter-chip {
  display: inline-flex; align-items: center; padding: 0.375rem 0.875rem;
  border-radius: 9999px; font-size: 0.8125rem; font-weight: 600;
  background: var(--bt-cream); color: var(--bt-charcoal); border: 1px solid var(--bt-border);
  text-decoration: none; transition: 0.15s ease;
}
.filter-chip:hover { background: #fff; border-color: var(--bt-blue); color: var(--bt-blue); }
.filter-chip.active { background: var(--bt-blue); color: #fff; border-color: var(--bt-blue); }

/* Product card badge */
.product-card__badge {
  position: absolute; top: 0.75rem; right: 0.75rem;
  padding: 0.2rem 0.5rem; border-radius: 9999px;
  font-size: 0.6875rem; font-weight: 700; text-transform: uppercase;
}

/* Badge premium tier */
.badge-premium { background: linear-gradient(135deg, #F59E0B, #D97706); color: #fff; }
.badge-free { background: #F3F4F6; color: #6B7280; }
.badge-standard { background: #DBEAFE; color: #1E40AF; }

/* ===== COLOR BACKGROUND CLASSES ===== */
.bg-gray-100 { background: var(--color-gray-100, #f3f4f6); }
.bg-gray-200 { background: var(--color-gray-200, #e5e7eb); }
.bg-gray-400 { background: var(--color-gray-400, #9ca3af); }
.bg-gray-50 { background: var(--color-gray-50, var(--bt-cream)); }
.bg-blue-50 { background: #dbeafe; }
.bg-blue-100 { background: #bfdbfe; }
.bg-blue-500 { background: var(--bt-blue-light); }
.bg-blue-600 { background: var(--bt-blue); }
.bg-blue-700 { background: var(--bt-blue); }
.bg-green-50 { background: #f0fdf4; }
.bg-green-100 { background: #dcfce7; }
.bg-green-500 { background: #22c55e; }
.bg-green-600 { background: var(--bt-kiwi); }
.bg-green-700 { background: #15803d; }
.bg-red-50 { background: #fef2f2; }
.bg-red-100 { background: #fecaca; }
.bg-red-500 { background: #ef4444; }
.bg-amber-50 { background: #fffbeb; }
.bg-amber-100 { background: #fef3c7; }
.bg-amber-500 { background: #f59e0b; }
.bg-violet-50 { background: #f5f3ff; }
.bg-violet-100 { background: #ede9fe; }
.bg-violet-600 { background: #7c3aed; }
.bg-violet-700 { background: #6d28d9; }
.bg-purple-50 { background: #faf5ff; }
.bg-purple-100 { background: #f3e8ff; }
.bg-pink-50 { background: #fdf2f8; }
.bg-pink-100 { background: #fce7f3; }
.bg-orange-50 { background: #fff7ed; }
.bg-orange-100 { background: #ffedd5; }
.bg-orange-500 { background: #f97316; }
.bg-teal-50 { background: #f0fdfa; }
.bg-teal-100 { background: #ccfbf1; }
.bg-teal-600 { background: #0d9488; }
.bg-cyan-400 { background: #22d3ee; }
.bg-yellow-50 { background: #fefce8; }
.bg-yellow-100 { background: #fef9c3; }
.bg-yellow-500 { background: #eab308; }
.bg-indigo-50 { background: #eef2ff; }
.bg-indigo-100 { background: #e0e7ff; }
.bg-black { background: #000; }
.bg-transparent { background: transparent; }

/* ===== COLOR TEXT CLASSES ===== */
.text-gray-900 { color: var(--color-gray-900, var(--bt-ink)); }
.text-gray-700 { color: var(--color-gray-700, var(--bt-charcoal)); }
.text-gray-500 { color: var(--color-gray-500, var(--bt-mist)); }
.text-gray-400 { color: var(--color-gray-400, #9ca3af); }
.text-gray-600 { color: var(--color-gray-600, var(--bt-charcoal)); }
.text-gray-800 { color: var(--color-gray-800, #1f2937); }
.text-blue-900 { color: #1e3a8a; }
.text-blue-700 { color: var(--bt-blue); }
.text-blue-600 { color: var(--bt-blue); }
.text-blue-500 { color: var(--bt-blue-light); }
.text-blue-200 { color: #bfdbfe; }
.text-green-900 { color: #14532d; }
.text-green-700 { color: #15803d; }
.text-green-600 { color: #16a34a; }
.text-green-500 { color: #22c55e; }
.text-red-900 { color: #7f1d1d; }
.text-red-700 { color: #b91c1c; }
.text-red-600 { color: #dc2626; }
.text-red-500 { color: #ef4444; }
.text-amber-900 { color: #78350f; }
.text-amber-700 { color: #b45309; }
.text-amber-600 { color: #d97706; }
.text-amber-500 { color: #f59e0b; }
.text-violet-700 { color: #6d28d9; }
.text-violet-600 { color: #7c3aed; }
.text-purple-700 { color: #9333ea; }
.text-purple-600 { color: #a855f7; }
.text-purple-500 { color: #c084fc; }
.text-orange-700 { color: #c2410c; }
.text-orange-500 { color: #f97316; }
.text-teal-700 { color: #0f766e; }
.text-teal-600 { color: #0d9488; }
.text-cyan-400 { color: #22d3ee; }
.text-yellow-700 { color: #a16207; }
.text-yellow-500 { color: #eab308; }
.text-indigo-600 { color: #4f46e5; }
.text-indigo-500 { color: #6366f1; }
.text-pink-700 { color: #be185d; }
.text-pink-600 { color: #ec4899; }
.text-white { color: #fff; }
.text-black { color: #000; }
.text-transparent { color: transparent; }

/* ===== BORDER WIDTH & DIRECTION CLASSES ===== */
.border-0 { border-width: 0; }
.border-2 { border-width: 2px; }
.border-b { border-bottom-width: 1px; }
.border-t { border-top-width: 1px; }
.border-l { border-left-width: 1px; }
.border-r { border-right-width: 1px; }
.border-gray-100 { border-color: #f3f4f6; }
.border-gray-300 { border-color: #d1d5db; }
.border-blue-100 { border-color: #dbeafe; }
.border-blue-200 { border-color: #bfdbfe; }
.border-blue-300 { border-color: #93c5fd; }
.border-blue-500 { border-color: #3b82f6; }
.border-blue-600 { border-color: var(--bt-blue); }
.border-green-200 { border-color: #bbf7d0; }
.border-red-100 { border-color: #fecaca; }
.border-amber-100 { border-color: #fef3c7; }
.border-amber-200 { border-color: #fde68a; }
.border-violet-100 { border-color: #ede9fe; }
.border-purple-100 { border-color: #f3e8ff; }
.border-indigo-100 { border-color: #e0e7ff; }
.border-white { border-color: #fff; }
.border-transparent { border-color: transparent; }

/* ===== ADDITIONAL SPACING (padding) ===== */
.p-1 { padding: 0.25rem; }
.p-2 { padding: 0.5rem; }
.p-3 { padding: 0.75rem; }
.p-5 { padding: 1.25rem; }
.px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
.py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-2\.5 { padding-top: 0.625rem; padding-bottom: 0.625rem; }
.py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
.px-1 { padding-left: 0.25rem; padding-right: 0.25rem; }
.px-8 { padding-left: 2rem; padding-right: 2rem; }

/* ===== ADDITIONAL SPACING (margin) ===== */
.mx-2 { margin-left: 0.5rem; margin-right: 0.5rem; }
.mt-0\.5 { margin-top: 0.125rem; }
.mt-0 { margin-top: 0; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-5 { margin-bottom: 1.25rem; }
.ml-auto { margin-left: auto; }
.mr-1 { margin-right: 0.25rem; }

/* ===== ADDITIONAL FLEX ===== */
.grow { flex-grow: 1; }
.shrink { flex-shrink: 1; }

/* ===== ADDITIONAL FONT ===== */
.font-normal { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-bold { font-weight: 700; }
.font-semibold { font-weight: 600; }
.font-extrabold { font-weight: 800; }
.text-xs { font-size: 0.75rem; }
.text-sm { font-size: 0.875rem; }
.text-base { font-size: 1rem; }
.text-lg { font-size: 1.125rem; }
.text-xl { font-size: 1.25rem; }
.text-2xl { font-size: 1.5rem; }
.text-3xl { font-size: 1.875rem; }
.text-4xl { font-size: 2.25rem; }
.text-5xl { font-size: 3rem; }
.text-6xl { font-size: 3.75rem; }
.leading-tight { line-height: 1.25; }
.leading-normal { line-height: 1.5; }
.tracking-tight { letter-spacing: -0.025em; }
.tracking-wide { letter-spacing: 0.05em; }
.uppercase { text-transform: uppercase; }
.capitalize { text-transform: capitalize; }
.line-through { text-decoration: line-through; }

/* ===== ADDITIONAL RADIUS ===== */
.rounded { border-radius: 0.25rem; }
.rounded-md { border-radius: 0.375rem; }
.rounded-lg { border-radius: 0.5rem; }
.rounded-xl { border-radius: 0.75rem; }
.rounded-2xl { border-radius: 1.5rem; }
.rounded-full { border-radius: 9999px; }
.rounded-t { border-top-left-radius: 0.25rem; border-top-right-radius: 0.25rem; }
.rounded-b { border-bottom-left-radius: 0.25rem; border-bottom-right-radius: 0.25rem; }

/* ===== ADDITIONAL SHADOWS ===== */
.shadow { box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.06); }
.shadow-md { box-shadow: var(--shadow-md); }
.shadow-sm { box-shadow: var(--shadow-sm); }

/* ===== DASHBOARD LAYOUT CLASSES ===== */
.dash-layout { display: flex; min-height: 100vh; background: var(--bt-cream); }
.dash-sidebar {
  width: 260px; background: var(--bt-navy); color: #fff;
  display: flex; flex-direction: column; padding: 1.25rem; flex-shrink: 0;
}
.dash-main { flex: 1; padding: 1.5rem; overflow-y: auto; }

.dash-sidebar__store { display: flex; align-items: center; gap: 0.75rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(255,255,255,0.12); margin-bottom: 1rem; }
.dash-sidebar__avatar { width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,0.15); display: flex; align-items: center; justify-content: center; font-weight: 700; overflow: hidden; flex-shrink: 0; }
.dash-sidebar__avatar img { width: 100%; height: 100%; object-fit: cover; }
.dash-sidebar__storelink { font-size: 0.75rem; opacity: 0.7; display: block; margin-top: 0.125rem; color: rgba(255,255,255,0.7); text-decoration: none; }
.dash-sidebar__tier { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 1rem; }
.dash-sidebar__upgrade { font-size: 0.75rem; color: var(--bt-gold); text-decoration: none; }
.dash-sidebar__nav { display: flex; flex-direction: column; gap: 0.125rem; flex: 1; }

.dash-nav-item {
  display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0.75rem;
  border-radius: 0.5rem; color: rgba(255,255,255,0.75); text-decoration: none;
  font-size: 0.875rem; font-weight: 500; transition: 0.15s ease;
}
.dash-nav-item:hover { background: rgba(255,255,255,0.08); color: #fff; }
.dash-nav-item.active { background: rgba(255,255,255,0.15); color: #fff; font-weight: 600; }
.dash-nav-count { margin-left: auto; font-size: 0.6875rem; padding: 0.125rem 0.5rem; border-radius: 9999px; background: rgba(255,255,255,0.15); }
.dash-nav-count--red { background: #ef4444; }
.dash-nav-divider { border: none; border-top: 1px solid rgba(255,255,255,0.12); margin: 0.5rem 0; }

.dash-welcome { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.5rem; }
.dash-welcome__title { font-family: var(--font-display); font-weight: 800; font-size: 1.5rem; color: var(--bt-navy); margin: 0; }
.dash-welcome__sub { font-size: 0.875rem; color: var(--bt-charcoal); margin-top: 0.25rem; }
.dash-welcome__actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }

.dash-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.dash-stat { background: #fff; border: 1px solid var(--bt-border); border-radius: var(--radius-xl); padding: 1.25rem; display: flex; align-items: center; gap: 1rem; }
.dash-stat--blue { border-left: 3px solid var(--bt-blue); }
.dash-stat__icon { font-size: 1.75rem; }
.dash-stat__label { font-size: 0.75rem; color: var(--bt-mist); display: block; }
.dash-stat__value { font-weight: 800; font-size: 1.25rem; color: var(--bt-navy); }

.dash-card__title { font-weight: 700; font-size: 1rem; color: var(--bt-navy); }
.dash-card__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }

.dash-progress-track { height: 8px; background: var(--bt-cream); border-radius: 9999px; overflow: hidden; }
.dash-progress-fill { height: 100%; background: var(--bt-blue); border-radius: 9999px; transition: width 0.3s ease; }

.dash-two-col { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; margin-bottom: 1.5rem; }

.dash-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.dash-table th { text-align: left; padding: 0.625rem; border-bottom: 2px solid var(--bt-border); font-weight: 600; color: var(--bt-charcoal); font-size: 0.75rem; text-transform: uppercase; }
.dash-table td { padding: 0.625rem; border-bottom: 1px solid var(--bt-border); }
.dash-table__clip { max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.order-status { display: inline-flex; padding: 0.125rem 0.5rem; border-radius: 9999px; font-size: 0.6875rem; font-weight: 600; }
.order-status--pending { background: #fef3c7; color: #92400e; }
.order-status--completed { background: #dcfce7; color: #166534; }
.order-status--cancelled { background: #fee2e2; color: #991b1b; }
.order-status--processing { background: #dbeafe; color: #1e40af; }

.dash-empty { color: var(--bt-mist); text-align: center; padding: 2rem; font-size: 0.875rem; }

.dash-alert { display: flex; align-items: center; gap: 0.75rem; padding: 0.875rem 1rem; border-radius: var(--radius-lg); margin-bottom: 1rem; font-size: 0.875rem; }
.dash-alert--warn { background: #fef3c7; border: 1px solid #fde68a; color: #92400e; }
.dash-alert--red { background: #fee2e2; border: 1px solid #fecaca; color: #991b1b; }
.dash-alert--info { background: #dbeafe; border: 1px solid #bfdbfe; color: #1e40af; }
.dash-alert span { font-size: 1.125rem; flex-shrink: 0; }

.dash-quick-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.75rem; }
.dash-quick-link { display: flex; flex-direction: column; align-items: center; gap: 0.375rem; padding: 1rem; background: #fff; border: 1px solid var(--bt-border); border-radius: var(--radius-xl); text-decoration: none; transition: 0.15s ease; text-align: center; }
.dash-quick-link:hover { border-color: var(--bt-blue); box-shadow: var(--shadow-md); transform: translateY(-1px); }
.dash-quick-link span:first-child { font-size: 1.5rem; }
.dash-quick-link span:last-child { font-size: 0.8125rem; font-weight: 600; color: var(--bt-charcoal); }

.dash-msgs { display: flex; flex-direction: column; gap: 0.5rem; }
.dash-msg { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem; border-radius: var(--radius-lg); transition: 0.15s ease; text-decoration: none; }
.dash-msg:hover { background: var(--bt-cream); }
.dash-msg__avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--bt-blue); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.875rem; flex-shrink: 0; }
.dash-msg__body { flex: 1; min-width: 0; }
.dash-msg__body strong { font-size: 0.875rem; color: var(--bt-navy); display: block; }
.dash-msg__body span { font-size: 0.8125rem; color: var(--bt-mist); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dash-msg__time { font-size: 0.6875rem; color: var(--bt-mist); flex-shrink: 0; }

/* ===== AUTH / LOGIN PAGES ===== */
.auth-wrapper { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--bt-navy) 0%, var(--bt-blue) 60%, var(--bt-blue-light) 100%); padding: 1.5rem; }
.auth-card { background: #fff; border-radius: 1.25rem; padding: 2rem; width: 100%; max-width: 420px; box-shadow: 0 20px 60px rgba(0,0,0,0.2); }
.auth-card h2 { font-family: var(--font-display); font-weight: 800; font-size: 1.5rem; color: var(--bt-navy); margin-bottom: 0.5rem; }
.auth-card__sub { font-size: 0.875rem; color: var(--bt-charcoal); margin-bottom: 1.5rem; }
.auth-card__link { color: var(--bt-blue); font-weight: 600; text-decoration: none; }
.auth-card__link:hover { text-decoration: underline; }
.auth-error { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; padding: 0.75rem 1rem; border-radius: var(--radius-lg); font-size: 0.875rem; margin-bottom: 1rem; }
.auth-success { background: #f0fdf4; border: 1px solid #bbf7d0; color: #15803d; padding: 0.75rem 1rem; border-radius: var(--radius-lg); font-size: 0.875rem; margin-bottom: 1rem; }

/* ===== CHECKOUT PAGES ===== */
.checkout-grid { display: grid; grid-template-columns: 1fr 380px; gap: 2rem; }
@media (max-width: 900px) { .checkout-grid { grid-template-columns: 1fr; } }
.checkout-summary { background: #fff; border: 1px solid var(--bt-border); border-radius: var(--radius-xl); padding: 1.5rem; }
.checkout-summary__item { display: flex; gap: 1rem; padding: 0.75rem 0; border-bottom: 1px solid var(--bt-border); }
.checkout-summary__img { width: 56px; height: 56px; border-radius: 0.5rem; object-fit: cover; }
.checkout-summary__info { flex: 1; }
.checkout-summary__title { font-weight: 600; font-size: 0.875rem; color: var(--bt-navy); }
.checkout-summary__price { font-weight: 700; color: var(--bt-navy); }
.checkout-divider { border: none; border-top: 2px dashed var(--bt-border); margin: 1rem 0; }
.checkout-total { display: flex; justify-content: space-between; font-weight: 800; font-size: 1.125rem; color: var(--bt-navy); padding-top: 0.5rem; }
.checkout-step { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.checkout-step__num { width: 32px; height: 32px; border-radius: 50%; background: var(--bt-blue); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.875rem; }
.checkout-step__num.done { background: var(--bt-kiwi); }
.checkout-step__label { font-weight: 600; font-size: 0.875rem; color: var(--bt-navy); }

/* ===== AUTH PAGES — TWO-COLUMN LAYOUT ===== */
.auth-page {
  display: flex;
  min-height: 100vh;
  background: var(--bt-cream);
}

.auth-page__left {
  flex: 1;
  background: linear-gradient(160deg, #0D2B6B 0%, #1A4FBF 50%, #2563EB 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem;
  position: relative;
  overflow: hidden;
}

.auth-page__left-inner {
  position: relative;
  z-index: 1;
  max-width: 440px;
  width: 100%;
}

.auth-page__brand {
  margin-bottom: 2rem;
}

.auth-page__logo {
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: 2rem;
  text-decoration: none;
  display: block;
  color: #fff;
  margin-bottom: 0.5rem;
}

.auth-page__logo span:first-child {
  color: #60A5FA;
}

.auth-page__tagline {
  font-size: 0.9375rem;
  color: rgba(255,255,255,0.85);
  font-weight: 500;
  letter-spacing: 0.02em;
}

.auth-page__visual {
  display: flex;
  justify-content: center;
  margin: 2rem 0;
}

.auth-page__kiwi {
  width: 180px;
  height: 180px;
  filter: drop-shadow(0 8px 32px rgba(0,0,0,0.2));
}

.auth-page__trust {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.auth-page__trust-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: rgba(255,255,255,0.9);
  font-size: 0.9375rem;
  font-weight: 600;
}

.auth-page__trust-icon {
  font-size: 1.25rem;
}

/* Right side - form */
.auth-page__right {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background: #fff;
}

.auth-page__right-inner {
  width: 100%;
  max-width: 440px;
}

.auth-page__form-wrap {
  width: 100%;
}

.auth-page__form-header {
  margin-bottom: 2rem;
}

.auth-page__heading {
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
  font-size: 1.75rem;
  color: var(--bt-navy);
  margin: 0 0 0.5rem 0;
  line-height: 1.2;
}

.auth-page__sub {
  font-size: 0.9375rem;
  color: var(--bt-charcoal);
  margin: 0;
}

.auth-page__form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.auth-page__field {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.auth-page__label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bt-charcoal);
  letter-spacing: 0.01em;
}

.auth-page__input {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1.5px solid var(--bt-border);
  border-radius: 0.75rem;
  font-size: 0.9375rem;
  font-family: 'Inter', sans-serif;
  transition: all 0.15s ease;
  background: #fff;
  color: var(--bt-ink);
}

.auth-page__input:focus {
  outline: none;
  border-color: var(--bt-blue);
  box-shadow: 0 0 0 3px rgba(26,79,191,0.1);
}

.auth-page__input::placeholder {
  color: #9CA3AF;
}

.auth-page__hint {
  font-size: 0.75rem;
  color: var(--bt-mist);
  margin: 0;
}

.auth-page__turnstile {
  width: 100%;
  min-height: 60px;
}

.auth-page__submit {
  width: 100%;
  padding: 0.875rem;
  background: var(--bt-blue);
  color: #fff;
  border: none;
  border-radius: 0.75rem;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.auth-page__submit:hover:not(:disabled) {
  background: #1E40AF;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(26,79,191,0.3);
}

.auth-page__submit:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

/* Footer links */
.auth-page__footer {
  text-align: center;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--bt-border);
}

.auth-page__footer-text {
  font-size: 0.875rem;
  color: var(--bt-mist);
  margin: 0 0 0.5rem 0;
}

.auth-page__signup-footer {
  text-align: center;
  margin-top: 0.75rem;
}

.auth-page__signup-text {
  font-size: 0.8125rem;
  color: var(--bt-mist);
  margin: 0 0 0.375rem 0;
}

.auth-page__link {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--bt-blue);
  text-decoration: none;
}

.auth-page__link:hover {
  text-decoration: underline;
  color: #1E40AF;
}

.auth-page__redirect-text {
  font-size: 0.75rem;
  color: var(--bt-blue);
  text-align: center;
  margin-top: 0.5rem;
}

/* Two-field row (first name + last name) */
.auth-page__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

/* Role selection labels */
.auth-page__role-label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border: 1px solid #E5E7EB;
  border-radius: 0.75rem;
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s;
}

.auth-page__role-label:hover {
  border-color: var(--bt-blue);
  background-color: #F9FAFB;
}

.auth-page__role-label input[type="radio"] {
  width: 1rem;
  height: 1rem;
  accent-color: var(--bt-blue);
}

/* Error / Success messages */
.auth-error {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: #FEF2F2;
  border: 1px solid #FECACA;
  border-radius: 0.75rem;
  color: #B91C1C;
  font-size: 0.875rem;
  margin-bottom: 1rem;
}

.auth-success {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  border-radius: 0.75rem;
  color: #15803D;
  font-size: 0.875rem;
  margin-bottom: 1rem;
}

/* Mobile - stack vertically */
@media (max-width: 768px) {
  .auth-page__left {
    display: none;
  }
  
  .auth-page__right {
    padding: 1.5rem;
  }
  
  .auth-page__right-inner {
    max-width: 100%;
  }
  
  .auth-page__heading {
    font-size: 1.5rem;
  }
  
  .auth-page__row {
    grid-template-columns: 1fr;
  }
}