/* ============================================================================
   The Cube 3.0 — Empfehlungen (Karte + Liste). Ergänzt styles.css.
   Alle Klassen mit emp- Präfix, um Kollisionen zu vermeiden.
   ========================================================================== */
.emp{
  --emp-bg:#0a0a0a; --emp-surface:#111112; --emp-surface-2:#17171a; --emp-surface-3:#1e1e22;
  --emp-line:rgba(255,255,255,.10); --emp-line-2:rgba(255,255,255,.16);
  --emp-ink:#fff; --emp-text:rgba(255,255,255,.82); --emp-muted:rgba(255,255,255,.50);
  --emp-gold:#c9a875; --emp-gold-2:#e2c48b; --emp-gold-soft:rgba(201,168,117,.14);
  --emp-serif:'Cormorant Garamond',Georgia,serif; --emp-sans:'Inter',system-ui,-apple-system,sans-serif;
  background:var(--emp-bg);padding:clamp(84px,12vw,120px) clamp(14px,4vw,40px) 70px;
}
.emp__inner{max-width:1180px;margin:0 auto}

.emp-head{max-width:660px;margin-bottom:24px}
.emp-eyebrow{font-size:11px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--emp-gold);margin-bottom:14px}
.emp-head h1{font-family:var(--emp-serif);font-weight:500;font-size:clamp(30px,5.4vw,50px);line-height:1.04;color:var(--emp-ink);letter-spacing:-.01em;margin-bottom:12px}
.emp-head p{font-size:15px;color:var(--emp-text);max-width:56ch}
.emp-lang{display:inline-flex;align-items:center;gap:2px;margin-top:20px;padding:3px;
  border:1px solid var(--emp-line-2);border-radius:100px;background:var(--emp-surface-2)}
.emp-lang__globe{width:15px;height:15px;color:var(--emp-muted);margin:0 3px 0 8px;flex-shrink:0}
.emp-lang__opt{font-family:inherit;font-size:12.5px;font-weight:500;letter-spacing:.03em;color:var(--emp-text);
  text-decoration:none;padding:6px 15px;border-radius:100px;transition:.16s;line-height:1;cursor:pointer;white-space:nowrap}
.emp-lang__opt:hover{color:var(--emp-ink)}
.emp-lang__opt.is-active{background:var(--emp-gold);color:#0a0a0a;font-weight:600;cursor:default}

.emp-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px;margin-bottom:16px;scrollbar-width:none}
.emp-filters::-webkit-scrollbar{display:none}
.emp-chip{white-space:nowrap;display:inline-flex;align-items:center;gap:7px;font-size:12.5px;letter-spacing:.04em;
  color:var(--emp-text);border:1px solid var(--emp-line-2);border-radius:100px;padding:7px 14px;cursor:pointer;background:none;transition:.16s;font-family:inherit}
