/* ============================================================
   ByeLine Drive – warm · hell · premium Delivery-Marketplace
   Eigenidentität (nicht klassisches ByeLine-Aqua)
   ============================================================ */
html.drive-mode,
html.drive-mode body,
body.view-drive,
body.view-drive-driver{
  --drive-bg:#fff8f3;
  --drive-bg-2:#ffefe4;
  --drive-card:#ffffff;
  --drive-ink:#1c1410;
  --drive-txt:#2a1f1a;
  --drive-dim:#7a5c4e;
  --drive-faint:#a8897a;
  --drive-line:rgba(120,60,30,.12);
  --drive-accent:#e85d04;
  --drive-accent-deep:#c2410c;
  --drive-accent-2:#f48c06;
  --drive-ok:#15803d;
  --drive-grad:linear-gradient(135deg,#ff9f1c 0%,#e85d04 45%,#c1121f 100%);
  --drive-grad-soft:linear-gradient(160deg,#fff8f3 0%,#ffe8d6 40%,#ffd7ba 100%);
  --drive-shadow:0 14px 40px rgba(80,30,10,.08);
  --drive-shadow-lg:0 24px 60px rgba(80,30,10,.14);
  --drive-radius:20px;
  --drive-radius-sm:14px;
  --drive-font:"DM Sans",system-ui,sans-serif;
  --drive-display:"Outfit",system-ui,sans-serif;
  background:
    radial-gradient(ellipse 90% 50% at 10% -10%,rgba(255,159,28,.22),transparent 55%),
    radial-gradient(ellipse 70% 45% at 100% 0%,rgba(193,18,31,.1),transparent 50%),
    var(--drive-bg);
  color:var(--drive-txt);
  font-family:var(--drive-font);
}
html.drive-mode .bg-deco,
html.drive-mode .bg-brand,
body.view-drive .site-nav,
body.view-drive-driver .site-nav,
body.view-drive .site-footer,
body.view-drive-driver .site-footer{
  display:none !important;
}
#view-drive{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  max-width:none;
  margin:0;
  padding:0 0 6rem;
  isolation:isolate;
}
#view-drive > .drive-shell{
  position:relative;
  z-index:1;
}

/* —— Flying food silhouettes (warm cream backdrop) —— */
.drive-food-sky{
  position:fixed;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  contain:strict;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.drive-food-fly{
  position:absolute;
  display:block;
  width:var(--fly-size, 72px);
  height:var(--fly-size, 72px);
  opacity:0;
  background-color:rgba(232,93,4,.13);
  -webkit-mask:var(--food-mask) center/contain no-repeat;
  mask:var(--food-mask) center/contain no-repeat;
  animation:driveFoodFly var(--fly-dur, 28s) linear var(--fly-delay, 0s) infinite;
}
.drive-food-fly[data-food="pizza"]{
  --food-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M32 4L4 56h56L32 4zm0 12l16 32H16l16-32zm-4 18a4 4 0 118 0 4 4 0 01-8 0zm-6 12a3 3 0 116 0 3 3 0 01-6 0zm14 2a3.5 3.5 0 117 0 3.5 3.5 0 01-7 0z'/%3E%3C/svg%3E");
}
.drive-food-fly[data-food="burger"]{
  --food-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M12 28c0-10 9-16 20-16s20 6 20 16H12zm-2 4h44v6H10v-6zm2 10h40c1 6-6 12-20 12S11 48 12 42zm4-8h32l2 4H14l2-4z'/%3E%3C/svg%3E");
}
.drive-food-fly[data-food="drink"]{
  --food-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M22 6h20l2 6H20l2-6zm-4 10h28l-4 40H22L18 16zm10 4v28h4V20h-4zm14-8l10 6-2 4-10-6 2-4z'/%3E%3C/svg%3E");
}
.drive-food-fly[data-food="fries"]{
  --food-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M18 6h6v22h-6V6zm11 4h6v18h-6V10zm11-2h6v20h-6V8zM14 30h36l-4 28H18L14 30zm8 6v16h4V36h-4zm10 0v16h4V36h-4z'/%3E%3C/svg%3E");
}
.drive-food-fly[data-food="doner"]{
  --food-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M18 10c8-6 20-6 28 0l6 8v28c-10 10-30 10-40 0V18l6-8zm4 10v24c6 4 14 4 20 0V20c-6-4-14-4-20 0zm6 6h8v4h-8v-4zm0 8h12v3H28v-3z'/%3E%3C/svg%3E");
}
.drive-food-fly[data-food="taco"]{
  --food-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M8 36c0-14 12-26 24-26s24 12 24 26c0 4-2 6-6 6H14c-4 0-6-2-6-6zm8 0c2-8 8-14 16-14s14 6 16 14H16zm6-8a3 3 0 116 0 3 3 0 01-6 0zm12 2a2.5 2.5 0 115 0 2.5 2.5 0 01-5 0z'/%3E%3C/svg%3E");
}
.drive-food-fly.f1{ --fly-size:88px; --fly-dur:32s; --fly-delay:0s;   left:-8%; top:12%; }
.drive-food-fly.f2{ --fly-size:64px; --fly-dur:26s; --fly-delay:-6s;  left:-12%; top:38%; }
.drive-food-fly.f3{ --fly-size:52px; --fly-dur:30s; --fly-delay:-12s; left:-6%; top:62%; }
.drive-food-fly.f4{ --fly-size:74px; --fly-dur:36s; --fly-delay:-3s;  left:-14%; top:78%; }
.drive-food-fly.f5{ --fly-size:58px; --fly-dur:28s; --fly-delay:-18s; left:-10%; top:22%; }
.drive-food-fly.f6{ --fly-size:70px; --fly-dur:34s; --fly-delay:-9s;  left:-16%; top:50%; }
.drive-food-fly.f7{ --fly-size:46px; --fly-dur:24s; --fly-delay:-15s; left:-4%; top:8%; }
.drive-food-fly.f8{ --fly-size:82px; --fly-dur:38s; --fly-delay:-21s; left:-18%; top:70%; }
.drive-food-fly.f9{ --fly-size:56px; --fly-dur:29s; --fly-delay:-4s;  left:-7%; top:44%; }
.drive-food-fly.f10{ --fly-size:48px; --fly-dur:33s; --fly-delay:-25s; left:-11%; top:86%; }
.drive-food-fly.f11{ --fly-size:66px; --fly-dur:27s; --fly-delay:-11s; left:-9%; top:30%; }
.drive-food-fly.f12{ --fly-size:54px; --fly-dur:31s; --fly-delay:-17s; left:-13%; top:56%; }
@keyframes driveFoodFly{
  0%{
    opacity:0;
    transform:translate3d(0,0,0) rotate(-12deg) scale(.92);
  }
  8%{opacity:.9}
  50%{
    opacity:.75;
    transform:translate3d(55vw,-8vh,0) rotate(18deg) scale(1.05);
  }
  92%{opacity:.85}
  100%{
    opacity:0;
    transform:translate3d(112vw,6vh,0) rotate(42deg) scale(.9);
  }
}
#view-drive-driver{
  min-height:100dvh;
  max-width:none;
  margin:0;
  padding:0 0 5rem;
}

