/* ═══════════════════════════════════════════════
   MYBuddy — Premium Futuristic AI SaaS Design
   ═══════════════════════════════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --bg:#050510;
  --bg2:#0c0c1d;
  --surface:rgba(15,15,35,.6);
  --glass:rgba(255,255,255,.03);
  --glass-border:rgba(255,255,255,.08);
  --glass-border-hover:rgba(255,255,255,.15);
  --text:#e2e8f0;
  --text2:#94a3b8;
  --text3:#64748b;
  --accent:#818cf8;
  --accent2:#6366f1;
  --accent3:#4f46e5;
  --cyan:#22d3ee;
  --green:#34d399;
  --orange:#fb923c;
  --red:#f87171;
  --glow:rgba(99,102,241,.15);
  --glow2:rgba(34,211,238,.1);
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --radius:12px;
  --radius-lg:20px;
  --radius-xl:28px;
}

html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}

/* ─── BACKGROUND ─── */
.bg-effects{position:fixed;inset:0;z-index:0;pointer-events:none}
.bg-gradient{position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(99,102,241,.12),transparent 70%)}
.bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:60px 60px}
.bg-glow{position:absolute;border-radius:50%;filter:blur(120px);opacity:.5}
.bg-glow-1{width:500px;height:500px;top:-150px;right:-100px;background:radial-gradient(circle,rgba(99,102,241,.2),transparent 70%)}
.bg-glow-2{width:400px;height:400px;bottom:20%;left:-100px;background:radial-gradient(circle,rgba(34,211,238,.1),transparent 70%)}

