/* ============================================================
   Dr. Yakir Clinic - site-home.css
   Home page (v2): before/after compare, case tabs, dark process strip,
   section links, footer site map. Loaded on every page after style.css,
   bridge.css and native*.css, so every rule is scoped to dyk- classes.
   Rules cover both the plain section markup (build/v2/home) and the
   native Elementor widgets it is converted to (class on the widget
   wrapper, the link / image / text one or two levels inside).
   ============================================================ */

/* ---------- Before / after compare (.dyk-compare) ----------
   Both layers show the same composite file. Each layer crops its own half
   (stacked: top / bottom, side by side: left / right) into a 4:3 stage.
   The "after" layer sits on the left of the handle, "before" on the right. */
.dyk-compare {
  --pos: 50%;
  --fx: .5;     /* stacked composites: horizontal focus, 0-1 of the image width */
  --fy: .5;     /* side-by-side composites: vertical focus, 0-1 of the image height */
  --zoom: 1.06; /* trims the white frame and seam line of the composites */
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
  margin: 0;
  padding: 0;
  overflow: hidden;
  isolation: isolate;
  border-radius: var(--radius);
  background: #0e2c44;
  border: 1px solid rgba(255, 255, 255, .14);
  box-shadow: 0 34px 70px -26px rgba(0, 0, 0, .75), 0 0 0 6px rgba(255, 255, 255, .03);
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
  cursor: ew-resize;
}
.dyk-compare.dyk-cmp-dragging { cursor: grabbing; }
.dyk-cmp-nose { --fy: .37; }
.dyk-cmp-botox { --fx: .552; }

.dyk-compare .dyk-cmp-layer,
.dyk-compare .dyk-cmp-layer :not(img) {
  position: absolute;
  inset: 0;
  display: block;
  width: auto;
  height: auto;
  min-height: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  transform: none;
}
.dyk-compare .dyk-cmp-before { z-index: 0; }
.dyk-compare .dyk-cmp-after { z-index: 1; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.dyk-compare .dyk-cmp-layer img {
  position: absolute;
  display: block;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  object-fit: fill;
  transform: scale(var(--zoom));
  pointer-events: none;
  -webkit-user-drag: none;
}
.dyk-compare.dyk-cmp-stack .dyk-cmp-layer img {
  width: 150%;
  height: 200%;
  left: calc(50% - var(--fx) * 150%);
}
.dyk-compare.dyk-cmp-stack.dyk-cmp-before-top .dyk-cmp-before img,
.dyk-compare.dyk-cmp-stack.dyk-cmp-before-bottom .dyk-cmp-after img {
  top: 0;
  transform-origin: calc(var(--fx) * 100%) 25%;
}
.dyk-compare.dyk-cmp-stack.dyk-cmp-before-top .dyk-cmp-after img,
.dyk-compare.dyk-cmp-stack.dyk-cmp-before-bottom .dyk-cmp-before img {
  top: -100%;
  transform-origin: calc(var(--fx) * 100%) 75%;
}
.dyk-compare.dyk-cmp-side .dyk-cmp-layer img {
  width: 200%;
  height: calc(800% / 3);
  top: calc(50% - var(--fy) * 800% / 3);
}
.dyk-compare.dyk-cmp-side.dyk-cmp-before-left .dyk-cmp-before img,
.dyk-compare.dyk-cmp-side.dyk-cmp-before-right .dyk-cmp-after img {
  left: 0;
  transform-origin: 25% calc(var(--fy) * 100%);
}
.dyk-compare.dyk-cmp-side.dyk-cmp-before-left .dyk-cmp-after img,
.dyk-compare.dyk-cmp-side.dyk-cmp-before-right .dyk-cmp-before img {
  left: -100%;
  transform-origin: 75% calc(var(--fy) * 100%);
}

/* לפני / אחרי tags (gallery-badge look), opposite the burned-in English labels */
.dyk-compare .dyk-cmp-tag {
  position: absolute;
  z-index: 2;
  top: 14px;
  bottom: auto;
  margin: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}
.dyk-compare .dyk-cmp-tag * { margin: 0; padding: 0; color: inherit; font: inherit; line-height: inherit; }
.dyk-compare .dyk-cmp-tag-before {
  right: 14px;
  left: auto;
  background: rgba(7, 21, 34, .8);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .3);
  backdrop-filter: blur(6px);
}
.dyk-compare .dyk-cmp-tag-after { left: 14px; right: auto; }
.dyk-compare.dyk-cmp-tags-bottom .dyk-cmp-tag { top: auto; bottom: 14px; }
.dyk-compare.dyk-cmp-edge-l .dyk-cmp-tag-after,
.dyk-compare.dyk-cmp-edge-r .dyk-cmp-tag-before { opacity: 0; }

