/* Startseiten-Suche, mobiler Suchhinweis und Termin-Countdown. */
@media (min-width: 901px) {
  #view-home .scroll-content {
    padding-top: 84px !important;
  }

  #view-home .scroll-content > .content-wrapper.home-vnext-shell.home-featured-only {
    padding-top: 14px !important;
  }
}

#view-home .home-search-spotlight {
  position: relative;
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(380px, 1fr);
  gap: 24px;
  align-items: center;
  width: 100%;
  margin: 0 0 22px;
  padding: 18px 50px 18px 22px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
}

/* Ruhige Desktop-Prozesszeile direkt am Suchfeld; der Countdown hat Vorrang. */
@media (min-width: 761px) {
  #view-home .home-search-spotlight-controls .home-story-journey {
    display: flex;
    gap: 0;
    width: auto;
    margin: 0 7px 9px;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  #view-home .home-search-spotlight-controls .home-story-journey a {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(255,255,255,.52);
    font-size: .65rem;
    white-space: nowrap;
  }

  #view-home .home-search-spotlight-controls .home-story-journey a + a::before {
    content: "→";
    margin: 0 9px;
    color: rgba(255,255,255,.22);
  }

  #view-home .home-search-spotlight-controls .home-story-journey a::after {
    display: none;
    content: none;
  }

  #view-home .home-search-spotlight-controls .home-story-journey span {
    color: rgba(255,255,255,.38);
    font-size: inherit;
  }

  #view-home .home-search-spotlight-controls .home-story-journey strong {
    overflow: visible;
    color: rgba(255,255,255,.74);
    font-family: Montserrat, Arial, sans-serif;
    font-size: .65rem;
    font-weight: 750;
    line-height: 1.2;
    text-overflow: clip;
  }

  #view-home .home-search-spotlight.is-compact-countdown .home-story-journey {
    display: none;
  }
}

@media (max-width: 760px) {
  #view-home .home-story-journey { display: none !important; }
}

.home-search-spotlight[hidden] { display: none !important; }

#view-home .home-search-spotlight-close {
  position: absolute;
  top: 8px;
  right: 9px;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  color: rgba(255,255,255,.55);
  background: transparent;
  font: 300 1.35rem/1 Arial,sans-serif;
  cursor: pointer;
}

#view-home .home-search-spotlight-close:hover,
#view-home .home-search-spotlight-close:focus-visible {
  color:#fff;
  background:rgba(255,255,255,.08);
  outline:none;
}

#view-home .home-search-spotlight-copy > span {
  display: block;
  margin-bottom: 7px;
  color: #e30613;
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

#view-home .home-search-spotlight-copy h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.25rem, 1.8vw, 1.72rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

#view-home .home-search-spotlight-copy p {
  margin: 9px 0 0;
  color: rgba(255,255,255,.62);
  font-size: .85rem;
  line-height: 1.55;
}

#view-home .home-search-spotlight-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 15px;
  background: rgba(6,6,8,.7);
}

#view-home .home-search-spotlight-controls { min-width:0; }
#view-home .home-search-spotlight-topline { display:contents; }

#view-home .home-search-spotlight-form input {
  min-width: 0;
  min-height: 42px;
  padding: 0 15px;
  border: 0;
  outline: 0;
  color: #fff;
  background: transparent;
  font: 600 .9rem/1.2 Montserrat, Arial, sans-serif;
}

#view-home .home-search-spotlight-form input::placeholder { color: rgba(255,255,255,.42); }
#view-home .home-search-spotlight-form:focus-within { border-color: rgba(227,6,19,.75); box-shadow: 0 0 0 3px rgba(227,6,19,.12); }

#view-home .home-search-spotlight-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 17px;
  border: 0;
  border-radius: 11px;
  color: #fff;
  background: #e30613;
  font: 800 .76rem/1 Montserrat, Arial, sans-serif;
  cursor: pointer;
}

#view-home .home-search-spotlight-form button svg {
  width: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.fab-search-attention { display:none; }
#view-home .home-discovery-row { display:block; }
#view-home #teaser:empty,
#view-home #highlightsGrid:empty { display:none !important; }
#view-home.is-search-active #homeFeatured,
#view-home.is-search-active .home-info-strip,
#view-home.is-search-active .home-secondary-strip { display:none !important; }

