/* ==========================================================================
   ENTDECKEN-TAB "Such-First-Hero" — Marken-Dark-Mode (Periwinkle-DNA)
   Scoped unter .discover-tab. Suchfeld = Konstante, EINE stabile Region morpht
   zwischen 3 Zustaenden (is-idle / is-results / is-generate).
   Vorlage: _shotgrab/redesign/hero.css
   ---------------------------------------------------------------------------
   Brand-Tokens (--brand-*/--dsc-*) sind GLOBAL in modern.css :root definiert
   (geladen vor dieser Datei). Dieser Block war früher die einzige Quelle und
   ist jetzt redundanzfrei entfernt.
   ========================================================================== */
.discover-tab{
  background:
    radial-gradient(120% 70% at 85% -8%, rgba(107,127,232,.18), transparent 55%),
    #0a0b12;
}
.discover-tab *{ -webkit-font-smoothing:antialiased; }
/* Scroll-Container mit echtem Top-Safe-Bereich (iOS HIG: Content-Start nach Safe Area).
   Idle: Inhalt als Block vertikal ausbalanciert (safe-center -> bei viel Inhalt oben bündig). */
.discover-tab #discoverContent{ position:absolute; inset:0; overflow-y:auto; overflow-x:hidden;
  display:flex; flex-direction:column;
  padding:calc(env(safe-area-inset-top,0px) + 26px) 0 calc(98px + env(safe-area-inset-bottom,0px));
  scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.discover-tab #discoverContent::-webkit-scrollbar{ display:none; }
#discoverContent.is-idle{ justify-content:safe center; }
#discoverContent.is-results,
#discoverContent.is-generate{ justify-content:flex-start; }

/* Brand-Logo oben links — mit Luft; kollabiert im Suchmodus (Nav-Bar-Fokus) */
.discover-tab .dsc-logo{ width:40px; height:40px; border-radius:12px; margin:0 20px 20px; overflow:hidden;
  box-shadow:0 4px 14px rgba(107,127,232,.45); object-fit:cover;
  transition:max-height .3s ease, opacity .24s ease, margin .3s ease; max-height:40px; }
#discoverContent.is-results .dsc-logo,
#discoverContent.is-generate .dsc-logo{ max-height:0; opacity:0; margin:0 20px; }

/* Kopf: Large-Title-Headline + Suchzeile (Headline kollabiert sanft bei Suche) */
.discover-tab .dsc-top{ padding:0 20px; }
.discover-tab .dsc-headline{ font-family:Verdana,Geneva,Tahoma,sans-serif; font-size:30px;
  font-weight:700; letter-spacing:-1px; line-height:1.12; color:#fff; overflow:hidden;
  transition:max-height .3s ease, opacity .24s ease, margin .3s ease; }
#discoverContent.is-idle    .dsc-headline{ max-height:160px; opacity:1; margin:2px 2px 22px; }
#discoverContent.is-results .dsc-headline,
#discoverContent.is-generate .dsc-headline{ max-height:0; opacity:0; margin:0; }

/* Suchzeile: Feld + Abbrechen (iOS-UISearchController-Muster) */
.discover-tab .dsc-searchrow{ display:flex; align-items:center; gap:10px; }
.discover-tab .dsc-search{ position:relative; flex:1 1 auto; min-width:0; }
.discover-tab .dsc-cancel{ flex:0 0 auto; background:none; border:none; cursor:pointer; padding:6px 2px;
  font-family:inherit; font-size:16px; font-weight:600; color:var(--brand-solid); white-space:nowrap;
  max-width:0; opacity:0; overflow:hidden; transition:max-width .3s ease, opacity .24s ease; }