/* Handle: gold line + gold knob (the ✦ language of the section kickers) */
.dyk-compare .dyk-cmp-handle {
  position: absolute;
  z-index: 3;
  top: 0;
  bottom: 0;
  left: var(--pos);
  width: 64px;
  height: auto;
  min-height: 0;
  margin: 0 0 0 -32px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 0;
  color: #241a06;
  cursor: ew-resize;
  touch-action: none;
  outline: none;
}
.dyk-compare .dyk-cmp-handle::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  margin-left: -1px;
  background: linear-gradient(180deg, rgba(230, 200, 138, .15), var(--gold-light) 16%, var(--gold) 84%, rgba(201, 164, 92, .15));
  box-shadow: 0 0 16px rgba(230, 200, 138, .55);
}
.dyk-compare .dyk-cmp-handle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 56px;
  height: 56px;
  margin: -28px 0 0 -28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f4deaa, var(--gold-light) 42%, var(--gold));
  box-shadow: 0 12px 28px -8px rgba(0, 0, 0, .65), 0 0 0 5px rgba(230, 200, 138, .22), inset 0 1px 0 rgba(255, 255, 255, .6);
  transition: transform .25s ease, box-shadow .25s ease;
}
.dyk-compare .dyk-cmp-handle > * {
  position: relative;
  z-index: 1;
  width: auto;
  margin: 0;
  pointer-events: none;
}
.dyk-compare .dyk-cmp-handle .elementor-icon { display: block; color: #241a06; font-size: 24px; line-height: 0; }
.dyk-compare .dyk-cmp-handle svg {
  display: block;
  width: 24px;
  height: 24px;
  color: #241a06;
  fill: none;
  stroke: currentColor;
}
.dyk-compare:hover .dyk-cmp-handle::after,
.dyk-compare.dyk-cmp-dragging .dyk-cmp-handle::after { transform: scale(1.08); }
.dyk-compare .dyk-cmp-handle:focus-visible { outline: none; }
/* the hint pulse animates box-shadow and would hide the focus ring */
.dyk-compare:not(.dyk-cmp-touched) .dyk-cmp-handle:focus-visible::after { animation: none; }
.dyk-compare .dyk-cmp-handle:focus-visible::after {
  box-shadow: 0 0 0 3px #071522, 0 0 0 6px var(--brand-glow), 0 12px 28px -8px rgba(0, 0, 0, .65);
}
@media (forced-colors: active) {
  .dyk-compare .dyk-cmp-handle:focus-visible { outline: 3px solid CanvasText; }
}
.dyk-compare:not(.dyk-cmp-touched) .dyk-cmp-handle::after { animation: dyk-cmp-pulse 2.4s ease-out infinite; }
@keyframes dyk-cmp-pulse {
  0% { box-shadow: 0 12px 28px -8px rgba(0, 0, 0, .65), 0 0 0 0 rgba(230, 200, 138, .6), inset 0 1px 0 rgba(255, 255, 255, .6); }
  70%, 100% { box-shadow: 0 12px 28px -8px rgba(0, 0, 0, .65), 0 0 0 18px rgba(230, 200, 138, 0), inset 0 1px 0 rgba(255, 255, 255, .6); }
}

/* Cases (tab panels): without JS all of them show, one under the other */
.dyk-cmp-case { display: block; margin: 0; padding: 0; }
.dyk-cmp-case + .dyk-cmp-case { margin-top: 30px; }
.dyk-cmp-ready .dyk-cmp-case + .dyk-cmp-case { margin-top: 0; }
.dyk-cmp-ready .dyk-cmp-case:not(.dyk-cmp-active) { display: none; }
.dyk-cmp-ready .dyk-cmp-case.dyk-cmp-active { animation: dyk-cmp-in .5s cubic-bezier(.22, .61, .36, 1) both; }
@keyframes dyk-cmp-in {
  from { opacity: 0; transform: translateY(10px) scale(.985); }
  to { opacity: 1; transform: none; }
}
.dyk-cmp-case .dyk-cmp-cap {
  margin: 18px 0 0;
  text-align: center;
  color: var(--text-inverse-soft);
  font-size: .95rem;
  line-height: 1.7;
}
.dyk-cmp-case .dyk-cmp-cap p { margin: 0; }
.dyk-cmp-case .dyk-cmp-cap b { color: #fff; font-size: 1.12rem; font-weight: 800; }
.dyk-cmp-case .dyk-cmp-cap span { margin-inline-start: 4px; }
.dyk-cmp-case .dyk-cmp-cap a {
  display: inline-block;
  margin-inline-start: 14px;
  color: var(--gold-light);
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.dyk-cmp-case .dyk-cmp-cap a:hover { text-decoration: underline; }

/* Case tabs: a vertical list beside the stage, pills on narrow screens */
.dyk-cmp-tabs { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; }
.dyk-cmp-tabs :is(a.dyk-cmp-tab, .dyk-cmp-tab .elementor-button) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 15px 20px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .05);
  color: #cfe3f2;
  font-family: var(--font-body);
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: start;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
  cursor: pointer;
  transition: background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
}
.dyk-cmp-tabs :is(a.dyk-cmp-tab, .dyk-cmp-tab .elementor-button)::after {
  content: "";
  position: static;
  flex: none;
  width: 18px;
  height: 18px;
  background: currentColor;
  opacity: .5;
  animation: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform var(--transition), opacity var(--transition);
}
.dyk-cmp-tabs :is(a.dyk-cmp-tab, .dyk-cmp-tab .elementor-button) * { color: inherit; }
.dyk-cmp-tabs :is(a.dyk-cmp-tab, .dyk-cmp-tab .elementor-button):hover {
  background: rgba(87, 196, 255, .12);
  border-color: rgba(87, 196, 255, .35);
  color: #fff;
}
.dyk-cmp-tabs :is(a.dyk-cmp-tab, .dyk-cmp-tab .elementor-button):hover::after { opacity: .9; transform: translateX(-4px); }
.dyk-cmp-tabs :is(a.dyk-cmp-tab, .dyk-cmp-tab .elementor-button)[aria-selected="true"] {
  background: linear-gradient(120deg, rgba(46, 159, 216, .34), rgba(5, 102, 158, .26));
  border-color: rgba(87, 196, 255, .6);
  color: #fff;
  box-shadow: 0 16px 34px -16px rgba(46, 159, 216, .8), inset -3px 0 0 var(--gold-light);
}
.dyk-cmp-tabs :is(a.dyk-cmp-tab, .dyk-cmp-tab .elementor-button)[aria-selected="true"]::after {
  background: var(--gold-light);
  opacity: 1;
  transform: translateX(-4px);
}

/* ---------- Home: before/after section (dark) ---------- */
.dyk-h-ba {
  background:
    radial-gradient(900px 520px at 88% -4%, rgba(5, 102, 158, .42), transparent 60%),
    radial-gradient(760px 520px at -8% 106%, rgba(46, 159, 216, .16), transparent 60%),
    linear-gradient(165deg, #0c2436, #071522);
  color: var(--text-inverse);
  overflow: hidden;
}
.dyk-h-ba::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, .05) 1px, transparent 1.4px);
  background-size: 34px 34px;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
  pointer-events: none;
}
.dyk-h-ba .section-head { margin-bottom: 50px; }
.dyk-h-ba-shell {
  display: grid;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  gap: 56px;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}