@media (max-width: 760px) {
  #view-home .home-search-spotlight { display:none !important; }

  #mobileSearchTrigger.is-search-attention {
    border-color:rgba(255,255,255,.14);
    box-shadow:0 8px 24px rgba(0,0,0,.48);
  }

  #mobileSearchTrigger::before {
    --thf-mobile-search-ring-angle:0deg;
    content:"";
    position:absolute;
    inset:-4px;
    z-index:0;
    padding:2px;
    border-radius:50%;
    background:conic-gradient(from -90deg, var(--thf-mobile-search-ring-color, #e30613) var(--thf-mobile-search-ring-angle), transparent 0deg);
    opacity:0;
    pointer-events:none;
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
  }

  #mobileSearchTrigger > svg {
    position:relative;
    z-index:1;
  }

  #mobileSearchTrigger .fab-search-attention {
    position:absolute;
    left:calc(100% + 12px);
    bottom:0;
    display:none;
    width:max-content;
    max-width:min(190px, calc(100vw - 176px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
    min-height:44px;
    align-items:center;
    box-sizing:border-box;
    white-space:normal;
    overflow-wrap:anywhere;
    z-index:2;
    padding:6px 9px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:8px;
    background:var(--thf-mobile-search-hint-bg, #151518);
    box-shadow:0 7px 20px rgba(0,0,0,.32);
    color:#fff;
    font:850 .78rem/1.2 Montserrat,Arial,sans-serif;
    letter-spacing:.01em;
    text-align:left;
    text-shadow:none;
    pointer-events:auto;
  }

  #mobileSearchTrigger.is-search-attention .fab-search-attention { display:flex; }

  #mobileSearchTrigger.is-search-attention:not(.is-search-attention-settled)::before {
    opacity:1;
    animation:thfMobileSearchRingFill var(--thf-mobile-search-ring-duration, 2s) linear forwards;
  }

  #mobileSearchTrigger.is-search-attention:not(.is-search-attention-settled) > svg {
    animation:thfMobileSearchAlarm calc(var(--thf-mobile-search-ring-duration, 2s) / 6) ease-in-out 6;
    transform-origin:50% 70%;
  }

  #mobileSearchTrigger.is-search-attention.is-search-attention-settled::before {
    --thf-mobile-search-ring-angle:360deg;
    opacity:1;
    animation:thfMobileSearchRingSoft 3.2s ease-in-out infinite;
  }

  #mobileSearchTrigger.is-search-attention.is-search-attention-settled > svg {
    animation:thfMobileSearchAlarm 3.2s ease-in-out infinite;
    transform-origin:50% 70%;
  }
}

@property --thf-mobile-search-ring-angle {
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}

@keyframes thfMobileSearchAlarm {
  0%, 56%, 100% { transform:rotate(0deg); }
  8% { transform:rotate(-9deg); }
  16% { transform:rotate(8deg); }
  24% { transform:rotate(-7deg); }
  32% { transform:rotate(6deg); }
  40% { transform:rotate(-4deg); }
  48% { transform:rotate(3deg); }
}

@keyframes thfMobileSearchRingFill {
  from { --thf-mobile-search-ring-angle:0deg; }
  to { --thf-mobile-search-ring-angle:360deg; }
}

@keyframes thfMobileSearchRingSoft {
  0%, 100% { opacity:.72; }
  50% { opacity:1; }
}

@media (prefers-reduced-motion: reduce) {
  #mobileSearchTrigger.is-search-attention,
  #mobileSearchTrigger.is-search-attention > svg,
  #mobileSearchTrigger.is-search-attention::before { animation:none; }

  #mobileSearchTrigger.is-search-attention::before {
    --thf-mobile-search-ring-angle:360deg;
    opacity:1;
  }
}

#view-home .home-term-countdown-wrap {
  padding-top: 14px !important;
  padding-bottom: 0 !important;
}

#view-home .home-term-countdown-wrap[hidden] { display: none !important; }

#view-home .home-vnext-shell > .home-term-countdown-wrap {
  width:100%;
  margin:0;
  padding:0 0 14px !important;
}

#view-home .home-term-countdown {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto auto;
  gap: 16px;
  align-items: center;
  min-height: 82px;
  padding: 14px 16px;
  border: 1px solid rgba(65, 139, 255, .42);
  border-left: 3px solid #3b82f6;
  border-radius: 8px;
  background: linear-gradient(105deg, rgba(28, 61, 110, .46), rgba(19, 20, 24, .96) 55%, rgba(28, 34, 48, .94));
  color: #fff;
  text-decoration: none;
}

