/* ================================================================
   PATHOVIX – SaaS Production Landing Page  v3.0
   Font: Plus Jakarta Sans (300–800)
   ================================================================ */

/* ── Reset ─────────────────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:'Plus Jakarta Sans','Inter',system-ui,-apple-system,sans-serif;
  font-size:16px;
  line-height:1.65;
  color:var(--text);
  background:var(--bg);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
img{max-width:100%;display:block;}
button,input,textarea,select{font-family:inherit;}

/* ── Design Tokens ──────────────────────────────────────────── */
:root{
  /* Brand */
  --primary:#2563eb;
  --primary-dark:#1d4ed8;
  --primary-light:#eff6ff;
  --primary-ring:rgba(37,99,235,0.20);
  --accent:#0ea5e9;
  --success:#059669;
  --success-light:#ecfdf5;
  --wa:#25d366;
  --wa-dark:#128c7e;
  --wa-ring:rgba(37,211,102,0.25);

  /* Neutrals */
  --text:#0f172a;
  --text-secondary:#475569;
  --text-muted:#64748b;
  --text-light:#94a3b8;
  --bg:#f8fafc;
  --bg-alt:#f1f5f9;
  --surface:#ffffff;
  --border:#e2e8f0;
  --border-strong:#cbd5e1;

  /* Gradients */
  --grad:linear-gradient(135deg,#2563eb 0%,#0ea5e9 100%);
  --grad-soft:linear-gradient(135deg,#eff6ff 0%,#ecfeff 100%);
  --grad-dark:linear-gradient(135deg,#0f172a 0%,#1e3a5f 100%);

  /* Shadows */
  --shadow-sm:0 1px 2px rgba(0,0,0,0.05);
  --shadow-md:0 4px 6px -1px rgba(0,0,0,0.07),0 2px 4px -2px rgba(0,0,0,0.05);
  --shadow-lg:0 10px 15px -3px rgba(0,0,0,0.08),0 4px 6px -4px rgba(0,0,0,0.04);
  --shadow-xl:0 20px 25px -5px rgba(0,0,0,0.08),0 8px 10px -6px rgba(0,0,0,0.04);
  --shadow-primary:0 4px 14px rgba(37,99,235,0.28);
  --shadow-primary-lg:0 8px 24px rgba(37,99,235,0.32);
  --shadow-card:0 1px 3px rgba(0,0,0,0.06),0 4px 16px rgba(15,23,42,0.06);
  --shadow-card-hover:0 4px 12px rgba(37,99,235,0.12),0 16px 40px rgba(37,99,235,0.10);

  /* Radii */
  --r-sm:8px;
  --r-md:12px;
  --r-lg:16px;
  --r-xl:20px;
  --r-2xl:28px;
  --r-full:999px;

  /* Spacing */
  --section-py:64px;
  --nav-h:64px;
  --container-max:1200px;
  --container-px:24px;
}

/* ── Utilities ──────────────────────────────────────────────── */
.container{
  max-width:var(--container-max);
  margin-inline:auto;
  padding-inline:var(--container-px);
}
.section{padding:var(--section-py) 0;}

.gradient-text{
  background:var(--grad);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

/* ── Buttons ────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 24px;
  border-radius:var(--r-full);
  font-weight:600;font-size:0.9rem;
  letter-spacing:-0.01em;
  cursor:pointer;border:none;
  transition:all 0.2s cubic-bezier(0.4,0,0.2,1);
  white-space:nowrap;
  line-height:1.4;
  -webkit-tap-highlight-color:transparent;
}
.btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px;}
.btn-lg{padding:14px 32px;font-size:0.975rem;font-weight:700;}
.btn-sm{padding:8px 18px;font-size:0.825rem;}

.btn-primary{
  background:var(--grad);
  color:#fff;
  box-shadow:var(--shadow-primary);
}
.btn-primary:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-primary-lg);
}
.btn-primary:active{transform:translateY(0);}

.btn-outline{
  background:transparent;
  color:var(--primary);
  border:1.5px solid var(--primary);
}
.btn-outline:hover{background:var(--primary-light);}

.btn-outline-primary{
  background:transparent;
  color:var(--primary);
  border:1.5px solid var(--primary);
  width:100%;
}
.btn-outline-primary:hover{background:var(--primary);color:#fff;}

.btn-wa{
  background:var(--wa);
  color:#fff;
  box-shadow:0 2px 12px var(--wa-ring);
}
.btn-wa:hover{
  background:var(--wa-dark);
  transform:translateY(-1px);
  box-shadow:0 6px 20px var(--wa-ring);
}

.btn-ghost{
  background:transparent;
  color:var(--text-muted);
  border:1.5px solid var(--border);
}
.btn-ghost:hover{background:var(--bg);color:var(--text);border-color:var(--border-strong);}

/* ── Section Header ─────────────────────────────────────────── */
.section-header{text-align:center;margin-bottom:52px;}

.section-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 16px;
  border-radius:var(--r-full);
  background:var(--primary-light);
  color:var(--primary);
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.09em;
  text-transform:uppercase;
  margin-bottom:16px;
  border:1px solid rgba(37,99,235,0.12);
}

.section-header h2{
  font-size:clamp(1.75rem,3.5vw,2.2rem);
  font-weight:800;
  color:var(--text);
  letter-spacing:-0.03em;
  line-height:1.2;
  margin-bottom:14px;
}

.section-sub,.section-header p{
  color:var(--text-muted);
  font-size:1rem;
  max-width:540px;
  margin-inline:auto;
  line-height:1.7;
  font-weight:400;
}

/* ================================================================
   NAVBAR
   ================================================================ */
.navbar{
  position:fixed;
  top:0;inset-inline:0;
  z-index:1000;
  height:var(--nav-h);
  background:rgba(255,255,255,0.95);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid var(--border);
  transition:box-shadow 0.25s;
}
.navbar.scrolled{box-shadow:var(--shadow-md);}

.nav-inner{
  display:flex;
  align-items:center;
  gap:12px;
  height:100%;
  padding-inline:var(--container-px);
  max-width:var(--container-max);
  margin-inline:auto;
}

/* Logo */
.logo{
  display:flex;align-items:center;
  flex-shrink:0;
  height:var(--nav-h);
}
.logo-img{
  width: 140px;
  height: auto;
  object-fit: contain;
  object-position: left center;
  display: block;
  vertical-align: middle;
}

/* Nav links */
.nav-links{display:flex;gap:4px;align-items:center;flex:1;justify-content:center;}
.nav-links a{
  font-size:0.9rem;
  font-weight:600;
  color:var(--text-secondary);
  padding:6px 12px;
  border-radius:var(--r-sm);
  transition:all 0.15s;
  white-space:nowrap;
}
.nav-links a:hover{color:var(--text);background:var(--bg);}
.nav-links a.active{color:var(--primary);font-weight:600;}

/* Nav actions */
.nav-actions{display:flex;gap:8px;align-items:center;flex-shrink:0;}
.nav-actions .btn{font-size:0.84rem;padding:9px 18px;}
.nav-actions .btn svg{flex-shrink:0;}

/* Hamburger */
.hamburger{
  display:none;
  background:none;border:none;
  padding:8px;
  cursor:pointer;
  color:var(--text);
  border-radius:var(--r-sm);
  transition:background 0.15s;
  line-height:1;
  font-size:1.35rem;
  margin-left:auto;
  flex-shrink:0;
}
.hamburger:hover{background:var(--bg);}

/* Mobile menu */
.mobile-menu{
  display:none;
  flex-direction:column;
  background:#fff;
  border-top:1px solid var(--border);
  padding:8px 16px 20px;
  box-shadow:var(--shadow-lg);
  overflow:hidden;
}
.mobile-menu.open{display:flex;}
.mobile-menu > a{
  display:block;
  padding:12px 8px;
  font-size:0.9rem;
  font-weight:500;
  color:var(--text);
  border-bottom:1px solid var(--border);
}
.mobile-menu > a:last-of-type{border-bottom:none;}
.mobile-menu > a:hover{color:var(--primary);}
.mobile-menu-actions{
  display:flex;gap:8px;
  padding-top:14px;
  margin-top:6px;
  border-top:1px solid var(--border);
  flex-wrap:wrap;
}
.mobile-menu-actions .btn{flex:1;min-width:120px;justify-content:center;border-radius:var(--r-md);}

/* Overlay */
.mobile-overlay{
  display:none;
  position:fixed;inset:0;
  background:rgba(15,23,42,0.45);
  z-index:999;
  backdrop-filter:blur(2px);
}
.mobile-overlay.active{display:block;}

/* ================================================================
   HERO
   ================================================================ */
.hero{
  position:relative;
  background:#fff;
  padding-top:var(--nav-h);
  overflow:hidden;
}

/* Subtle background mesh */
.hero::before{
  content:'';
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 90% 60% at 50% -5%,rgba(37,99,235,0.06) 0%,transparent 65%),
    radial-gradient(ellipse 50% 40% at 90% 60%,rgba(14,165,233,0.04) 0%,transparent 60%);
  pointer-events:none;
}
.hero-bg-shapes{display:none;}

.hero-inner.hero-centered{
  position:relative;z-index:1;
  padding:80px var(--container-px) 90px;
}

.hero-content{text-align:center;max-width:820px;margin-inline:auto;}

.hero-badge{
  display:inline-flex;align-items:center;gap:7px;
  padding:6px 18px;
  border-radius:var(--r-full);
  background:var(--primary-light);
  border:1px solid rgba(37,99,235,0.18);
  color:var(--primary);
  font-size:0.8rem;
  font-weight:600;
  margin-bottom:24px;
  letter-spacing:0.01em;
}

.hero-content h1{
  font-size:clamp(2.1rem,5.5vw,3.8rem);
  font-weight:800;
  line-height:1.1;
  letter-spacing:-0.04em;
  color:var(--text);
  margin-bottom:22px;
}

.hero-sub{
  font-size:clamp(1rem,2vw,1.12rem);
  color:var(--text-muted);
  line-height:1.7;
  max-width:580px;
  margin-inline:auto;
  margin-bottom:36px;
  font-weight:400;
}

/* Stats pill */
.hero-stats{
  display:inline-flex;
  align-items:center;
  gap:0;
  background:var(--bg);
  border:1.5px solid var(--border);
  border-radius:var(--r-lg);
  padding:16px 28px;
  margin-bottom:36px;
  flex-wrap:nowrap;
}
.stat{
  padding-inline:24px;
  text-align:center;
  flex-shrink:0;
}
.stat strong{
  display:block;
  font-size:1.65rem;
  font-weight:800;
  color:var(--primary);
  letter-spacing:-0.04em;
  line-height:1.1;
  margin-bottom:2px;
}
.stat span{
  font-size:0.78rem;
  color:var(--text-muted);
  font-weight:500;
  white-space:nowrap;
}
.stat-div{width:1px;height:38px;background:var(--border);flex-shrink:0;}

.hero-btns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}

/* ================================================================
   WIZARD SECTION
   ================================================================ */
.wizard-section{background:var(--bg);padding:72px 0;position:relative;z-index:50;}

.hero-form-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-2xl);
  padding:40px 48px;
  box-shadow:var(--shadow-xl);
  max-width:900px;
  margin-inline:auto;
}

