/* =========================================================
   HERO SECTION
   ========================================================= */

.hero {
  position: relative;
  background: linear-gradient(180deg, var(--teal-pale) 0%, var(--cream) 100%);
  overflow: hidden;
  padding: var(--sp-lg) 0 var(--sp-xl);
}
@media (min-width: 1024px) { .hero { padding: var(--sp-2xl) 0; } }

.hero .container {
  display: grid;
  gap: var(--sp-lg);
  align-items: center;
}
@media (min-width: 1024px) {
  .hero .container { grid-template-columns: 1.1fr 0.9fr; gap: var(--sp-2xl); }
}

.hero__content { position: relative; z-index: 2; }

.hero__title { font-size: var(--fs-h1); margin-bottom: var(--sp-sm); }
.hero__title .accent { position: relative; color: var(--teal); white-space: nowrap; }
.hero__title .accent::after {
  content: '';
  position: absolute;
  bottom: 0.08em; right: 0; left: 0;
  height: 0.28em;
  background: var(--gold);
  opacity: .35;
  border-radius: 4px;
  z-index: -1;
}

.hero__lead {
  font-size: var(--fs-lead);
  color: var(--ink-soft);
  max-width: 50ch;
  margin-bottom: var(--sp-md);
}

.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: var(--sp-md); }

.hero__trust { display: flex; flex-wrap: wrap; gap: var(--sp-md); align-items: center; }
.hero__trust-item { display: flex; align-items: center; gap: 8px; font-size: var(--fs-small); font-weight: 600; color: var(--teal-deep); }
.hero__trust-item .ico {
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--white); border: 1px solid var(--teal-light);
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; flex-shrink: 0; color: var(--teal);
}

/* ── Signature element: "כרטיס בדיקה" — Patient Check Card ──
   Recurs across the site as the brand's recognizable motif.  */
.hero__visual {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  min-height: 320px;
}
.checkcard {
  position: relative;
  background: var(--white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  padding: var(--sp-md);
  width: min(380px, 100%);
  border: 1px solid var(--line);
  z-index: 2;
}
.checkcard__header {
  display: flex; align-items: center; gap: 12px;
  padding-bottom: var(--sp-sm); margin-bottom: var(--sp-sm);
  border-bottom: 1px dashed var(--line);
}
.checkcard__icon {
  width: 52px; height: 52px; border-radius: var(--radius-md);
  background: var(--teal-pale); color: var(--teal);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; flex-shrink: 0;
}
.checkcard__title { font-family: var(--font-display); font-weight: 800; font-size: 1.05rem; color: var(--teal-deep); margin: 0; }
.checkcard__sub { font-size: var(--fs-tiny); color: var(--ink-soft); margin: 2px 0 0; }

.checkcard__list { list-style: none; margin: 0; padding: 0; }
.checkcard__list li { display: flex; align-items: flex-start; gap: 10px; padding: 8px 0; font-size: .92rem; color: var(--ink); margin: 0; }
.checkcard__list .check {
  width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0;
  background: var(--success); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: .7rem; margin-top: 2px;
}

.checkcard__price {
  margin-top: var(--sp-sm); padding-top: var(--sp-sm);
  border-top: 1px dashed var(--line);
  display: flex; align-items: center; justify-content: space-between;
}
.checkcard__price-label { font-size: .85rem; color: var(--ink-soft); }
.checkcard__price-value { font-family: var(--font-display); font-weight: 900; font-size: 1.4rem; color: var(--gold); }

.hero__visual::before {
  content: '';
  position: absolute;
  width: 420px; height: 420px;
  background: radial-gradient(circle, var(--teal-light) 0%, transparent 70%);
  border-radius: 50%;
  z-index: 1;
  opacity: .6;
}

.checkcard__badge {
  position: absolute; top: -14px; left: -14px;
  background: var(--gold); color: var(--teal-deep);
  font-family: var(--font-display); font-weight: 800; font-size: .8rem;
  padding: 10px 16px; border-radius: var(--radius-pill);
  box-shadow: var(--shadow-gold);
  display: flex; align-items: center; gap: 6px;
  z-index: 3;
  animation: float 4s ease-in-out infinite;
}
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@media (prefers-reduced-motion: reduce) { .checkcard__badge { animation: none; } }

@media (max-width: 1023px) {
  .hero__visual { min-height: 0; margin-top: var(--sp-md); }
  .checkcard { margin: 0 auto; }
}