#view-home .home-term-countdown-icon {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(105, 165, 255, .48);
  background: rgba(59, 130, 246, .13);
  color: #82b3ff;
}

#view-home .home-term-countdown-icon svg {
  width: 21px;
  height: 21px;
}

#view-home .home-term-countdown-copy {
  display: block;
  min-width: 0;
}

#view-home .home-term-countdown-kicker,
#view-home .home-term-countdown-meta {
  display: block;
  color: rgba(255, 255, 255, .62);
  font-size: .72rem;
  line-height: 1.35;
}

#view-home .home-term-countdown-kicker {
  margin-bottom: 3px;
  color: #8ab8ff;
  font: 800 .61rem/1.2 Montserrat, sans-serif;
  text-transform: uppercase;
}

#view-home .home-term-countdown-copy strong {
  display: block;
  overflow: hidden;
  margin-bottom: 3px;
  font: 800 1rem/1.25 Montserrat, sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-home .home-term-countdown-timer {
  display: flex;
  align-items: center;
  gap: 7px;
}

#view-home .home-term-countdown-timer > span {
  display: grid;
  min-width: 48px;
  justify-items: center;
}

#view-home .home-term-countdown-timer b {
  font: 800 1.28rem/1 Montserrat, sans-serif;
  font-variant-numeric: tabular-nums;
}

#view-home .home-term-countdown-timer small {
  margin-top: 4px;
  color: rgba(255, 255, 255, .54);
  font: 700 .53rem/1 Montserrat, sans-serif;
  text-transform: uppercase;
}

#view-home .home-term-countdown-timer i {
  margin-top: -14px;
  color: rgba(138, 184, 255, .72);
  font: 800 1.2rem/1 Montserrat, sans-serif;
  font-style: normal;
}

#view-home .home-term-countdown-link {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .07);
  font: 800 .62rem/1 Montserrat, sans-serif;
  text-transform: uppercase;
  white-space: nowrap;
}

#view-home .home-term-countdown:hover .home-term-countdown-link {
  border-color: rgba(99, 160, 255, .62);
  background: rgba(59, 130, 246, .18);
}

@media (max-width: 760px) {
  #view-home .home-vnext-shell > .home-term-countdown-wrap { padding-bottom:10px !important; }
  #view-home .home-term-countdown-wrap { padding-top: 10px !important; }

  #view-home .home-term-countdown {
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 10px;
    min-height: 76px;
    padding: 12px;
  }

  #view-home .home-term-countdown-icon {
    width: 36px;
    height: 36px;
  }

  #view-home .home-term-countdown-copy strong {
    overflow: visible;
    font-size: .82rem;
    white-space: normal;
    text-overflow: clip;
  }

  #view-home .home-term-countdown-meta { display: none !important; }
  #view-home .home-term-countdown-timer { gap: 4px; }
  #view-home .home-term-countdown-timer > span { min-width: 34px; }
  #view-home .home-term-countdown-timer b { font-size: 1.05rem; }
  #view-home .home-term-countdown-timer small { font-size: .46rem; }

  #view-home .home-term-countdown-timer i {
    margin-top: -12px;
    font-size: .98rem;
  }

  #view-home .home-term-countdown-link { display: none; }

  #view-home .home-term-countdown-team {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #view-home .home-term-countdown-team-separator { display: none; }
}

@media (max-width: 420px) {
  #view-home .home-term-countdown-timer { gap:2px; }
  #view-home .home-term-countdown-timer > span { min-width:30px; }
  #view-home .home-term-countdown-timer b { font-size:1rem; }
  #view-home .home-term-countdown-timer small { font-size:.43rem; }
}