.dyk-h-ba-side { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.dyk-h-ba .dyk-h-ba-label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--gold-light);
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.dyk-h-ba .dyk-h-ba-label::before { content: "✦"; color: var(--gold); }
.dyk-h-ba .dyk-h-ba-label p { margin: 0; }
.dyk-h-ba .dyk-h-ba-hint {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 6px 0 0;
  color: var(--text-inverse-soft);
  font-size: .9rem;
  line-height: 1.55;
}
.dyk-h-ba .dyk-h-ba-hint::before {
  content: "";
  flex: none;
  width: 30px;
  height: 18px;
  background: var(--gold-light);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 18' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3L1 9l6 6M23 3l6 6-6 6M1 9h28'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 18' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3L1 9l6 6M23 3l6 6-6 6M1 9h28'/%3E%3C/svg%3E") center / contain no-repeat;
}
.dyk-h-ba .dyk-h-ba-hint p { margin: 0; }
.dyk-h-ba-side :is(a.dyk-h-ba-cta, .dyk-h-ba-cta .elementor-button) { width: 100%; }
.dyk-h-ba .ba-note {
  margin: 0;
  text-align: start;
  color: var(--text-inverse-soft);
  font-size: .84rem;
  line-height: 1.6;
}
.dyk-h-ba-stage {
  position: relative;
  z-index: 0;
  width: 100%;
  max-width: 720px;
  min-width: 0;
  justify-self: center;
}
.dyk-h-ba-stage::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 4% -5% 10%;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(87, 196, 255, .26), rgba(5, 102, 158, .12) 60%, transparent);
  filter: blur(26px);
  pointer-events: none;
}

