.home{padding-bottom:64px}
.home > .wrap{padding-top:60px}
.home__hero{max-width:820px;margin:0 auto;text-align:center;width:100%}
.home__title{margin:0;font-size:clamp(34px,5vw,60px);font-weight:600;letter-spacing:-.02em;line-height:1.05}
.home__sub{margin:18px auto 0;max-width:560px;font-size:18px;line-height:1.5;color:#e6e9ff;font-weight:300}

.search{margin:38px auto 0;max-width:760px}
.search__box{
  margin-top:16px;display:flex;align-items:center;gap:12px;
  padding:8px 8px 8px 22px;border-radius:999px;
  background:rgba(20,30,110,.55);border:1px solid rgba(160,190,255,.35);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 30px 60px rgba(0,0,20,.35);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.search__box{cursor:text;-webkit-tap-highlight-color:transparent}
.search__box:focus-within{border-color:rgba(190,210,255,.8);box-shadow:0 30px 60px rgba(0,0,20,.35),0 0 0 4px rgba(120,150,255,.18)}
.search__box svg{flex-shrink:0;color:#c9d2ff}
.search__input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#fff;font:inherit;font-size:18px}
.search__input::placeholder{color:#9aa4d8}
.search__btn{
  height:52px;padding:0 26px;border:0;border-radius:999px;cursor:pointer;
  color:#fff;font:inherit;font-size:16px;font-weight:500;
  background:linear-gradient(90deg,#ff2f7e 0%,#c33cff 50%,#3b3bff 100%);
  box-shadow:0 10px 24px rgba(200,60,255,.35);white-space:nowrap;
}
.search__hint{margin:14px 0 0;font-size:13px;color:#aab3e3}
.search__hint button{background:none;border:0;padding:0;color:#e6e9ff;font:inherit;font-size:13px;cursor:pointer;text-decoration:underline dotted}

.results{margin:40px auto 0;max-width:960px;text-align:left}
.results[hidden]{display:none}
.results__sub{margin:18px 0 8px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#aab3e3}
.results__sub:first-child{margin-top:0}
.results__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 14px;font-size:14px;color:#aab3e3}
.hits__titel{margin:22px 0 10px;font-size:13px;font-weight:600;letter-spacing:.02em;color:#aab3e3;
  padding-top:14px;border-top:1px solid rgba(255,255,255,.09)}
.hits__titel:first-child{margin-top:0;padding-top:0;border-top:0}
.results .hits,.results .ai{transition:opacity .12s ease}
.results--laedt .hits,.results--laedt .ai{opacity:.45}
.ai{
  margin:0 0 14px;padding:18px 22px;border-radius:16px;
  background:linear-gradient(135deg,rgba(195,60,255,.18) 0%,rgba(20,30,110,.42) 60%);
  border:1px solid rgba(200,120,255,.35);font-size:15px;line-height:1.55;color:#e6e9ff;
}
.ai strong{color:#fff;font-weight:500}
.ai:empty{display:none}
.hits{display:grid;gap:10px}
.hits--top{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:26px}
@media (max-width:880px){
  .hits--top{grid-template-columns:1fr;gap:16px}
}
@media (max-width:700px){
  .hits{gap:12px}
  .hits__titel{margin:28px 0 12px}
  .hits--top{margin-bottom:32px}
}
.hit{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 18px;border-radius:14px;
  background:rgba(20,30,110,.42);border:1px solid rgba(160,190,255,.22);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease;
}
.hit:hover{border-color:rgba(190,210,255,.55);transform:translateY(-1px);color:inherit}
.hit[hidden]{display:none}
@keyframes hit-rein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.hit--neu{animation:hit-rein .16s ease-out both}
@media (prefers-reduced-motion:reduce){
  .hit--neu{animation:none}
  .results .hits,.results .ai{transition:none}
}
.hit--top{padding:26px 24px;border-radius:18px}
.hits--top > .hit:only-child{grid-column:1 / -1}
.hit--top .hit__name{font-weight:600;font-size:min(26px, calc(100cqi / (var(--zeichen,14) * 0.58)))}
.hit--top.hit--lang{flex-direction:column;align-items:stretch;gap:16px}
.hit--top.hit--lang .hit__kaufen{text-align:center}
@media (max-width:700px){
  .hit:not(.hit--top) .hit__kaufen{
    width:38px;height:38px;padding:0;border-radius:50%;font-size:0;
    display:flex;align-items:center;justify-content:center;
  }
  .hit:not(.hit--top) .hit__kaufen::after{content:"→";font-size:17px;line-height:1}
  .hit--top{padding:20px;flex-direction:column;align-items:stretch;gap:14px}
  .hit--top .hit__name{font-size:min(21px, calc(100cqi / (var(--zeichen,14) * 0.58)))}
  .hit--top .hit__kaufen{padding:12px 22px;text-align:center}
}
@media (max-width:360px){
  .hit{padding:14px}
  .hit:not(.hit--top) .hit__kaufen{width:34px;height:34px}
}
.hit__name{font-size:17px;font-weight:500;color:#fff;line-height:1.25;
  white-space:nowrap;font-size:min(17px, calc(100cqi / (var(--zeichen,14) * 0.58)))}
.hit__links{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;flex:1 1 0;min-width:0;container-type:inline-size}
@property --ki-winkel{syntax:'<angle>';inherits:false;initial-value:0deg}
.search__box{position:relative}
.search__box::before{
  content:"";position:absolute;inset:-1px;border-radius:inherit;padding:2px;pointer-events:none;
  background:conic-gradient(from var(--ki-winkel),transparent 0deg 190deg,#3b3bff 250deg,#c33cff 305deg,#ff2f7e 345deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  opacity:0;transition:opacity .35s ease;
}
.search--sucht .search__box::before{opacity:1;animation:ki-umlauf 1.6s linear infinite}
@keyframes ki-umlauf{to{--ki-winkel:360deg}}
.search__btn{position:relative}
.search--sucht .search__btn{
  color:transparent;background-size:200% 100%;
  background-image:linear-gradient(90deg,#ff2f7e 0%,#c33cff 25%,#3b3bff 50%,#c33cff 75%,#ff2f7e 100%);
  animation:ki-knopf 2.4s ease-in-out infinite}
@keyframes ki-knopf{0%,100%{background-position:0 0}50%{background-position:100% 0}}
.search__btn::after{
  content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;
  opacity:0;transition:opacity .2s ease;pointer-events:none;
}
.search--sucht .search__btn::after{opacity:1;animation:ki-punkte 1.05s linear infinite}
@keyframes ki-punkte{
  0%,100%{background:rgba(255,255,255,.4);box-shadow:-13px 0 0 #fff,13px 0 0 rgba(255,255,255,.4)}
  33%{background:#fff;box-shadow:-13px 0 0 rgba(255,255,255,.4),13px 0 0 rgba(255,255,255,.4)}
  66%{background:rgba(255,255,255,.4);box-shadow:-13px 0 0 rgba(255,255,255,.4),13px 0 0 #fff}
}
.ki-laden{
  display:flex;flex-direction:column;align-items:center;gap:20px;
  padding:46px 24px 40px;border-radius:18px;text-align:center;
  background:linear-gradient(135deg,rgba(195,60,255,.16) 0%,rgba(20,30,110,.45) 60%);
  border:1px solid rgba(200,120,255,.3);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  animation:hit-rein .3s ease-out both;
  transition:opacity .22s ease,transform .22s ease;
}
.ki-laden--fertig{opacity:0;transform:translateY(-8px)}
.ki-laden__zeichen{position:relative;width:60px;height:60px}
.ki-laden__zeichen::before{
  content:"";position:absolute;inset:-14px;border-radius:50%;
  background:radial-gradient(circle,rgba(195,60,255,.42) 0%,rgba(59,59,255,.18) 45%,transparent 70%);
  animation:ki-atmen 1.8s ease-in-out infinite}
.ki-laden__zeichen::after{
  content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;
  background:#fff;box-shadow:0 0 14px rgba(255,120,220,.9);animation:ki-atmen 1.8s ease-in-out infinite}
.ki-laden__ring{
  position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(rgba(59,59,255,0) 0deg,#3b3bff 110deg,#c33cff 230deg,#ff2f7e 345deg,rgba(255,47,126,0) 360deg);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4.5px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4.5px));
  animation:ki-drehen 1.1s linear infinite}
@keyframes ki-drehen{to{transform:rotate(360deg)}}
@keyframes ki-atmen{0%,100%{transform:scale(.85);opacity:.7}50%{transform:scale(1.08);opacity:1}}
.ki-laden__text{margin:0;min-height:1.4em;font-size:17px;font-weight:500;color:#eef0ff;
  transition:opacity .22s ease,transform .22s ease}
.ki-laden__text--wechsel{opacity:0;transform:translateY(5px)}
@media (max-width:520px){
  .ki-laden{padding:38px 18px 34px}
  .ki-laden__text{font-size:16px;line-height:1.35;min-height:2.7em;display:flex;align-items:center;justify-content:center;text-wrap:balance}
}
.ki-laden__balken{width:min(300px,72%);height:4px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}
.ki-laden__balken span{display:block;width:0;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,#ff2f7e,#c33cff,#3b3bff);box-shadow:0 0 12px rgba(195,60,255,.6)}
@keyframes ki-auftritt{
  0%{opacity:0;transform:translateY(12px) scale(.985);box-shadow:0 0 0 1px rgba(210,140,255,0),0 0 0 rgba(195,60,255,0)}
  40%{opacity:1;transform:none;box-shadow:0 0 0 1px rgba(210,140,255,.7),0 0 30px rgba(195,60,255,.32)}
  100%{opacity:1;transform:none;box-shadow:0 0 0 1px rgba(210,140,255,0),0 0 30px rgba(195,60,255,0)}
}
.hit--auftritt{animation:ki-auftritt .95s cubic-bezier(.2,.8,.2,1) both}
.ki-einblenden{animation:hit-rein .35s ease-out both}
@media (prefers-reduced-motion:reduce){
  .search--sucht .search__box::before{animation:none}
  .search--sucht .search__btn,.search--sucht .search__btn::after{animation:none}
  .search--sucht .search__btn::after{background:#fff;box-shadow:-13px 0 0 #fff,13px 0 0 #fff}
  .ki-laden,.ki-laden__ring,.ki-laden__zeichen::before,.ki-laden__zeichen::after{animation:none}
  .hit--auftritt,.ki-einblenden{animation:none}
}
.hit__rang{flex:none;min-width:32px;padding:3px 8px;border-radius:999px;
  font-size:12px;font-weight:600;line-height:1.3;text-align:center;letter-spacing:.02em;
  border:1px solid rgba(160,190,255,.4);background:rgba(120,150,255,.16);color:#dbe3ff}
.hit__rang[data-rang="A+"]{background:#f2c14e;border-color:#f2c14e;color:#1b1f4a}
.hit__rang[data-rang="A"]{background:rgba(70,200,130,.2);border-color:rgba(90,220,150,.6);color:#c3f5d8}
.hit__kaufen{
  flex:none;padding:11px 26px;border-radius:999px;
  background:#3b5bff;color:#fff;font-size:14px;font-weight:500;white-space:nowrap;
  transition:background .15s ease;
}
.hit:hover .hit__kaufen{background:#5471ff}
.hit--top .hit__kaufen{padding:13px 32px;font-size:15px}
.hit__tag{
  display:none;
  padding:2px 9px;border-radius:999px;font-size:11px;
  background:rgba(255,255,255,.1);color:#c9d2ff;white-space:nowrap;
}
.mehr{
  display:block;width:100%;max-width:320px;margin:26px auto 0;padding:13px 26px;
  border-radius:999px;background:rgba(20,30,110,.5);border:1px solid rgba(160,190,255,.25);
  color:#e8ecff;font:inherit;font-size:14px;cursor:pointer;text-align:center;
  transition:border-color .15s ease;
}
.mehr:hover{border-color:rgba(190,210,255,.55)}
.mehr small{display:block;margin-top:4px;font-size:12px;color:#aab3e3}
.sortierung{
  background:rgba(20,30,110,.5);border:1px solid rgba(160,190,255,.25);border-radius:999px;
  color:#e8ecff;font:inherit;font-size:13px;padding:7px 14px;cursor:pointer;
}
.sortierung:focus-visible{outline:2px solid #7f95ff;outline-offset:2px}

.section--home{padding-top:64px}
.showcase{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{
  display:block;padding:24px 24px 22px;border-radius:18px;color:inherit;
  background:rgba(20,30,110,.42);border:1px solid rgba(160,190,255,.22);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transition:border-color .15s ease,transform .15s ease;
}
.card:hover{border-color:rgba(190,210,255,.55);transform:translateY(-2px);color:inherit}
.card__cat{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#aab3e3}
.card__name{margin:10px 0 0;font-size:22px;font-weight:500;color:#fff;word-break:break-word}
.card__for{margin:8px 0 0;font-size:14px;line-height:1.45;color:#c9d2ff;min-height:40px}
.card__foot{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid rgba(160,190,255,.16)}
.card__price{font-size:18px;font-weight:600;color:#fff;white-space:nowrap}
.card__price small{font-size:12px;font-weight:400;color:#aab3e3;margin-left:6px}
.card__cta{font-size:14px;color:#fff;white-space:nowrap}

.section__more{margin:22px 0 0;text-align:center}
.section__more a{color:#c9d2ff;font-size:15px}
.section__more a:hover{color:#fff}

@media (max-width:820px){
  .showcase{grid-template-columns:1fr}
  .home__hero{margin-top:0}
}
@media (max-width:600px){
  .search__box{border-radius:22px;flex-wrap:wrap;padding:10px}
  .search__input{width:100%;padding:8px 12px}
  .search__btn{width:100%}
  .hit{grid-template-columns:1fr}
  .hit__price{grid-row:auto;text-align:left}
}