@media (min-width: 1025px) {
  #view-home .home-search-spotlight-controls {
    display:grid;
    min-width:0;
    gap:var(--home-term-countdown-desktop-gap, 4px);
  }

  #view-home .home-search-spotlight.is-compact-countdown .home-search-spotlight-topline {
    display:grid;
    grid-template-columns:minmax(0,1fr) 24px;
    gap:8px;
    align-items:baseline;
  }

  #view-home .home-search-countdown-slot:empty { display:none; }

  #view-home .home-search-countdown-slot .home-term-countdown-wrap {
    width:100%;
    margin:0;
    padding:0 !important;
  }

  #view-home .home-search-countdown-slot .home-term-countdown {
    display:flex;
    min-height:20px;
    align-items:baseline;
    gap:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:var(--home-term-countdown-desktop-color, #d9d9dd);
  }

  #view-home .home-search-countdown-slot .home-term-countdown-icon {
    display:none;
  }

  #view-home .home-search-countdown-slot .home-term-countdown-copy {
    display:flex;
    flex:0 1 auto;
    min-width:0;
    align-items:baseline;
    gap:4px;
    overflow:hidden;
    white-space:nowrap;
  }

  #view-home .home-search-countdown-slot .home-term-countdown-kicker {
    flex:0 0 auto;
    margin:0;
    color:inherit;
    font-size:var(--home-term-countdown-desktop-font-size, 12px);
    letter-spacing:.025em;
    opacity:1;
  }

  #view-home .home-search-countdown-slot .home-term-countdown-kicker::after {
    content:":";
  }

  #view-home .home-search-countdown-slot .home-term-countdown-copy strong {
    display:block;
    min-width:0;
    overflow:hidden;
    margin:0;
    color:inherit;
    font-size:var(--home-term-countdown-desktop-font-size, 12px);
    font-weight:700;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  #view-home .home-search-countdown-slot .home-term-countdown-team {
    display:inline;
  }

  #view-home .home-search-countdown-slot .home-term-countdown-meta {
    display:none;
  }

  #view-home .home-search-countdown-slot .home-term-countdown-timer {
    flex:0 0 auto;
    align-items:baseline;
    gap:2px;
    margin-left:10px;
  }

  #view-home .home-search-countdown-slot .home-term-countdown-timer > span {
    display:flex;
    min-width:16px;
    align-items:baseline;
    justify-content:center;
  }

  #view-home .home-search-countdown-slot .home-term-countdown-timer b {
    color:inherit;
    font-size:var(--home-term-countdown-desktop-font-size, 12px);
    font-weight:700;
    line-height:1.2;
  }

  #view-home .home-search-countdown-slot .home-term-countdown-timer small {
    display:none;
  }

  #view-home .home-search-countdown-slot .home-term-countdown-timer i {
    margin:0;
    color:inherit;
    font-size:calc(var(--home-term-countdown-desktop-font-size, 12px) * .92);
    line-height:1.2;
    opacity:1;
  }

  #view-home .home-search-countdown-slot .home-term-countdown-link {
    flex:0 0 auto;
    min-height:0;
    margin:0 8px 0 auto;
    padding:0;
    border:0;
    background:transparent;
    color:inherit;
    font-size:calc(var(--home-term-countdown-desktop-font-size, 12px) * .88);
    opacity:.78;
    text-align:right;
  }

  #view-home .home-search-spotlight.is-compact-countdown .home-search-spotlight-close {
    position:static;
    display:grid;
    width:24px;
    height:24px;
    place-items:center;
    color:var(--home-term-countdown-desktop-color, #d9d9dd);
    font-size:1rem;
    line-height:1;
    opacity:.72;
    align-self:baseline;
    justify-self:end;
  }

  #view-home .home-search-countdown-slot .home-term-countdown:hover .home-term-countdown-link {
    border:0;
    background:transparent;
    color:inherit;
    opacity:1;
  }
}

#view-home > .scroll-content > .content-wrapper.home-term-countdown-wrap {
  width: var(--thf-ultimate-width) !important;
  max-width: var(--thf-ultimate-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  #view-home > .scroll-content > .content-wrapper.home-term-countdown-wrap {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
  }
}

/* Einzeiliger, bewusst unauffälliger Hinweis über der Desktop-Suche. */
#view-home .home-story-line {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin: 0 8px 8px;
  color: rgba(255,255,255,.46);
  font: 650 .66rem/1.2 Montserrat, Arial, sans-serif;
  white-space: nowrap;
}

#view-home .home-story-line a,
#view-home .home-story-line span {
  color: inherit;
  text-decoration: none;
}

#view-home .home-story-line a:hover,
#view-home .home-story-line a:focus-visible {
  color: rgba(255,255,255,.82);
}

#view-home .home-story-line i {
  display: inline-flex;
  align-items: center;
  align-self: center;
  position: relative;
  top: 0;
  transform: translateY(-0.08em);
  color: #e30613;
  font-style: normal;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1;
  margin: 0 1px;
  text-shadow: none;
}

#view-home .home-search-spotlight.is-compact-countdown .home-story-line,
#view-home .home-search-countdown-slot:not(:empty) ~ .home-story-line {
  display: none;
}

@media (max-width: 760px) {
  #view-home .home-story-line { display: none !important; }
}