/* —— Top bar —— */
.drive-top{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  padding:.7rem 1.15rem;
  width:100%;
  background:rgba(255,248,243,.82);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid var(--drive-line);
}
/* Während Scroll: nur Topbar-Blur entlasten – Hintergrund-Loops laufen weiter */
html.drive-scrolling .drive-top{
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  background:rgba(255,248,243,.97);
}
.drive-brand{
  font-family:var(--drive-display);
  font-weight:800;letter-spacing:-.035em;font-size:1.08rem;
  background:var(--drive-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.drive-top-auth{
  display:flex;align-items:center;gap:.45rem;flex-shrink:0;
  font-size:.78rem;
}
.drive-top-link{
  border:none;background:transparent;padding:.35rem .45rem;
  font:inherit;font-size:.78rem;font-weight:600;
  color:var(--drive-dim);cursor:pointer;border-radius:999px;
  transition:background .15s,color .15s;
}
.drive-top-link:hover{background:rgba(232,93,4,.08);color:var(--drive-accent-deep)}
.drive-lang{
  display:inline-flex;gap:.15rem;margin-right:.15rem;
  padding:.15rem;border-radius:999px;background:rgba(255,255,255,.7);
  border:1px solid var(--drive-line);
}
.drive-lang button{
  border:none;background:transparent;border-radius:999px;
  padding:.28rem .45rem;font:inherit;font-size:.72rem;font-weight:700;
  color:var(--drive-faint);cursor:pointer;
}
.drive-lang button.on{background:var(--drive-grad);color:#fff}
.drive-top-name{
  max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--drive-dim);font-weight:500;
}

.drive-shell{padding:0 0 2.5rem;width:100%}

/* —— Hero —— */
.drive-market-hero{
  position:relative;
  /* svh/vh statt dvh: Mobile-URL-Leiste soll Hero-Höhe nicht nachziehen (Scroll-Sprung) */
  min-height:min(62vh,520px);
  min-height:min(62svh,520px);
  display:flex;align-items:flex-end;
  overflow:hidden;
  color:#fff8f3;
}
.drive-market-hero-bg{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(28,20,16,.2) 0%,rgba(28,20,16,.78) 100%),
    url("https://images.unsplash.com/photo-1504674900247-0877df9cc836?auto=format&fit=crop&w=1600&q=80") center/cover no-repeat;
  transform:scale(1.04);
  animation:driveHeroPulse 16s ease-in-out infinite alternate;
}
.drive-market-hero-bg::before{
  content:"";
  position:absolute;inset:-10%;
  background:
    radial-gradient(circle at 18% 30%,rgba(255,159,28,.45),transparent 28%),
    radial-gradient(circle at 82% 22%,rgba(193,18,31,.35),transparent 26%),
    radial-gradient(circle at 60% 80%,rgba(244,140,6,.2),transparent 30%);
  animation:driveGlow 10s ease-in-out infinite alternate;
  pointer-events:none;
}
.drive-market-hero-bg::after{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(115deg,transparent 40%,rgba(255,255,255,.08) 48%,transparent 56%);
  background-size:200% 100%;
  animation:driveShine 7s ease-in-out infinite;
  pointer-events:none;
}
@keyframes driveHeroPulse{
  from{transform:scale(1.04) translateY(0)}
  to{transform:scale(1.1) translateY(-1.4%)}
}
@keyframes driveGlow{
  from{opacity:.85;transform:translate(0,0)}
  to{opacity:1;transform:translate(2%,-1%)}
}
@keyframes driveShine{
  0%{background-position:120% 0}
  100%{background-position:-40% 0}
}
.drive-market-hero-inner{
  position:relative;z-index:1;
  width:100%;max-width:1100px;margin:0 auto;
  padding:2.4rem 1.25rem 2.2rem;
  animation:driveIn .8s cubic-bezier(.22,1,.36,1) both;
}
@keyframes driveIn{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:none}
}
.drive-market-brand{
  margin:0 0 .4rem;
  font-family:var(--drive-display);
  font-size:clamp(2.4rem,8vw,3.6rem);
  font-weight:800;letter-spacing:-.045em;line-height:.92;
  color:#fff;
  text-shadow:0 12px 40px rgba(0,0,0,.4);
  animation:driveBrandIn .9s .05s cubic-bezier(.22,1,.36,1) both;
}
@keyframes driveBrandIn{
  from{opacity:0;transform:translateY(18px) scale(.97)}
  to{opacity:1;transform:none}
}
.drive-market-origin{
  display:inline-flex;align-items:center;gap:.45rem;
  margin:0 0 .85rem;
  font-size:.78rem;font-weight:650;letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(255,248,243,.82);
  animation:driveIn .7s .12s cubic-bezier(.22,1,.36,1) both;
}
.drive-swiss-mark{
  width:14px;height:14px;flex:0 0 auto;
  border-radius:2px;
  background:
    linear-gradient(#fff,#fff) center/58% 18% no-repeat,
    linear-gradient(#fff,#fff) center/18% 58% no-repeat,
    #d52b1e;
  box-shadow:0 1px 6px rgba(0,0,0,.28);
}
.drive-market-hero h1{
  margin:0 0 .5rem;
  font-family:var(--drive-font);
  font-size:clamp(1.05rem,2.8vw,1.35rem);
  font-weight:600;letter-spacing:-.015em;line-height:1.3;
  color:rgba(255,248,243,.92);
  max-width:28ch;
  animation:driveIn .7s .18s cubic-bezier(.22,1,.36,1) both;
}
.drive-market-lead{
  margin:0 0 1.25rem;max-width:32rem;
  font-size:.98rem;line-height:1.5;font-weight:400;
  color:rgba(255,248,243,.78);
  animation:driveIn .7s .25s cubic-bezier(.22,1,.36,1) both;
}
.drive-market-cta{
  display:flex;flex-wrap:wrap;gap:.55rem;
  animation:driveIn .7s .3s cubic-bezier(.22,1,.36,1) both;
}
.drive-market-cta .drive-btn{
  animation:driveCtaPulse 2.8s ease-in-out infinite;
}
@keyframes driveCtaPulse{
  0%,100%{box-shadow:0 12px 36px rgba(69,10,10,.35)}
  50%{box-shadow:0 14px 42px rgba(232,93,4,.5)}
}

/* Discovery: Suche, Küchen-Filter, Sortierung */
.drive-discover{
  max-width:720px;width:calc(100% - 2.2rem);
  margin:0 auto 1.35rem;
}
.drive-discover-search{margin-bottom:.75rem}
.drive-ticker{
  max-width:100%;width:100%;
  margin:0 0 .65rem;
}
.drive-ticker-track{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:.5rem;
}
.drive-ticker-chip{
  flex:0 0 auto;
  padding:.45rem .9rem;border-radius:999px;
  background:rgba(255,255,255,.85);border:1px solid var(--drive-line);
  font-size:.8rem;font-weight:650;color:var(--drive-dim);
  box-shadow:0 4px 14px rgba(80,30,10,.05);
  white-space:nowrap;
  cursor:pointer;font:inherit;
  transition:background .15s,border-color .15s,color .15s,transform .15s;
}
.drive-ticker-chip:hover{transform:translateY(-1px);border-color:rgba(232,93,4,.35)}
.drive-ticker-chip.on{
  background:rgba(232,93,4,.12);
  border-color:rgba(232,93,4,.45);
  color:var(--drive-accent-deep);
}
.drive-sort-row{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;
}
.drive-sort-chip{
  padding:.35rem .7rem;border-radius:999px;
  border:1px solid transparent;background:transparent;
  font:inherit;font-size:.75rem;font-weight:650;color:var(--drive-faint);
  cursor:pointer;
}
.drive-sort-chip.on,.drive-sort-chip:hover{
  color:var(--drive-accent-deep);
  background:rgba(232,93,4,.08);
  border-color:rgba(232,93,4,.25);
}

/* —— Address card —— */
.drive-addr{
  position:relative;z-index:2;
  max-width:560px;width:calc(100% - 2.2rem);
  margin:-2.6rem auto 1.6rem;
  padding:1.35rem 1.25rem 1.2rem;
  background:var(--drive-card);
  border:1px solid var(--drive-line);
  border-radius:var(--drive-radius);
  box-shadow:var(--drive-shadow-lg);
  animation:driveFloatIn .65s .12s cubic-bezier(.22,1,.36,1) both;
}
@keyframes driveFloatIn{
  from{opacity:0;transform:translateY(28px) scale(.97)}
  to{opacity:1;transform:none}
}
.drive-addr::before{
  content:"";
  position:absolute;inset:-1px;border-radius:inherit;padding:1px;
  background:linear-gradient(135deg,rgba(255,159,28,.55),rgba(193,18,31,.25),transparent 70%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none;opacity:.7;
  animation:driveBorderGlow 4s ease-in-out infinite alternate;
}
@keyframes driveBorderGlow{from{opacity:.35}to{opacity:.85}}
.drive-addr h2{
  margin:0 0 .85rem;
  font-family:var(--drive-display);
  font-size:1.2rem;letter-spacing:-.03em;font-weight:750;
}
.drive-addr-note{
  margin:.75rem 0 0;font-size:.82rem;color:var(--drive-faint);line-height:1.4;
}

/* —— Section heads —— */
.drive-section{
  max-width:1100px;width:calc(100% - 2.2rem);
  margin:0 auto 1.75rem;
}
.drive-section-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;
  margin:0 0 1rem;
}
.drive-section-head h2{
  margin:0;
  font-family:var(--drive-display);
  font-size:1.35rem;letter-spacing:-.03em;font-weight:750;
}
.drive-section-head p{margin:.25rem 0 0;color:var(--drive-dim);font-size:.9rem}
.drive-chip{
  display:inline-flex;align-items:center;gap:.3rem;
  font-size:.72rem;font-weight:700;padding:.28rem .55rem;
  border-radius:999px;background:rgba(232,93,4,.1);color:var(--drive-accent-deep);
}

/* —— Venue grid —— */
.drive-venue-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:1.05rem;
}
@media (min-width:780px){
  .drive-venue-card.is-featured{grid-column:span 2}
  .drive-venue-card.is-featured .drive-venue-cover{aspect-ratio:21/9}
}
.drive-venue-card{
  position:relative;
  display:flex;flex-direction:column;
  background:var(--drive-card);
  border:1px solid var(--drive-line);
  border-radius:var(--drive-radius);
  overflow:hidden;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(80,30,10,.05);
  transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s,border-color .2s;
  animation:driveCardIn .6s cubic-bezier(.22,1,.36,1) both;
  content-visibility:auto;
  contain-intrinsic-size:auto 300px;
}
.drive-venue-card:nth-child(1){animation-delay:.03s}
.drive-venue-card:nth-child(2){animation-delay:.07s}
.drive-venue-card:nth-child(3){animation-delay:.11s}
.drive-venue-card:nth-child(4){animation-delay:.15s}
.drive-venue-card:nth-child(5){animation-delay:.19s}
.drive-venue-card:nth-child(6){animation-delay:.23s}
.drive-venue-card:nth-child(7){animation-delay:.27s}
.drive-venue-card:nth-child(8){animation-delay:.31s}
@keyframes driveCardIn{
  from{opacity:0;transform:translateY(22px) scale(.96)}
  to{opacity:1;transform:none}
}
.drive-venue-card:hover{
  transform:translateY(-6px) scale(1.01);
  box-shadow:var(--drive-shadow-lg);
  border-color:rgba(232,93,4,.28);
}
.drive-venue-card.is-demo{cursor:default}
.drive-venue-card.is-demo:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(80,30,10,.1);
}
.drive-venue-cover{
  position:relative;aspect-ratio:16/10;overflow:hidden;
  background:
    linear-gradient(135deg,#f3e0d2,#e8c4a8);
  background-size:cover;
  background-position:center;
}
.drive-venue-cover img{
  width:100%;height:100%;object-fit:cover;display:block;
  opacity:0;transform:scale(1.06);
  transition:opacity .45s ease,transform .65s cubic-bezier(.22,1,.36,1);
}
.drive-venue-cover img.is-loaded{
  opacity:1;transform:scale(1);
}
.drive-venue-card:hover .drive-venue-cover img.is-loaded{transform:scale(1.08)}
.drive-venue-cover-fade{
  position:absolute;inset:auto 0 0;height:48%;
  background:linear-gradient(transparent,rgba(28,20,16,.45));
  pointer-events:none;z-index:1;
}
.drive-demo-badge{
  position:absolute;top:.65rem;left:.65rem;z-index:2;
  font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  padding:.28rem .55rem;border-radius:999px;
  background:rgba(28,20,16,.72);color:#fff;backdrop-filter:blur(6px);
  animation:driveBadgePop .5s .4s cubic-bezier(.22,1,.36,1) both;
}
@keyframes driveBadgePop{
  from{opacity:0;transform:scale(.8)}
  to{opacity:1;transform:none}
}
.drive-venue-body{padding:.9rem 1rem 1.05rem}
.drive-venue-body strong{
  display:block;font-family:var(--drive-display);
  font-size:1.08rem;letter-spacing:-.025em;font-weight:750;margin:0 0 .2rem;
}
.drive-venue-meta{
  display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem;
}
.drive-badge{
  display:inline-block;font-size:.7rem;font-weight:700;padding:.22rem .5rem;
  border-radius:999px;background:rgba(232,93,4,.1);color:var(--drive-accent-deep);
  transition:transform .15s;
}
.drive-venue-card:hover .drive-badge{transform:translateY(-1px)}
.drive-badge.soft{background:rgba(122,92,78,.08);color:var(--drive-dim)}
.drive-badge.rating{
  background:rgba(180,120,20,.12);
  color:#8a5a00;
}

/* —— Generic layout bits —— */
.drive-hero{
  max-width:720px;width:calc(100% - 2.2rem);
  margin:1rem auto .5rem;
}
.drive-hero h1{
  font-family:var(--drive-display);
  font-size:1.65rem;line-height:1.15;letter-spacing:-.035em;margin:.2rem 0 .4rem;
}
.drive-hero p{color:var(--drive-dim);font-size:.95rem;line-height:1.45;margin:0 0 1rem}
.drive-card{
  background:var(--drive-card);border:1px solid var(--drive-line);
  border-radius:var(--drive-radius);padding:1.05rem 1.1rem;margin-bottom:.9rem;
  box-shadow:var(--drive-shadow);
  max-width:720px;width:calc(100% - 2.2rem);
  margin-left:auto;margin-right:auto;box-sizing:border-box;
}
.drive-card h2,.drive-card h3{
  margin:0 0 .55rem;font-family:var(--drive-display);
  font-size:1.08rem;letter-spacing:-.02em;
}
.drive-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.7rem}
.drive-field label{font-size:.76rem;font-weight:650;color:var(--drive-dim)}
.drive-field input,.drive-field select,.drive-field textarea{
  border:1.5px solid var(--drive-line);border-radius:var(--drive-radius-sm);
  padding:.75rem .85rem;font:inherit;background:#fff;color:var(--drive-txt);
  transition:border-color .15s,box-shadow .15s;
}
.drive-field input:focus,.drive-field select:focus,.drive-field textarea:focus{
  outline:none;border-color:var(--drive-accent);
  box-shadow:0 0 0 3px rgba(232,93,4,.15);
}
.drive-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  border:none;border-radius:14px;padding:.82rem 1.15rem;font:inherit;font-weight:750;
  cursor:pointer;background:var(--drive-grad);color:#fff;
  text-decoration:none;letter-spacing:-.01em;
  box-shadow:0 10px 28px rgba(232,93,4,.28);
  transition:transform .15s,box-shadow .15s;
}
.drive-btn:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(232,93,4,.35)}
.drive-btn.ghost{
  background:#fff;color:var(--drive-txt);border:1.5px solid var(--drive-line);
  box-shadow:none;
}
.drive-btn.ghost:hover{background:#fff5ee;box-shadow:none}
.drive-btn.block{width:100%}
.drive-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.drive-row{display:flex;gap:.55rem;flex-wrap:wrap}
.drive-row .drive-btn{flex:1;min-width:120px}
.drive-muted{color:var(--drive-dim);font-size:.88rem}
.drive-shell > .drive-btn{margin-left:1.1rem}

/* —— Shop / menu —— */
.drive-shop-hero{
  position:relative;max-width:720px;width:calc(100% - 2.2rem);
  margin:.5rem auto .85rem;border-radius:var(--drive-radius);overflow:hidden;
  min-height:180px;box-shadow:var(--drive-shadow);
}
.drive-shop-hero img{
  width:100%;height:200px;object-fit:cover;display:block;
  opacity:0;transition:opacity .4s ease;
}
.drive-shop-hero img.is-loaded{opacity:1}
.drive-shop-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 15%,rgba(28,20,16,.82));
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:1.15rem 1.2rem;
  color:#fff;
}
.drive-shop-hero-overlay h1{
  margin:0;font-family:var(--drive-display);
  font-size:1.55rem;letter-spacing:-.03em;font-weight:800;
}
.drive-shop-hero-overlay p{margin:.3rem 0 0;opacity:.88;font-size:.88rem}