#discoverContent.is-results .dsc-cancel,
#discoverContent.is-generate .dsc-cancel{ max-width:120px; opacity:1; }
.discover-tab .dsc-search input{ width:100%; background:rgba(130,141,242,.11);
  border:1px solid var(--dsc-bd); border-radius:16px; padding:17px 44px 17px 48px;
  font-size:16.5px; color:#fff; outline:none; font-family:inherit; }
.discover-tab .dsc-search input::placeholder{ color:rgba(226,229,255,.5); }
.discover-tab .dsc-search input:focus{ border-color:rgba(139,151,242,.55); background:rgba(130,141,242,.15); }
.discover-tab .dsc-search .dsc-search-ic{ position:absolute; left:16px; top:50%; transform:translateY(-50%); pointer-events:none; }
.discover-tab .dsc-search .dsc-clear{ position:absolute; right:12px; top:50%; transform:translateY(-50%);
  width:24px; height:24px; border-radius:50%; background:rgba(255,255,255,.14); border:none; color:#fff;
  display:none; align-items:center; justify-content:center; cursor:pointer; }

/* Autocomplete-Dropdown (nur Text, klickbar) */
.discover-tab .dsc-auto{ position:absolute; left:0; right:0; top:calc(100% + 8px); z-index:30;
  background:#12141f; border:1px solid rgba(139,151,242,.32); border-radius:16px; overflow:hidden;
  box-shadow:0 18px 44px rgba(0,0,0,.55); }
.discover-tab .dsc-auto .ac{ display:flex; align-items:center; gap:12px; padding:13px 16px; cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,.05); }
.discover-tab .dsc-auto .ac:last-child{ border-bottom:none; }
.discover-tab .dsc-auto .ac:hover,
.discover-tab .dsc-auto .ac.active{ background:rgba(130,141,242,.14); }
.discover-tab .dsc-auto .ac .pin{ color:#8b93b5; flex:0 0 auto; display:flex; }
.discover-tab .dsc-auto .ac .nm{ font-size:15.5px; color:#fff; font-weight:600; }
.discover-tab .dsc-auto .ac .nm em{ font-style:normal; color:var(--brand-solid); }

/* ---- Stabile Region + Zustaende ---------------------------------------- */
/* Flow direkt unter der Suche, sauberer vertikaler Rhythmus (Gemini: Suche->Inhalt ~32pt). */
.discover-tab .dsc-region{ padding:0 20px; margin-top:32px; }
#discoverContent.is-results .dsc-region,
#discoverContent.is-generate .dsc-region{ margin-top:18px; }
#discoverContent.is-idle    #discoverResultsSection,
#discoverContent.is-idle    #discoverGenerateBlock,
#discoverContent.is-results #discoverIdleRegion,
#discoverContent.is-results #discoverGenerateBlock,
#discoverContent.is-generate #discoverIdleRegion,
#discoverContent.is-generate #discoverResultsSection{ display:none; }

/* Resume-Karte (letzte Tour <48h) */
.discover-tab .dsc-resume{ position:relative; border-radius:18px; overflow:hidden; cursor:pointer;
  border:1px solid rgba(139,151,242,.45); padding:14px 15px; display:flex; align-items:center; gap:14px;
  background:linear-gradient(135deg, rgba(107,127,232,.22), rgba(79,70,229,.10));
  box-shadow:0 10px 30px rgba(79,70,229,.18); margin:0 0 6px; }
.discover-tab .dsc-resume .thumb{ width:52px; height:52px; border-radius:13px; overflow:hidden; flex:0 0 auto;
  border:1px solid rgba(165,178,255,.2); background:#1a1c28; }
.discover-tab .dsc-resume .thumb img{ width:100%; height:100%; object-fit:cover; }
.discover-tab .dsc-resume .rt{ flex:1; min-width:0; }
.discover-tab .dsc-resume .rt .k{ font-size:11px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:#A9B4FF; }
.discover-tab .dsc-resume .rt b{ font-size:16.5px; font-weight:800; display:block; margin-top:1px;
  font-family:Verdana,sans-serif; letter-spacing:-.3px; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.discover-tab .dsc-resume .rt .m{ font-size:12.5px; color:var(--dsc-mut); margin-top:2px; }
.discover-tab .dsc-resume .pbtn{ width:46px; height:46px; border-radius:50%; background:var(--brand-cta);
  display:flex; align-items:center; justify-content:center; flex:0 0 auto; box-shadow:0 6px 18px rgba(79,70,229,.5); }
.discover-tab .dsc-resume .progdot{ position:absolute; left:0; bottom:0; height:3px; background:var(--brand-soft); }

/* Section-Label + "Alle ansehen" */
.discover-tab .dsc-seclbl{ display:flex; align-items:center; justify-content:space-between; margin:0 2px 13px; }
/* Stapel-Abstände zwischen Idle-Blöcken */
.discover-tab #discoverMyToursSection{ margin-top:6px; }
.discover-tab #discoverFeaturedSection{ margin-top:6px; }
.discover-tab .dsc-seclbl .l{ font-size:12px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; color:var(--dsc-mut2); }
.discover-tab .dsc-seclbl .all{ font-size:13.5px; font-weight:700; color:#9AA6FF; cursor:pointer; background:none; border:none; }

/* Gespeicherte-Touren-Zeilen */
.discover-tab .dsc-trow{ display:flex; align-items:center; gap:13px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.05); cursor:pointer; }
.discover-tab .dsc-trow .th{ width:54px; height:54px; border-radius:13px; overflow:hidden; flex:0 0 auto; border:1px solid var(--dsc-bd); background:#1a1c28; }
.discover-tab .dsc-trow .th img{ width:100%; height:100%; object-fit:cover; }
.discover-tab .dsc-trow .tt{ flex:1; min-width:0; }
.discover-tab .dsc-trow .tt b{ font-size:15.5px; font-weight:700; display:block; font-family:Verdana,sans-serif;
  letter-spacing:-.2px; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.discover-tab .dsc-trow .tt span{ font-size:12.5px; color:var(--dsc-mut); }
.discover-tab .dsc-trow .chev{ color:var(--dsc-mut2); flex:0 0 auto; }

/* Featured: horizontaler Snap-Scroll, grosse Stadt-Kacheln */
.discover-tab .dsc-featured{ display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory;
  margin:12px -20px 0; padding:0 20px 4px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.discover-tab .dsc-featured::-webkit-scrollbar{ display:none; }
.discover-tab .dsc-ftile{ position:relative; flex:0 0 78%; height:208px; border-radius:22px; overflow:hidden; cursor:pointer;
  scroll-snap-align:start; border:1px solid rgba(165,178,255,.14); background:#13151f; }
.discover-tab .dsc-ftile .ph{ position:absolute; inset:0; background:linear-gradient(135deg,#3a4150,#222630); }
.discover-tab .dsc-ftile .tour-card-image{ position:absolute; inset:0; z-index:1; }
.discover-tab .dsc-ftile .tour-card-image img{ width:100%; height:100%; object-fit:cover; display:block; }
.discover-tab .dsc-ftile .grad{ position:absolute; inset:0; z-index:2; background:linear-gradient(180deg, rgba(0,0,0,.05) 38%, rgba(0,0,0,.85)); }
.discover-tab .dsc-ftile .badge{ position:absolute; top:12px; left:12px; z-index:3; display:inline-flex; align-items:center; gap:5px;
  background:rgba(255,214,10,.95); color:#1e293b; border-radius:999px; padding:5px 11px; font-size:12px; font-weight:800; }
.discover-tab .dsc-ftile .cap{ position:absolute; left:0; right:0; bottom:0; z-index:3; padding:15px 16px; }
.discover-tab .dsc-ftile .cap .city{ font-size:23px; font-weight:800; font-family:Verdana,sans-serif; letter-spacing:-.4px; color:#fff; }
.discover-tab .dsc-ftile .cap .meta{ font-size:13px; color:rgba(255,255,255,.85); margin-top:3px; }

/* ---- Treffer-Zustand: füllt den Screen (Hero-Karten + Bottom-Anker) ---- */
#discoverContent.is-results .dsc-region{ flex:1 1 auto; display:flex; flex-direction:column; }
#discoverContent.is-results #discoverResultsSection{ display:flex; flex-direction:column; flex:1 1 auto; min-height:0; justify-content:safe center; }

/* Suchergebnisse: große Magazin-Bildkarten (Hero-Cards) statt schmaler Zeilen */
.discover-tab .dsc-results{ margin-top:4px; }
.discover-tab .dsc-card{ position:relative; display:block; height:198px; border-radius:20px; overflow:hidden;
  margin-bottom:14px; cursor:pointer; border:1px solid var(--dsc-bd); background:#13151f; }
.discover-tab .dsc-card .tour-card-image{ position:absolute; inset:0; z-index:1; }
.discover-tab .dsc-card .tour-card-image img{ width:100%; height:100%; object-fit:cover; display:block; }
.discover-tab .dsc-card .ph{ position:absolute; inset:0; background:linear-gradient(135deg,#3a4150,#222630); }
.discover-tab .dsc-card .grad{ position:absolute; inset:0; z-index:2; background:linear-gradient(180deg,rgba(0,0,0,.04) 26%,rgba(0,0,0,.9)); }
.discover-tab .dsc-card .badge{ position:absolute; top:14px; left:14px; z-index:3; background:rgba(255,214,10,.95); color:#1e293b; border-radius:999px; padding:5px 12px; font-size:12px; font-weight:800; }
.discover-tab .dsc-card .cap{ position:absolute; left:0; right:0; bottom:0; z-index:3; padding:16px 18px; }
.discover-tab .dsc-card .cap b{ font-size:21px; font-weight:800; font-family:Verdana,sans-serif; letter-spacing:-.4px; color:#fff; display:block; line-height:1.12; }
.discover-tab .dsc-card .cap .meta{ font-size:13px; font-weight:600; color:rgba(255,255,255,.92); margin-top:6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* "Eigene personalisierte Tour"-Banner (unter Treffern) */
.discover-tab .dsc-createbox{ display:flex; align-items:center; gap:14px; margin-top:4px; cursor:pointer;
  background:linear-gradient(135deg,rgba(107,127,232,.22),rgba(79,70,229,.08));
  border:1px solid rgba(139,151,242,.5); border-radius:18px; padding:16px; box-shadow:0 10px 30px rgba(79,70,229,.16); }
.discover-tab .dsc-createbox .ic{ width:48px; height:48px; border-radius:50%; flex:0 0 auto; background:var(--brand-cta);
  display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(79,70,229,.5); }
.discover-tab .dsc-createbox .tx{ flex:1; min-width:0; }
.discover-tab .dsc-createbox .tx b{ font-size:16px; font-weight:800; font-family:Verdana,sans-serif; letter-spacing:-.2px; display:block; color:#fff; }
.discover-tab .dsc-createbox .tx span{ font-size:12.5px; color:var(--dsc-mut); display:block; margin-top:2px; line-height:1.4; }
.discover-tab .dsc-createbox .go{ flex:0 0 auto; color:var(--brand-solid); }

/* Sekundär-Anker: "Beliebte Städte" unten (füllt den Raum, hält den Nutzer in der App) */
.discover-tab #discoverMoreCities{ margin-top:26px; }
.discover-tab #discoverMoreCities:empty{ display:none; }
.discover-tab .dsc-morerow{ display:flex; gap:12px; overflow-x:auto; margin:11px -20px 0; padding:0 20px 4px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.discover-tab .dsc-morerow::-webkit-scrollbar{ display:none; }
.discover-tab .dsc-mtile{ position:relative; flex:0 0 116px; height:116px; border-radius:16px; overflow:hidden; cursor:pointer; border:1px solid var(--dsc-bd); background:#13151f; }
.discover-tab .dsc-mtile .ph{ position:absolute; inset:0; z-index:0; background:linear-gradient(135deg,#3a4150,#222630); }
.discover-tab .dsc-mtile .tour-card-image{ position:absolute; inset:0; z-index:1; }
.discover-tab .dsc-mtile .tour-card-image img{ width:100%; height:100%; object-fit:cover; }
.discover-tab .dsc-mtile .grad{ position:absolute; inset:0; z-index:2; background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.88)); }
.discover-tab .dsc-mtile .c{ position:absolute; left:0; right:0; bottom:0; z-index:3; padding:9px 10px; font-size:14px; font-weight:800; font-family:Verdana,sans-serif; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ---- Generieren-Zustand = Landingpage (vertikal zentriert, verkauft das KI-Feature) ---- */
#discoverContent.is-generate .dsc-region{ flex:1 1 auto; display:flex; flex-direction:column; justify-content:center; }
.discover-tab .dsc-genwrap{ text-align:center; }
.discover-tab .dsc-herovis{ width:80px; height:80px; border-radius:24px; margin:0 auto 20px; background:var(--brand-cta);
  display:flex; align-items:center; justify-content:center; box-shadow:0 14px 38px rgba(79,70,229,.6); }
.discover-tab .dsc-genhead{ font-size:23px; font-weight:800; font-family:Verdana,sans-serif; letter-spacing:-.4px; color:#fff; margin-bottom:8px; line-height:1.16; }
.discover-tab .dsc-gensub{ font-size:14px; color:var(--dsc-mut); margin:0 auto 22px; line-height:1.5; max-width:330px; }
.discover-tab .dsc-genbtn{ display:flex; align-items:center; justify-content:center; gap:9px; width:100%; background:var(--brand-cta);
  border:none; border-radius:16px; padding:18px; color:#fff; font-size:17px; font-weight:800; font-family:inherit; cursor:pointer;
  box-shadow:0 10px 30px rgba(79,70,229,.5); }
.discover-tab .dsc-genbtn:disabled{ opacity:.5; box-shadow:none; cursor:not-allowed; }
.discover-tab .dsc-wishlbl{ font-size:12px; font-weight:700; letter-spacing:.4px; color:var(--dsc-mut2); margin:18px 2px 9px; text-transform:uppercase; text-align:left; }
.discover-tab .dsc-wish{ width:100%; background:var(--dsc-surf); border:1px solid var(--dsc-bd); border-radius:14px;
  padding:14px 15px; font-size:14.5px; color:#fff; outline:none; font-family:inherit; }
.discover-tab .dsc-wish::placeholder{ color:rgba(226,229,255,.4); }
.discover-tab .dsc-wish:focus{ border-color:rgba(139,151,242,.5); }
.discover-tab .dsc-genwrap .dsc-chips{ justify-content:center; }
/* Value Props (USPs) unten — verkauft den Button-Klick */
.discover-tab .dsc-usps{ margin:46px auto 0; display:inline-flex; flex-direction:column; gap:14px; text-align:left; }
.discover-tab .dsc-usp{ display:flex; align-items:center; gap:12px; font-size:14px; font-weight:500; color:rgba(226,229,255,.82); }
.discover-tab .dsc-usp .i{ width:34px; height:34px; border-radius:10px; background:rgba(130,141,242,.16); color:var(--brand-solid); display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.discover-tab .dsc-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.discover-tab .dsc-chip{ background:var(--dsc-surf); border:1px solid var(--dsc-bd); border-radius:999px; padding:8px 13px;
  font-size:13px; font-weight:600; color:#dfe3ff; cursor:pointer; }
.discover-tab .dsc-chip:active{ background:rgba(130,141,242,.2); }
.discover-tab .dsc-chip.x{ color:#ffb4b4; border-color:rgba(255,120,120,.3); }

/* dezenter Code-Einloesen-Link — nur im Idle (im Suchmodus unlogisch, Gemini) */
.discover-tab .dsc-codelink{ text-align:center; margin-top:26px; font-size:13.5px; color:rgba(226,229,255,.5); }
.discover-tab .dsc-codelink b{ color:#9AA6FF; font-weight:700; cursor:pointer; }
#discoverContent.is-results .dsc-codelink,
#discoverContent.is-generate .dsc-codelink{ display:none; }

/* Lade-/Leer-Hilfen */
.discover-tab .dsc-loading{ text-align:center; color:rgba(226,229,255,.5); font-size:14px; padding:24px 0; }
.discover-tab [hidden]{ display:none !important; }
