/* === BlueTika 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; --container-max: 1280px; --container-pad: 1.5rem; --section-y: 5rem; --card-radius: 1rem; --btn-radius: 0.625rem; --shadow-card: 0 2px 12px rgba(13,43,107,0.08); --shadow-hover: 0 8px 32px rgba(13,43,107,0.18); --transition: 0.18s cubic-bezier(0.4,0,0.2,1); --color-primary: var(--bt-blue); --color-primary-light: var(--bt-blue-light); --color-primary-dark: var(--bt-navy); --color-accent: var(--bt-gold); --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: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: var(--color-text); background: var(--color-bg); line-height: 1.6; } /* 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; } 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: 2.25rem; } } /* Layout */ .container { max-width: 1200px; 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:2.25rem; font-weight:800; } .section-sub { color:#374151; font-size:1.125rem; max-width:520px; text-align:center; } /* 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-secondary { background: #fff; color: var(--bt-navy); border: 1.5px solid var(--bt-border); } .btn-secondary:hover { border-color: var(--bt-blue); color: var(--bt-blue-mid); } .btn-outline { background: transparent; color: var(--bt-blue); border: 1.5px solid var(--bt-blue); } .btn-outline:hover { background: var(--bt-blue); color: #fff; } /* 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: 'Nunito', sans-serif; font-size: clamp(2.5rem, 6vw, 4rem); font-weight: 900; line-height: 1.1; margin-bottom: 1rem; } .hero__sub { font-size: 1.125rem; color: rgba(255,255,255,0.85); 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); margin-bottom: 2rem; } .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: 1rem; } @media (max-width: 900px) { .categories-grid { grid-template-columns: repeat(4, 1fr); } } @media (max-width: 560px) { .categories-grid { grid-template-columns: repeat(3, 1fr); } } .category-card { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; padding: 1.25rem 0.75rem; background: var(--bt-white); border: 1.5px solid var(--bt-border); border-radius: 1rem; text-decoration: none; transition: 0.18s ease; } .category-card:hover { border-color: var(--bt-blue); box-shadow: 0 8px 32px rgba(13,43,107,0.18); transform: translateY(-2px); } .category-card__icon { font-size: 2rem; } .category-card__name { font-family: 'Nunito', sans-serif; font-weight: 700; font-size: 0.875rem; color: var(--bt-navy); text-align: center; } .category-card__count { font-size: 0.75rem; color: var(--bt-mist); } /* 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; } .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 { font-size: 2.5rem; margin-bottom: 0.75rem; } .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); } /* 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; } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } } .fade-in { animation: fadeInUp 0.5s ease-out forwards; } /* 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; } .bt-nav__logo-blue { color: var(--bt-blue-light); } .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; } } /* 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; }