/* ---------- Home: compact process strip (dark) ---------- */
.dyk-h-process {
  padding-block: 84px;
  background:
    radial-gradient(760px 420px at 100% 0%, rgba(46, 159, 216, .3), transparent 60%),
    linear-gradient(170deg, #0c2436, #071522);
  color: var(--text-inverse);
  overflow: hidden;
}
.dyk-h-process .section-head { margin-bottom: 44px; }
.dyk-h-process .process-grid { gap: 18px; }
.dyk-h-process .process-step {
  padding: 28px 24px 24px;
  background: linear-gradient(165deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03));
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 24px 50px -26px rgba(0, 0, 0, .65);
  backdrop-filter: blur(10px);
}
.dyk-h-process .process-step:hover { border-color: rgba(230, 200, 138, .45); }
.dyk-h-process .process-step h3 { color: #fff; }
.dyk-h-process .process-step p { color: var(--text-inverse-soft); }
.dyk-h-process .process-step .step-num {
  box-shadow: 0 0 0 6px rgba(87, 196, 255, .12), 0 10px 22px -8px rgba(46, 159, 216, .7);
}
@media (min-width: 1025px) {
  /* connector from each step to the next one (RTL: to the left) */
  .dyk-h-process .process-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50px;
    left: -19px;
    width: 20px;
    height: 2px;
    background: linear-gradient(90deg, rgba(87, 196, 255, .35), var(--gold-light));
    pointer-events: none;
  }
}

/* ---------- Home: section links ---------- */
.dyk-h-more {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin-top: 38px;
  text-align: center;
}
.testimonials .dyk-h-more-link { margin: 28px 0 0; text-align: center; font-weight: 700; }
.testimonials .dyk-h-more-link p { margin: 0; }
.testimonials .dyk-h-more-link a { color: var(--brand); text-decoration: none; }
.testimonials .dyk-h-more-link a:hover { text-decoration: underline; }
.dyk-h-about-cta { margin-top: 32px; }

/* ---------- Footer: site map with a treatments column ---------- */
.social-row.dyk-footer-social { margin-top: 16px; }
@media (min-width: 1025px) {
  .footer-grid.dyk-footer-grid { grid-template-columns: 1.3fr .85fr 1.05fr 1fr 1.3fr; gap: 34px; }
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .dyk-h-ba .section-head { margin-bottom: 30px; }
  .dyk-h-ba-shell { display: flex; flex-direction: column; align-items: stretch; gap: 18px; }
  .dyk-h-ba-side { display: contents; }
  .dyk-h-ba .dyk-h-ba-label { display: none; }
  .dyk-cmp-tabs { order: 1; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 8px; }
  .dyk-cmp-tabs :is(a.dyk-cmp-tab, .dyk-cmp-tab .elementor-button) {
    width: auto;
    padding: 9px 18px;
    border-radius: 999px;
    font-size: .9rem;
  }
  .dyk-cmp-tabs :is(a.dyk-cmp-tab, .dyk-cmp-tab .elementor-button)::after { display: none; }
  .dyk-cmp-tabs :is(a.dyk-cmp-tab, .dyk-cmp-tab .elementor-button)[aria-selected="true"] {
    box-shadow: 0 10px 24px -10px rgba(46, 159, 216, .8), inset 0 -2px 0 var(--gold-light);
  }
  .dyk-h-ba-stage { order: 2; max-width: 640px; margin-inline: auto; }
  .dyk-h-ba .dyk-h-ba-hint { order: 3; justify-content: center; text-align: center; margin: 2px 0 0; }
  .dyk-h-ba-cta { order: 4; }
  .dyk-h-ba .ba-note { order: 5; text-align: center; }
}
@media (max-width: 760px) {
  .dyk-h-process { padding-block: 56px; }
  .dyk-h-process .section-head { margin-bottom: 32px; }
  .dyk-h-process .process-grid { gap: 12px; }
  /* compact steps: number beside the text */
  .dyk-h-process .process-step {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    column-gap: 16px;
    align-items: start;
    padding: 20px 18px;
  }
  .dyk-h-process .process-step .step-num { grid-row: span 2; margin: 0; }
  .dyk-h-process .process-step h3 { margin: 2px 0 4px; }
  .dyk-compare .dyk-cmp-tag { top: 10px; }
  .dyk-compare.dyk-cmp-tags-bottom .dyk-cmp-tag { top: auto; bottom: 10px; }
  .dyk-compare .dyk-cmp-tag-before { right: 10px; }
  .dyk-compare .dyk-cmp-tag-after { left: 10px; }
  .dyk-compare .dyk-cmp-handle::after { width: 48px; height: 48px; margin: -24px 0 0 -24px; }
  .dyk-cmp-case .dyk-cmp-cap { font-size: .9rem; margin-top: 14px; }
  .dyk-cmp-case .dyk-cmp-cap a { display: block; margin: 4px 0 0; }
  .dyk-h-more > * { flex: 1 1 100%; }
  .dyk-h-more :is(a.btn, .elementor-button),
  .dyk-h-about-cta :is(a.btn, .elementor-button) { width: 100%; }
}