.emp-chip:hover{border-color:var(--emp-gold);color:var(--emp-ink)}
.emp-chip[aria-pressed="true"]{background:var(--emp-gold-soft);border-color:var(--emp-gold);color:var(--emp-gold-2)}
.emp-chip--halal:hover{border-color:#3aa76d}
.emp-chip--halal[aria-pressed="true"]{background:rgba(47,169,106,.16);border-color:#3aa76d;color:#7ed6a3}
.emp-chip__dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.emp-chip__n{font-size:11px;color:var(--emp-muted);font-variant-numeric:tabular-nums}

.emp-app{display:flex;height:min(680px,76vh);border:1px solid var(--emp-line);border-radius:6px;overflow:hidden;background:var(--emp-surface)}
.emp-map{position:relative;flex:1.35;min-width:0;background:#0c0e10}
.emp-list{flex:1;min-width:0;max-width:440px;overflow-y:auto;border-left:1px solid var(--emp-line)}

/* consent overlay */
.emp-consent{position:absolute;inset:0;z-index:500;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  text-align:center;padding:30px;background:#0c0e10}
.emp-consent svg{width:34px;height:34px;color:var(--emp-gold);opacity:.9}
.emp-consent p{font-size:13.5px;color:var(--emp-muted);max-width:34ch;line-height:1.55}
.emp-consent button{margin-top:4px;background:var(--emp-gold);color:#0a0a0a;border:0;border-radius:3px;padding:11px 22px;font-weight:600;font-size:13px;cursor:pointer;font-family:inherit}
.emp-consent button:hover{background:var(--emp-gold-2)}
.emp-consent a{color:var(--emp-gold);text-decoration:underline}

/* leaflet */
.emp-mapel{position:absolute;inset:0}
.emp .leaflet-container{background:#0c0e10;font-family:var(--emp-sans)}
.emp-pin{filter:drop-shadow(0 3px 5px rgba(0,0,0,.55));cursor:pointer;transition:transform .12s}
.emp-pin:hover,.emp-pin.is-active{transform:scale(1.14) translateY(-2px)}
.emp .leaflet-popup-content-wrapper{background:#141416;color:rgba(255,255,255,.82);border:1px solid #c9a875;border-radius:4px;box-shadow:0 6px 24px rgba(0,0,0,.55)}
.emp .leaflet-popup-tip{background:#141416;border:1px solid #c9a875}
.emp .leaflet-popup-content{margin:12px 15px;font-size:13px;line-height:1.5}
.emp .leaflet-popup-content b{color:#fff;font-family:var(--emp-serif);font-size:17px;font-weight:500;display:block;margin-bottom:1px}
.emp .leaflet-popup-content .pc{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;display:block}
.emp .leaflet-popup-content .pt{display:block;margin-top:7px;color:rgba(255,255,255,.75);font-size:12.5px}
.emp .leaflet-popup-close-button{color:rgba(255,255,255,.5)!important;padding:6px 7px 0 0!important}
.emp .leaflet-control-zoom a{background:#141416!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important}
.emp .leaflet-control-zoom a:hover{background:#c9a875!important;color:#0a0a0a!important}
.emp .leaflet-control-attribution{background:rgba(10,10,10,.6)!important;color:rgba(255,255,255,.5)!important}
.emp .leaflet-control-attribution a{color:rgba(255,255,255,.5)!important}

/* list */
.emp-list__head{position:sticky;top:0;z-index:3;background:var(--emp-surface);padding:15px 18px 12px;border-bottom:1px solid var(--emp-line);display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.emp-list__head h2{font-family:var(--emp-serif);font-weight:500;font-size:19px;color:var(--emp-ink)}
.emp-list__head span{font-size:12px;color:var(--emp-muted);font-variant-numeric:tabular-nums}
.emp-cards{padding:10px}
.emp-empty{padding:44px 24px;text-align:center;color:var(--emp-muted);font-size:14px}
.emp-card{position:relative;width:100%;text-align:left;background:var(--emp-surface-2);border:1px solid var(--emp-line);border-radius:4px;padding:15px 16px;margin-bottom:9px;cursor:pointer;transition:border-color .16s,background .16s;font-family:inherit;color:var(--emp-text);display:block}
.emp-card:hover{border-color:var(--emp-line-2);background:var(--emp-surface-3)}
.emp-card.is-active{border-color:var(--emp-gold);background:var(--emp-surface-3)}
.emp-card.is-active::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;background:var(--emp-gold);border-radius:0 2px 2px 0}
.emp-card__top{display:flex;align-items:flex-start;gap:11px;margin-bottom:9px}
.emp-card__ic{width:32px;height:32px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05)}
.emp-card__ic svg{width:17px;height:17px}
.emp-card__ti{flex:1;min-width:0}
.emp-card__name{font-family:var(--emp-serif);font-size:19px;font-weight:500;color:var(--emp-ink);line-height:1.15}
.emp-card__cat{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;margin-top:3px}
.emp-price{color:var(--emp-gold);letter-spacing:.1em}
.emp-halal{display:inline-block;background:rgba(47,169,106,.15);color:#6fd39c;border:1px solid rgba(47,169,106,.4);border-radius:100px;padding:1px 7px;font-size:9.5px;letter-spacing:.06em;vertical-align:middle}
.emp-card__dist{flex-shrink:0;font-size:11px;color:var(--emp-muted);text-align:right;font-variant-numeric:tabular-nums;padding-top:3px;white-space:nowrap}
.emp-card__photo{width:100%;height:150px;object-fit:cover;border-radius:3px;margin-bottom:11px;border:1px solid var(--emp-line)}
.emp-card__tip{font-size:13.5px;color:var(--emp-text);line-height:1.55;margin-bottom:11px}
.emp-card__tip b{color:var(--emp-gold-2);font-weight:500;font-style:italic;font-family:var(--emp-serif);font-size:15px}
.emp-card__tip-text{display:block}
.emp-card__tip-text.is-clamped{display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.emp-card__more{display:none;margin-top:5px;padding:0;background:none;border:0;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:500;letter-spacing:.02em;color:var(--emp-gold)}
.emp-card__more.is-shown{display:inline-block}
.emp-card__more:hover{color:var(--emp-gold-2);text-decoration:underline;text-underline-offset:2px}
.emp-card__dishes{margin:0 0 11px}
.emp-dishes-h{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--emp-muted);margin-bottom:7px}
.emp-dishlist{display:flex;flex-wrap:wrap;gap:6px}
.emp-dish{display:inline-block;font-size:12px;color:var(--emp-text);background:rgba(255,255,255,.05);border:1px solid var(--emp-line);border-radius:100px;padding:3px 10px}
.emp-card__meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--emp-muted);margin-bottom:12px}
.emp-card__meta span{display:inline-flex;align-items:center;gap:5px}
.emp-card__meta svg{width:13px;height:13px;opacity:.7;flex-shrink:0}
.emp-card__actions{display:flex;gap:7px;flex-wrap:wrap}
.emp-act{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.02em;padding:7px 12px;border-radius:2px;border:1px solid var(--emp-line-2);color:var(--emp-text);transition:.15s;text-decoration:none}
.emp-act:hover{border-color:var(--emp-gold);color:var(--emp-ink);opacity:1}
.emp-act svg{width:14px;height:14px}
.emp-act--primary{background:var(--emp-gold);border-color:var(--emp-gold);color:#0a0a0a;font-weight:500}
.emp-act--primary:hover{background:var(--emp-gold-2);color:#0a0a0a}
.emp-act--lieferando{border-color:rgba(255,128,0,.55);color:#ff9a3d}
.emp-act--lieferando:hover{border-color:#ff8000;color:#ffb066;background:rgba(255,128,0,.10)}
.emp-act--ubereats{border-color:rgba(6,193,103,.55);color:#4fd18c}
.emp-act--ubereats:hover{border-color:#06c167;color:#7fe0ab;background:rgba(6,193,103,.10)}

@media (max-width:860px){
  .emp-app{flex-direction:column;height:auto}
  .emp-map{flex:none;height:46vh;min-height:320px}
  .emp-list{max-width:none;flex:none;border-left:0;border-top:1px solid var(--emp-line);max-height:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