/* ─── NAV ─── */
.nav{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:100;width:calc(100% - 40px);max-width:1000px}
.nav-wrap{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 20px;border-radius:999px;
  background:rgba(5,5,16,.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);
}
.nav-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--text);font-weight:700;font-size:.9rem}
.nav-logo-icon{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--accent2),var(--cyan));display:flex;align-items:center;justify-content:center;color:#fff}
.nav-center{display:flex;gap:24px}
.nav-link{color:var(--text2);text-decoration:none;font-size:.8rem;font-weight:500;transition:.2s}
.nav-link:hover{color:var(--text)}
.nav-right{display:flex;align-items:center;gap:12px}
.nav-lang{display:flex;padding:3px;border-radius:99px;border:1px solid var(--glass-border);background:var(--glass);cursor:pointer;font-family:var(--font)}
.nav-lang-opt{padding:4px 10px;border-radius:99px;font-size:.68rem;font-weight:700;color:var(--text3);transition:.15s}
.nav-lang-opt.active{background:var(--accent2);color:#fff}

/* ─── HERO ─── */
.hero{position:relative;z-index:1;padding:140px 24px 60px;max-width:1100px;margin:0 auto}
.hero-inner{max-width:600px}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;border-radius:99px;
  background:var(--glass);border:1px solid var(--glass-border);
  font-size:.72rem;font-weight:600;color:var(--accent);margin-bottom:20px;
}
.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero-title{font-size:clamp(2.2rem,5vw,3.2rem);font-weight:800;line-height:1.15;letter-spacing:-1.5px;margin-bottom:18px}
.hero-gradient{background:linear-gradient(135deg,var(--accent),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-desc{font-size:1.05rem;color:var(--text2);line-height:1.7;margin-bottom:28px;max-width:500px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}

/* Buttons */
.btn-primary{
  display:inline-flex;align-items:center;gap:6px;
  padding:12px 24px;border-radius:99px;border:none;
  background:linear-gradient(135deg,var(--accent2),var(--accent3));
  color:#fff;font-size:.85rem;font-weight:600;font-family:var(--font);
  cursor:pointer;transition:.2s;text-decoration:none;
  box-shadow:0 4px 20px var(--glow);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(99,102,241,.3)}
.btn-ghost{
  display:inline-flex;align-items:center;gap:6px;
  padding:12px 24px;border-radius:99px;
  border:1px solid var(--glass-border);background:transparent;
  color:var(--text2);font-size:.85rem;font-weight:500;font-family:var(--font);
  cursor:pointer;transition:.2s;text-decoration:none;
}
.btn-ghost:hover{border-color:var(--glass-border-hover);color:var(--text)}
.btn-full{width:100%;justify-content:center;border-radius:var(--radius)}

/* ─── MOCKUP ─── */
.mockup{margin-top:48px;perspective:1000px}
.mockup-glass{
  background:var(--surface);backdrop-filter:blur(16px);
  border:1px solid var(--glass-border);border-radius:var(--radius-lg);
  overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4);
  transform:rotateX(2deg) rotateY(-1deg);transition:.3s;
}
.mockup-glass:hover{transform:rotateX(0) rotateY(0)}
.mockup-header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--glass-border)}
.mockup-dots{display:flex;gap:5px}
.mockup-dots span{width:8px;height:8px;border-radius:50%;background:var(--text3);opacity:.4}
.mockup-dots span:first-child{background:var(--red)}
.mockup-dots span:nth-child(2){background:var(--orange)}
.mockup-dots span:last-child{background:var(--green)}
.mockup-title{font-size:.7rem;color:var(--text3);font-weight:500}
.mockup-body{padding:16px}
.mockup-row{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.mockup-chip{padding:5px 12px;border-radius:99px;border:1px solid var(--glass-border);font-size:.68rem;color:var(--text3);font-weight:500}
.mockup-chip.active{background:var(--accent2);border-color:var(--accent2);color:#fff}
.mockup-bar{height:36px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid var(--glass-border);margin-bottom:12px}
.mockup-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mockup-card{border-radius:8px;border:1px solid var(--glass-border);overflow:hidden;background:var(--glass)}
.mc-img{height:48px;background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(34,211,238,.05))}
.mc-lines{padding:8px}
.mc-line{height:6px;border-radius:3px;background:rgba(255,255,255,.06);margin-bottom:4px}
.mc-line.w80{width:80%}.mc-line.w70{width:70%}.mc-line.w90{width:90%}
.mc-line.w50{width:50%}.mc-line.w40{width:40%}.mc-line.w60{width:60%}

/* ─── FEATURES ─── */
.features{position:relative;z-index:1;padding:80px 24px}
.section-wrap{max-width:900px;margin:0 auto}
.section-title{font-size:1.6rem;font-weight:800;letter-spacing:-.5px;text-align:center;margin-bottom:8px}
.section-desc{text-align:center;color:var(--text2);font-size:.9rem;margin-bottom:40px}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feature-card{
  padding:24px 20px;border-radius:var(--radius-lg);
  background:var(--surface);backdrop-filter:blur(10px);
  border:1px solid var(--glass-border);transition:.2s;
}
.feature-card:hover{border-color:var(--glass-border-hover);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.2)}
.feature-icon{font-size:1.6rem;margin-bottom:12px}
.feature-card h3{font-size:.9rem;font-weight:700;margin-bottom:6px}
.feature-card p{font-size:.8rem;color:var(--text2);line-height:1.6}

/* ─── SEARCH SECTION ─── */
.search-section{position:relative;z-index:1;padding:60px 24px 100px}
.search-card{
  background:var(--surface);backdrop-filter:blur(16px);
  border:1px solid var(--glass-border);border-radius:var(--radius-xl);
  padding:32px 28px;box-shadow:0 20px 60px rgba(0,0,0,.3);
  position:relative;overflow:hidden;
}
.search-card::before{
  content:'';position:absolute;top:0;left:20%;right:20%;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent),var(--cyan),transparent);opacity:.5;
}
.search-form{display:grid;gap:24px}

/* Form elements */
.form-block{display:grid;gap:10px}
.form-label{font-size:.8rem;font-weight:600;color:var(--text2)}
.form-optional{font-size:.68rem;color:var(--text3);font-weight:500;margin-left:6px}
.form-mini-label{font-size:.7rem;font-weight:600;color:var(--text3);margin-bottom:4px;display:block}
.form-hint{font-size:.68rem;color:var(--text3);margin-top:3px;display:block}

