
/* JOVIK 4.1.5 — search is a first-class feature, not squeezed into a corner */

/* Give the hero room to breathe after removing the cramped search form. */
.hero-v41{
  padding-bottom:118px!important;
}
.hero-copy{
  padding-top:8px!important;
}
.hero-v41 .hero-copy p{
  max-width:540px!important;
  margin-bottom:25px!important;
}
.hero-v41 .hero-actions{
  margin-top:24px!important;
}
.hero-v41 .hero-actions .lime-btn{
  min-height:52px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding-left:22px!important;
  padding-right:22px!important;
}

/* Large centered search stage overlapping the hero edge. */
.jv-search-stage{
  position:relative!important;
  z-index:20!important;
  width:calc(100% - 48px)!important;
  max-width:1240px!important;
  margin:-68px auto 42px!important;
}
.jv-search-panel{
  background:#fff!important;
  border:1px solid #e4e3eb!important;
  border-radius:24px!important;
  padding:27px 30px 19px!important;
  box-shadow:0 26px 70px rgba(25,20,55,.16)!important;
}
.jv-search-heading{
  display:flex!important;
  align-items:flex-end!important;
  gap:18px!important;
  margin-bottom:20px!important;
}
.jv-search-heading .eyebrow{
  display:none!important;
}
.jv-search-heading h2{
  margin:0!important;
  font:800 clamp(24px,2.2vw,32px)/1.1 Manrope,sans-serif!important;
  letter-spacing:-.035em!important;
  color:#151625!important;
  white-space:nowrap!important;
}
.jv-search-heading p{
  margin:0 0 2px!important;
  color:#777986!important;
  font-size:14px!important;
}
.jv-main-search{
  display:grid!important;
  grid-template-columns:minmax(280px,1.65fr) minmax(200px,.95fr) minmax(165px,.7fr) 150px!important;
  gap:10px!important;
  align-items:stretch!important;
}
.jv-search-field{
  display:block!important;
  margin:0!important;
  padding:10px 14px 9px!important;
  min-width:0!important;
  background:#f6f6fa!important;
  border:1px solid #e5e5ec!important;
  border-radius:14px!important;
  transition:.18s ease!important;
}
.jv-search-field:focus-within{
  background:#fff!important;
  border-color:#7b47ff!important;
  box-shadow:0 0 0 4px rgba(107,52,255,.09)!important;
}
.jv-search-field>span{
  display:block!important;
  margin:0 0 4px 29px!important;
  color:#747683!important;
  font:800 9px Manrope,sans-serif!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
.jv-search-field>div{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
.jv-search-field b{
  flex:0 0 20px!important;
  color:#6b34ff!important;
  font-size:19px!important;
  line-height:1!important;
}
.jv-search-field input,
.jv-search-field select{
  width:100%!important;
  min-width:0!important;
  height:28px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:#171825!important;
  font:700 13px Manrope,sans-serif!important;
}
.jv-search-field input::placeholder{
  color:#989aa5!important;
  font-weight:600!important;
}
.jv-search-submit{
  border:0!important;
  border-radius:14px!important;
  background:#c9ff36!important;
  color:#111421!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:13px!important;
  min-height:66px!important;
  padding:0 20px!important;
  font:900 14px Manrope,sans-serif!important;
  cursor:pointer!important;
  box-shadow:0 12px 28px rgba(142,190,24,.20)!important;
  transition:.18s ease!important;
}
.jv-search-submit:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 16px 34px rgba(142,190,24,.28)!important;
}
.jv-search-submit b{
  font-size:20px!important;
}
.jv-search-bottom{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:14px!important;
  color:#8a8c97!important;
  font-size:11px!important;
}
.jv-search-bottom>a{
  display:inline-flex!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  background:#f2f0f8!important;
  color:#554d68!important;
  font-weight:800!important;
}
.jv-search-bottom>a:hover{
  background:#e9e3ff!important;
  color:#5f2ce7!important;
}
.jv-search-bottom .jv-place-link{
  margin-left:auto!important;
  background:transparent!important;
  color:#6330eb!important;
}

/* Categories now sit naturally below search, instead of colliding with the hero. */
.category-strip-v41{
  margin-top:0!important;
  margin-bottom:62px!important;
}

/* Desktop: make the visual side slightly more dominant now the search is below. */
@media(min-width:1181px){
  .hero-shell{
    grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
  }
  .hero-device{
    max-width:670px!important;
  }
}

/* Tablet */
@media(max-width:980px){
  .hero-v41{
    padding-bottom:105px!important;
  }
  .jv-search-stage{
    margin-top:-60px!important;
  }
  .jv-search-heading{
    display:block!important;
  }
  .jv-search-heading h2{
    white-space:normal!important;
  }
  .jv-search-heading p{
    margin-top:7px!important;
  }
  .jv-main-search{
    grid-template-columns:1.3fr 1fr!important;
  }
  .jv-search-submit{
    min-height:60px!important;
  }
  .jv-search-bottom .jv-place-link{
    width:100%!important;
    margin-left:0!important;
    padding-left:0!important;
  }
}

/* Mobile */
@media(max-width:650px){
  .hero-v41{
    padding-bottom:88px!important;
  }
  .jv-search-stage{
    width:calc(100% - 28px)!important;
    margin:-48px auto 32px!important;
  }
  .jv-search-panel{
    border-radius:19px!important;
    padding:20px 16px 16px!important;
  }
  .jv-search-heading h2{
    font-size:25px!important;
  }
  .jv-search-heading p{
    font-size:13px!important;
  }
  .jv-main-search{
    grid-template-columns:1fr!important;
  }
  .jv-search-field{
    padding:9px 12px!important;
  }
  .jv-search-submit{
    min-height:54px!important;
  }
  .jv-search-bottom{
    gap:6px!important;
  }
  .jv-search-bottom>a{
    font-size:10px!important;
  }
}