/* —— Venue news (same as operator dashboard news) —— */
.drive-news{
  max-width:720px;width:calc(100% - 2.2rem);
  margin:0 auto .95rem;
}
.drive-news-head{
  display:flex;flex-direction:column;gap:.15rem;
  margin:0 0 .55rem .1rem;
}
.drive-news-head h2{
  margin:0;font-family:var(--drive-display);
  font-size:1.05rem;letter-spacing:-.02em;font-weight:800;color:var(--drive-txt);
}
.drive-news-head p{
  margin:0;font-size:.8rem;color:var(--drive-faint);font-weight:600;
}
.drive-news-strip{
  display:flex;gap:.7rem;overflow-x:auto;scrollbar-width:none;
  padding:.1rem .1rem .35rem;scroll-snap-type:x mandatory;
}
.drive-news-strip::-webkit-scrollbar{display:none}
.drive-news-card{
  flex:0 0 min(260px,78vw);scroll-snap-align:start;
  background:var(--drive-card);
  border:1px solid var(--drive-line);
  border-left:3px solid var(--drive-accent, #e85d04);
  border-radius:16px;
  padding:.85rem .95rem;
  box-shadow:var(--drive-shadow);
}
.drive-news-tag{
  font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--drive-accent-deep, #c2410c);margin-bottom:.3rem;
}
.drive-news-title{
  display:block;font-size:.95rem;font-weight:750;letter-spacing:-.015em;
  color:var(--drive-txt);line-height:1.3;
}
.drive-news-text{
  margin:.35rem 0 0;font-size:.82rem;line-height:1.4;color:var(--drive-dim);
}

.drive-cat-nav{
  position:sticky;top:52px;z-index:20;
  display:flex;gap:.45rem;overflow-x:auto;scrollbar-width:none;
  max-width:720px;width:calc(100% - 2.2rem);
  margin:0 auto .85rem;padding:.35rem 0;
  background:linear-gradient(180deg,var(--drive-bg) 70%,transparent);
}
.drive-cat-nav::-webkit-scrollbar{display:none}
.drive-cat-pill{
  flex:0 0 auto;text-decoration:none;cursor:pointer;font:inherit;
  padding:.45rem .85rem;border-radius:999px;
  background:#fff;border:1px solid var(--drive-line);
  color:var(--drive-dim);font-size:.8rem;font-weight:650;
  box-shadow:0 2px 8px rgba(80,30,10,.04);
  transition:background .15s,color .15s,border-color .15s;
}
.drive-cat-pill:hover{border-color:rgba(232,93,4,.35);color:var(--drive-accent-deep)}

.drive-menu-list{
  max-width:720px;width:calc(100% - 2.2rem);
  margin:0 auto 1.5rem;
}
.drive-menu-section{
  background:var(--drive-card);
  border:1px solid var(--drive-line);
  border-radius:var(--drive-radius);
  padding:.35rem 1rem 1rem;
  margin-bottom:.9rem;
  box-shadow:var(--drive-shadow);
  scroll-margin-top:7.5rem;
}
.drive-menu-cat{
  margin:0;padding:.85rem 0 .35rem;
  font-family:var(--drive-display);
  font-size:1.15rem;letter-spacing:-.025em;font-weight:750;
  position:sticky;top:96px;background:var(--drive-card);z-index:1;
}
.drive-menu-item{
  display:grid;grid-template-columns:96px 1fr auto;gap:.85rem;align-items:center;
  padding:.85rem 0;border-bottom:1px solid var(--drive-line);
}
.drive-menu-item:last-child{border-bottom:0}
.drive-menu-thumb{
  width:96px;height:96px;border-radius:16px;overflow:hidden;
  background:#efe0d4;flex-shrink:0;
}
.drive-menu-thumb img{
  width:100%;height:100%;object-fit:cover;display:block;
  opacity:0;transition:opacity .35s ease,transform .45s ease;
}
.drive-menu-thumb img.is-loaded{opacity:1}
.drive-menu-item:hover .drive-menu-thumb img.is-loaded{transform:scale(1.04)}
.drive-menu-thumb.is-tile{
  display:grid;place-items:center;
  background:
    radial-gradient(circle at 30% 25%,hsla(var(--tile-hue),85%,72%,.95),transparent 55%),
    linear-gradient(145deg,hsl(var(--tile-hue),55%,92%),hsl(var(--tile-hue),45%,82%));
  border:1px solid hsla(var(--tile-hue),40%,50%,.18);
}
.drive-tile-letter{
  font-family:var(--drive-display);
  font-size:1.85rem;font-weight:800;letter-spacing:-.04em;
  color:hsl(var(--tile-hue),55%,32%);
  line-height:1;
}
.drive-menu-body{min-width:0}
.drive-menu-item strong{
  display:block;font-size:1.02rem;letter-spacing:-.015em;font-weight:700;
  line-height:1.25;
}
.drive-menu-desc{
  margin:.25rem 0 0;font-size:.82rem;line-height:1.35;color:var(--drive-dim);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.drive-menu-price{
  font-weight:750;margin-top:.4rem;color:var(--drive-ink);font-size:.95rem;
}
.drive-menu-opt-hint{
  font-size:.75rem;color:var(--drive-accent-deep);margin:.2rem 0 0;font-weight:650;
}
.drive-sum-var{
  display:block;font-size:.78rem;color:var(--drive-dim);font-weight:500;margin-top:.1rem;
}
.drive-variant-overlay{
  position:fixed;inset:0;z-index:80;background:rgba(20,12,8,.45);
  display:flex;align-items:flex-end;justify-content:center;padding:1rem;
}
.drive-variant-card{
  width:min(520px,100%);background:#fff;border-radius:20px 20px 16px 16px;
  padding:1.1rem 1.15rem 1.2rem;box-shadow:0 20px 50px rgba(0,0,0,.25);
  max-height:min(85vh,640px);overflow:auto;
}
.drive-variant-card h3{margin:0 0 .35rem;font-size:1.15rem}
.drive-variant-card .drive-muted{margin:0 0 .85rem;font-size:.88rem}
.drive-variant-card .variant-picker{display:flex;flex-wrap:wrap;gap:.4rem;margin:.35rem 0 .7rem}
.drive-variant-card .variant-chip{
  border:1.5px solid var(--drive-line);background:#fff;border-radius:999px;
  padding:.4rem .75rem;font:inherit;font-size:.88rem;font-weight:650;cursor:pointer;
  color:var(--drive-ink);
}
.drive-variant-card .variant-chip.on{
  background:var(--drive-grad);color:#fff;border-color:transparent;
}
.drive-variant-actions{
  display:flex;gap:.55rem;justify-content:flex-end;margin-top:.4rem;flex-wrap:wrap;
}
@media (min-width:720px){
  .drive-variant-overlay{align-items:center}
  .drive-variant-card{border-radius:20px}
}
.drive-qty{display:inline-flex;align-items:center;gap:.35rem;align-self:end}
.drive-qty button{
  width:34px;height:34px;border-radius:12px;border:1.5px solid var(--drive-line);
  background:#fff;font-weight:750;cursor:pointer;color:var(--drive-txt);
  transition:background .12s,border-color .12s,transform .12s;
}
.drive-qty button.drive-qty-add{
  background:var(--drive-grad);color:#fff;border-color:transparent;
  box-shadow:0 6px 16px rgba(232,93,4,.25);
}
.drive-qty button:hover{transform:scale(1.05)}
.drive-qty span{min-width:1.1rem;text-align:center;font-weight:700}
.drive-cart-bar{
  position:fixed;left:0;right:0;bottom:1rem;
  width:min(680px,calc(100% - 1.5rem));
  margin:0 auto;z-index:30;
  box-sizing:border-box;
  min-height:3.5rem;height:3.5rem;
  padding:0 1.25rem;
  display:flex;justify-content:space-between;align-items:center;
  background:var(--drive-grad);color:#fff;border-radius:18px;
  box-shadow:0 16px 44px rgba(193,18,31,.35);cursor:pointer;
  font-weight:750;font-size:.98rem;line-height:1;letter-spacing:-.01em;
  animation:driveCartIn .35s cubic-bezier(.22,1,.36,1) both;
}
.drive-cart-bar span{
  display:inline-flex;align-items:center;height:100%;
  line-height:1;margin:0;padding:0;
}
@keyframes driveCartIn{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
.drive-map{
  height:240px;border-radius:16px;overflow:hidden;border:1px solid var(--drive-line);
  margin:.6rem 0 0;background:#f5e6dc;
}
.drive-tabs{display:flex;gap:.4rem;margin-bottom:1rem}
.drive-tabs button{
  flex:1;border:1.5px solid var(--drive-line);background:#fff;border-radius:12px;
  padding:.55rem;font:inherit;font-weight:650;cursor:pointer;color:var(--drive-dim);
}
.drive-tabs button.on{background:var(--drive-grad);color:#fff;border-color:transparent}
.drive-status-pill{
  display:inline-block;padding:.25rem .55rem;border-radius:999px;font-size:.75rem;font-weight:750;
  background:rgba(232,93,4,.12);color:var(--drive-accent-deep);
}
.drive-status-pill.live{background:rgba(22,163,74,.15);color:var(--drive-ok)}
.drive-status-pill.done{background:rgba(21,128,61,.14);color:var(--drive-ok)}
.drive-orders-section{
  max-width:720px;width:calc(100% - 2.2rem);margin:1.1rem auto .45rem;
  font-family:var(--drive-display);font-size:.95rem;letter-spacing:-.02em;
  color:var(--drive-dim);font-weight:750;
}
.drive-orders-count{max-width:720px;width:calc(100% - 2.2rem);margin:.25rem auto 0;font-size:.9rem}
.drive-order-date{font-size:.78rem;font-weight:650;color:var(--drive-faint);margin-top:.15rem}
.drive-order-items-preview{
  margin:.45rem 0 .25rem;font-size:.88rem;line-height:1.35;color:var(--drive-txt);
}
.drive-order-items{
  list-style:none;margin:.55rem 0 .35rem;padding:0;
  display:flex;flex-direction:column;gap:.25rem;
}
.drive-order-items li{
  font-size:.9rem;color:var(--drive-txt);
  padding:.35rem .55rem;border-radius:10px;background:rgba(0,0,0,.04);
}
.drive-track-enroute{
  display:flex;flex-direction:column;gap:.2rem;
  margin:0 0 .85rem;padding:.85rem .95rem;border-radius:14px;
  background:linear-gradient(135deg,rgba(232,93,4,.14),rgba(244,140,6,.08));
  border:1px solid rgba(232,93,4,.28);
  animation:driveIn .35s cubic-bezier(.22,1,.36,1) both;
}
.drive-track-enroute strong{
  font-family:var(--drive-display);font-size:1.05rem;letter-spacing:-.02em;
  color:var(--drive-accent-deep);
}
.drive-track-enroute span{font-size:.9rem;color:var(--drive-txt);line-height:1.35}

/* —— Footer legal —— */
/* —— Quiet trust strip (Payrexx / tracking / no aggregator fee) —— */
.drive-trust{
  max-width:720px;width:calc(100% - 2.2rem);
  margin:0.25rem auto 0;
  padding:1.1rem 0 0;
  display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem .9rem;
  font-size:.8rem;font-weight:650;letter-spacing:-.01em;
  color:var(--drive-faint);
  text-align:center;
}
.drive-trust span{
  display:inline-flex;align-items:center;gap:.35rem;
  white-space:nowrap;
}
.drive-trust span + span::before{
  content:"";
  width:3px;height:3px;border-radius:50%;
  background:rgba(232,93,4,.45);
  margin-right:.15rem;
  flex:0 0 auto;
}

.drive-footer{
  max-width:1100px;width:calc(100% - 2.2rem);
  margin:2.5rem auto 0;padding:1.6rem 0 0;
  border-top:1px solid var(--drive-line);
  display:flex;flex-direction:column;gap:1rem;
  font-size:.78rem;color:var(--drive-faint);
}
.drive-footer-main{
  display:flex;flex-wrap:wrap;gap:.85rem 1.5rem;
  align-items:flex-start;justify-content:space-between;
}
.drive-footer-brand{
  display:flex;flex-direction:column;gap:.35rem;min-width:min(100%,12rem);
}
.drive-footer-logo{
  display:flex;align-items:center;gap:.4rem;
}
.drive-footer-logo .logo-img{height:1.35rem;max-width:150px}
.drive-footer-logo .logo-suffix{font-size:.92rem;color:var(--drive-accent-deep);font-weight:700}
.drive-footer-brand > span{color:var(--drive-faint);line-height:1.35}
.drive-footer-links{
  display:flex;flex-wrap:wrap;gap:.55rem 1.1rem;
  align-items:center;justify-content:flex-end;
}
.drive-footer-copy{font-size:.72rem;color:var(--drive-faint)}
.drive-footer a,
.drive-footer-linkbtn{
  color:var(--drive-dim);font-weight:600;text-decoration:none;
  background:none;border:none;padding:0;font:inherit;cursor:pointer;
}
.drive-footer a:hover,
.drive-footer-linkbtn:hover{color:var(--drive-accent-deep);text-decoration:underline}
@media (max-width:560px){
  .drive-footer-links{justify-content:flex-start}
}

/* —— Cookie banner ——
   Kein translateX(-50%)-Zentrieren: driveIn setzt transform:none (fill:both)
   und schiebt den Banner sonst halb aus dem Viewport. */
.drive-cookie{
  position:fixed;
  left:max(.75rem, env(safe-area-inset-left, 0px));
  right:max(.75rem, env(safe-area-inset-right, 0px));
  bottom:max(1rem, env(safe-area-inset-bottom, 0px));
  z-index:60;
  width:min(560px, 100%);
  max-width:100%;
  margin-inline:auto;
  box-sizing:border-box;
  background:#1c1410;color:#fff8f3;border-radius:18px;
  padding:1rem 1.1rem;box-shadow:0 20px 50px rgba(0,0,0,.35);
  animation:driveCookieIn .4s cubic-bezier(.22,1,.36,1) both;
}
@keyframes driveCookieIn{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:none}
}
.drive-cookie p{margin:0 0 .75rem;font-size:.84rem;line-height:1.45;color:rgba(255,248,243,.88)}
.drive-cookie a{color:#ffb703;font-weight:650}
.drive-cookie-actions{display:flex;flex-wrap:wrap;gap:.45rem}
.drive-cookie .drive-btn{padding:.65rem .95rem;font-size:.85rem;box-shadow:none}
.drive-cookie .drive-btn.ghost{
  background:transparent;color:#fff;border-color:rgba(255,255,255,.25);
}

/* —— Auth sheet —— */
.drive-auth-overlay{
  position:fixed;inset:0;z-index:50;
  display:flex;align-items:flex-end;justify-content:center;padding:0;
}
@media (min-width:560px){
  .drive-auth-overlay{align-items:center;padding:1rem}
}
.drive-auth-backdrop{
  position:absolute;inset:0;border:none;padding:0;
  background:rgba(28,20,16,.5);cursor:pointer;
  animation:driveFadeIn .2s ease both;
}
@keyframes driveFadeIn{from{opacity:0}to{opacity:1}}
.drive-auth-sheet{
  position:relative;z-index:1;
  width:min(420px,100%);
  max-height:min(90dvh,640px);overflow:auto;
  background:#fff;border-radius:22px 22px 0 0;
  padding:1.15rem 1.2rem 1.45rem;
  box-shadow:0 -16px 48px rgba(28,20,16,.25);
  animation:driveSheetUp .32s cubic-bezier(.22,1,.36,1) both;
}
@media (min-width:560px){
  .drive-auth-sheet{border-radius:20px;box-shadow:0 24px 60px rgba(28,20,16,.28)}
}
@keyframes driveSheetUp{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:none}
}
.drive-auth-sheet-head{
  display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  margin-bottom:.35rem;
}
.drive-auth-sheet-head strong{
  font-family:var(--drive-display);font-size:1.1rem;letter-spacing:-.02em;
}
.drive-auth-hint{margin:0 0 .85rem}
.drive-auth-forgot-wrap{margin:-.25rem 0 .85rem;text-align:right}
.drive-auth-forgot{
  background:none;border:none;padding:0;font:inherit;
  color:var(--drive-accent-deep);font-weight:650;font-size:.86rem;cursor:pointer;
}
.drive-auth-forgot:hover{text-decoration:underline}
.drive-auth-sheet .drive-btn.ghost.block{margin-top:.45rem}

/* —— Help / Support sheet —— */
.drive-help-overlay{
  position:fixed;inset:0;z-index:52;
  display:flex;align-items:flex-end;justify-content:center;padding:0;
}
@media (min-width:560px){
  .drive-help-overlay{align-items:center;padding:1rem}
}
.drive-help-sheet{
  position:relative;z-index:1;
  width:min(440px,100%);
  max-height:min(90dvh,680px);overflow:auto;
  background:#fff;border-radius:22px 22px 0 0;
  padding:1.15rem 1.2rem 1.45rem;
  box-shadow:0 -16px 48px rgba(28,20,16,.25);
  animation:driveSheetUp .32s cubic-bezier(.22,1,.36,1) both;
}
@media (min-width:560px){
  .drive-help-sheet{border-radius:20px;box-shadow:0 24px 60px rgba(28,20,16,.28)}
}
.drive-help-lead{margin:0 0 .85rem;color:var(--drive-dim);font-size:.92rem;line-height:1.45}
.drive-help-order{
  display:flex;flex-direction:column;gap:.2rem;
  padding:.75rem .85rem;margin:0 0 .85rem;
  border:1px solid var(--drive-line);border-radius:14px;
  background:rgba(255,248,243,.7);font-size:.88rem;
}
.drive-help-steps{
  margin:0 0 1rem;padding-left:1.15rem;
  color:var(--drive-dim);font-size:.88rem;line-height:1.45;
}
.drive-help-steps li{margin:.35rem 0}
.drive-help-actions{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.75rem}
.drive-help-actions .drive-btn{text-align:center;text-decoration:none}
.drive-help-note{font-size:.78rem;line-height:1.4;margin:0}

.drive-hidden{display:none !important}
.drive-tip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin:.4rem 0}
.drive-tip-grid button{
  border:1.5px solid var(--drive-line);background:#fff;border-radius:12px;padding:.55rem;
  font:inherit;font-weight:700;cursor:pointer;color:var(--drive-txt);
}
.drive-tip-grid button.on{background:var(--drive-grad);color:#fff;border-color:transparent}

.drive-sum-row{
  display:flex;justify-content:space-between;align-items:center;gap:.75rem;
  margin:.35rem 0;font-size:.95rem;line-height:1.25;
}
.drive-sum-row > span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.drive-sum-total{font-weight:800;margin-top:.55rem}
.drive-sum-hr{border:none;border-top:1px solid var(--drive-line);margin:.65rem 0}

.drive-seg{
  display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:.15rem 0 .35rem;
}
.drive-seg button{
  border:1.5px solid var(--drive-line);background:#fff;border-radius:12px;
  padding:.7rem .65rem;font:inherit;font-weight:700;font-size:.88rem;
  cursor:pointer;color:var(--drive-txt);line-height:1.2;
}
.drive-seg button.on{background:var(--drive-grad);color:#fff;border-color:transparent}
.drive-checkout-hint{margin:.65rem 0 0;font-size:.8rem;line-height:1.45}

.drive-pay-list{display:grid;gap:.45rem;margin:.15rem 0}
.drive-pay-opt{
  display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;
  border:1.5px solid var(--drive-line);background:#fff;border-radius:14px;
  padding:.8rem .9rem;font:inherit;cursor:pointer;color:var(--drive-txt);
  transition:border-color .15s,background .15s,box-shadow .15s;
}
.drive-pay-opt:hover{border-color:rgba(232,93,4,.45)}
.drive-pay-opt.on{
  border-color:var(--drive-accent);
  background:rgba(232,93,4,.06);
  box-shadow:0 0 0 3px rgba(232,93,4,.12);
}
.drive-pay-dot{
  width:1.1rem;height:1.1rem;border-radius:999px;flex-shrink:0;
  border:2px solid var(--drive-line);background:#fff;
  box-sizing:border-box;
}
.drive-pay-opt.on .drive-pay-dot{
  border-color:var(--drive-accent);
  background:radial-gradient(circle at center,var(--drive-accent) 0 38%,#fff 40% 100%);
}
.drive-pay-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.drive-pay-copy strong{font-size:.95rem;font-weight:750;line-height:1.2}
.drive-pay-copy small{font-size:.78rem;color:var(--drive-dim);line-height:1.3}
.drive-checkout-cta{
  max-width:720px;width:calc(100% - 2.2rem);margin:0 auto;
}
.drive-note-row{margin:.15rem 0 .45rem;padding-left:.15rem}
.drive-note-btn{
  display:inline-flex;align-items:center;gap:.35rem;max-width:100%;
  border:1.5px dashed rgba(232,93,4,.35);background:rgba(232,93,4,.04);
  border-radius:10px;padding:.35rem .65rem;font:inherit;font-size:.82rem;
  font-weight:600;color:var(--drive-dim);cursor:pointer;text-align:left;
  line-height:1.3;transition:border-color .15s,background .15s,color .15s;
}
.drive-note-btn:hover{border-color:rgba(232,93,4,.55);color:var(--drive-txt)}
.drive-note-btn.has-note{
  color:var(--drive-accent);border-style:solid;border-color:rgba(232,93,4,.45);
  background:rgba(232,93,4,.08);
}
.drive-note-editor{
  display:flex;gap:.4rem;align-items:center;margin:.15rem 0 .45rem;
}
.drive-note-editor input{
  flex:1;min-width:0;border:1.5px solid var(--drive-line);border-radius:10px;
  padding:.45rem .6rem;font:inherit;font-size:.88rem;
}
.drive-note-editor input:focus{
  outline:none;border-color:var(--drive-accent);
  box-shadow:0 0 0 3px rgba(232,93,4,.12);
}
.drive-btn-sm{padding:.45rem .75rem;font-size:.82rem;border-radius:10px}
.drive-order-note{margin:.65rem 0 .75rem}
.drive-order-note label{
  display:block;font-size:.78rem;font-weight:700;color:var(--drive-dim);
  margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.03em;
}
.drive-order-note textarea{
  width:100%;box-sizing:border-box;border:1.5px solid var(--drive-line);
  border-radius:12px;padding:.6rem .75rem;font:inherit;font-size:.9rem;
  resize:vertical;min-height:3.2rem;line-height:1.35;
}
.drive-order-note textarea:focus{
  outline:none;border-color:var(--drive-accent);
  box-shadow:0 0 0 3px rgba(232,93,4,.12);
}
.drive-order-note-btn{width:100%;justify-content:center;margin:.65rem 0 .75rem}
.drive-btn.is-busy,
.drive-btn:disabled{
  opacity:.72;cursor:wait;transform:none !important;
  box-shadow:0 8px 20px rgba(232,93,4,.18);
}
.drive-track-success,
.drive-track-done{
  display:flex;flex-direction:column;gap:.2rem;
  margin:0 0 .85rem;padding:.85rem .95rem;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(21,128,61,.12),rgba(232,93,4,.1));
  border:1px solid rgba(21,128,61,.22);
}
.drive-track-done{
  background:linear-gradient(135deg,rgba(21,128,61,.16),rgba(21,128,61,.06));
  border-color:rgba(21,128,61,.28);
}
.drive-track-done.is-cancel{
  background:rgba(193,18,31,.08);
  border-color:rgba(193,18,31,.22);
}
.drive-track-success strong,
.drive-track-done strong{
  font-family:var(--drive-display);font-size:1.05rem;letter-spacing:-.02em;
  color:var(--drive-ok);
}
.drive-track-done.is-cancel strong{color:#b91c1c}
.drive-track-success span,
.drive-track-done span{font-size:.9rem;color:var(--drive-txt);line-height:1.35}
.drive-track-head{
  display:flex;justify-content:space-between;align-items:center;gap:.5rem;
  margin-bottom:.5rem;
}
.drive-track-actions{
  display:grid;gap:.45rem;margin-top:1rem;
}
.drive-track-actions .drive-btn.ghost{
  background:#fff;color:var(--drive-txt);border:1.5px solid var(--drive-line);
  box-shadow:none;
}

/* Toast auf Drive: länger sichtbar, warme Optik, über Cart-Bar */
body.view-drive .toast.drive-toast,
html.drive-mode .toast.drive-toast{
  bottom:calc(1.25rem + env(safe-area-inset-bottom));
  background:#1c1410;border:1px solid rgba(255,248,243,.14);
  box-shadow:0 16px 40px rgba(28,20,16,.35);
  font-family:var(--drive-font, "DM Sans", system-ui, sans-serif);
  z-index:320;
}
body.view-drive .toast.drive-toast.toast-error,
html.drive-mode .toast.drive-toast.toast-error{
  background:#7f1d1d;
}

/* Globale input{width:100%} darf Radios/Checkboxen im Drive nicht sprengen */
#view-drive input[type="radio"],
#view-drive input[type="checkbox"],
#view-drive-driver input[type="radio"],
#view-drive-driver input[type="checkbox"]{
  width:auto;max-width:none;height:auto;padding:0;margin:0;
  flex-shrink:0;accent-color:var(--drive-accent);
}

.drive-empty{
  text-align:center;padding:1.5rem 1rem;color:var(--drive-dim);
}
.drive-empty strong{display:block;color:var(--drive-txt);margin-bottom:.35rem;font-family:var(--drive-display)}

/* —— Fahrer-App (unverändert funktional, leicht angeglichen) —— */
html.drive-driver-mode,
html.drive-driver-mode body,
body.view-drive-driver{
  --ddr-bg:#f4f6f8;
  --ddr-surface:#ffffff;
  --ddr-txt:#0f172a;
  --ddr-muted:#475569;
  --ddr-line:#cbd5e1;
  --ddr-accent:#ea580c;
  --ddr-accent-2:#c2410c;
  --ddr-ok:#15803d;
  --ddr-ok-bg:#dcfce7;
  --ddr-font:"DM Sans",system-ui,sans-serif;
  background:var(--ddr-bg) !important;
  color:var(--ddr-txt);
  font-family:var(--ddr-font);
}
body.view-drive-driver .drive-top{display:none !important}
.ddr-top{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  padding:.75rem 1.15rem;
  background:rgba(244,246,248,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--ddr-line);
}
.ddr-top-brand{font-weight:800;letter-spacing:-.03em;font-size:1.05rem;color:var(--ddr-txt)}
.ddr-top-tag{
  font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--ddr-accent-2);background:#ffedd5;border:1px solid #fdba74;
  border-radius:999px;padding:.28rem .55rem;
}
.ddr-shell{width:100%;max-width:520px;margin:0 auto;padding:1.1rem 1.15rem 2.5rem;box-sizing:border-box}
.ddr-head{margin:0 0 1.15rem}
.ddr-kicker{
  margin:0 0 .25rem;font-size:.78rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;color:var(--ddr-accent-2);
}
.ddr-head h1{margin:0;font-size:1.75rem;line-height:1.15;letter-spacing:-.03em;color:var(--ddr-txt)}
.ddr-sub{margin:.35rem 0 0;font-size:.95rem;line-height:1.4;color:var(--ddr-muted)}
.ddr-vehicle{margin:.85rem 0 0}
.ddr-vehicle-label{
  margin:0 0 .45rem;font-size:.78rem;font-weight:700;
  letter-spacing:.03em;text-transform:uppercase;color:var(--ddr-muted);
}
.ddr-vehicle-opts{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;
}
.ddr-vehicle-btn{
  border:2px solid var(--ddr-line);border-radius:12px;
  background:#fff;color:var(--ddr-txt);
  min-height:2.55rem;padding:.45rem .25rem;
  font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;
}
.ddr-vehicle-btn.on{
  border-color:var(--ddr-accent);
  background:linear-gradient(135deg,#fff7ed,#ffedd5);
  color:var(--ddr-accent-2);
  box-shadow:0 0 0 2px rgba(234,88,12,.12);
}
.ddr-vehicle-btn:active{transform:translateY(1px)}
/* Gast-Livekarte: Imbiss / Mein Standort / Fahrer */
.drive-map-marker{
  background:transparent !important;border:none !important;
}
.drive-map-marker-inner{
  width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.drive-map-marker-inner svg{display:block}
.drive-map-marker-pin{
  display:flex;flex-direction:column;align-items:center;
  width:100%;height:100%;pointer-events:none;
}
.drive-map-marker-tip{
  width:0;height:0;margin-top:-2px;
  border-left:8px solid transparent;border-right:8px solid transparent;
}
.drive-venue-marker-inner{
  background:linear-gradient(145deg,#3f2a22,#1c1410 60%);
  box-shadow:0 6px 16px rgba(28,20,16,.4),0 0 0 3px rgba(255,248,243,.92);
}
.drive-venue-marker-tip{border-top:12px solid #1c1410}
.drive-me-marker-pin{justify-content:flex-end}
.drive-me-marker-label{
  display:inline-block;margin-bottom:4px;padding:.22rem .5rem;
  border-radius:999px;white-space:nowrap;
  font:700 .68rem/1 var(--drive-font,system-ui,sans-serif);
  letter-spacing:.02em;color:#0f3d36;
  background:#e8faf6;border:1px solid rgba(15,118,110,.28);
  box-shadow:0 4px 12px rgba(15,118,110,.18);
}
.drive-me-marker-inner{
  background:linear-gradient(145deg,#2dd4bf,#0f766e 58%);
  box-shadow:0 6px 16px rgba(15,118,110,.42),0 0 0 3px rgba(255,248,243,.92);
}
.drive-me-marker-tip{border-top:12px solid #0f766e}
.drive-driver-marker-pin{justify-content:flex-end}
.drive-driver-marker-label{
  display:inline-block;margin-bottom:4px;padding:.22rem .55rem;
  border-radius:999px;white-space:nowrap;
  font:800 .7rem/1 var(--drive-font,system-ui,sans-serif);
  letter-spacing:.02em;color:#7c2d12;
  background:#fff7ed;border:1px solid rgba(194,65,12,.3);
  box-shadow:0 4px 12px rgba(194,65,12,.2);
}
.drive-driver-marker-inner{
  width:46px;height:46px;
  background:linear-gradient(145deg,#f48c06,#e85d04 55%,#c2410c);
  box-shadow:0 6px 16px rgba(194,65,12,.45),0 0 0 3px rgba(255,248,243,.92);
}
.drive-driver-marker-tip{border-top:12px solid #c2410c}
.ddr-panel{
  background:var(--ddr-surface);border:1px solid var(--ddr-line);
  border-radius:16px;padding:1.1rem 1.05rem 1.15rem;margin-bottom:1rem;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}
.ddr-panel h2,.ddr-section h2{margin:0 0 .85rem;font-size:1.05rem;letter-spacing:-.02em;color:var(--ddr-txt)}
.ddr-section{margin:1.25rem 0 1rem}
.ddr-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:1.4rem;height:1.4rem;padding:0 .4rem;margin-left:.25rem;
  border-radius:999px;font-size:.78rem;font-weight:800;
  background:#ffedd5;color:var(--ddr-accent-2);
}
.ddr-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.8rem}
.ddr-field label{font-size:.8rem;font-weight:700;color:var(--ddr-muted)}
.ddr-field input{
  border:2px solid var(--ddr-line);border-radius:12px;padding:.85rem .9rem;
  font:inherit;font-size:1.1rem;font-weight:600;color:var(--ddr-txt);background:#fff;
}
.ddr-field input::placeholder{color:#94a3b8;font-weight:500}
.ddr-field input:focus{outline:none;border-color:var(--ddr-accent);box-shadow:0 0 0 3px rgba(234,88,12,.18)}
.ddr-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  width:100%;min-height:3.1rem;border:none;border-radius:14px;padding:.85rem 1rem;
  font:inherit;font-size:1.05rem;font-weight:800;cursor:pointer;text-decoration:none;box-sizing:border-box;
}
.ddr-btn-primary{
  background:linear-gradient(135deg,#f97316,#ea580c 55%,#c2410c);color:#fff;
  box-shadow:0 10px 24px rgba(234,88,12,.28);
}
.ddr-btn-primary:active{transform:translateY(1px)}
.ddr-btn-secondary{background:#fff;color:var(--ddr-txt);border:2px solid var(--ddr-line)}
.ddr-btn-ghost{
  background:transparent;color:var(--ddr-muted);border:1px solid var(--ddr-line);
  font-weight:700;font-size:.95rem;margin-top:.35rem;
}
.ddr-install{
  margin-top:1.1rem;padding:1rem 1.05rem;border-radius:16px;
  background:var(--ddr-surface);border:1px solid var(--ddr-line);
}
.ddr-install-sub{
  margin:0 0 .75rem;font-size:.9rem;line-height:1.4;color:var(--ddr-muted);
}
.ddr-install-done{
  margin:.75rem 0 0;font-size:.9rem;font-weight:700;color:#15803d;
}
.ddr-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.85rem}
.ddr-hint{margin:.7rem 0 0;font-size:.85rem;line-height:1.4;color:var(--ddr-muted)}
.ddr-empty{
  background:var(--ddr-surface);border:1px dashed var(--ddr-line);
  border-radius:16px;padding:1.15rem 1rem;color:var(--ddr-muted);
}
.ddr-empty strong{display:block;color:var(--ddr-txt);margin-bottom:.25rem;font-size:1rem}
.ddr-empty p{margin:0;font-size:.9rem;line-height:1.4}
.ddr-job{
  background:var(--ddr-surface);border:2px solid #fdba74;
  border-radius:16px;padding:1rem 1.05rem;margin-bottom:.75rem;
  box-shadow:0 8px 22px rgba(234,88,12,.08);
}
.ddr-job-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.ddr-job-num{font-size:1.25rem;letter-spacing:-.02em;color:var(--ddr-txt)}
.ddr-pill{
  display:inline-flex;align-items:center;padding:.28rem .55rem;border-radius:999px;
  font-size:.72rem;font-weight:800;letter-spacing:.02em;
  background:var(--ddr-ok-bg);color:var(--ddr-ok);
}
.ddr-job-addr{margin:.55rem 0 .35rem;font-size:1.05rem;font-weight:700;line-height:1.35;color:var(--ddr-txt)}
.ddr-job-note{
  margin:.2rem 0 .55rem;padding:.55rem .7rem;border-radius:12px;
  background:rgba(232,93,4,.1);border:1px solid rgba(232,93,4,.22);
  font-size:.92rem;line-height:1.35;color:var(--ddr-txt);font-weight:600;
}
.ddr-job-meta{
  list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .7rem;
  font-size:.88rem;font-weight:600;color:var(--ddr-muted);
}
.ddr-job-meta a{color:var(--ddr-accent-2);font-weight:700}

.ddr-items{
  margin:.75rem 0 .15rem;
  border:1px solid var(--ddr-line);
  border-radius:12px;
  background:#fffaf5;
}
.ddr-items > summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  padding:.7rem .85rem;
  font-size:.92rem;
  font-weight:750;
  color:var(--ddr-txt);
  user-select:none;
}
.ddr-items > summary::-webkit-details-marker{display:none}
.ddr-items > summary::after{
  content:"▾";
  color:var(--ddr-accent-2);
  font-size:.85rem;
  transition:transform .15s ease;
}
.ddr-items[open] > summary::after{transform:rotate(180deg)}
.ddr-items-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:1.4rem;height:1.4rem;padding:0 .35rem;margin-left:auto;margin-right:.35rem;
  border-radius:999px;font-size:.72rem;font-weight:800;
  background:#ffedd5;color:var(--ddr-accent-2);
}
.ddr-items-empty{
  margin:0;padding:0 .85rem .85rem;
  font-size:.88rem;color:var(--ddr-muted);
}
.ddr-item-list{
  list-style:none;margin:0;padding:.15rem .85rem .85rem;
  display:flex;flex-direction:column;gap:.55rem;
}
.ddr-item-main{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:.45rem .55rem;
  align-items:baseline;
  font-size:.95rem;
}
.ddr-item-qty{font-weight:800;color:var(--ddr-accent-2)}
.ddr-item-name{font-weight:700;color:var(--ddr-txt);line-height:1.3}
.ddr-item-price{font-weight:700;color:var(--ddr-muted);white-space:nowrap}
.ddr-item-extras{
  list-style:none;margin:.25rem 0 0 1.55rem;padding:0;
  display:flex;flex-direction:column;gap:.15rem;
}
.ddr-item-extras li{
  font-size:.82rem;line-height:1.35;color:var(--ddr-muted);
  position:relative;padding-left:.7rem;
}
.ddr-item-extras li::before{
  content:"·";position:absolute;left:0;font-weight:800;color:var(--ddr-accent);
}

@media (prefers-reduced-motion:reduce){
  .drive-market-hero-bg,
  .drive-market-hero-bg::before,
  .drive-market-hero-bg::after,
  .drive-market-hero-inner,
  .drive-market-brand,
  .drive-market-origin,
  .drive-market-cta .drive-btn,
  .drive-addr,
  .drive-addr::before,
  .drive-venue-card,
  .drive-demo-badge,
  .drive-auth-sheet,
  .drive-auth-backdrop,
  .drive-cookie,
  .drive-cart-bar,
  .drive-food-fly{animation:none !important}
  .drive-food-fly{
    opacity:.22;
    transform:none;
  }
  .drive-food-fly.f1{left:8%;top:18%}
  .drive-food-fly.f2{left:72%;top:28%}
  .drive-food-fly.f3{left:40%;top:70%}
  .drive-food-fly.f4{left:18%;top:78%}
  .drive-food-fly.f5{left:82%;top:62%}
  .drive-food-fly.f6{left:55%;top:14%}
  .drive-food-fly.f7,
  .drive-food-fly.f8,
  .drive-food-fly.f9,
  .drive-food-fly.f10,
  .drive-food-fly.f11,
  .drive-food-fly.f12{display:none}
  .ddr-items > summary::after{transition:none !important}
  .drive-venue-card:hover{transform:none}
  .drive-venue-card:hover .drive-venue-cover img.is-loaded{transform:none}
  .drive-venue-cover img{opacity:1;transform:none}
}

/* —— Drive Chat sheet —— */
.dchat-backdrop{
  position:fixed;inset:0;z-index:240;
  background:rgba(20,12,8,.45);
  opacity:0;pointer-events:none;
  transition:opacity .2s ease;
}
.dchat-backdrop.open{opacity:1;pointer-events:auto}
.dchat-sheet{
  position:fixed;left:50%;bottom:0;z-index:241;
  width:min(480px,100%);max-height:min(86dvh,720px);
  transform:translate(-50%,110%);
  background:#fffaf6;color:#1c1410;
  border-radius:22px 22px 0 0;
  box-shadow:0 -12px 48px rgba(28,20,16,.28);
  display:flex;flex-direction:column;
  transition:transform .28s cubic-bezier(.22,1,.36,1);
  padding-bottom:env(safe-area-inset-bottom);
}
.dchat-sheet.open{transform:translate(-50%,0)}
.dchat-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;
  padding:1rem 1.1rem .55rem;border-bottom:1px solid rgba(28,20,16,.08);
}
.dchat-head strong{display:block;font-size:1.05rem;letter-spacing:-.02em}
.dchat-sub{display:block;font-size:.78rem;color:rgba(28,20,16,.55);margin-top:.15rem}
.dchat-x{
  border:0;background:rgba(28,20,16,.06);width:34px;height:34px;border-radius:10px;
  font-size:1rem;cursor:pointer;color:#1c1410;
}
.dchat-intro{
  margin:0;padding:.55rem 1.1rem;
  font-size:.78rem;color:rgba(28,20,16,.62);line-height:1.35;
  background:rgba(232,93,4,.06);
}
.dchat-messages{
  flex:1;overflow:auto;padding:.85rem 1.1rem;
  display:flex;flex-direction:column;gap:.55rem;
  min-height:180px;
}
.dchat-empty{color:rgba(28,20,16,.45);font-size:.88rem;text-align:center;padding:1.5rem .5rem}
.dchat-bubble{
  max-width:86%;padding:.55rem .7rem .6rem;border-radius:14px;
  background:#fff;border:1px solid rgba(28,20,16,.08);
  box-shadow:0 2px 10px rgba(28,20,16,.04);
}
.dchat-bubble.mine{
  align-self:flex-end;
  background:linear-gradient(160deg,#fff1e4,#ffe0c4);
  border-color:rgba(232,93,4,.22);
}
.dchat-bubble.theirs{align-self:flex-start}
.dchat-meta{font-size:.68rem;font-weight:650;color:rgba(28,20,16,.5);margin-bottom:.25rem}
.dchat-body{font-size:.92rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}
.dchat-img{display:block;margin:.15rem 0 .35rem}
.dchat-img img{
  display:block;max-width:100%;max-height:220px;border-radius:10px;object-fit:cover;
}
.dchat-typing{
  padding:0 1.1rem .35rem;font-size:.78rem;font-style:italic;color:rgba(28,20,16,.5);
}
.dchat-retry{
  display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  margin:0 1.1rem .4rem;padding:.45rem .65rem;border-radius:10px;
  background:#fef2f2;color:#991b1b;font-size:.8rem;
}
/* display:flex überschreibt sonst das hidden-Attribut → Banner bleibt fälschlich sichtbar */
.dchat-retry[hidden]{display:none !important}
.dchat-composer{
  display:flex;align-items:center;gap:.45rem;
  padding:.65rem 1rem 1rem;border-top:1px solid rgba(28,20,16,.08);
}
.dchat-composer input[type="text"]{
  flex:1;min-width:0;border:1px solid rgba(28,20,16,.14);border-radius:12px;
  padding:.65rem .75rem;font:inherit;background:#fff;
}
.dchat-cam{
  width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(232,93,4,.1);cursor:pointer;flex:0 0 auto;
}
.dchat-btn{
  border:0;border-radius:12px;padding:.65rem .9rem;font:inherit;font-weight:700;
  background:#e85d04;color:#fff;cursor:pointer;white-space:nowrap;
}
.dchat-btn.ghost{background:transparent;color:#991b1b;border:1px solid rgba(153,27,27,.25);padding:.35rem .55rem;font-size:.78rem}
.dchat-readonly{
  margin:0;padding:.75rem 1.1rem 1.1rem;text-align:center;
  font-size:.85rem;color:rgba(28,20,16,.55);
}
.dchat-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:1.15rem;height:1.15rem;padding:0 .3rem;margin-left:.3rem;
  border-radius:999px;background:#dc2626;color:#fff;
  font-size:.68rem;font-weight:800;line-height:1;
}
.drive-chat-btn,.ddr-chat-btn{
  position:relative;
}
.drive-chat-hint{
  margin:0 0 .45rem;padding:.55rem .75rem;border-radius:12px;
  background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.28);
  color:#991b1b;font-size:.88rem;font-weight:700;text-align:center;
  animation:driveChatHintIn .35s ease both;
}
.drive-chat-btn.has-unread{
  box-shadow:0 0 0 2px rgba(220,38,38,.35);
  animation:driveChatPulse 1.6s ease-in-out infinite;
}
.drive-chat-btn.has-unread .dchat-badge{
  animation:driveChatBadgePop .45s ease both;
}
@keyframes driveChatHintIn{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes driveChatPulse{
  0%,100%{box-shadow:0 0 0 2px rgba(220,38,38,.28)}
  50%{box-shadow:0 0 0 4px rgba(220,38,38,.45)}
}
@keyframes driveChatBadgePop{
  0%{transform:scale(.7)}
  60%{transform:scale(1.15)}
  100%{transform:scale(1)}
}
.ddr-actions{flex-wrap:wrap}
.admin-drive-chat-toast{
  position:fixed;top:0;left:50%;z-index:320;
  transform:translate(-50%,-120%);
  width:min(440px, calc(100vw - 1.5rem));
  margin-top:calc(12px + env(safe-area-inset-top));
  background:#7c2d12;color:#fff7ed;
  border:1px solid rgba(255,237,213,.35);
  border-radius:14px;padding:.85rem 1rem;
  font-weight:700;font-size:.92rem;text-align:center;
  box-shadow:0 16px 40px rgba(69,10,10,.35);
  cursor:pointer;
  transition:transform .35s cubic-bezier(.34,1.2,.64,1);
}
.admin-drive-chat-toast.show{transform:translate(-50%,0)}
.admin-drive-chat-toast small{display:block;font-weight:500;opacity:.85;margin-top:.2rem;font-size:.78rem}

/* —— Admin dauerhafter Fahrer-Chat —— */
.admin-venue-chat-card{padding:1rem 1.1rem 1.15rem}
.admin-venue-chat-head{margin-bottom:.85rem}
.admin-venue-chat-layout{
  display:grid;
  grid-template-columns:minmax(200px,280px) 1fr;
  gap:.85rem;
  min-height:360px;
}
.admin-venue-chat-list{
  display:flex;flex-direction:column;gap:.4rem;
  max-height:min(62vh,560px);overflow:auto;
  padding-right:.15rem;
}
.admin-venue-chat-item{
  display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;
  width:100%;text-align:left;cursor:pointer;
  border:1px solid rgba(28,20,16,.1);border-radius:12px;
  background:#fff;padding:.7rem .8rem;font:inherit;color:inherit;
}
.admin-venue-chat-item:hover{border-color:rgba(232,93,4,.35);background:#fff8f1}
.admin-venue-chat-item.on{
  border-color:rgba(232,93,4,.55);
  background:linear-gradient(160deg,#fff4e8,#ffe8d2);
  box-shadow:0 0 0 1px rgba(232,93,4,.12);
}
.admin-venue-chat-item-top{
  display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;
}
.admin-venue-chat-item-top strong{font-size:.95rem}
.admin-venue-chat-item-preview{
  font-size:.78rem;color:rgba(28,20,16,.55);line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.admin-venue-chat-item-time{font-size:.7rem;color:rgba(28,20,16,.42)}
.admin-venue-chat-thread{
  border:1px dashed rgba(28,20,16,.14);border-radius:14px;
  padding:1.1rem;display:flex;align-items:center;justify-content:center;
  min-height:280px;background:rgba(255,255,255,.55);
}
.admin-venue-chat-thread-hint{text-align:center;max-width:280px}
.admin-venue-chat-thread-hint p{
  margin:.45rem 0 .85rem;font-size:.88rem;color:rgba(28,20,16,.58);line-height:1.4;
}
.admin-venue-chat-empty{
  margin:0;padding:1rem .5rem;text-align:center;
  color:rgba(28,20,16,.48);font-size:.9rem;line-height:1.4;
}
.ddr-venue-chat-btn{margin-top:.75rem;width:100%}
@media (max-width:720px){
  .admin-venue-chat-layout{grid-template-columns:1fr;min-height:0}
  .admin-venue-chat-list{max-height:240px}
  .admin-venue-chat-thread{min-height:160px}
}