.form-chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{
  padding:8px 14px;border-radius:99px;
  border:1px solid var(--glass-border);background:transparent;
  color:var(--text2);font-size:.78rem;font-weight:500;
  font-family:var(--font);cursor:pointer;transition:.2s;white-space:nowrap;
}
.chip:hover{border-color:var(--accent);color:var(--text);background:rgba(99,102,241,.05)}
.chip.active{background:var(--accent2);border-color:var(--accent2);color:#fff;box-shadow:0 0 16px var(--glow)}

.form-input{
  width:100%;padding:11px 14px;
  border:1px solid var(--glass-border);border-radius:var(--radius);
  background:rgba(255,255,255,.02);color:var(--text);
  font-size:.85rem;font-family:var(--font);outline:none;transition:.2s;
}
.form-input::placeholder{color:var(--text3)}
.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,102,241,.08)}
select.form-input{cursor:pointer;-webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M1 3l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}
select.form-input option{background:var(--bg2);color:var(--text)}

.input-group{display:flex;gap:6px}
.input-group .form-input{flex:1}
.input-icon-btn{
  width:42px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--glass-border);border-radius:var(--radius);
  background:transparent;color:var(--cyan);cursor:pointer;transition:.2s;
}
.input-icon-btn:hover{border-color:var(--cyan);background:rgba(34,211,238,.05);box-shadow:0 0 12px var(--glow2)}
.input-icon-btn:disabled{opacity:.3;cursor:not-allowed}

.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}

/* Budget */
.budget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.budget-value{font-size:.82rem;font-weight:700;color:var(--cyan)}
.form-slider{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;
  border-radius:99px;border:none;outline:none;cursor:pointer;
  background:linear-gradient(to right,var(--accent2) 0%,var(--accent2) var(--slider-pct,10%),rgba(255,255,255,.08) var(--slider-pct,10%),rgba(255,255,255,.08) 100%);
}
.form-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);border:3px solid var(--bg);box-shadow:0 0 8px var(--glow);cursor:pointer}
.form-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);border:3px solid var(--bg);cursor:pointer}
.slider-range{display:flex;justify-content:space-between;font-size:.65rem;color:var(--text3);margin-top:4px}

/* Status */
.status-toast{margin-top:16px;padding:10px 14px;border-radius:var(--radius);font-size:.82rem;font-weight:500;transition:.2s}
.status-toast:empty{display:none}
.status-toast.error{background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.15);color:var(--red)}
.status-toast.success{background:rgba(52,211,153,.06);border:1px solid rgba(52,211,153,.12);color:var(--green)}
.status-toast.loading{background:rgba(99,102,241,.06);border:1px solid rgba(99,102,241,.12);color:var(--accent)}

/* Results */
.results-header{margin:36px 0 16px}
.results-header h3{font-size:1.2rem;font-weight:700}
.results-header p{font-size:.75rem;color:var(--text3);margin-top:2px}
.results-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.toolbar-sel{padding:6px 10px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass);color:var(--text2);font-size:.72rem;font-family:var(--font);cursor:pointer;outline:none}
.toolbar-sel option{background:var(--bg2)}
.toolbar-reset{padding:6px 10px;border:1px solid var(--glass-border);border-radius:8px;background:transparent;color:var(--text3);font-size:.72rem;font-weight:600;font-family:var(--font);cursor:pointer;margin-left:auto;transition:.15s}
.toolbar-reset:hover{border-color:var(--red);color:var(--red)}
.results-count{font-size:.72rem;color:var(--text3);margin-bottom:12px}
.results-grid{display:grid;gap:14px}