/* Steps */
.funnel-step{display:none;}
.funnel-step.active{display:block;animation:stepIn 0.35s cubic-bezier(0.16,1,0.3,1);}
@keyframes stepIn{
  from{opacity:0;transform:translateY(12px);}
  to{opacity:1;transform:translateY(0);}
}

/* Wizard tabs */
.wizard-tabs{
  display:flex;gap:6px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:6px;
  margin-bottom:24px;
}
.wizard-tab{
  flex:1;
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 16px;
  border:none;outline:none;
  border-radius:8px;
  background:transparent;
  font-size:0.95rem;font-weight:600;
  color:#64748b;
  cursor:pointer;
  transition:all 0.2s;
  white-space:nowrap;
}
.wizard-tab.active{
  background:#1d84f8;
  color:#fff;
  box-shadow:0 4px 12px rgba(29, 132, 248, 0.25);
}
.wizard-tab:not(.active):hover{background:#ffffff;color:#0f172a;}
.wizard-tab .tab-icon{font-size:1.2rem;}

/* Tab content */
.tab-content{display:none;}
.tab-content.active{display:block;animation:stepIn 0.25s ease;}

/* Search input */
.search-dropdown{position:relative;margin-bottom:16px;}
.search-input-wrap{
  display:flex;align-items:center;gap:12px;
  padding:16px 20px;
  border:1.5px solid #e2e8f0;
  border-radius:12px;
  background:#ffffff;
  transition:all 0.2s;
}
.search-input-wrap:focus-within{
  border-color:#1d84f8;
  box-shadow:0 0 0 4px rgba(29, 132, 248, 0.15);
}
.search-input-wrap input{
  flex:1;border:none;outline:none;
  background:transparent;
  font-size:1.05rem;font-weight:500;
  color:#0f172a;
}
.search-input-wrap input::placeholder{color:#94a3b8;}
.search-icon{font-size:1.2rem;opacity:0.45;flex-shrink:0;transition:opacity 0.2s;}
.search-input-wrap:focus-within .search-icon{opacity:0.8;color:#1d84f8;}

/* Dropdown list */
.dropdown-list{
  display:none;
  position:absolute;top:calc(100% + 6px);inset-inline:0;
  max-height:280px;overflow-y:auto;
  background:#ffffff;
  border:1px solid #e2e8f0;
  border-radius:12px;
  box-shadow:0 10px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
  z-index:200;
}
.dropdown-list.open{display:block;animation:stepIn 0.2s ease;}
.dropdown-item{
  display:flex;align-items:center;gap:10px;
  padding:14px 20px;
  cursor:pointer;
  border-bottom:1px solid #f1f5f9;
  font-size:0.95rem;color:#0f172a;
  transition:all 0.15s;
}
.dropdown-item:last-child{border-bottom:none;}
.dropdown-item:hover{background:#f8fafc;color:#1d84f8;font-weight:600;}
.dropdown-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 16px;
  color:#64748b;
  font-size:0.95rem;
  font-weight:500;
}

/* Quick picks */
.quick-picks{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;}
.quick-label{font-size:0.7rem;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:0.08em;white-space:nowrap;}
.quick-chip{
  padding:5px 13px;
  border:1.5px solid var(--border);
  border-radius:var(--r-full);
  background:var(--surface);
  font-size:0.8rem;font-weight:600;
  cursor:pointer;transition:all 0.18s;
  color:var(--text-muted);
  position:relative;
}
.quick-chip:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light);transform:translateY(-1px);}

.quick-chip-tooltip {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(5px);
  background: #1e293b;
  color: #fff;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 500;
  white-space: normal;
  width: max-content;
  max-width: 250px;
  text-align: left;
  z-index: 100;
  transition: all 0.2s ease;
  pointer-events: none;
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
  line-height: 1.4;
  margin-bottom: 8px;
}
.quick-chip-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #1e293b transparent transparent transparent;
}
.quick-chip:hover .quick-chip-tooltip {
  visibility: visible;
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* Form elements */
.form-header-sm{text-align:center;margin-bottom:28px;}
.form-header-sm h3{font-size:1.6rem;font-weight:800;letter-spacing:-0.03em;margin-bottom:8px;}
.form-header-sm p{color:var(--text-muted);font-size:0.95rem;}

.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-group{margin-bottom:16px;}
.form-group label{
  display:block;font-size:0.72rem;font-weight:700;
  color:var(--text-muted);text-transform:uppercase;letter-spacing:0.07em;
  margin-bottom:7px;
}
.form-group input,
.form-group textarea{
  width:100%;
  padding:12px 16px;
  border:1.5px solid var(--border);
  border-radius:var(--r-md);
  font-size:0.95rem;font-weight:500;
  background:var(--bg);
  color:var(--text);
  transition:all 0.2s;
  outline:none;
}
.form-group textarea{resize:vertical;min-height:80px;line-height:1.5;}
.form-group input:focus,
.form-group textarea:focus{
  border-color:var(--primary);
  background:var(--surface);
  box-shadow:0 0 0 4px var(--primary-ring);
}
.field-error{display:none;color:#ef4444;font-size:0.82rem;margin-top:5px;}

/* WhatsApp book button */
.btn-wa-book{
  width:100%;
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 20px;
  font-size:1rem;font-weight:700;
  border-radius:var(--r-md);
  margin-top:12px;
  background:var(--wa);
  color:#fff;
  border:none;cursor:pointer;
  box-shadow:0 4px 20px var(--wa-ring);
  transition:all 0.2s;
}
.btn-wa-book:hover{background:var(--wa-dark);transform:translateY(-1px);box-shadow:0 8px 28px var(--wa-ring);}
.wa-icon{font-size:1.4rem;animation:waPulse 2.5s ease-in-out infinite;}
@keyframes waPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.12);}}

