:root {--purple-deep:#66218C; --purple-main:#6B2D9E; --purple-light:#8B4DBF; --purple-pale:#E8DDF5; --gold:#FFBD3E; --gold-light:#FFD082; --cream:#FDF8F3; --charcoal:#1A1A2E; --grey-warm:#6B6B7B; --white:#FFFFFF; --success:#22C55E; --font-display:'Fraunces', Georgia, serif; --font-body:'DM Sans', -apple-system, sans-serif; --shadow-sm:0 2px 8px rgba(74, 29, 122, 0.08); --shadow-md:0 8px 24px rgba(74, 29, 122, 0.12); --shadow-lg:0 16px 48px rgba(74, 29, 122, 0.16); --shadow-gold:0 8px 32px rgba(245, 166, 35, 0.3);}
* {margin:0; padding:0; box-sizing:border-box;}
html {scroll-behavior:smooth;}
body {font-family:var(--font-body); color:var(--charcoal); background:var(--cream); line-height:1.6; overflow-x:hidden;}
.container {max-width:1200px; margin:0 auto; padding:0 24px;}
.nav {position:fixed; top:0; left:0; right:0; z-index:1000; padding:16px 0; transition:all 0.3s ease;}
.nav.scrolled {background:rgba(255, 255, 255, 0.95); backdrop-filter:blur(20px); box-shadow:var(--shadow-sm);}
.nav-inner {display:flex; align-items:center; justify-content:space-between;}
.logo {font-size:28px; font-weight:700; color:var(--white); text-decoration:none; letter-spacing:-0.5px; transition:color 0.3s ease;}
.nav.scrolled .logo {color:var(--purple-main);}
.nav-links {display:flex; align-items:center; gap:32px; list-style:none;}
.nav-links a {color:rgba(255, 255, 255, 0.9); text-decoration:none; font-weight:500; font-size:15px; transition:color 0.3s ease;}
.nav.scrolled .nav-links a {color:var(--charcoal);}
.nav-links a:hover {color:var(--gold);}
.nav-cta {background:var(--gold); color:var(--charcoal) !important; padding:12px 24px; border-radius:100px; font-weight:600; transition:all 0.3s ease;}
.nav-cta:hover {background:var(--gold-light); transform:translateY(-2px); box-shadow:var(--shadow-gold);}
.mobile-menu-btn {display:none; background:none; border:none; cursor:pointer; padding:8px;}
.mobile-menu-btn span {display:block; width:24px; height:2px; background:var(--white); margin:6px 0; transition:all 0.3s ease;}
.nav.scrolled .mobile-menu-btn span {background:var(--charcoal);}
.mobile-menu {position:fixed; top:0; left:0; right:0; bottom:0; background:var(--purple-deep); z-index:999; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:all 0.3s ease;}
.mobile-menu.active {opacity:1; visibility:visible;}
.mobile-menu-content {display:flex; flex-direction:column; align-items:center; gap:24px; text-align:center;}
.mobile-menu-content a {color:var(--white); text-decoration:none; font-size:24px; font-weight:500; transition:color 0.3s ease;}
.mobile-menu-content a:hover {color:var(--gold);}
.mobile-menu-content .btn {margin-top:16px;}
body.menu-open {overflow:hidden;}
.hero {min-height:100vh; background:linear-gradient(135deg, var(--purple-deep) 0%, var(--purple-main) 50%, var(--purple-light) 100%); position:relative; display:flex; align-items:center; overflow:hidden;}
.hero::before {content:''; position:absolute; top:-50%; right:-30%; width:80%; height:150%; background:radial-gradient(circle, rgba(245, 166, 35, 0.15) 0%, transparent 60%); pointer-events:none;}
.hero-pattern {position:absolute; inset:0; background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Ccircle cx='30' cy='30' r='4'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); pointer-events:none;}
.hero-content {position:relative; z-index:2; padding:120px 0 160px;}
.hero-badge {display:inline-flex; align-items:center; gap:8px; background:rgba(0, 0, 0, 0.15); backdrop-filter:blur(10px); padding:8px 16px; border-radius:100px; margin-bottom:32px; animation:fadeInUp 0.8s ease both;}
.hero-badge span {color:var(--gold); font-weight:600; font-size:14px;}
.hero-badge svg {width:18px; height:18px; fill:var(--gold);}
.hero h1 {text-align: center;font-family:var(--font-display); font-size:clamp(48px, 8vw, 80px); font-weight:600; color:var(--white); line-height:1.1; margin-bottom:24px; max-width:700px; animation:fadeInUp 0.8s ease 0.1s both;}
.hero h1 em {font-style:italic; color:var(--gold);}
.hero-subtitle {font-size:18px; color:rgba(255, 255, 255, 0.85); max-width:520px; margin-bottom:48px; animation:fadeInUp 0.8s ease 0.2s both;text-align:center}
.search-box {background:var(--white); border-radius:16px; padding:8px; display:flex; gap:8px; max-width:500px; box-shadow:var(--shadow-lg); animation:fadeInUp 0.8s ease 0.3s both;}
.search-box input {flex:1; border:none; padding:16px 20px; font-size:17px; font-family:var(--font-body); background:transparent; outline:none; color:var(--charcoal);}
.search-box input::placeholder {color:var(--grey-warm);}
.search-box button {background:var(--purple-main); color:var(--white); border:none; padding:16px 32px; border-radius:10px; font-size:16px; font-weight:600; font-family:var(--font-body); cursor:pointer; transition:all 0.3s ease; display:flex; align-items:center; gap:8px;}
.search-box button:hover {background:var(--purple-deep); transform:translateY(-2px);}
.search-box button svg {width:20px; height:20px;}
.hero-stats {display:flex; gap:48px; margin-top:64px; animation:fadeInUp 0.8s ease 0.4s both;}
.hero-stat {text-align:left;}
.hero-stat-value {font-family:var(--font-display); font-size:36px; font-weight:600; color:var(--white);}
.hero-stat-label {font-size:14px; color:rgba(255, 255, 255, 0.7); margin-top:4px;}
.press {background:var(--white); padding:48px 0; border-bottom:1px solid rgba(0,0,0,0.05);}
.press-inner {display:flex; align-items:center; justify-content:center; gap:64px; flex-wrap:wrap;}
.press-label {font-size:13px; font-weight:600; color:var(--grey-warm); text-transform:uppercase; letter-spacing:1px;}
.press-logos {display:flex; align-items:center; gap:48px; flex-wrap:wrap;}
.press-logo {opacity:0.6; transition:opacity 0.3s ease; filter:grayscale(100%);}
.press-logo:hover {opacity:1; filter:grayscale(0%);}
.press-logo img {height:32px; width:auto;}
.categories {padding:120px 0;}
.section-header {text-align:center; max-width:600px; margin:0 auto 64px;}
.section-tag {display:inline-block; background:var(--purple-pale); color:var(--purple-main); padding:6px 16px; border-radius:100px; font-size:13px; font-weight:600; margin-bottom:16px;}
.section-header h2 {font-family:var(--font-display); font-size:clamp(32px, 5vw, 48px); font-weight:600; color:var(--charcoal); margin-bottom:16px;}
.section-header p {font-size:18px; color:var(--grey-warm);}
.categories-grid {display:grid; grid-template-columns:repeat(4, 1fr); gap:24px;}
.category-card {background:var(--white); border-radius:24px; padding:40px 32px; text-align:center; transition:all 0.4s ease; cursor:pointer; position:relative; overflow:hidden; text-decoration:none; display:block; color:inherit;}
.category-card::before {content:''; position:absolute; inset:0; background:linear-gradient(135deg, var(--purple-main), var(--purple-light)); opacity:0; transition:opacity 0.4s ease;}
.category-card:hover {transform:translateY(-8px); box-shadow:var(--shadow-lg);}
.category-card:hover::before {opacity:1;}
.category-card > * {position:relative; z-index:2;}
.category-icon {width:72px; height:72px; background:var(--purple-pale); border-radius:20px; display:flex; align-items:center; justify-content:center; margin:0 auto 24px; transition:all 0.4s ease;}
.category-card:hover .category-icon {background:rgba(255, 255, 255, 0.2);}
.category-icon svg {width:32px; height:32px; stroke:var(--purple-main); transition:stroke 0.4s ease;}
.category-card:hover .category-icon svg {stroke:var(--white);}
.category-card h3 {font-family:var(--font-display); font-size:22px; font-weight:600; margin-bottom:8px; transition:color 0.4s ease;}
.category-card:hover h3 {color:var(--white);}
.category-card p {font-size:14px; color:var(--grey-warm); transition:color 0.4s ease;}
.category-card:hover p {color:rgba(255, 255, 255, 0.8);}
.how-it-works {padding:120px 0; background:var(--purple-deep); position:relative; overflow:hidden;}
.how-it-works::before {content:''; position:absolute; top:0; left:0; right:0; height:100%; background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23ffffff' fill-opacity='0.02' fill-rule='evenodd'/%3E%3C/svg%3E"); pointer-events:none;}
.how-it-works .section-header h2, .how-it-works .section-header p {color:var(--white);}
.how-it-works .section-tag {background:rgba(245, 166, 35, 0.2); color:var(--gold);}
.steps {display:grid; grid-template-columns:repeat(3, 1fr); gap:48px; position:relative;}
.steps::before {content:''; position:absolute; top:48px; left:20%; right:20%; height:2px; background:linear-gradient(90deg, transparent, rgba(255,255,255,0.2), rgba(255, 255, 255, 0.2), transparent);}
.step {text-align:center; position:relative;}
.step-number {width:96px; height:96px; background:linear-gradient(135deg, var(--gold), var(--gold-light)); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 32px; font-size:40px; font-weight:600; color:var(--charcoal); box-shadow:var(--shadow-gold);}
.step h3 {font-size:24px; font-weight:600; color:var(--white); margin-bottom:12px;}
.step p {font-size:16px; color:rgba(255, 255, 255, 0.7); max-width:280px; margin:0 auto;}
.benefits {padding:120px 0;}
.benefits-grid {display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;}
.benefits-content h2 {font-family:var(--font-display); font-size:clamp(32px, 4vw, 44px); font-weight:600; color:var(--charcoal); margin-bottom:24px;}
.benefits-content h2 em {font-style:italic; color:var(--purple-main);}
.benefits-content > p {font-size:18px; color:var(--grey-warm); margin-bottom:40px;}
.benefit-list {display:flex; flex-direction:column; gap:24px;}
.benefit-item {display:flex; gap:20px; align-items:flex-start;}
.benefit-icon {width:48px; height:48px; background:var(--purple-pale); border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.benefit-icon svg {width:24px; height:24px; stroke:var(--purple-main);}
.benefit-item h4 {font-family:var(--font-display); font-size:18px; font-weight:600; margin-bottom:4px;}
.benefit-item p {font-size:15px; color:var(--grey-warm);}
.benefits-visual {position:relative;}
.benefits-card {background:var(--white); border-radius:32px; padding:48px; box-shadow:var(--shadow-lg); position:relative;}
.benefits-card::before {content:''; position:absolute; top:-20px; right:-20px; width:150px; height:150px; background:var(--gold); border-radius:50%; opacity:0.1;}
.benefits-card-header {display:flex; align-items:center; gap:16px; margin-bottom:32px;}
.benefits-card-avatar {width:56px; height:56px; background:linear-gradient(135deg, var(--purple-main), var(--purple-light)); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--white); font-size:24px;}
.benefits-card-info h4 {font-weight:600; font-size:16px;}
.benefits-card-info span {font-size:14px; color:var(--grey-warm);}
.benefits-card-stats {display:grid; grid-template-columns:repeat(2, 1fr); gap:24px;}
.benefits-card-stat {background:var(--cream); padding:24px; border-radius:16px;}
.benefits-card-stat-value {font-family:var(--font-display); font-size:32px; font-weight:600; color:var(--purple-main);}
.benefits-card-stat-label {font-size:14px; color:var(--grey-warm); margin-top:4px;}
.testimonials {padding:120px 0; background:var(--white);}
.testimonials-grid {display:grid; grid-template-columns:repeat(3, 1fr); gap:32px;}
.testimonial {background:var(--cream); border-radius:24px; padding:40px; transition:all 0.3s ease;}
.testimonial:hover {transform:translateY(-4px); box-shadow:var(--shadow-md);}
.testimonial-stars {display:flex; gap:4px; margin-bottom:20px;}
.testimonial-stars svg {width:20px; height:20px; fill:var(--gold);}
.testimonial p {font-size:16px; color:var(--charcoal); margin-bottom:24px; line-height:1.7;}
.testimonial-author {display:flex; align-items:center; gap:12px;}
.testimonial-avatar {width:48px; height:48px; background: var(--purple-light); border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:600; color:var(--white);}
.testimonial-info h4 {font-weight:600; font-size:15px;}
.testimonial-info span {font-size:13px; color:var(--grey-warm);}
.cta {padding:120px 0; background:linear-gradient(135deg, var(--purple-deep) 0%, var(--purple-main) 100%); position:relative; overflow:hidden;}
.cta::before {content:''; position:absolute; top:-100px; right:-100px; width:400px; height:400px; background:radial-gradient(circle, rgba(245, 166, 35, 0.2) 0%, transparent 60%); pointer-events:none;}
.cta-content {text-align:center; max-width:700px; margin:0 auto; position:relative; z-index:2;}
.cta h2 {font-family:var(--font-display); font-size:clamp(36px, 5vw, 52px); font-weight:600; color:var(--white); margin-bottom:20px;}
.cta p {font-size:18px; color:rgba(255, 255, 255, 0.8); margin-bottom:40px;}
.cta-buttons {display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
.btn {display:inline-flex; align-items:center; gap:8px; padding:16px 32px; border-radius:100px; font-size:16px; font-weight:600; text-decoration:none; transition:all 0.3s ease; cursor:pointer; border:none; font-family:var(--font-body);}
.btn-primary {background:var(--gold); color:var(--charcoal);}
.btn-primary:hover {background:var(--gold-light); transform:translateY(-2px); box-shadow:var(--shadow-gold);}
.btn-secondary {background:transparent; color:var(--white); border:2px solid rgba(255, 255, 255, 0.3);}
.btn-secondary:hover {background:rgba(255, 255, 255, 0.1); border-color:rgba(255, 255, 255, 0.5);}
.footer {background:var(--charcoal); padding:80px 0 40px; color:var(--white);}
.footer-grid {display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:64px; margin-bottom:64px;}
.footer-brand .logo {margin-bottom:20px; display:inline-block;}
.footer-brand p {color:rgba(255, 255, 255, 0.6); font-size:15px; margin-bottom:24px; max-width:300px;}
.footer-social {display:flex; gap:12px;}
.footer-social a {width:40px; height:40px; background:rgba(255, 255, 255, 0.1); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:all 0.3s ease;}
.footer-social a:hover {background:var(--purple-main); transform:translateY(-2px);}
.footer-social svg {width:18px; height:18px; fill:var(--white);}
.footer-column h4 {font-family:var(--font-display); font-size:16px; font-weight:600; margin-bottom:24px;}
.footer-column ul {list-style:none;}
.footer-column li {margin-bottom:12px;}
.footer-column a {color:rgba(255, 255, 255, 0.6); text-decoration:none; font-size:15px; transition:color 0.3s ease;}
.footer-column a:hover {color:var(--gold);}
.footer-bottom {padding-top:40px; border-top:1px solid rgba(255, 255, 255, 0.1); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;}
.footer-bottom p {color:rgba(255, 255, 255, 0.4); font-size:14px;}
.footer-legal {display:flex; gap:24px;}
.footer-legal a {color:rgba(255, 255, 255, 0.4); text-decoration:none; font-size:14px; transition:color 0.3s ease;}
.footer-legal a:hover {color:var(--white);}
.privacy-page {padding:0; background:var(--cream); min-height:100vh;}
.privacy-header {background:linear-gradient(135deg, var(--purple-deep) 0%, var(--purple-main) 100%); padding:140px 0 120px; position:relative; margin-bottom:-60px;}
.privacy-header::after {content:''; position:absolute; bottom:0; left:0; right:0; height:100px; background:var(--cream); clip-path:polygon(0 100%, 100% 0, 100% 100%);}
.privacy-header h1 {font-family:var(--font-display); font-size:clamp(36px, 6vw, 52px); font-weight:600; color:var(--white); position:relative; z-index:1;}
.privacy-body {padding:0 0 80px; position:relative; z-index:2;}
.privacy-layout {display:grid; grid-template-columns:280px 1fr; gap:32px; align-items:start;}
.privacy-nav {position:sticky; top:100px; background:var(--white); border-radius:16px; padding:24px; box-shadow:0 2px 12px rgba(0, 0, 0, 0.06);}
.privacy-nav-inner {display:flex; flex-direction:column; gap:4px;}
.privacy-nav-link {padding:12px 16px; color:var(--grey-warm); text-decoration:none; font-size:14px; font-weight:500; border-radius:8px; transition:all 0.2s ease; border-left:3px solid transparent;}
.privacy-nav-link:hover {color:var(--charcoal); background:var(--cream);}
.privacy-nav-link.active {color:var(--purple-main); background:var(--purple-pale); border-left-color:var(--purple-main);}
.privacy-content {background:var(--white); border-radius:16px; padding:40px 48px; box-shadow:0 2px 12px rgba(0, 0, 0, 0.06); max-width:none;}
.privacy-content h1 {display:none;}
.privacy-intro {font-size:16px; line-height:1.7; color:var(--grey-warm); margin-bottom:16px;}
.privacy-section {padding:32px 0; border-bottom:1px solid #eee;}
.privacy-section:first-of-type {padding-top:24px;}
.privacy-section h2 {font-size:22px; font-weight:600; color:var(--charcoal); margin-bottom:12px;}
.privacy-section > p {font-size:16px; line-height:1.7; color:var(--grey-warm); margin-bottom:0;}
.privacy-expandable {margin-top:16px;}
.privacy-toggle {display:inline-flex; align-items:center; gap:6px; background:none; border:none; padding:0; color:var(--purple-main); font-size:14px; font-weight:600; font-family:var(--font-body); cursor:pointer; transition:color 0.2s ease;}
.privacy-toggle:hover {color:var(--purple-deep);}
.privacy-toggle svg {transition:transform 0.3s ease;}
.privacy-expandable.expanded .privacy-toggle svg {transform:rotate(180deg);}
.privacy-details {display:none; padding-top:20px;}
.privacy-expandable.expanded .privacy-details {display:block;}
.privacy-details h3 {font-size:16px; font-weight:600; color:var(--charcoal); margin:24px 0 12px;}
.privacy-details h3:first-child {margin-top:0;}
.privacy-details p {font-size:15px; line-height:1.7; color:var(--grey-warm); margin-bottom:16px;}
.privacy-details ul {margin:0 0 16px 0; padding-left:20px;}
.privacy-details li {font-size:15px; line-height:1.7; color:var(--grey-warm); margin-bottom:8px;}
.privacy-details li strong {color:var(--charcoal);}
.privacy-details a {color:var(--purple-main); text-decoration:none;}
.privacy-details a:hover {text-decoration:underline;}
.cookie-table {margin:20px 0; overflow-x:auto;}
.cookie-table table {width:100%; border-collapse:collapse; font-size:14px;}
.cookie-table th, .cookie-table td {padding:12px 16px; text-align:left; border-bottom:1px solid #eee;}
.cookie-table th {background:var(--cream); font-weight:600; color:var(--charcoal); white-space:nowrap;}
.cookie-table td {color:var(--grey-warm);}
.cookie-table tr:last-child td {border-bottom:none;}
.cookie-table code, .cookie-table td:first-child {font-family:'Monaco', 'Menlo', monospace; font-size:13px; color:var(--purple-main);}
.privacy-footer {padding-top:40px; margin-top:20px;}
.privacy-footer p {font-size:14px; color:var(--grey-warm); margin-bottom:8px;}
.about-content .about-section {padding:40px 0; border-bottom:1px solid #eee;}
.about-content .about-section:first-child {padding-top:0;}
.about-content .about-section:last-child {border-bottom:none;}
.about-content h2 {font-size:28px; font-weight:600; color:var(--charcoal); margin-bottom:24px;}
.about-content p {font-size:16px; line-height:1.8; color:var(--grey-warm); margin-bottom:16px;}
.about-content p:last-child {margin-bottom:0;}
.about-content p strong {color:var(--charcoal);}
.about-content a {color:var(--purple-main); text-decoration:none;}
.about-content a:hover {text-decoration:underline;}
.about-image {margin-bottom:24px; border-radius:12px; overflow:hidden;}
.about-image img {width:100%; height:280px; object-fit:cover; display:block;}
.about-values-grid {display:grid; grid-template-columns:repeat(2, 1fr); gap:24px; margin-top:24px;}
.about-value-card {background:var(--cream); border-radius:12px; padding:24px;}
.about-value-icon {width:56px; height:56px; background:var(--purple-pale); border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; color:var(--purple-main);}
.about-value-card h3 {font-size:18px; font-weight:600; color:var(--charcoal); margin-bottom:8px;}
.about-value-card p {font-size:14px; line-height:1.6; color:var(--grey-warm); margin-bottom:0;}
.about-contact-grid {display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; margin:24px 0;}
.about-contact-card {background:var(--cream); border-radius:12px; padding:20px;}
.about-contact-card h3 {font-size:14px; font-weight:600; color:var(--charcoal); margin-bottom:8px;}
.about-contact-card p {margin-bottom:0;}
.about-contact-card a {color:var(--purple-main); font-weight:500;}
.about-address {background:var(--cream); border-radius:12px; padding:24px; margin:24px 0;}
.about-address p {margin-bottom:12px; color:var(--charcoal);}
.about-address p:last-child {margin-bottom:0;}
.about-social {margin-top:24px;}
.about-social > p {font-weight:600; color:var(--charcoal); margin-bottom:12px;}
.about-social-links {display:flex; gap:16px;}
.about-social-links a {width:44px; height:44px; background:var(--purple-pale); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--purple-main); transition:all 0.2s ease;}
.about-social-links a:hover {background:var(--purple-main); color:var(--white);}
.contact-form-card {background:var(--white); border-radius:16px; padding:48px; box-shadow:0 2px 12px rgba(0, 0, 0, 0.06); max-width:720px; margin:0 auto;}
.contact-form-card h2 {font-size:28px; font-weight:600; color:var(--charcoal); margin-bottom:8px;}
.contact-form-intro {font-size:16px; color:var(--grey-warm); margin-bottom:32px;}
.contact-form {display:flex; flex-direction:column; gap:24px;}
.form-row {display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.form-group {display:flex; flex-direction:column;}
.form-group label {font-size:14px; font-weight:600; color:var(--charcoal); margin-bottom:8px;}
.form-group label .required {color:#e53935;}
.form-group label .optional {color:var(--grey-warm); font-weight:400;}
.form-group input, .form-group select, .form-group textarea {padding:14px 16px; border:2px solid #e5e5e5; border-radius:10px; font-size:16px; font-family:var(--font-body); color:var(--charcoal); background:var(--white); transition:border-color 0.2s ease, box-shadow 0.2s ease;}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {outline:none; border-color:var(--purple-main); box-shadow:0 0 0 4px var(--purple-pale);}
.form-group input::placeholder, .form-group textarea::placeholder {color:#aaa;}
.form-group select {cursor:pointer; appearance:none; background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; padding-right:44px;}
.form-group textarea {resize:vertical; min-height:140px;}
.form-actions {padding-top:8px;}
.btn-submit {display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:16px 32px; background:var(--purple-main); color:var(--white); border:none; border-radius:10px; font-size:16px; font-weight:600; font-family:var(--font-body); cursor:pointer; transition:background 0.2s ease, transform 0.1s ease;}
.btn-submit:hover {background:var(--purple-deep);}
.btn-submit:active {transform:scale(0.98);}
.btn-submit:disabled {opacity:0.7; cursor:not-allowed;}
.btn-loading {display:inline-flex; align-items:center; gap:8px;}
.spinner {animation:spin 1s linear infinite;}

@keyframes spin {
from {transform:rotate(0deg);}
to {transform:rotate(360deg);}
}

.contact-success {text-align:center; padding:40px 20px;}
.success-icon {color:#22c55e; margin-bottom:20px;}
.contact-success h3 {font-size:24px; font-weight:600; color:var(--charcoal); margin-bottom:12px;}
.contact-success p {font-size:16px; color:var(--grey-warm); margin-bottom:24px;}
.btn-reset {padding:12px 24px; background:transparent; color:var(--purple-main); border:2px solid var(--purple-main); border-radius:10px; font-size:14px; font-weight:600; font-family:var(--font-body); cursor:pointer; transition:all 0.2s ease;}
.btn-reset:hover {background:var(--purple-main); color:var(--white);}
.privacy-page .nav {background:transparent;}
.privacy-page .nav .logo {color:var(--white);}
.privacy-page .nav .nav-links a {color:rgba(255, 255, 255, 0.9);}
.privacy-page .nav .mobile-menu-btn span {background:var(--white);}
.page-header {background:linear-gradient(135deg, var(--purple-deep) 0%, var(--purple-main) 100%); padding:140px 0 60px; text-align:center;}
.page-header h1 {font-family:var(--font-display); font-size:clamp(36px, 6vw, 52px); font-weight:600; color:var(--white); margin-bottom:12px;}
.page-header p {color:rgba(255, 255, 255, 0.7); font-size:16px;}
.legal-content {padding:80px 0; background:var(--white);}
.legal-container {max-width:800px; margin:0 auto;}
.legal-section {margin-bottom:48px;}
.legal-section:last-child {margin-bottom:0;}
.legal-section h2 {font-family:var(--font-display); font-size:24px; font-weight:600; color:var(--charcoal); margin-bottom:20px; padding-bottom:12px; border-bottom:2px solid var(--purple-pale);}
.legal-section h3 {font-size:18px; font-weight:600; color:var(--charcoal); margin:24px 0 12px;}
.legal-section p {font-size:16px; line-height:1.7; color:var(--grey-warm); margin-bottom:16px;}
.legal-section ul {margin:16px 0; padding-left:24px;}
.legal-section li {font-size:16px; line-height:1.7; color:var(--grey-warm); margin-bottom:10px;}
.legal-section li strong {color:var(--charcoal);}
.legal-section a {color:var(--purple-main); text-decoration:none; transition:color 0.2s ease;}
.legal-section a:hover {color:var(--purple-deep); text-decoration:underline;}
.contact-box {background:var(--cream); padding:24px; border-radius:12px; margin:20px 0;}
.contact-box p {margin-bottom:8px; color:var(--charcoal);}
.contact-box p:last-child {margin-bottom:0;}
.error-page {min-height:100vh; background:linear-gradient(135deg, var(--purple-deep) 0%, var(--purple-main) 50%, var(--purple-light) 100%); display:flex; align-items:center; justify-content:center; text-align:center; padding:120px 24px 80px;}
.error-content {max-width:500px;}
.error-code {font-family:var(--font-display); font-size:clamp(100px, 20vw, 180px); font-weight:700; color:rgba(255, 255, 255, 0.15); line-height:1; margin-bottom:-20px;}
.error-page h1 {font-family:var(--font-display); font-size:clamp(28px, 5vw, 40px); font-weight:600; color:var(--white); margin-bottom:16px;}
.error-page p {font-size:18px; color:rgba(255, 255, 255, 0.8); margin-bottom:40px;}
.error-actions {display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
.error-actions .btn-secondary {background:rgba(255, 255, 255, 0.1); border:2px solid rgba(255, 255, 255, 0.3); color:var(--white);}
.error-actions .btn-secondary:hover {background:rgba(255, 255, 255, 0.2); border-color:rgba(255, 255, 255, 0.5);}
.cookie-notice {position:fixed; bottom:0; left:0; right:0; background:var(--white); box-shadow:0 -4px 24px rgba(0, 0, 0, 0.12); z-index:9999; padding:20px 24px; display:none; opacity:0; transform:translateY(100%); transition:opacity 0.3s ease, transform 0.3s ease;}
.cookie-notice.visible {opacity:1; transform:translateY(0);}
.cookie-notice.hidden {opacity:0; transform:translateY(100%);}
.cookie-notice-content {max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:24px;}
.cookie-notice-text p {margin:0; font-size:14px; color:var(--charcoal); line-height:1.5;}
.cookie-notice-actions {display:flex; gap:12px; flex-shrink:0;}
.cookie-btn {padding:10px 20px; border-radius:8px; font-size:14px; font-weight:600; font-family:var(--font-body); cursor:pointer; transition:all 0.2s ease; border:none;}
.cookie-btn-primary {background:var(--purple-main); color:var(--white);}
.cookie-btn-primary:hover {background:var(--purple-deep);}
.cookie-btn-secondary {background:transparent; color:var(--grey-warm); border:1px solid #ddd;}
.cookie-btn-secondary:hover {background:#f5f5f5; border-color:#ccc;}

@keyframes fadeInUp {
from {opacity:0; transform:translateY(30px);}
to {opacity:1; transform:translateY(0);}
}

@media (max-width: 1024px) {
.categories-grid {grid-template-columns:repeat(2, 1fr);}
.steps {grid-template-columns:1fr; gap:40px;}
.steps::before {display:none;}
.benefits-grid {grid-template-columns:1fr; gap:48px;}
.footer-grid {grid-template-columns:1fr 1fr; gap:40px;}
.privacy-layout {grid-template-columns:1fr; gap:24px;}
.privacy-nav {position:relative; top:0;}
.privacy-nav-inner {flex-direction:row; flex-wrap:wrap; gap:8px;}
.privacy-nav-link {padding:8px 12px; font-size:13px; border-left:none; border-radius:20px;}
.privacy-nav-link.active {border-left:none;}
.privacy-content {padding:32px 24px;}
.about-values-grid {grid-template-columns:1fr;}
.about-contact-grid {grid-template-columns:1fr;}
.contact-form-card {padding:32px 24px;}
}

@media (max-width: 768px) {
.nav-links {display:none;}
.mobile-menu-btn {display:block;}
.hero-stats {flex-wrap:wrap; gap:32px;}
.categories-grid {grid-template-columns:1fr;}
.testimonials-grid {grid-template-columns:1fr;}
.footer-grid {grid-template-columns:1fr; gap:32px;}
.footer-bottom {flex-direction:column; text-align:center;}
.press-inner {flex-direction:column; gap:24px;}
.press-logos {justify-content:center;}
.benefits-card-stats {grid-template-columns:1fr;}
.cookie-notice-content {flex-direction:column; text-align:center;}
.about-image img {height:200px;}
.about-content h2 {font-size:24px;}
.form-row {grid-template-columns:1fr; gap:24px;}
.contact-form-card h2 {font-size:24px;}
.cookie-notice-actions {width:100%;}
.cookie-btn {flex:1;}
.privacy-page {padding:0;}
.privacy-header {padding:100px 0 100px;}
.privacy-header h1 {font-size:32px;}
.privacy-content {padding:24px 20px;}
.privacy-nav {display:none;}
.privacy-section {padding:24px 0;}
.privacy-section h2 {font-size:18px;}
}

@media (max-width: 480px) {
.search-box {flex-direction:column;}
.search-box button {width:100%; justify-content:center;}
.cta-buttons {flex-direction:column;}
.btn {width:100%; justify-content:center;}
.error-actions {flex-direction:column;}
.error-actions .btn {width:100%;}
}

.search-wrapper {position:relative; width:100%; max-width:540px;}
.search-box .btn-loading {display:inline-flex; align-items:center; gap:8px;}
.search-box .spinner {animation:spin 1s linear infinite;}

@keyframes spin {
from {transform:rotate(0deg);}
to {transform:rotate(360deg);}
}

.postcode-results {position:absolute; top:calc(100% + 8px); left:0; right:0; background:var(--white); border-radius:16px; box-shadow:var(--shadow-lg); overflow:hidden; z-index:100;}
.postcode-result-item {display:flex; align-items:center; gap:16px; padding:20px 24px; cursor:pointer; transition:background 0.2s ease;}
.postcode-result-item:hover {background:var(--cream);}
.postcode-result-icon {width:48px; height:48px; background:#D4F6C8; border-radius:12px; display:flex; align-items:center; justify-content:center; color:#0D6405; flex-shrink:0;}
.postcode-result-icon svg {width:24px; height:24px;}
.postcode-result-info {flex:1;}
.postcode-town {display:block; font-size:17px; font-weight:600; color:var(--charcoal);}
.postcode-outcode {display:block; font-size:14px; color:var(--grey-warm); margin-top:2px;}
.postcode-result-arrow {color:var(--grey-warm);}
.postcode-result-arrow svg {width:20px; height:20px;}
.postcode-not-covered {padding:24px; display:flex; gap:16px; align-items:flex-start;}
.not-covered-icon {width:48px; height:48px; background:#FEF3C7; border-radius:12px; display:flex; align-items:center; justify-content:center; color:#D97706; flex-shrink:0;}
.not-covered-icon svg {width:24px; height:24px;}
.not-covered-content h4 {font-size:17px; font-weight:600; color:var(--charcoal); margin-bottom:4px;}
.not-covered-content p {font-size:14px; color:var(--grey-warm); margin:0;}
.not-covered-contact {margin-top:8px !important;}
.not-covered-contact a {color:var(--purple-main); text-decoration:none;}
.not-covered-contact a:hover {text-decoration:underline;}
.postcode-error {padding:20px 24px; text-align:center;}
.postcode-error p {font-size:14px; color:#DC2626; margin:0;}
.nav-location {display:inline-flex; align-items:center; gap:6px; padding:8px 14px !important; background:rgba(255, 255, 255, 0.15); border-radius:8px; transition:all 0.2s ease !important;}
.nav-location {
  background: rgb(0, 153, 67);
}
.nav-location:hover {background:rgba(255, 255, 255, 0.25);}
.nav.scrolled .nav-location {background:var(--purple-pale); color:var(--purple-main) !important;}
.nav.scrolled .nav-location:hover {background:var(--purple-main); color:var(--white) !important;}
.nav-location.active {background:var(--purple-main); color:var(--white) !important;}
.local-hero {padding:140px 0 60px; background:linear-gradient(135deg, var(--purple-deep) 0%, var(--purple-main) 100%);}
.local-hero-content {color:var(--white);}
.local-breadcrumb {display:flex; align-items:center; gap:8px; font-size:14px; margin-bottom:16px; opacity:0.8;}
.local-breadcrumb a {color:var(--white); text-decoration:none;}
.local-breadcrumb a:hover {text-decoration:underline;}
.local-hero h1 {font-family:var(--font-display); font-size:32px; font-weight:700; margin-bottom:12px;}
.local-hero-subtitle {font-size:18px; opacity:0.85; max-width:500px;}
.local-stats {display:flex; align-items:center; gap:16px; margin-top:24px;}
.local-stat {display:inline-flex; align-items:center; gap:8px; padding:10px 16px; background:rgba(255, 255, 255, 0.15); border-radius:10px; font-weight:500;}
.local-stat svg {width:18px; height:18px;}
.change-location-btn {display:inline-flex; align-items:center; gap:6px; padding:10px 16px; background:transparent; border:1px solid rgba(255, 255, 255, 0.3); border-radius:10px; color:var(--white); font-size:14px; font-weight:500; cursor:pointer; transition:all 0.2s ease;}
.change-location-btn:hover {background:rgba(255, 255, 255, 0.1); border-color:rgba(255, 255, 255, 0.5);}
.local-categories {padding:24px 0; background:var(--white); border-bottom:1px solid #eee; position:sticky; top:68px; z-index:100;}
.category-tabs {display:flex; gap:12px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;}
.category-tabs::-webkit-scrollbar {display:none;}
.category-tab {display:inline-flex; align-items:center; gap:8px; padding:12px 20px; background:var(--cream); border:none; border-radius:10px; font-size:15px; font-weight:500; color:var(--charcoal); cursor:pointer; transition:all 0.2s ease; white-space:nowrap;}
.category-tab:hover {background:var(--purple-pale);}
.category-tab.active {background:var(--purple-main); color:var(--white);}
.category-tab svg {flex-shrink:0;}
.local-listings {padding:40px 0 80px;}
.listings-grid {display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:24px;}
.listing-card {background:var(--white); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-sm); transition:all 0.3s ease; cursor:pointer;}
.listing-card:hover {transform:translateY(-4px); box-shadow:var(--shadow-md);}
.listing-image {position:relative; height:180px; overflow:hidden;}
.listing-image img {width:100%; height:100%; object-fit:cover; transition:transform 0.3s ease;}
.listing-card:hover .listing-image img {transform:scale(1.05);}
.listing-badge {position:absolute; top:12px; left:12px; padding:6px 12px; background:var(--white); border-radius:6px; font-size:12px; font-weight:600; color:var(--purple-main); z-index:10;}
.listing-content {padding:20px;}
.listing-content h3 {font-size:18px; font-weight:600; color:var(--charcoal); margin-bottom:6px;}
.listing-description {font-size:14px; color:var(--grey-warm); margin-bottom:16px; line-height:1.5;}
.listing-meta {display:flex; align-items:center; gap:16px;}
.listing-rating {display:inline-flex; align-items:center; gap:4px; font-size:14px; font-weight:600; color:var(--charcoal);}
.listing-rating svg {color:var(--gold);}
.listing-distance {font-size:13px; color:var(--grey-warm);}
.listing-time {display:inline-flex; align-items:center; gap:4px; font-size:13px; color:var(--grey-warm);}
.listing-time svg {color:var(--purple-main);}
.listings-empty, .listings-error {text-align:center; padding:80px 20px; color:var(--grey-warm);}
.listings-empty svg, .listings-error svg {margin-bottom:20px; opacity:0.5;}
.listings-empty h3, .listings-error h3 {font-size:20px; font-weight:600; color:var(--charcoal); margin-bottom:8px;}
.listings-empty p, .listings-error p {font-size:15px;}
.btn-retry {margin-top:20px; padding:12px 24px; background:var(--purple-main); color:var(--white); border:none; border-radius:10px; font-size:15px; font-weight:600; cursor:pointer; transition:background 0.2s ease;}
.btn-retry:hover {background:var(--purple-deep);}
.listings-loading {text-align:center; padding:80px 20px;}
.loading-spinner {width:40px; height:40px; border:3px solid var(--purple-pale); border-top-color:var(--purple-main); border-radius:50%; margin:0 auto 20px; animation:spin 0.8s linear infinite;}
.listings-loading p {color:var(--grey-warm); font-size:15px;}
.listing-status {position:absolute; top:12px; right:12px; padding:6px 12px; border-radius:6px; font-size:12px; font-weight:600; z-index:10;}
.listing-status.open {background:#22c55e; color:white;}
.listing-status.closed {background:rgba(0, 0, 0, 0.8); color:#ffffff;}
.listing-status.opens-later {background:rgba(0, 0, 0, 0.8); color:#fbbf24;}
.listing-status.pre-order {background:#3b82f6; color:white;}
.listing-promo {position:absolute; bottom:12px; left:12px; right:12px; padding:8px 12px; background:var(--purple-main); color:white; border-radius:8px; font-size:12px; font-weight:600; text-align:center; z-index:10;}
.listing-delivery {position:absolute; top:12px; left:auto; right:12px; padding:6px 10px; background:rgba(0, 0, 0, 0.75); color:white; border-radius:6px; font-size:11px; font-weight:600; z-index:10;}
.listing-status + .listing-delivery {top:48px;}

@media (max-width: 768px) {
.local-hero {padding:120px 0 40px;}
.local-hero h1 {font-size:32px;}
.local-hero-subtitle {font-size:16px;}
.local-stats {flex-wrap:wrap;}
.local-categories {top:60px;}
.listings-grid {grid-template-columns:1fr;}
}

@media (max-width: 480px) {
.postcode-results {border-radius:12px;}
.postcode-result-item {padding:16px 20px;}
.postcode-not-covered {flex-direction:column; text-align:center;}
.not-covered-icon {margin:0 auto;}
}

.password-section {min-height:100vh; display:flex; align-items:center; justify-content:center; padding:120px 20px 80px; background:linear-gradient(135deg, #6A119C 0%, #4a0d6e 100%); position:relative; overflow:hidden;}
.password-section::before {content:''; position:absolute; top:0; left:0; right:0; bottom:0; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Ccircle cx='30' cy='30' r='4'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");}
.password-blob {position:absolute; border-radius:50%; filter:blur(80px); opacity:0.3; pointer-events:none;}
.password-blob-1 {width:400px; height:400px; background:#FFBD3E; top:-150px; right:-100px;}
.password-blob-2 {width:300px; height:300px; background:#22c55e; bottom:-100px; left:-100px;}
.password-container {width:100%; max-width:420px; position:relative; z-index:1;}
.password-card {background:var(--white); border-radius:24px; padding:48px 40px; box-shadow:0 25px 50px rgba(0, 0, 0, 0.25);}
.password-header {text-align:center; margin-bottom:32px;}
.password-icon {width:64px; height:64px; background:linear-gradient(135deg, #6A119C 0%, #8B4CB3 100%); border-radius:16px; display:flex; align-items:center; justify-content:center; margin:0 auto 20px;}
.password-icon svg {width:32px; height:32px; color:var(--white);}
.password-header h1 {font-size:28px; font-weight:700; color:#1f2937; margin-bottom:8px;}
.password-header p {color:#6b7280; font-size:15px; line-height:1.5;}
.password-form .form-group {margin-bottom:24px;}
.password-form .form-group label {display:block; font-size:14px; font-weight:600; color:#374151; margin-bottom:8px;}
.password-form .form-group input {width:100%; padding:14px 16px; border:2px solid #e5e7eb; border-radius:12px; font-size:16px; font-family:inherit; transition:all 0.2s; background:var(--white);}
.password-form .form-group input:focus {outline:none; border-color:var(--purple-main); box-shadow:0 0 0 3px rgba(102, 33, 140, 0.1);}
.btn-reset {width:100%; padding:16px; background:linear-gradient(135deg, #6A119C 0%, #8B4CB3 100%); color:var(--white); border:none; border-radius:12px; font-size:16px; font-weight:700; font-family:inherit; cursor:pointer; transition:all 0.3s; display:flex; align-items:center; justify-content:center; gap:8px;}
.btn-reset:hover {transform:translateY(-2px); box-shadow:0 10px 20px rgba(106, 17, 156, 0.3);}
.btn-reset:disabled {opacity:0.7; cursor:not-allowed; transform:none;}
.password-status {margin-top:20px;}
.alert {padding:14px 16px; border-radius:12px; font-size:14px; display:flex; align-items:center; gap:12px;}
.alert svg {width:20px; height:20px; flex-shrink:0;}
.alert-success {background:#dcfce7; color:#16a34a;}
.alert-error {background:#fef2f2; color:#dc2626;}
.back-login {text-align:center; margin-top:24px; padding-top:24px; border-top:1px solid #e5e7eb;}
.back-login a {display:inline-flex; align-items:center; gap:8px; color:var(--purple-main); text-decoration:none; font-size:14px; font-weight:600;}
.back-login a:hover {text-decoration:underline;}
.back-login svg {width:16px; height:16px;}
.back-home {text-align:center; margin-top:24px;}
.back-home a {display:inline-flex; align-items:center; gap:8px; color:rgba(255,255,255,0.8); text-decoration:none; font-size:14px; transition:color 0.2s;}
.back-home a:hover {color:var(--white);}
.btn-reset .spinner {width:20px; height:20px; border:2px solid rgba(255,255,255,0.3); border-top-color:#fff; border-radius:50%; animation:spin 0.8s linear infinite; display:none;}
.btn-reset.loading .spinner {display:block;}
.btn-reset.loading .btn-text {display:none;}

@keyframes spin {
to {transform:rotate(360deg);}
}

@media (max-width: 480px) {
.password-card {padding:32px 24px;}
.password-header h1 {font-size:24px;}
}

.basket-overlay {position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.5); z-index:9998; opacity:0; visibility:hidden; transition:all 0.3s;}
.basket-overlay.active {opacity:1; visibility:visible;}
.basket-panel {position:fixed; top:0; right:-620px; width:600px; max-width:100%; height:100%; background:#fff; z-index:9999; transition:right 0.3s ease; display:flex; flex-direction:column; box-shadow:-5px 0 30px rgba(0,0,0,0.15);}
.basket-panel.active {right:0;}
.basket-header {display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid #e5e7eb; background:#fff;}
.basket-header h2 {font-size:20px; font-weight:700; color:#1f2937; margin:0;}
.basket-close {width:36px; height:36px; border:none; background:#f3f4f6; border-radius:8px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.2s;}
.basket-close:hover {background:#e5e7eb;}
.basket-close svg {width:20px; height:20px; color:#6b7280;}
.basket-content {flex:1; overflow-y:auto; padding:0;}
.basket-empty {display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; padding:40px; text-align:center;}
.basket-empty-icon {width:80px; height:80px; background:#f3f4f6; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:20px;}
.basket-empty-icon svg {width:40px; height:40px; color:#9ca3af;}
.basket-empty h3 {font-size:18px; font-weight:600; color:#374151; margin:0 0 8px;}
.basket-empty p {font-size:14px; color:#6b7280; margin:0 0 24px;}
.basket-browse-btn {padding:12px 24px; background:var(--purple-main); color:#fff; text-decoration:none; border-radius:10px; font-weight:600; font-size:14px; transition:all 0.2s;}
.basket-browse-btn:hover {background:#4a1866;}
.basket-store {border-bottom:1px solid #e5e7eb;}
.basket-store-header {display:flex; align-items:center; gap:12px; padding:16px 20px; background:#f9fafb;}
.basket-store-image {width:40px; height:40px; border-radius:10px; overflow:hidden; background:#e5e7eb; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.basket-store-image img {width:100%; height:100%; object-fit:cover;}
.basket-store-image span {font-size:16px; font-weight:700; color:#6b7280;}
.basket-store-info h4 {font-size:14px; font-weight:600; color:#1f2937; margin:0 0 2px;}
.basket-store-info span {font-size:12px; color:#6b7280;}
.basket-store-items {padding:0 20px;}
.basket-item {display:flex; align-items:flex-start; gap:12px; padding:16px 0; border-bottom:1px solid #f3f4f6;}
.basket-item:last-child {border-bottom:none;}
.basket-item-qty {width:28px; height:28px; background:var(--purple-main); color:#fff; border-radius:6px; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:600; flex-shrink:0;}
.basket-item-details {flex:1; min-width:0;}
.basket-item-name {font-size:14px; font-weight:500; color:#1f2937; margin-bottom:4px;}
.basket-item-notes {font-size:13px; color:#494b4f; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; background:#fff7e3; padding:5px 10px; border-radius:4px;}
.basket-item-price {font-size:14px; font-weight:600; color:#1f2937; flex-shrink:0;}
.basket-item-remove {width:28px; height:28px; border:none; background:transparent; cursor:pointer; display:flex; align-items:center; justify-content:center; border-radius:6px; transition:all 0.2s; flex-shrink:0;}
.basket-item-remove:hover {background:#fef2f2;}
.basket-item-remove svg {width:16px; height:16px; color:#9ca3af;}
.basket-item-remove:hover svg {color:#ef4444;}
.basket-footer {padding:20px 24px; border-top:1px solid #e5e7eb; background:#fff;}
.basket-total {display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;}
.basket-total span {font-size:16px; color:#374151;}
.basket-total-amount {font-size:20px; font-weight:700; color:#1f2937;}
.basket-note {font-size:12px; color:#6b7280; margin:0 0 16px;}
.basket-checkout-btn {display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:16px; background:linear-gradient(135deg, #22c55e 0%, #16a34a 100%); color:#fff; text-decoration:none; border-radius:12px; font-size:16px; font-weight:700; transition:all 0.2s;}
.basket-checkout-btn:hover {transform:translateY(-2px); box-shadow:0 10px 20px rgba(34,197,94,0.3);}
.basket-checkout-btn svg {width:20px; height:20px;}
.basket-loading {display:flex; align-items:center; justify-content:center; height:200px;}
.basket-spinner {width:32px; height:32px; border:3px solid #e5e7eb; border-top-color:var(--purple-main); border-radius:50%; animation:basket-spin 0.8s linear infinite;}

@keyframes basket-spin {
to {transform:rotate(360deg);}
}

@media (max-width: 480px) {
.basket-panel {width:100%;}
}

.basket-error {display:flex; align-items:flex-start; gap:10px; padding:12px 16px; background:#fef2f2; border-radius:10px; margin-bottom:16px; border:1px solid #fecaca;}
.basket-error svg {width:20px; height:20px; color:#dc2626; flex-shrink:0; margin-top:1px;}
.basket-error span {font-size:13px; color:#dc2626; line-height:1.4;}
.basket-checkout-btn.disabled {background:#e5e7eb; cursor:not-allowed; pointer-events:none; border:0; color:#80808078;}
.basket-checkout-btn.disabled:hover {transform:none; box-shadow:none;}
.basket-store-promo {background:#009738; color:#fff; font-size:11px; font-weight:600; padding:4px 8px; border-radius:4px; margin-left:auto;}
.basket-discount span {color:#009738;}
.basket-final {padding-top:12px; border-top:1px solid #e5e7eb; margin-top:8px;}
.basket-final span:first-child {font-weight:600;}
.nav-icon {display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:10px; color:var(--white); transition:all 0.2s; position:relative; background:transparent; border:0; outline:0;}



/* App Download Buttons */
.footer-apps {

}
.footer-apps > p {
    font-size: 14px;
    color: rgb(255, 255, 255);
    margin-bottom: 12px;
    font-weight:600;
}
.footer-app-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.app-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 10px;
    padding: 10px 16px;
    color: #fff;
    text-decoration: none;
    transition: all 0.2s;
}
.app-badge:hover {
    background: rgba(255,255,255,0.2);
    transform: translateY(-2px);
}
.app-badge svg {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}
.app-badge div {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}
.app-badge span {
    font-size: 10px;
    opacity: 0.8;
}
.app-badge strong {
    font-size: 16px;
    font-weight: 600;
}
@media (max-width: 480px) {
    .footer-app-buttons {
        flex-direction: column;
    }
    .app-badge {
        justify-content: center;
    }
}