/* ─── RESULT CARDS ─── */
.r-link{display:block;text-decoration:none;color:inherit;border-radius:var(--radius-lg);transition:.25s}
.r-link:hover{transform:translateY(-3px)}
.r-link:hover .r-card{border-color:var(--accent);box-shadow:0 12px 40px rgba(99,102,241,.1)}

.r-card{
  display:grid;grid-template-columns:180px 1fr;
  background:var(--surface);backdrop-filter:blur(8px);
  border:1px solid var(--glass-border);border-radius:var(--radius-lg);
  overflow:hidden;transition:.25s;
}

/* IMAGE — consistent sizing */
.r-img{position:relative;width:180px;height:180px;overflow:hidden;background:rgba(99,102,241,.04)}
.r-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.r-img .r-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2.4rem;background:linear-gradient(135deg,rgba(99,102,241,.06),rgba(34,211,238,.04))}
.r-rank{position:absolute;top:10px;left:10px;width:24px;height:24px;border-radius:7px;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;color:#fff;border:1px solid rgba(255,255,255,.1)}

/* BODY */
.r-body{padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.r-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.r-top h3{font-size:.9rem;font-weight:700;line-height:1.3}
.r-badge{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:3px 8px;border-radius:99px;white-space:nowrap;background:rgba(99,102,241,.1);color:var(--accent);border:1px solid rgba(99,102,241,.15)}
.r-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.73rem;color:var(--text3)}
.r-meta .star{color:#fbbf24;font-weight:700}
.r-meta .price{color:var(--green);font-weight:600}
.r-desc{font-size:.78rem;color:var(--text2);line-height:1.5}
.r-why{font-size:.73rem;color:var(--text3);line-height:1.5;padding:6px 10px;border-left:2px solid var(--accent2);background:rgba(99,102,241,.03);border-radius:0 6px 6px 0}
.r-why b{color:var(--accent);font-weight:600}
.r-review{font-size:.7rem;color:var(--text3);font-style:italic}
.r-actions{display:flex;gap:6px;margin-top:auto;padding-top:8px;border-top:1px solid var(--glass-border)}
.r-btn{padding:5px 10px;border-radius:6px;font-size:.68rem;font-weight:600;text-decoration:none;transition:.15s;display:inline-flex;align-items:center;gap:3px}
.r-btn.det{color:var(--text3);background:var(--glass);border:1px solid var(--glass-border)}
.r-link:hover .r-btn.det{color:var(--accent);border-color:rgba(99,102,241,.3)}
.r-btn.map{color:var(--green);background:rgba(52,211,153,.05);border:1px solid rgba(52,211,153,.12)}
.r-btn.map:hover{background:rgba(52,211,153,.1)}

/* Spinner */
.spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(99,102,241,.2);border-top-color:var(--accent);border-radius:50%;animation:spin .5s linear infinite;vertical-align:middle;margin-right:6px}
@keyframes spin{to{transform:rotate(360deg)}}

/* ─── FOOTER ─── */
.site-footer{position:relative;z-index:1;border-top:1px solid var(--glass-border);padding:32px 24px;text-align:center}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:10px}
.footer-inner p{font-size:.72rem;color:var(--text3)}

/* ─── RESPONSIVE ─── */
@media(max-width:768px){
  .nav-center{display:none}
  .hero{padding:110px 20px 40px}
  .hero-title{font-size:1.9rem}
  .features-grid{grid-template-columns:1fr}
  .mockup-cards{grid-template-columns:1fr 1fr}
  .search-card{padding:24px 18px;border-radius:var(--radius-lg)}
  .form-grid-2,.form-grid-3{grid-template-columns:1fr}
  .r-card{grid-template-columns:1fr}
  .r-img{width:100%;height:160px}
  .section-wrap{padding:0}
}
@media(max-width:480px){
  .hero-title{font-size:1.6rem}
  .hero-cta{flex-direction:column}
  .btn-primary,.btn-ghost{width:100%;justify-content:center}
  .mockup-cards{grid-template-columns:1fr}
  .nav-wrap{padding:10px 14px}
}