/* Form label (step labels) */
.form-label{display:block;font-size:0.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:14px;}

/* Selected summary */
.selected-summary{
  background:var(--bg);
  border:1.5px solid var(--border);
  border-radius:var(--r-lg);
  padding:18px 22px;
  margin-bottom:18px;
}
.summary-row{
  display:flex;align-items:flex-start;gap:12px;
  padding:10px 0;font-size:0.92rem;color:var(--text);font-weight:600;
}
.summary-row:not(:last-child){border-bottom:1px dashed var(--border);}

/* Lab grid */
.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.lab-grid-card{
  background:var(--surface);
  border:1.5px solid var(--border);
  border-radius:var(--r-lg);
  padding:20px;
  display:flex;flex-direction:column;gap:10px;
  transition:all 0.25s;
  box-shadow:var(--shadow-sm);
}
.lab-grid-card:hover{border-color:var(--primary);box-shadow:var(--shadow-card-hover);transform:translateY(-2px);}

.lab-card-top{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.lab-card-logo{width:44px;height:44px;border-radius:var(--r-sm);overflow:hidden;border:1.5px solid var(--border);background:#fff;flex-shrink:0;}
.lab-card-logo img{width:100%;height:100%;object-fit:contain;}
.lab-card-title-group{display:flex;flex-direction:column;gap:4px;flex-grow:1;}
.lab-card-name{font-size:0.975rem;font-weight:700;color:var(--text);}
.lab-badges{display:flex;gap:5px;flex-wrap:wrap;}
.dist-badge{background:#fff7ed;color:#c2410c;padding:2px 9px;border-radius:5px;font-size:0.68rem;font-weight:700;}
.time-badge{background:var(--success-light);color:var(--success);padding:2px 9px;border-radius:5px;font-size:0.68rem;font-weight:700;}
.default-lab-logo{display:flex;align-items:center;justify-content:center;background:var(--bg);border:1.5px dashed var(--border);}
.lab-card-price{display:flex;flex-direction:column;align-items:flex-end;margin-left:auto;}
.price-label{font-size:0.67rem;color:var(--text-light);font-weight:600;text-transform:uppercase;letter-spacing:0.05em;}
.price-amount{font-size:1.25rem;font-weight:800;color:var(--primary);letter-spacing:-0.03em;}
.lab-card-addr{font-size:0.82rem;color:var(--text-muted);margin-bottom:14px;line-height:1.45;flex-grow:1;}

.geo-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;
  background:var(--bg);border:1.5px solid var(--border);
  border-radius:var(--r-sm);
  color:var(--primary);font-weight:600;font-size:0.78rem;
  cursor:pointer;transition:0.2s;
}
.geo-btn:hover{background:var(--primary-light);border-color:var(--primary);}
.lab-step-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}

/* Wizard result cards */
.wizard-pkg-card{
  display:flex;flex-direction:column;gap:12px;
  padding:20px;
  background:#ffffff;
  border:1px solid #e2e8f0;
  border-radius:12px;
  margin-bottom:12px;
  transition:all 0.2s;
  box-shadow:0 1px 3px rgba(0,0,0,0.02);
}
.wizard-pkg-card:hover{
  border-color:#1d84f8;
  box-shadow:0 4px 14px rgba(29,132,248,0.08);
}
.wizard-pkg-card .pkg-info{display:flex;flex-direction:column;gap:4px;}
.wizard-pkg-card strong{font-size:1.05rem;font-weight:700;color:#0f172a;}
.pkg-tests-subtext{font-size:0.85rem;color:#64748b;margin-bottom:8px;}
.wizard-pkg-card .pkg-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:4px;}
.price-wrap {display:flex;align-items:center;gap:8px;}
.price-badge{color:#1d84f8;font-weight:700;font-size:1.1rem;letter-spacing:-0.02em;}
.price-old-sm{font-size:0.8rem;text-decoration:line-through;color:#94a3b8;}
.pkg-add-btn{background:#1d84f8;color:#fff;border-radius:20px;padding:8px 16px;font-size:0.85rem;}
.pkg-add-btn:hover{background:#1e40af;}

.btn-text{
  background:none;border:none;padding:6px 0;
  color:var(--primary);font-weight:600;font-size:0.875rem;
  cursor:pointer;transition:color 0.18s;
  display:inline-flex;align-items:center;gap:5px;
  margin-top:8px;
}
.btn-text:hover{color:var(--primary-dark);}

.empty-msg{text-align:center;padding:32px;color:var(--text-muted);font-weight:500;font-size:0.9rem;}
.step-loader{display:flex;justify-content:center;padding:32px;}
.mini-spinner{width:22px;height:22px;border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 0.72s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

.load-more-btn{
  width:100%;margin-top:14px;padding:12px;
  background:var(--surface);border:1.5px dashed var(--border);
  border-radius:var(--r-md);
  color:var(--text-muted);font-weight:600;font-size:0.875rem;
  cursor:pointer;transition:0.2s;
}
.load-more-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light);}

/* ================================================================
   SERVICES
   ================================================================ */
.services{background:var(--surface);}

.swiper{width:100%;padding:4px 4px 56px !important;}
.swiper-slide{height:auto;display:flex;}
.service-card,.pkg-card{width:100%;height:100%;display:flex;flex-direction:column;}
.service-card ul,.pkg-card .pkg-body{flex-grow:1;display:flex;flex-direction:column;}
.pkg-card .btn{margin-top:auto;}

.swiper-pagination-bullet-active{background:var(--primary) !important;}
.swiper-button-next,.swiper-button-prev{
  color:var(--primary) !important;
  width:36px !important;height:36px !important;
  background:var(--surface);
  border-radius:50%;
  box-shadow:var(--shadow-md);
  transition:all 0.25s;
}
.swiper-button-next{right:0 !important;}
.swiper-button-prev{left:0 !important;}
.swiper-button-next:hover,.swiper-button-prev:hover{
  transform:scale(1.08);background:var(--primary);color:#fff !important;
}
.swiper-button-next::after,.swiper-button-prev::after{font-size:14px !important;font-weight:900;}

.service-card{
  background:var(--bg);
  border:1.5px solid var(--border);
  border-radius:var(--r-lg);
  padding:28px 24px;
  transition:all 0.28s ease;
  position:relative;overflow:hidden;
}
.service-card::before{
  content:'';position:absolute;inset:0;
  background:var(--grad-soft);opacity:0;transition:opacity 0.28s;
}
.service-card:hover{border-color:rgba(37,99,235,0.3);transform:translateY(-4px);box-shadow:var(--shadow-card-hover);}
.service-card:hover::before{opacity:1;}
.service-card.featured{background:var(--grad);color:#fff;border-color:transparent;box-shadow:var(--shadow-primary-lg);}
.service-card.featured:hover{border-color:transparent;box-shadow:0 12px 40px rgba(37,99,235,0.32);}
.service-card.featured:hover::before{opacity:0;}
.service-card.featured p,.service-card.featured li{color:rgba(255,255,255,0.82);}
.service-icon{font-size:2.2rem;margin-bottom:14px;position:relative;display:block;}
.service-card h3{font-size:1.05rem;font-weight:700;margin-bottom:8px;position:relative;letter-spacing:-0.01em;}
.service-card p{font-size:0.875rem;color:var(--text-muted);margin-bottom:14px;position:relative;line-height:1.65;}
.service-card ul{display:flex;flex-direction:column;gap:7px;margin-bottom:0;position:relative;}
.service-card li{font-size:0.825rem;color:var(--text-muted);display:flex;align-items:flex-start;gap:7px;line-height:1.45;}
.service-card.featured li{color:rgba(255,255,255,0.82);}
.service-card li::before{content:'✓';color:var(--success);font-weight:700;flex-shrink:0;font-size:0.78rem;margin-top:1px;}
.service-card.featured li::before{color:rgba(255,255,255,0.7);}

/* ================================================================
   PACKAGES
   ================================================================ */
.packages{background:var(--bg);}

.pkg-card{
  border-radius:var(--r-xl);
  overflow:hidden;
  box-shadow:var(--shadow-card);
  background:var(--surface);
  border:1.5px solid var(--border);
  transition:all 0.28s ease;
  position:relative;
}
.pkg-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-card-hover);border-color:rgba(37,99,235,0.22);}
.pkg-card.popular{border-color:var(--primary);box-shadow:var(--shadow-primary);}
.popular-tag{
  position:absolute;top:-1px;left:50%;transform:translateX(-50%);
  background:var(--primary);color:#fff;
  font-size:0.68rem;font-weight:700;padding:5px 22px;
  border-radius:0 0 10px 10px;white-space:nowrap;
  z-index:1;letter-spacing:0.06em;text-transform:uppercase;
}
.pkg-header{padding:32px 28px 20px;text-align:center;}
.pkg-header.basic{background:linear-gradient(135deg,#eff6ff 0%,#ecfeff 100%);}
.pkg-header.advanced{background:var(--grad);color:#fff;}
.pkg-header.premium{background:var(--grad-dark);color:#fff;}
.pkg-icon{font-size:2.1rem;margin-bottom:10px;}
.pkg-header h3{font-size:1.1rem;font-weight:800;margin-bottom:12px;letter-spacing:-0.02em;}
.pkg-price{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:4px;}
.price-old{font-size:1rem;text-decoration:line-through;opacity:0.48;}
.price-new{font-size:2rem;font-weight:800;letter-spacing:-0.04em;}
.pkg-body{padding:24px 28px;flex-grow:1;}
.pkg-tests{display:grid;grid-template-columns:1fr 1fr;column-gap:10px;row-gap:8px;margin-bottom:20px;}
.pkg-tests li{font-size:0.8rem;color:var(--text-muted);display:flex;align-items:flex-start;gap:5px;line-height:1.4;}
.pkg-tests li::before{content:'✓';color:var(--success);font-weight:700;flex-shrink:0;font-size:0.75rem;margin-top:1px;}
.pkg-btn{margin-top:auto;}
.btn-view-all-tests{
  background:none;border:none;color:var(--primary);font-weight:600;font-size:0.8rem;
  cursor:pointer;display:inline-block;margin-bottom:14px;
  padding:2px 0;border-bottom:1px dashed var(--primary);transition:0.18s;
}
.btn-view-all-tests:hover{color:var(--primary-dark);}

/* Package modal */
.tests-modal-overlay{
  display:none;position:fixed;inset:0;
  background:rgba(15,23,42,0.6);
  z-index:2000;backdrop-filter:blur(5px);
  align-items:center;justify-content:center;padding:20px;
}
.tests-modal-overlay.active{display:flex;animation:stepIn 0.25s ease;}
.tests-modal-content{
  background:var(--surface);width:100%;max-width:580px;
  border-radius:var(--r-xl);max-height:82vh;
  display:flex;flex-direction:column;
  box-shadow:var(--shadow-xl);border:1px solid var(--border);
}
.tests-modal-header{
  padding:20px 26px;border-bottom:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center;
}
.tests-modal-header h3{margin:0;font-size:1.2rem;font-weight:800;letter-spacing:-0.02em;}
.tests-modal-close{
  background:var(--bg);border:none;width:34px;height:34px;
  border-radius:50%;font-size:1rem;cursor:pointer;
  color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:0.18s;
}
.tests-modal-close:hover{background:#fee2e2;color:#dc2626;}
.tests-modal-body{padding:24px 26px;overflow-y:auto;}

/* ================================================================
   TRUST / WHY US
   ================================================================ */
.trust{background:var(--surface);}

.trust-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.trust-card{
  background:var(--bg);
  border-radius:var(--r-lg);
  padding:28px 24px;
  border:1.5px solid var(--border);
  position:relative;overflow:hidden;
  transition:all 0.28s ease;
}
.trust-card::after{
  content:'';
  position:absolute;top:0;left:0;right:0;
  height:3px;
  background:var(--grad);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 0.3s ease;
}
.trust-card:hover{transform:translateY(-4px);border-color:rgba(37,99,235,0.2);box-shadow:var(--shadow-card-hover);background:var(--surface);}
.trust-card:hover::after{transform:scaleX(1);}
.trust-icon{
  margin-bottom:18px;
  display:inline-flex;align-items:center;justify-content:center;
  width:60px;height:60px;
  border-radius:16px;
  background-color: #eff6ff; /* light blue */
  border:2px solid rgba(37,99,235,0.1);
  color: var(--primary);
}
.trust-icon svg {
  width: 28px;
  height: 28px;
  stroke-width: 2;
}
.trust-card h3{font-size:0.975rem;font-weight:700;margin-bottom:8px;letter-spacing:-0.01em;}
.trust-card p{font-size:0.845rem;color:var(--text-muted);line-height:1.65;}

/* ================================================================
   TESTIMONIALS
   ================================================================ */
.testimonials{background:var(--bg);}

.review-card{
  background:var(--surface);
  border-radius:var(--r-xl);
  padding:26px;
  border:1.5px solid var(--border);
  box-shadow:var(--shadow-card);
  transition:box-shadow 0.3s,transform 0.3s;
  position:relative;
  overflow:hidden;
}
.review-card::before{
  content:'';position:absolute;left:0;top:0;bottom:0;
  width:4px;background:var(--grad);border-radius:0 2px 2px 0;
}
.review-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-3px);}
.review-stars{font-size:1.1rem;letter-spacing:2px;margin-bottom:14px;}
.review-text{font-size:0.9rem;color:var(--text-muted);line-height:1.72;flex:1;font-style:italic;}
.reviewer{display:flex;align-items:center;gap:12px;margin-top:18px;}
.reviewer-avatar{
  width:42px;height:42px;border-radius:50%;
  background:var(--grad);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;font-weight:800;flex-shrink:0;
}
.reviewer strong{display:block;font-size:0.88rem;color:var(--text);font-weight:700;}
.reviewer small{font-size:0.78rem;color:var(--text-light);}

.btn-share-review{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--grad);color:#fff;
  font-size:0.975rem;font-weight:700;
  padding:14px 32px;border-radius:var(--r-full);
  border:none;cursor:pointer;
  box-shadow:var(--shadow-primary);transition:all 0.25s;
}
.btn-share-review:hover{transform:translateY(-2px);box-shadow:var(--shadow-primary-lg);}

/* Carousel dots */
.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:24px;}
.carousel-dot{width:8px;height:8px;border-radius:50%;background:#d1d5db;border:none;cursor:pointer;transition:all 0.3s;padding:0;}
.carousel-dot.active{background:var(--primary);width:24px;border-radius:4px;}

/* ================================================================
   FAQ
   ================================================================ */
.faq-section{background:var(--bg);}
.faq-grid{max-width:800px;margin-inline:auto;display:flex;flex-direction:column;gap:10px;}

.faq-item{
  background:var(--surface);
  border:1.5px solid var(--border);
  border-radius:var(--r-lg);
  overflow:hidden;
  transition:all 0.32s cubic-bezier(0.16,1,0.3,1);
}
.faq-item.active{border-color:rgba(37,99,235,0.25);box-shadow:0 4px 18px rgba(37,99,235,0.07);}

.faq-question{
  padding:20px 24px;
  display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;user-select:none;gap:16px;
  transition:background 0.2s;
}
.faq-item.active .faq-question{background:var(--primary-light);}
.faq-question h3{font-size:0.975rem;font-weight:600;color:var(--text);margin:0;line-height:1.5;}

.faq-icon{
  width:32px;height:32px;border-radius:50%;
  background:var(--bg);color:var(--primary);
  display:flex;align-items:center;justify-content:center;
  border:1.5px solid var(--border);
  transition:all 0.32s;flex-shrink:0;
}
.faq-icon .material-symbols-rounded{font-size:1.25rem;}
.faq-item.active .faq-icon{background:var(--primary);color:#fff;transform:rotate(180deg);border-color:transparent;}

.faq-answer{max-height:0;overflow:hidden;transition:all 0.35s cubic-bezier(0.16,1,0.3,1);}
.faq-item.active .faq-answer{max-height:500px;}
.faq-answer-content{padding:0 24px 22px;color:var(--text-muted);font-size:0.9rem;line-height:1.72;}

/* ================================================================
   FLOATING WHATSAPP
   ================================================================ */
.float-wa{
  position:fixed;bottom:24px;right:24px;z-index:1001;
  background:var(--wa);color:#fff;
  padding:12px 24px;border-radius:var(--r-full);
  font-weight:700;font-size:0.875rem;
  box-shadow:0 6px 24px var(--wa-ring);
  display:flex;align-items:center;gap:10px;
  transition:all 0.25s;
  white-space:nowrap;
  text-decoration:none;
}
@media (hover: hover) {
  .float-wa:hover{transform:scale(1.04);background:var(--wa-dark);box-shadow:0 8px 32px var(--wa-ring);}
}
.float-wa:active{transform:scale(0.96);background:var(--wa-dark);}
.wa-text{font-weight:700;}

/* ================================================================
   FOOTER
   ================================================================ */
.footer{
  background:#07111f;
  color:rgba(255,255,255,0.55);
  padding:68px 0 80px;
  position:relative;overflow:hidden;
}
.footer::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,0.022) 1px,transparent 1px);
  background-size:26px 26px;pointer-events:none;
}
.footer-glow{
  position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,var(--primary) 25%,var(--accent) 75%,transparent 100%);
}
.footer-inner{
  display:grid;
  grid-template-columns:1.9fr 1fr 1.3fr;
  gap:56px;
  padding-bottom:56px;
  position:relative;z-index:1;
}

/* Brand col */
.footer-logo-wrap{
  display:inline-block;
  margin-bottom:24px;
}
.logo-img-footer{
  width: 195px;
}
.footer-tagline{font-size:0.9rem;line-height:1.65;color:rgba(255,255,255,0.7);max-width:260px;margin-bottom:22px;}

.footer-socials{display:flex;gap:8px;}
.social-icon{
  width:34px;height:34px;border-radius:var(--r-sm);
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);
  color:rgba(255,255,255,0.5);
  display:flex;align-items:center;justify-content:center;
  transition:all 0.2s;text-decoration:none;
}
.social-icon:hover{transform:translateY(-2px);background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 18px rgba(37,99,235,0.35);}
.social-icon.social-linkedin{color:#0077b5;background:rgba(0,119,181,0.08);border-color:rgba(0,119,181,0.2);}
.social-icon.social-linkedin:hover{background:#0077b5;border-color:#0077b5;color:#fff;}
.social-icon.social-facebook{color:#1877f2;background:rgba(24,119,242,0.08);border-color:rgba(24,119,242,0.2);}
.social-icon.social-facebook:hover{background:#1877f2;border-color:#1877f2;color:#fff;}
.social-icon.social-instagram{color:#e1306c;background:rgba(225,48,108,0.08);border-color:rgba(225,48,108,0.2);}
.social-icon.social-instagram:hover{background:#e1306c;border-color:#e1306c;color:#fff;}
.social-icon.social-x{color:rgba(255,255,255,0.75);background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.18);}
.social-icon.social-x:hover{background:#fff;border-color:#fff;color:#000;}

/* Col titles */
.footer-col-title{
  color:rgba(255,255,255,0.88);
  font-size:0.7rem;font-weight:800;
  text-transform:uppercase;letter-spacing:0.12em;
  margin-bottom:18px;padding-bottom:10px;
  position:relative;
}
.footer-col-title::after{content:'';position:absolute;bottom:0;left:0;width:22px;height:2px;background:var(--primary);border-radius:2px;}

/* Nav list */
.footer-nav{list-style:none;display:flex;flex-direction:column;gap:8px;}
.footer-nav li a{
  color:rgba(255,255,255,0.7);font-size:0.9rem;font-weight:500;
  text-decoration:none;transition:all 0.18s;
  display:inline-flex;align-items:center;gap:5px;
}
.footer-nav li a::before{content:'→';font-size:0.65rem;opacity:0;transform:translateX(-5px);transition:all 0.18s;color:var(--primary);}
.footer-nav li a:hover{color:#fff;padding-left:4px;}
.footer-nav li a:hover::before{opacity:1;transform:translateX(0);}

/* Contact list */
.footer-contact-list{list-style:none;display:flex;flex-direction:column;gap:12px;}
.footer-contact-list li{display:flex;align-items:flex-start;gap:10px;font-size:0.85rem;color:rgba(255,255,255,0.7);line-height:1.5;}
.fc-icon{flex-shrink:0;width:28px;height:28px;background:rgba(255,255,255,0.05);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:0.85rem;margin-top:-1px;}
.footer-contact-list a{color:rgba(255,255,255,0.7);text-decoration:none;transition:color 0.18s;}
.footer-contact-list a:hover{color:#fff;}

/* Divider */
.footer-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.06) 30%,rgba(255,255,255,0.06) 70%,transparent);margin:0;position:relative;z-index:1;}

/* Bottom */
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding:20px 0;font-size:0.8rem;color:rgba(255,255,255,0.5);
  position:relative;z-index:1;flex-wrap:wrap;gap:6px;
}
.footer-bottom strong{color:rgba(255,255,255,0.7);font-weight:600;}
.footer-bottom-right{font-size:0.76rem;}

/* ================================================================
   FOR LABS (hidden in blade but keeping styles)
   ================================================================ */
.for-labs-section{background:var(--grad-soft);position:relative;overflow:hidden;}
.for-labs-inner{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.for-labs-content h2{font-size:clamp(1.75rem,3.5vw,2.3rem);font-weight:800;margin-bottom:16px;line-height:1.15;letter-spacing:-0.03em;}
.for-labs-sub{font-size:1rem;color:var(--text-muted);margin-bottom:28px;line-height:1.7;max-width:460px;}
.for-labs-benefits{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:32px;}
.for-labs-benefits li{display:flex;align-items:center;gap:12px;font-size:0.95rem;font-weight:600;color:var(--text);}
.benefit-check{width:24px;height:24px;border-radius:50%;background:var(--grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:800;flex-shrink:0;}
.for-labs-cta{font-size:1rem;padding:14px 32px;}
.for-labs-visual{display:flex;justify-content:center;align-items:center;}
.for-labs-card{background:var(--surface);border-radius:22px;padding:32px;box-shadow:var(--shadow-xl);width:100%;max-width:360px;transition:transform 0.3s;border:1px solid var(--border);}
.for-labs-card:hover{transform:translateY(-5px);}
.flc-header{display:flex;align-items:center;gap:16px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--border);}
.flc-logo{width:52px;height:52px;border-radius:var(--r-md);background:var(--grad-soft);border:1px solid rgba(37,99,235,0.1);display:flex;align-items:center;justify-content:center;font-size:1.7rem;flex-shrink:0;}
.flc-name{font-size:1.05rem;font-weight:800;color:var(--text);margin-bottom:5px;letter-spacing:-0.01em;}
.flc-badge{display:inline-flex;align-items:center;gap:4px;background:var(--success-light);color:var(--success);border-radius:var(--r-full);padding:2px 10px;font-size:0.72rem;font-weight:700;}
.flc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;}
.flc-stat{text-align:center;background:var(--bg);border-radius:var(--r-sm);padding:11px 6px;border:1px solid var(--border);}
.flc-stat strong{display:block;font-size:0.975rem;font-weight:800;color:var(--primary);margin-bottom:3px;letter-spacing:-0.02em;}
.flc-stat span{font-size:0.68rem;color:var(--text-muted);font-weight:600;}
.flc-footer{text-align:center;font-size:0.72rem;color:var(--text-muted);font-weight:600;padding-top:14px;border-top:1px solid var(--border);}
.flc-how-it-works{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;}
.flc-step{display:flex;align-items:center;gap:12px;font-size:0.875rem;color:var(--text);font-weight:500;line-height:1.4;}
.flc-step-num{width:26px;height:26px;border-radius:50%;background:var(--grad);color:#fff;font-size:0.72rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.for-labs-note{margin-top:12px;font-size:0.84rem;color:var(--text-muted);font-style:italic;}

/* Nav special buttons */
.btn-register-lab{background:transparent;color:var(--primary);border:1.5px solid var(--primary);border-radius:var(--r-full);padding:8px 16px;font-size:0.82rem;font-weight:600;cursor:pointer;transition:all 0.2s;white-space:nowrap;display:inline-flex;align-items:center;gap:5px;text-decoration:none;}
.btn-register-lab:hover{background:var(--primary);color:#fff;box-shadow:var(--shadow-primary);transform:translateY(-1px);}
.nav-link-forlabs{color:var(--primary) !important;font-weight:700 !important;}

/* ================================================================
   RESPONSIVE  —  Mobile-first approach
   ================================================================ */

/* 1280px – wide desktop: no changes needed */

/* 1140px – normal desktop */
@media (max-width:1140px){
  :root{--container-px:20px;}
  .hero-form-card{padding:36px 40px;}
}

/* 1024px – small laptop / iPad landscape */
@media (max-width:1024px){
  :root{--section-py:64px;}
  .nav-links a{font-size:0.84rem;padding:5px 9px;}
  .nav-actions .btn{padding:8px 15px;font-size:0.82rem;}
  .hero-form-card{padding:32px 36px;}
  .trust-grid{grid-template-columns:repeat(3,1fr);}
  .footer-inner{gap:40px;}
}

/* 900px – tablet landscape */
@media (max-width:900px){
  .hero-content h1{font-size:clamp(1.9rem,5vw,2.8rem);}
  .hero-form-card{padding:28px 28px;}
  .trust-grid{grid-template-columns:repeat(2,1fr);gap:16px;}
  .footer-inner{grid-template-columns:1fr 1fr;gap:36px;}
  .footer-brand{grid-column:1/-1;}
  .for-labs-inner{grid-template-columns:1fr;gap:40px;}
}

/* 768px – tablet portrait (mobile nav kicks in) */
@media (max-width:768px){
  :root{--section-py:56px;--container-px:18px;--nav-h:56px;}

  /* Navbar */
  .nav-links,.nav-actions{display:none;}
  .hamburger{display:flex;}

  /* Hero */
  .hero{min-height:auto;padding-bottom:0;}
  .hero-inner.hero-centered{padding:48px var(--container-px) 60px;}
  .hero-content h1{font-size:clamp(1.85rem,5.5vw,2.4rem);}
  .hero-sub{font-size:0.95rem;margin-bottom:28px;}
  .hero-stats{padding:14px 20px;flex-wrap:nowrap;}
  .stat{padding-inline:16px;}
  .stat strong{font-size:1.4rem;}
  .stat span{font-size:0.72rem;}
  .hero-btns{flex-direction:column;gap:10px;align-items:center;}
  .hero-btns .btn{width:100%;max-width:360px;}

  /* Wizard */
  .wizard-section{padding:56px 0;}
  .hero-form-card{padding:24px 20px;border-radius:var(--r-xl);}
  .wizard-tab{padding:11px 10px;font-size:0.82rem;gap:5px;}
  .wizard-tab .tab-icon{font-size:0.95rem;}
  .search-input-wrap{padding:13px 16px;}
  .search-input-wrap input{font-size:0.9rem;}
  .dropdown-item{padding:11px 16px;}
  .dropdown-item:hover{padding-left:20px;}
  .form-grid-2{grid-template-columns:1fr;gap:12px;}
  .lab-grid{grid-template-columns:1fr;}
  .form-header-sm h3{font-size:1.4rem;}
  .btn-wa-book{padding:14px;}
  .wizard-pkg-card{flex-direction:column;align-items:flex-start;gap:10px;}

  /* Section header */
  .section-header{margin-bottom:38px;}
  .section-header h2{font-size:clamp(1.6rem,5vw,1.95rem);}
  .section-sub,.section-header p{font-size:0.9rem;}

  /* Trust */
  .trust-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .trust-card{padding:22px 18px;}

  /* FAQ */
  .faq-question{padding:18px 20px;}
  .faq-question h3{font-size:0.925rem;}
  .faq-answer-content{padding:0 20px 18px;font-size:0.875rem;}

  /* Footer */
  .footer{padding-top:52px;padding-bottom:100px;}
  .footer-inner{grid-template-columns:1fr 1fr;gap:30px;padding-bottom:56px;}
  .footer-brand{grid-column:1 / -1;margin-bottom:12px;}
  .footer-bottom{flex-direction:column;text-align:center;gap:4px;}
  .footer-bottom-right{display:none;}

  /* For labs */
  .for-labs-inner{grid-template-columns:1fr;gap:36px;}
  .for-labs-content h2{font-size:1.7rem;}
  .for-labs-cta{width:100%;justify-content:center;}

  /* Swiper buttons hidden on tablet */
  .swiper-button-next,.swiper-button-prev{display:none !important;}
}

/* 640px – large phone */
@media (max-width:640px){
  :root{--section-py:48px;}
  .hero-inner.hero-centered{padding:44px var(--container-px) 52px;}
  .hero-content h1{font-size:clamp(1.75rem,6vw,2.1rem);}
  .hero-stats{flex-direction:column;gap:12px;padding:16px 22px;align-items:flex-start;flex-wrap:wrap;width:auto;max-width:280px;margin-inline:auto;}
  .stat{padding-inline:0;display:flex;align-items:center;gap:10px;width:100%;}
  .stat strong{display:inline;font-size:1.35rem;margin-bottom:0;}
  .stat span{font-size:0.8rem;}
  .stat-div{display:none;}
  .trust-grid{grid-template-columns:1fr;}
  .tests-grid{gap:8px;}
  .test-pill{padding:9px 14px;font-size:0.82rem;}
  .pkg-price .price-new{font-size:1.75rem;}
  .selected-summary{padding:14px 16px;}
  .summary-row{font-size:0.875rem;}
}

/* 480px – standard phone */
@media (max-width:480px){
  :root{--section-py:40px;--container-px:16px;}
  .hero-inner.hero-centered{padding:38px var(--container-px) 48px;}
  .hero-content h1{font-size:clamp(1.65rem,6.5vw,1.95rem);}
  .hero-badge{font-size:0.75rem;padding:5px 14px;}
  .hero-btns .btn{font-size:0.875rem;padding:13px 20px;}
  .hero-form-card{padding:18px 16px;border-radius:var(--r-lg);}
  .wizard-tabs{flex-direction:column;gap:4px;border-radius:var(--r-md);}
  .wizard-tab{border-radius:var(--r-sm);padding:11px 12px;}
  .search-input-wrap{padding:12px 14px;border-radius:var(--r-md);}
  .search-input-wrap input{font-size:0.875rem;}
  .form-group input,.form-group textarea{padding:11px 14px;font-size:0.9rem;border-radius:var(--r-md);}
  .btn-wa-book{padding:13px;font-size:0.92rem;border-radius:var(--r-md);}
  .section-header h2{font-size:clamp(1.5rem,5.5vw,1.75rem);}
  .section-badge{font-size:0.67rem;padding:4px 13px;}
  .trust-card{padding:20px 16px;}
  .trust-icon{width:52px;height:52px;}
  .trust-icon svg{width:24px;height:24px;}
  .faq-question{padding:16px 18px;}
  .faq-question h3{font-size:0.9rem;}
  .faq-answer-content{padding:0 18px 16px;font-size:0.865rem;}
  .for-labs-card{padding:22px 18px;}
}

/* 360px – small phone */
@media (max-width:360px){
  :root{--section-py:36px;--container-px:14px;}
  .hero-content h1{font-size:1.6rem;}
  .hero-sub{font-size:0.875rem;}
  .hero-btns .btn{font-size:0.84rem;padding:12px 16px;}
  .hero-form-card{padding:16px 14px;}
  .wizard-tab{font-size:0.78rem;padding:10px 10px;}
  .section-header h2{font-size:1.4rem;}
  .section-badge{font-size:0.64rem;letter-spacing:0.06em;}
  .btn{font-size:0.84rem;}
  .footer-inner{gap:24px;}
}

/* Popular tests */
.popular-tests{background:var(--bg);}
.tests-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.test-pill{
  display:flex;align-items:center;gap:8px;
  padding:10px 18px;border-radius:var(--r-full);
  background:var(--surface);border:1.5px solid var(--border);
  font-size:0.875rem;font-weight:600;cursor:pointer;
  transition:all 0.18s;box-shadow:var(--shadow-sm);color:var(--text);
}
.test-pill:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 14px rgba(37,99,235,0.1);background:var(--primary-light);}
.test-pill span.price{color:var(--success);font-weight:700;margin-left:2px;}

/* Offers */
.offers{background:var(--surface);}
.offers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;}
.offer-card{border-radius:var(--r-lg);padding:30px 26px;background:var(--bg);border:1.5px solid var(--border);text-align:center;transition:all 0.25s;}
.offer-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover);}
.offer-card.highlight-offer{background:var(--grad);border-color:transparent;color:#fff;box-shadow:var(--shadow-primary-lg);}
.offer-discount{font-size:1.75rem;font-weight:800;color:var(--primary);margin-bottom:8px;letter-spacing:-0.03em;}
.highlight-offer .offer-discount{color:#fff;}
.offer-code{font-size:0.84rem;font-weight:700;background:rgba(37,99,235,0.08);color:var(--primary);padding:7px 16px;border-radius:var(--r-sm);margin-top:12px;display:inline-block;letter-spacing:0.05em;}
.highlight-offer .offer-code{background:rgba(255,255,255,0.18);color:#fff;}

/* Contact */
.contact{background:var(--bg);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.contact-item{display:flex;gap:16px;margin-bottom:20px;}
.contact-icon{font-size:1.5rem;color:var(--primary);flex-shrink:0;}

/* How it works */
.how-it-works{background:var(--bg);}
.steps-grid{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;}
.step-card{flex:1;min-width:180px;max-width:220px;background:var(--surface);border-radius:var(--r-lg);padding:28px 20px;text-align:center;border:1.5px solid var(--border);box-shadow:var(--shadow-card);transition:all 0.25s;}
.step-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover);border-color:rgba(37,99,235,0.2);}
.step-num{font-size:0.67rem;font-weight:800;color:var(--primary);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:10px;}
.step-icon{font-size:2.1rem;margin-bottom:12px;}
.step-card h3{font-size:0.975rem;font-weight:700;margin-bottom:6px;letter-spacing:-0.01em;}
.step-card p{font-size:0.82rem;color:var(--text-muted);line-height:1.5;}
.step-arrow{font-size:1.1rem;color:var(--primary);opacity:0.3;flex-shrink:0;}
@media(max-width:768px){
  .steps-grid{flex-direction:column;align-items:stretch;gap:8px;}
  .step-card{max-width:100%;min-width:unset;}
  .step-arrow{display:none;}
  .contact-grid{grid-template-columns:1fr;gap:28px;}
}

/* ================================================================
   LEGAL / FORM PAGES (Terms, Privacy, Lab Registration)
   ================================================================ */
.legal-page { padding: calc(var(--nav-h) + 40px) 0 80px; background: var(--bg); }
.legal-page.no-navbar { padding-top: 60px; }
.legal-header { text-align: center; margin-bottom: 48px; }
.legal-header h1 { 
    font-size: clamp(2rem, 4vw, 3rem); 
    font-weight: 800; 
    margin-bottom: 16px; 
    letter-spacing: -0.03em;
}
.legal-header p { color: var(--text-muted); font-size: 1.05rem; }
.legal-content {
    background: var(--surface);
    padding: 40px 48px;
    border-radius: var(--r-2xl);
    box-shadow: var(--shadow-xl);
    border: 1px solid var(--border);
    line-height: 1.8;
    color: var(--text);
    max-width: 900px;
    margin: 0 auto 40px;
}
.legal-content.wide { max-width: 1100px; }
.legal-content h3 { margin-top: 32px; color: var(--text); font-weight: 800; margin-bottom: 12px; letter-spacing: -0.02em; border-bottom: 1px solid var(--border); padding-bottom: 8px;}
.legal-content p { color: var(--text-secondary); margin-bottom: 16px; }
.legal-content ul { margin-bottom: 16px; padding-left: 20px; color: var(--text-secondary); }
.legal-content li { margin-bottom: 8px; list-style-type: disc; }
.legal-content label { display: block; font-weight: 700; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 8px; color: var(--text-muted); }
.legal-content input[type="text"], .legal-content input[type="email"], .legal-content input[type="time"], .legal-content textarea, .legal-content select { width: 100%; padding: 12px 16px; border: 1.5px solid var(--border); border-radius: var(--r-md); font-size: 0.95rem; background: var(--bg); color: var(--text); transition: all 0.2s; outline: none; font-family: inherit; }
.legal-content input:focus, .legal-content textarea:focus, .legal-content select:focus { border-color: var(--primary); background: var(--surface); box-shadow: 0 0 0 4px var(--primary-ring); }

.legal-content select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 16px; padding-right: 40px; cursor: pointer; }
.legal-content input[type="time"]::-webkit-calendar-picker-indicator { cursor: pointer; opacity: 0.5; transition: opacity 0.2s; }
.legal-content input[type="time"]::-webkit-calendar-picker-indicator:hover { opacity: 1; }

.legal-content .form-group { margin-bottom: 24px; }
.legal-content .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 24px; }

@media (max-width: 768px) {
    .legal-content { padding: 24px 20px; border-radius: var(--r-xl); }
    .legal-content .form-grid { grid-template-columns: 1fr; }
}

#recommendations-list {
    max-height: 50vh;
    overflow-y: auto;
    padding-right: 8px;
}
#recommendations-list::-webkit-scrollbar {
    width: 6px;
}
#recommendations-list::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

/* WhatsApp button compact on mobile */
@media (max-width: 767px) {
  .float-wa .wa-text { display: none; }
  .float-wa { padding: 0; width: 48px; height: 48px; justify-content: center; border-radius: 50%; bottom: 16px; right: 16px; gap: 0; }
  .float-wa svg { width: 24px; height: 24px; margin: 0 !important; }
}

/* Final SaaS Logo Sizing */
@media (max-width: 1199px) {
  .logo-img { width: 135px; }
  .logo-img-footer { width: 185px; }
}
@media (max-width: 767px) {
  .logo-img { width: 130px; }
  .logo-img-footer { width: 160px; }
}
@media (max-width: 480px) {
  .logo-img { width: 130px; }
  .logo-img-footer { width: 155px; }
}
