/* Mirrored conic beams and expanding light line from Aceternity's Lamp Effect.
   Coastal blue on the existing light surface; decoration stays above the form. */
.search-lamp {
  --lamp-width: 100%;
  --lamp-fade: clamp(24px, 5vw, 96px);
  position: relative;
  height: 168px;
  margin-bottom: 6px;
  isolation: isolate;
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent, #000 var(--lamp-fade), #000 calc(100% - var(--lamp-fade)), transparent);
  pointer-events: none;
}
/* Land 32px farther down so the search and featured cards match the reference. */
#find-stay { scroll-margin-top: -45px; }
.search-lamp span { display: block; position: absolute; }
.search-lamp-beams {
  position: absolute;
  inset: 42px 0 0;
  mask-image: linear-gradient(to bottom, #000 0%, #000 20%, transparent 100%);
}
.search-lamp-cone {
  top: 0;
  width: var(--lamp-width);
  height: 150px;
}
.search-lamp-cone-left {
  right: 50%;
  background: conic-gradient(from 70deg at center top, #38bdf8, transparent 85deg, transparent);
  mask-image: linear-gradient(to right, transparent, #000 30%);
  transform-origin: right top;
}
.search-lamp-cone-right {
  left: 50%;
  background: conic-gradient(from 290deg at center top, transparent, transparent 275deg, #38bdf8);
  mask-image: linear-gradient(to left, transparent, #000 30%);
  transform-origin: left top;
}
.search-lamp-halo {
  top: 44px;
  left: 50%;
  width: 100%;
  height: 120px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center top, #38bdf84d, #7dd3fc24 45%, transparent 72%);
  filter: blur(16px);
}
.search-lamp-core {
  top: 34px;
  left: 50%;
  width: var(--lamp-width);
  height: 30px;
  transform: translateX(-50%);
  background: #38bdf8;
  border-radius: 50%;
  opacity: .48;
  filter: blur(18px);
}
.search-lamp-line {
  top: 41px;
  left: 50%;
  width: var(--lamp-width);
  height: 2px;
  transform: translateX(-50%);
  background: #38bdf8;
  box-shadow: 0 0 8px #38bdf8b3, 0 0 24px #38bdf866;
}
.search-lamp-pending .search-lamp-cone { opacity: .5; transform: scaleX(.5); }
.search-lamp-pending .search-lamp-line,
.search-lamp-pending .search-lamp-core { transform: translateX(-50%) scaleX(.5); }
.search-lamp-reveal .search-lamp-cone { animation: search-lamp-beam-open 1.1s cubic-bezier(.4, 0, .2, 1) both; }
.search-lamp-reveal .search-lamp-line,
.search-lamp-reveal .search-lamp-core { animation: search-lamp-line-open 1.1s cubic-bezier(.4, 0, .2, 1) both; }
@keyframes search-lamp-beam-open {
  from { opacity: .5; transform: scaleX(.5); }
  to { opacity: 1; transform: scaleX(1); }
}
@keyframes search-lamp-line-open {
  from { transform: translateX(-50%) scaleX(.5); }
  to { transform: translateX(-50%) scaleX(1); }
}
@media (min-width: 641px) and (max-width: 1050px) {
  #find-stay { scroll-margin-top: -47px; }
}
@media (max-width: 640px) {
  #find-stay { scroll-margin-top: -40px; }
  .search-lamp { height: 116px; margin-bottom: 2px; }
  .search-lamp-beams { top: 26px; }
  .search-lamp-cone { height: 105px; }
  .search-lamp-halo { top: 28px; height: 85px; }
  .search-lamp-core { top: 18px; height: 24px; filter: blur(13px); }
  .search-lamp-line { top: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .search-lamp .search-lamp-cone { animation: none; transform: none; opacity: 1; }
  .search-lamp .search-lamp-line,
  .search-lamp .search-lamp-core { animation: none; transform: translateX(-50%); }
}
.animations-disabled .search-lamp .search-lamp-cone { animation: none; transform: none; opacity: 1; }
.animations-disabled .search-lamp .search-lamp-line,
.animations-disabled .search-lamp .search-lamp-core { animation: none; transform: translateX(-50%); }
