/* Deals discovery — deal-specific pieces on top of the shared events.css shell. */
/* Every card is the same height: fixed media ratio plus clamped text rows. */
.dl-card{
  position:relative;display:flex;min-width:0;flex-direction:column;overflow:hidden;
  border:1px solid var(--ev-line);border-radius:18px;background:var(--ev-card);
  box-shadow:var(--ev-shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease
}
.dl-card:hover{transform:translateY(-3px);border-color:rgba(122,0,25,.2);box-shadow:var(--ev-shadow-lift)}
.dl-card:focus-within{border-color:rgba(122,0,25,.4)}
/* One full-card trigger, so a click anywhere opens the deal. */
.dl-card__open{position:absolute;inset:0;z-index:2;border:0;padding:0;background:transparent;cursor:pointer}
.dl-card__open:focus-visible{outline:2px solid var(--ev-maroon);outline-offset:-3px;border-radius:18px}
.dl-card__media{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;background:#f0e2c8}
.dl-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.dl-card:hover .dl-card__media img{transform:scale(1.03)}
.dl-card__fallback{
  display:flex;width:100%;height:100%;flex-direction:column;justify-content:flex-end;padding:12px;
  background:linear-gradient(150deg,#f6e6c6,#e7d2a4);color:#4a351a
}
.dl-card__fallback em{font-size:10px;font-style:normal;font-weight:900;letter-spacing:.09em;text-transform:uppercase;opacity:.72}
.dl-card__fallback strong{display:-webkit-box;overflow:hidden;margin-top:4px;max-width:14ch;font-size:16px;letter-spacing:-.04em;line-height:1.14;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.dl-card__flags{position:absolute;left:11px;top:11px;display:flex;flex-wrap:wrap;gap:6px}
.dl-flag{display:inline-flex;align-items:center;min-height:21px;padding:0 8px;border-radius:999px;background:rgba(24,17,11,.72);color:#fff;font-size:10px;font-weight:900;backdrop-filter:blur(4px)}
.dl-flag--off{background:var(--ev-gold);color:#442c00}
.dl-flag--members{background:rgba(122,0,25,.92)}

.dl-card__body{display:flex;min-width:0;flex:1;flex-direction:column;padding:11px 13px 12px}
.dl-card__biz{display:flex;align-items:center;gap:6px;min-width:0;margin:0;color:var(--ev-muted);font-size:10.5px;font-weight:800}
.dl-card__biz b{overflow:hidden;color:var(--ev-ink);text-overflow:ellipsis;white-space:nowrap}
.dl-card__biz>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dl-card__title{
  display:-webkit-box;min-height:2.36em;overflow:hidden;margin-top:6px;font-size:14.5px;font-weight:800;
  letter-spacing:-.035em;line-height:1.18;-webkit-box-orient:vertical;-webkit-line-clamp:2
}
.dl-card__line{
  display:-webkit-box;min-height:1.5em;overflow:hidden;margin-top:5px;color:var(--ev-muted);font-size:11.5px;
  line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:1
}

/* Shared bits used inside the dialog. */
.dl-card__benefit{
  display:flex;align-items:center;gap:8px;margin:11px 0 0;padding:9px 11px;border:1px dashed rgba(122,0,25,.24);
  border-radius:10px;background:#fff7e8;color:var(--ev-maroon);font-size:12.5px;font-weight:850;line-height:1.4
}
.dl-card__facts{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0 0;color:var(--ev-soft);font-size:11.5px;font-weight:750}
/* Direct children only — nested count spans were sprouting their own separators. */
.dl-card__facts>span::after{margin-left:6px;content:"·"}
.dl-card__facts>span:last-of-type::after{content:""}
.dl-card__facts a{color:var(--ev-maroon);font-weight:850}
.dl-card__member{margin:10px 0 0;color:var(--ev-maroon);font-size:12px;font-weight:850}
.dl-card__member.is-eligible{color:var(--ev-green)}
/* One upvote, nothing else — it sits above the card's full-size trigger. */
.dl-upvote{
  position:absolute;z-index:3;right:9px;top:calc(56.25% - 37px);display:inline-flex;align-items:center;gap:4px;min-height:28px;
  padding:0 10px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,253,249,.94);
  color:var(--ev-muted);font:inherit;font-size:11.5px;font-weight:900;cursor:pointer;
  box-shadow:0 5px 12px rgba(20,12,5,.14);transition:background .16s ease,color .16s ease,transform .16s ease
}
.dl-upvote:hover{color:var(--ev-maroon);transform:translateY(-1px)}
.dl-upvote.active{background:var(--ev-maroon);color:#fff;border-color:var(--ev-maroon)}
.dl-upvote.is-static{cursor:default;box-shadow:none}
.dl-dialog__actions .dl-upvote{position:static;box-shadow:none;border-color:var(--ev-line-strong);min-height:34px}
.usage-button{
  min-height:34px;padding:0 12px;border:1px solid var(--ev-line-strong);border-radius:999px;background:#fff;
  color:var(--ev-ink);font:inherit;font-size:12px;font-weight:850;cursor:pointer;
  transition:border-color .16s ease,background .16s ease,color .16s ease
}
.usage-button:hover{border-color:rgba(122,0,25,.28);color:var(--ev-maroon)}
.usage-button.active{border-color:rgba(32,115,86,.28);background:var(--ev-green-soft);color:var(--ev-green)}
.vote-link{color:var(--ev-maroon);font-size:12px;font-weight:850}
[data-role="async-status"]{margin:10px 0 0;color:var(--ev-green);font-size:11.5px;font-weight:800}
[data-role="async-status"]:empty{display:none}

/* Details dialog */
.dl-dialog{
  width:min(760px,calc(100vw - 32px));max-width:none;max-height:min(86vh,860px);padding:0;overflow:hidden;
  border:0;border-radius:20px;background:var(--ev-card);box-shadow:0 40px 90px rgba(28,16,4,.4)
}
.dl-dialog::backdrop{background:rgba(28,18,8,.55)}
.dl-dialog__media{position:relative;aspect-ratio:16/7;background:#f0e2c8}
.dl-dialog__media img{display:block;width:100%;height:100%;object-fit:cover}
.dl-dialog__close{
  position:absolute;top:12px;right:12px;display:grid;width:34px;height:34px;place-items:center;border:0;
  border-radius:50%;background:rgba(255,253,249,.94);color:#4a3a2c;font-size:20px;line-height:1;cursor:pointer
}
.dl-dialog__close:hover{background:#fff;color:var(--ev-maroon)}
.dl-dialog__body{max-height:calc(86vh - 220px);overflow-y:auto;padding:18px 20px 20px}
.dl-dialog__body h3{margin:8px 0 0;font-size:22px;letter-spacing:-.04em;line-height:1.16}
.dl-dialog__copy{margin:10px 0 0;color:var(--ev-muted);font-size:13.5px;line-height:1.6}
.dl-dialog__terms{margin:8px 0 0;color:var(--ev-soft);font-size:12px;line-height:1.55}
.dl-dialog__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--ev-line)}
.dl-dialog__actions .dl-card__cta{margin-left:auto}



/* Smaller tiles: more deals per row now that each one is a summary. */
#deals-feed.ev-grid{grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:14px}
@media(max-width:620px){#deals-feed.ev-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media(max-width:380px){#deals-feed.ev-grid{grid-template-columns:1fr}}

@media(max-width:620px){
  /* The search field takes its own row; the secondary button follows. */
  .ev-toolbar{flex-wrap:wrap}
  .ev-searchbar{flex:1 1 100%}
  .ev-toolbar>.ev-btn{flex:1}
  .dl-card__fallback{padding:11px}
  .dl-card__fallback strong{font-size:14px}
  .dl-dialog{width:100vw;max-height:92vh;border-radius:18px 18px 0 0}
  .dl-dialog__media{aspect-ratio:16/9}
  .dl-dialog__body{max-height:calc(92vh - 200px);padding:16px}
  .dl-dialog__actions .dl-card__cta{flex:1 1 100%;margin-left:0;order:3;min-height:40px}
}
