File: /home/niyknzcu/nexlancedigital.com/styles.css
/* =====================================================
CSS Variables & Reset
===================================================== */
:root {
/* Colors */
--color-primary: #1a1a1a;
--color-secondary: #4f46e5;
--color-accent: #7c3aed;
--color-text: #1f2937;
--color-text-light: #6b7280;
--color-text-lighter: #9ca3af;
--color-bg: #ffffff;
--color-bg-alt: #f9fafb;
--color-bg-dark: #111827;
--color-border: #e5e7eb;
--color-success: #10b981;
--color-warning: #f59e0b;
/* Typography */
--font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--font-size-xs: 0.75rem;
--font-size-sm: 0.875rem;
--font-size-base: 1rem;
--font-size-lg: 1.125rem;
--font-size-xl: 1.25rem;
--font-size-2xl: 1.5rem;
--font-size-3xl: 2rem;
--font-size-4xl: 2.5rem;
--font-size-5xl: 3.5rem;
--font-size-6xl: 4.5rem;
/* Spacing */
--spacing-xs: 0.25rem;
--spacing-sm: 0.5rem;
--spacing-md: 1rem;
--spacing-lg: 1.5rem;
--spacing-xl: 2rem;
--spacing-2xl: 3rem;
--spacing-3xl: 4rem;
--spacing-4xl: 6rem;
/* Border Radius */
--radius-sm: 0.25rem;
--radius-md: 0.5rem;
--radius-lg: 0.75rem;
--radius-xl: 1rem;
--radius-2xl: 1.5rem;
--radius-full: 9999px;
/* Shadows */
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
/* Transitions */
--transition-fast: 150ms ease;
--transition-base: 250ms ease;
--transition-slow: 350ms ease;
/* Container */
--container-max: 1280px;
--container-padding: 1.5rem;
}
/* Reset */
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
scroll-behavior: smooth;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body {
font-family: var(--font-family);
font-size: var(--font-size-base);
line-height: 1.6;
color: var(--color-text);
background-color: var(--color-bg);
overflow-x: hidden;
}
.legal-page {
padding: 80px 20px;
background: #f9fafb;
}
.legal-container {
max-width: 900px;
margin: auto;
background: #ffffff;
padding: 50px;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
.legal-container h1 {
font-size: 36px;
margin-bottom: 10px;
}
.last-updated {
color: #6b7280;
margin-bottom: 30px;
}
.legal-container h2 {
margin-top: 30px;
font-size: 22px;
}
.legal-container h3 {
margin-top: 20px;
font-size: 18px;
}
.legal-container p {
margin: 10px 0;
line-height: 1.7;
}
.legal-container ul {
margin: 10px 0 10px 20px;
}
.footer-note {
margin-top: 40px;
font-weight: 500;
}
a {
color: inherit;
text-decoration: none;
}
ul {
list-style: none;
}
img {
max-width: 100%;
height: auto;
display: block;
}
button {
font-family: inherit;
cursor: pointer;
border: none;
background: none;
}
/* =====================================================
Layout
===================================================== */
.container {
width: 100%;
max-width: var(--container-max);
margin: 0 auto;
padding: 0 var(--container-padding);
}
/* =====================================================
Typography
===================================================== */
h1, h2, h3, h4, h5, h6 {
font-weight: 700;
line-height: 1.2;
}
.gradient-text {
background: linear-gradient(135deg, var(--color-secondary), var(--color-accent));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* =====================================================
Buttons
===================================================== */
.btn-primary {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.75rem 1.5rem;
font-size: var(--font-size-sm);
font-weight: 600;
color: #fff;
background: var(--color-primary);
border-radius: var(--radius-full);
transition: all var(--transition-base);
}
.btn-primary:hover {
background: #333;
transform: translateY(-2px);
box-shadow: var(--shadow-lg);
}
.btn-secondary {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
padding: 0.75rem 1.5rem;
font-size: var(--font-size-sm);
font-weight: 600;
color: var(--color-text);
background: #fff;
border: 2px solid var(--color-border);
border-radius: var(--radius-full);
transition: all var(--transition-base);
}
.btn-secondary:hover {
border-color: var(--color-primary);
background: var(--color-bg-alt);
}
.btn-outline {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.75rem 1.5rem;
font-size: var(--font-size-sm);
font-weight: 600;
color: var(--color-primary);
background: transparent;
border: 2px solid var(--color-primary);
border-radius: var(--radius-full);
transition: all var(--transition-base);
}
.btn-outline:hover {
background: var(--color-primary);
color: #fff;
}
.btn-text {
padding: 0.5rem 1rem;
font-size: var(--font-size-sm);
font-weight: 500;
color: var(--color-text-light);
transition: color var(--transition-fast);
}
.btn-text:hover {
color: var(--color-text);
}
.btn-large {
padding: 1rem 2rem;
font-size: var(--font-size-base);
}
.btn-full {
width: 100%;
}
.play-icon {
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
font-size: 10px;
background: var(--color-primary);
color: #fff;
border-radius: 50%;
}
/* =====================================================
Navigation
===================================================== */
.navbar {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
padding: 1rem 0;
background: transparent;
transition: all var(--transition-base);
}
.navbar.scrolled {
padding: 0.75rem 0;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
box-shadow: var(--shadow-sm);
}
.nav-container {
max-width: var(--container-max);
margin: 0 auto;
padding: 0 var(--container-padding);
display: flex;
align-items: center;
justify-content: space-between;
}
.logo {
display: flex;
align-items: center;
gap: 0.5rem;
font-size: var(--font-size-xl);
font-weight: 800;
color: var(--color-primary);
}
.logo-icon {
color: var(--color-secondary);
font-size: var(--font-size-2xl);
}
.nav-menu {
display: flex;
align-items: center;
gap: 0.5rem;
}
.nav-item {
position: relative;
}
.nav-item > a {
display: flex;
align-items: center;
gap: 0.25rem;
padding: 0.75rem 1rem;
font-size: var(--font-size-sm);
font-weight: 500;
color: var(--color-text);
transition: color var(--transition-fast);
}
.nav-item > a:hover {
color: var(--color-secondary);
}
.nav-item .arrow {
font-size: 10px;
transition: transform var(--transition-fast);
}
.nav-item:hover .arrow {
transform: rotate(180deg);
}
/* Dropdown */
.dropdown {
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%) translateY(10px);
min-width: 320px;
padding: 1rem;
background: #fff;
border-radius: var(--radius-xl);
box-shadow: var(--shadow-xl);
opacity: 0;
visibility: hidden;
transition: all var(--transition-base);
}
.nav-item:hover .dropdown {
opacity: 1;
visibility: visible;
transform: translateX(-50%) translateY(0);
}
.dropdown-grid {
display: grid;
gap: 0.5rem;
}
.dropdown-item {
display: flex;
align-items: flex-start;
gap: 1rem;
padding: 0.75rem;
border-radius: var(--radius-lg);
transition: background var(--transition-fast);
}
.dropdown-item:hover {
background: var(--color-bg-alt);
}
.dropdown-icon {
font-size: 1.5rem;
}
.dropdown-item h4 {
font-size: var(--font-size-sm);
font-weight: 600;
margin-bottom: 0.125rem;
}
.dropdown-item p {
font-size: var(--font-size-xs);
color: var(--color-text-light);
}
/* Templates Dropdown */
.dropdown-templates {
min-width: 400px;
}
.templates-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
margin-bottom: 1rem;
}
.template-thumb {
text-align: center;
}
.thumb-img {
height: 80px;
border-radius: var(--radius-md);
margin-bottom: 0.5rem;
}
.template-thumb span {
font-size: var(--font-size-sm);
font-weight: 500;
}
.dropdown-view-all {
display: block;
text-align: center;
padding: 0.75rem;
font-size: var(--font-size-sm);
font-weight: 600;
color: var(--color-secondary);
border-top: 1px solid var(--color-border);
margin-top: 0.5rem;
}
.nav-actions {
display: flex;
align-items: center;
gap: 0.5rem;
}
/* Mobile Toggle */
.mobile-toggle {
display: none;
flex-direction: column;
gap: 5px;
padding: 0.5rem;
}
.mobile-toggle span {
width: 24px;
height: 2px;
background: var(--color-primary);
transition: all var(--transition-fast);
}
/* =====================================================
Hero Section
===================================================== */
.hero {
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
padding-top: 100px;
overflow: hidden;
}
.hero-bg {
position: absolute;
inset: 0;
z-index: -1;
}
.hero-gradient {
position: absolute;
inset: 0;
background: linear-gradient(135deg, #f8fafc 0%, #e0e7ff 50%, #f8fafc 100%);
}
.hero-shapes {
position: absolute;
inset: 0;
}
.shape {
position: absolute;
border-radius: 50%;
filter: blur(60px);
opacity: 0.5;
animation: float 20s ease-in-out infinite;
}
.shape-1 {
width: 400px;
height: 400px;
background: linear-gradient(135deg, #a5b4fc, #818cf8);
top: -100px;
right: -100px;
}
.shape-2 {
width: 300px;
height: 300px;
background: linear-gradient(135deg, #c4b5fd, #a78bfa);
bottom: 10%;
left: -50px;
animation-delay: -5s;
}
.shape-3 {
width: 200px;
height: 200px;
background: linear-gradient(135deg, #fcd34d, #f59e0b);
top: 40%;
right: 20%;
animation-delay: -10s;
}
@keyframes float {
0%, 100% { transform: translate(0, 0) scale(1); }
25% { transform: translate(30px, -30px) scale(1.1); }
50% { transform: translate(-20px, 20px) scale(0.95); }
75% { transform: translate(20px, 10px) scale(1.05); }
}
.hero-container {
max-width: var(--container-max);
margin: 0 auto;
padding: 0 var(--container-padding);
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: center;
}
.hero-content {
max-width: 600px;
}
.hero-badge {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 1rem;
font-size: var(--font-size-sm);
font-weight: 500;
color: var(--color-secondary);
background: rgba(79, 70, 229, 0.1);
border-radius: var(--radius-full);
margin-bottom: 1.5rem;
}
.badge-dot {
width: 8px;
height: 8px;
background: var(--color-success);
border-radius: 50%;
animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}
.hero-title {
font-size: var(--font-size-5xl);
font-weight: 800;
line-height: 1.1;
margin-bottom: 1.5rem;
}
.hero-subtitle {
font-size: var(--font-size-lg);
color: var(--color-text-light);
margin-bottom: 2rem;
line-height: 1.7;
}
.hero-cta {
display: flex;
flex-wrap: wrap;
gap: 1rem;
margin-bottom: 1.5rem;
}
.hero-note {
font-size: var(--font-size-sm);
color: var(--color-text-lighter);
}
/* Hero Visual */
.hero-visual {
position: relative;
}
.browser-mockup {
background: #fff;
border-radius: var(--radius-xl);
box-shadow: var(--shadow-2xl);
overflow: hidden;
transform: perspective(1000px) rotateY(-5deg) rotateX(5deg);
transition: transform var(--transition-slow);
}
.browser-mockup:hover {
transform: perspective(1000px) rotateY(0) rotateX(0);
}
.browser-header {
display: flex;
align-items: center;
gap: 1rem;
padding: 1rem 1.5rem;
background: var(--color-bg-alt);
border-bottom: 1px solid var(--color-border);
}
.browser-dots {
display: flex;
gap: 0.5rem;
}
.browser-dots span {
width: 12px;
height: 12px;
border-radius: 50%;
}
.browser-dots span:nth-child(1) { background: #ef4444; }
.browser-dots span:nth-child(2) { background: #f59e0b; }
.browser-dots span:nth-child(3) { background: #10b981; }
.browser-address {
flex: 1;
height: 28px;
background: #fff;
border-radius: var(--radius-sm);
}
.browser-content {
height: 350px;
flex: 1;
/* height: 1000 px; */
width:1000 px;
background-image: url("f1.webp");
background-size: cover; /* makes image cover entire area */
background-position: center; /* center the image */
background-repeat: no-repeat; /* prevent tiling */
border-radius: var(--radius-md);
opacity: 0.8;
}
/* .browser-content {
height: 350px;
background: linear-gradient(180deg, #f8fafc, #fff);
padding: 1.5rem;
} */
.demo-site {
height: 100%;
display: flex;
flex-direction: column;
gap: 1rem;
}
.demo-nav {
height: 20px;
background: var(--color-bg-alt);
border-radius: var(--radius-sm);
}
/* .demo-hero {
flex: 1;
background: linear-gradient(135deg, var(--color-secondary), var(--color-accent));
border-radius: var(--radius-md);
opacity: 0.8;
} */
/* .demo-hero {
flex: 1;
background:
linear-gradient(135deg, var(--color-secondary), var(--color-accent)),
url("D://FF2//f.png");
background-size: cover;
background-position: center;
background-repeat: no-repeat;
border-radius: var(--radius-md);
} */
/* .demo-hero {
flex: 1;
height: 100 px;
width:100 px;
background-image: url("f.png");
background-size: cover; /* makes image cover entire area */
/* background-position: center; /* center the image */
/* background-repeat: no-repeat; prevent tiling */
/* border-radius: var(--radius-md); */
/* opacity: 0.8;
} */
.demo-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0.5rem;
}
.demo-card {
height: 40px;
background: var(--color-bg-alt);
border-radius: var(--radius-sm);
}
/* Floating Cards */
.floating-card {
position: absolute;
display: flex;
align-items: center;
gap: 0.75rem;
padding: 1rem 1.25rem;
background: #fff;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-xl);
animation: bounce 3s ease-in-out infinite;
}
.card-1 {
top: 20%;
right: -20px;
animation-delay: -1s;
}
.card-2 {
bottom: 20%;
left: -20px;
animation-delay: -2s;
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
.card-icon {
font-size: 1.25rem;
}
.card-text {
font-size: var(--font-size-sm);
font-weight: 600;
}
/* Scroll Indicator */
.scroll-indicator {
position: absolute;
bottom: 2rem;
left: 50%;
transform: translateX(-50%);
}
.mouse {
width: 24px;
height: 40px;
border: 2px solid var(--color-text-lighter);
border-radius: 12px;
display: flex;
justify-content: center;
padding-top: 8px;
}
.wheel {
width: 4px;
height: 8px;
background: var(--color-text-lighter);
border-radius: 2px;
animation: scroll 2s ease-in-out infinite;
}
@keyframes scroll {
0% { opacity: 1; transform: translateY(0); }
100% { opacity: 0; transform: translateY(10px); }
}
/* =====================================================
Brands Section
===================================================== */
.brands {
padding: 3rem 0;
background: var(--color-bg);
border-bottom: 1px solid var(--color-border);
}
.brands-title {
text-align: center;
font-size: var(--font-size-sm);
color: var(--color-text-lighter);
margin-bottom: 2rem;
text-transform: uppercase;
letter-spacing: 0.1em;
}
.brands-grid {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
gap: 3rem;
}
.brand-logo {
font-size: var(--font-size-lg);
font-weight: 700;
color: var(--color-text-lighter);
opacity: 0.5;
transition: opacity var(--transition-fast);
}
.brand-item:hover .brand-logo {
opacity: 1;
}
/* =====================================================
Section Styles
===================================================== */
section {
padding: 6rem 0;
}
.section-header {
text-align: center;
max-width: 700px;
margin: 0 auto 4rem;
}
.section-label {
display: inline-block;
font-size: var(--font-size-sm);
font-weight: 600;
color: var(--color-secondary);
text-transform: uppercase;
letter-spacing: 0.1em;
margin-bottom: 1rem;
}
.section-title {
font-size: var(--font-size-4xl);
margin-bottom: 1rem;
}
.section-subtitle {
font-size: var(--font-size-lg);
color: var(--color-text-light);
}
/* =====================================================
Features Section
===================================================== */
.features {
background: var(--color-bg-alt);
}
.features-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
}
.feature-card {
background: #fff;
border-radius: var(--radius-xl);
padding: 2rem;
transition: all var(--transition-base);
}
.feature-card:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-lg);
}
.feature-card.feature-large {
grid-column: span 2;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2rem;
align-items: center;
}
.feature-card.feature-large:last-child {
direction: rtl;
}
.feature-card.feature-large:last-child > * {
direction: ltr;
}
.feature-icon {
font-size: 2rem;
margin-bottom: 1rem;
display: block;
}
.feature-card h3 {
font-size: var(--font-size-xl);
margin-bottom: 0.75rem;
}
.feature-card p {
color: var(--color-text-light);
margin-bottom: 1rem;
}
.feature-link {
font-size: var(--font-size-sm);
font-weight: 600;
color: var(--color-secondary);
}
.feature-link:hover {
color: var(--color-accent);
}
/* Feature Visuals */
/* .feature-visual {
background: var(--color-bg-alt);
border-radius: var(--radius-lg);
padding: 1.5rem;
min-height: 200px;
} */
.feature-visual {
position: relative;
border-radius: var(--radius-lg);
padding: 1.5rem;
min-height: 200px;
background:
linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)),
url("f3.png") center/cover no-repeat;
}
.visual-editor {
display: flex;
gap: 1rem;
height: 100%;
}
.editor-sidebar {
width: 50px;
background: #fff;
border-radius: var(--radius-sm);
}
.editor-canvas {
flex: 1;
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.canvas-block {
background: #fff;
border-radius: var(--radius-sm);
animation: shimmer 2s ease-in-out infinite;
}
@keyframes shimmer {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}
.analytics-preview {
height: 100%;
}
.analytics-header {
display: flex;
gap: 1rem;
margin-bottom: 1.5rem;
}
.analytics-header span {
width: 80px;
height: 30px;
background: #fff;
border-radius: var(--radius-sm);
}
.analytics-chart {
display: flex;
align-items: flex-end;
gap: 0.5rem;
height: calc(100% - 50px);
}
.analytics-chart .bar {
flex: 1;
background: linear-gradient(180deg, var(--color-secondary), var(--color-accent));
border-radius: var(--radius-sm) var(--radius-sm) 0 0;
animation: grow 1s ease-out forwards;
}
@keyframes grow {
from { height: 0; }
}
/* =====================================================
Templates Section
===================================================== */
.templates {
background: #fff;
}
.templates-filter {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 0.5rem;
margin-bottom: 3rem;
}
.filter-btn {
padding: 0.75rem 1.5rem;
font-size: var(--font-size-sm);
font-weight: 500;
color: var(--color-text-light);
background: transparent;
border-radius: var(--radius-full);
transition: all var(--transition-fast);
}
.filter-btn:hover,
.filter-btn.active {
color: var(--color-text);
background: var(--color-bg-alt);
}
.templates-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
}
.template-card {
background: #fff;
border-radius: var(--radius-xl);
overflow: hidden;
transition: all var(--transition-base);
box-shadow: var(--shadow-sm);
}
.template-card:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-xl);
}
.template-preview {
position: relative;
height: 250px;
overflow: hidden;
}
.template-overlay {
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.7);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 1rem;
opacity: 0;
transition: opacity var(--transition-base);
}
.template-card:hover .template-overlay {
opacity: 1;
}
.btn-preview,
.btn-use {
padding: 0.75rem 1.5rem;
font-size: var(--font-size-sm);
font-weight: 600;
border-radius: var(--radius-full);
transition: all var(--transition-fast);
}
.btn-preview {
background: #fff;
color: var(--color-text);
}
.btn-use {
background: var(--color-secondary);
color: #fff;
}
.template-info {
padding: 1.25rem;
}
.template-info h4 {
font-size: var(--font-size-base);
margin-bottom: 0.25rem;
}
.template-info span {
font-size: var(--font-size-sm);
color: var(--color-text-light);
}
.templates-cta {
text-align: center;
margin-top: 3rem;
}
/* =====================================================
How It Works
===================================================== */
.how-it-works {
background: var(--color-bg-alt);
}
.steps-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 2rem;
}
.step-card {
text-align: center;
padding: 2rem;
}
.step-number {
width: 60px;
height: 60px;
display: flex;
align-items: center;
justify-content: center;
font-size: var(--font-size-2xl);
font-weight: 800;
color: #fff;
background: linear-gradient(135deg, var(--color-secondary), var(--color-accent));
border-radius: 50%;
margin: 0 auto 1.5rem;
}
.step-card h3 {
font-size: var(--font-size-lg);
margin-bottom: 0.75rem;
}
.step-card p {
font-size: var(--font-size-sm);
color: var(--color-text-light);
}
/* =====================================================
Pricing Section
===================================================== */
.pricing {
background: #fff;
}
.pricing-toggle {
display: flex;
align-items: center;
justify-content: center;
gap: 1rem;
margin-bottom: 3rem;
}
.toggle-label {
font-size: var(--font-size-sm);
font-weight: 500;
color: var(--color-text-light);
}
.save-badge {
display: inline-block;
padding: 0.25rem 0.5rem;
font-size: var(--font-size-xs);
font-weight: 600;
color: #fff;
background: var(--color-success);
border-radius: var(--radius-sm);
margin-left: 0.5rem;
}
.toggle-switch {
position: relative;
width: 50px;
height: 28px;
}
.toggle-switch input {
opacity: 0;
width: 0;
height: 0;
}
.toggle-slider {
position: absolute;
inset: 0;
background: var(--color-border);
border-radius: var(--radius-full);
cursor: pointer;
transition: var(--transition-fast);
}
.toggle-slider::before {
content: '';
position: absolute;
width: 22px;
height: 22px;
left: 3px;
bottom: 3px;
background: #fff;
border-radius: 50%;
transition: var(--transition-fast);
}
.toggle-switch input:checked + .toggle-slider {
background: var(--color-secondary);
}
.toggle-switch input:checked + .toggle-slider::before {
transform: translateX(22px);
}
.pricing-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
align-items: start;
}
.pricing-card {
background: #fff;
border: 2px solid var(--color-border);
border-radius: var(--radius-xl);
padding: 2rem;
transition: all var(--transition-base);
}
.pricing-card:hover {
border-color: var(--color-text-lighter);
}
.pricing-card.popular {
border-color: var(--color-secondary);
position: relative;
transform: scale(1.05);
box-shadow: var(--shadow-xl);
}
.popular-badge {
position: absolute;
top: -12px;
left: 50%;
transform: translateX(-50%);
padding: 0.25rem 1rem;
font-size: var(--font-size-xs);
font-weight: 600;
color: #fff;
background: var(--color-secondary);
border-radius: var(--radius-full);
}
.pricing-header {
text-align: center;
margin-bottom: 1.5rem;
}
.pricing-header h3 {
font-size: var(--font-size-xl);
margin-bottom: 0.25rem;
}
.pricing-header p {
font-size: var(--font-size-sm);
color: var(--color-text-light);
}
.pricing-price {
text-align: center;
margin-bottom: 2rem;
padding-bottom: 2rem;
border-bottom: 1px solid var(--color-border);
}
.currency {
font-size: var(--font-size-xl);
font-weight: 600;
vertical-align: top;
}
.amount {
font-size: var(--font-size-5xl);
font-weight: 800;
}
.period {
font-size: var(--font-size-sm);
color: var(--color-text-light);
}
.pricing-features {
margin-bottom: 2rem;
}
.pricing-features li {
display: flex;
align-items: center;
gap: 0.75rem;
padding: 0.75rem 0;
font-size: var(--font-size-sm);
}
.pricing-features li.disabled {
color: var(--color-text-lighter);
}
.check {
color: var(--color-success);
font-weight: 700;
}
.x {
color: var(--color-text-lighter);
}
/* =====================================================
Testimonials
===================================================== */
.testimonials {
background: var(--color-bg-alt);
}
.testimonials-slider {
max-width: 700px;
margin: 0 auto;
position: relative;
}
.testimonial-card {
display: none;
background: #fff;
border-radius: var(--radius-xl);
padding: 3rem;
text-align: center;
box-shadow: var(--shadow-md);
}
.testimonial-card.active {
display: block;
animation: fadeIn 0.5s ease;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.stars {
color: #f59e0b;
font-size: var(--font-size-xl);
margin-bottom: 1.5rem;
}
.testimonial-content p {
font-size: var(--font-size-xl);
font-style: italic;
line-height: 1.7;
margin-bottom: 2rem;
}
.testimonial-author {
display: flex;
align-items: center;
justify-content: center;
gap: 1rem;
}
.author-avatar {
width: 50px;
height: 50px;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
color: #fff;
background: linear-gradient(135deg, var(--color-secondary), var(--color-accent));
border-radius: 50%;
}
.author-info {
text-align: left;
}
.author-info h4 {
font-size: var(--font-size-base);
margin-bottom: 0.125rem;
}
.author-info span {
font-size: var(--font-size-sm);
color: var(--color-text-light);
}
.testimonial-dots {
display: flex;
justify-content: center;
gap: 0.5rem;
margin-top: 2rem;
}
.dot {
width: 10px;
height: 10px;
background: var(--color-border);
border-radius: 50%;
cursor: pointer;
transition: all var(--transition-fast);
}
.dot.active,
.dot:hover {
background: var(--color-secondary);
}
/* =====================================================
CTA Section
===================================================== */
.cta-section {
background: linear-gradient(135deg, var(--color-bg-dark) 0%, #1e1b4b 100%);
padding: 5rem 0;
}
.cta-content {
text-align: center;
color: #fff;
}
.cta-content h2 {
font-size: var(--font-size-4xl);
margin-bottom: 1rem;
}
.cta-content p {
font-size: var(--font-size-lg);
opacity: 0.8;
margin-bottom: 2rem;
}
.cta-section .btn-primary {
background: #fff;
color: var(--color-bg-dark);
}
.cta-section .btn-primary:hover {
background: var(--color-bg-alt);
}
/* =====================================================
Footer
===================================================== */
.footer {
background: var(--color-bg-dark);
color: #fff;
padding: 5rem 0 2rem;
}
.footer-grid {
display: grid;
grid-template-columns: 2fr repeat(4, 1fr);
gap: 3rem;
margin-bottom: 4rem;
}
.footer-brand .logo {
color: #fff;
margin-bottom: 1rem;
}
.footer-brand p {
font-size: var(--font-size-sm);
color: var(--color-text-lighter);
margin-bottom: 1.5rem;
}
.social-links {
display: flex;
gap: 1rem;
}
.social-links a {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
font-size: var(--font-size-lg);
color: #fff;
background: rgba(255, 255, 255, 0.1);
border-radius: 50%;
transition: all var(--transition-fast);
}
.social-links a:hover {
background: var(--color-secondary);
}
.footer-links h4 {
font-size: var(--font-size-sm);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.1em;
margin-bottom: 1.5rem;
}
.footer-links ul {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.footer-links a {
font-size: var(--font-size-sm);
color: var(--color-text-lighter);
transition: color var(--transition-fast);
}
.footer-links a:hover {
color: #fff;
}
.footer-bottom {
display: flex;
justify-content: space-between;
align-items: center;
padding-top: 2rem;
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.footer-bottom p {
font-size: var(--font-size-sm);
color: var(--color-text-lighter);
}
.footer-bottom-links {
display: flex;
gap: 2rem;
}
.footer-bottom-links a {
font-size: var(--font-size-sm);
color: var(--color-text-lighter);
}
.footer-bottom-links a:hover {
color: #fff;
}
/* =====================================================
Back to Top
===================================================== */
.back-to-top {
position: fixed;
bottom: 2rem;
right: 2rem;
width: 50px;
height: 50px;
display: flex;
align-items: center;
justify-content: center;
font-size: var(--font-size-xl);
color: #fff;
background: var(--color-secondary);
border-radius: 50%;
box-shadow: var(--shadow-lg);
opacity: 0;
visibility: hidden;
transform: translateY(20px);
transition: all var(--transition-base);
z-index: 999;
}
.back-to-top.visible {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.back-to-top:hover {
background: var(--color-accent);
transform: translateY(-3px);
}
/* =====================================================
Responsive Design
===================================================== */
@media (max-width: 1024px) {
.hero-container {
grid-template-columns: 1fr;
text-align: center;
}
.hero-content {
max-width: 100%;
}
.hero-cta {
justify-content: center;
}
.hero-visual {
display: none;
}
.features-grid {
grid-template-columns: 1fr;
}
.feature-card.feature-large {
grid-column: span 1;
grid-template-columns: 1fr;
}
.templates-grid {
grid-template-columns: repeat(2, 1fr);
}
.steps-grid {
grid-template-columns: repeat(2, 1fr);
}
.pricing-grid {
grid-template-columns: 1fr;
max-width: 400px;
margin: 0 auto;
}
.pricing-card.popular {
transform: none;
}
.footer-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
:root {
--font-size-5xl: 2.5rem;
--font-size-4xl: 2rem;
--font-size-3xl: 1.5rem;
}
.nav-menu,
.nav-actions {
display: none;
}
.mobile-toggle {
display: flex;
}
.nav-menu.active {
display: flex;
flex-direction: column;
position: absolute;
top: 100%;
left: 0;
right: 0;
background: #fff;
padding: 1rem;
box-shadow: var(--shadow-lg);
}
.hero {
min-height: auto;
padding: 120px 0 80px;
}
.brands-grid {
gap: 1.5rem;
}
.templates-grid {
grid-template-columns: 1fr;
}
.steps-grid {
grid-template-columns: 1fr;
}
.footer-grid {
grid-template-columns: 1fr;
text-align: center;
}
.social-links {
justify-content: center;
}
.footer-bottom {
flex-direction: column;
gap: 1rem;
text-align: center;
}
}
/* =====================================================
Animations
===================================================== */
.fade-up {
opacity: 0;
transform: translateY(30px);
transition: all 0.6s ease;
}
.fade-up.visible {
opacity: 1;
transform: translateY(0);
}
/* =========================================
Legal Pages (Refund / Privacy / Terms)
========================================= */
.legal-wrapper {
padding: 120px 20px 80px;
background: #f8fafc;
min-height: 100vh;
}
.legal-box {
max-width: 900px;
margin: 0 auto;
background: #ffffff;
padding: 60px;
border-radius: 14px;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05);
}
.legal-header {
margin-bottom: 40px;
}
.legal-header h1 {
font-size: 36px;
font-weight: 700;
margin-bottom: 10px;
}
.legal-updated {
font-size: 14px;
color: #6b7280;
}
.legal-box h2 {
font-size: 22px;
margin-top: 35px;
margin-bottom: 12px;
}
.legal-box h3 {
font-size: 18px;
margin-top: 25px;
margin-bottom: 8px;
}
.legal-box p {
font-size: 16px;
line-height: 1.8;
color: #374151;
margin-bottom: 16px;
}
.legal-box ul {
margin: 10px 0 20px 20px;
}
.legal-box ul li {
margin-bottom: 8px;
line-height: 1.7;
}
.legal-divider {
height: 1px;
background: #e5e7eb;
margin: 40px 0;
}
/* Back Button */
.legal-back {
display: inline-block;
margin-top: 40px;
font-size: 14px;
font-weight: 600;
color: #4f46e5;
transition: 0.3s ease;
}
.legal-back:hover {
color: #7c3aed;
}