/* Entertainment surfaces, scoped so other ItalyLions pages retain their theme. */
.ent-page {
  --ent-gold:var(--cr-gold,#d4af37); --ent-ink:#f4f1e8;
  --ent-muted:#b8b3a6; --ent-line:rgba(230,206,116,.18);
  --ent-bg:#0b0c10; --ent-surface:#15171d; --ent-raised:#20232b;
  color-scheme:dark; background:var(--ent-bg); color:var(--ent-ink);
}
.ent-page .ent-body {background:var(--ent-bg);padding-bottom:calc(100px + env(safe-area-inset-bottom));min-height:55vh}
.ent-page :is(.ent-results,.ent-cat,.ent-card,.ent-sheet-in,.ent-empty,.ent-profile) {background:var(--ent-surface)!important;color:var(--ent-ink);border-color:var(--ent-line)}
.ent-page :is(.ent-rgroup,.ent-chip,.ent-cityinput,.ent-filters input,.ent-filters select,.ent-form input,.ent-form select,.ent-form textarea) {background:var(--ent-raised);color:var(--ent-ink);border:1px solid var(--ent-line)}
.ent-page :is(.ent-ritem:hover,.ent-chip:hover,.ent-cat:hover) {background:#29281f;color:#fff}
.ent-page .ent-badge.verified {color:#85e7a9;background:#133324}
.ent-page .ent-badge.community {color:#e6ce74;background:#342d16}
.ent-page .ent-skel {background:linear-gradient(90deg,#171921 25%,#292c35 50%,#171921 75%);background-size:200% 100%}
.ent-page .ent-sgo {text-decoration:none;display:inline-flex;align-items:center;justify-content:center;color:#14140f}
.ent-page :is(.ent-chip,.ent-placebtn,.ent-sgo) {min-height:44px;text-decoration:none;max-width:100%;white-space:normal}
.ent-page :is(button,a,input,select,textarea):focus-visible {outline:2px solid var(--ent-gold);outline-offset:3px}
.ent-page .ent-link {color:var(--ent-gold);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ent-page .ent-sheet {z-index:1200}
.ent-page .ent-sheet-in {padding-bottom:calc(20px + env(safe-area-inset-bottom))}
.ent-page .ent-profile {border:1px solid var(--ent-line);border-radius:16px;padding:24px;margin-top:20px;overflow-wrap:anywhere}
.ent-page .ent-profile h2 {font-size:clamp(1.4rem,5vw,2rem);margin:0 0 8px}
.ent-page .ent-profile-head {display:flex;align-items:center;gap:20px;min-width:0}
.ent-page .ent-profile-photo {width:100px;height:100px;border-radius:18px;object-fit:cover}
.ent-page .ent-profile-cover {width:100%;max-height:340px;object-fit:cover;border-radius:12px;margin-bottom:24px}
.ent-page .ent-photos {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}
.ent-page .ent-photos img {width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.ent-page .ent-profile-icon {font-size:3rem}
.ent-page .ent-profile-bio {white-space:pre-line;line-height:1.7}
.ent-page .ent-event-row {display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;color:var(--ent-ink);text-decoration:none;border-bottom:1px solid var(--ent-line);padding:16px 0}
.ent-actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ent-filters {display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:20px 0}
.ent-filters label {display:grid;gap:5px;font-size:.8rem;flex:1 1 130px;min-width:0}
.ent-filters label:first-child {display:flex;align-items:center}
.ent-filters :is(input:not([type=checkbox]),select) {padding:10px;border-radius:10px;width:100%;min-width:0}
.ent-page .ent-form {display:grid;gap:16px;max-width:650px}
.ent-page .ent-form label {display:grid;gap:6px}
.ent-page .ent-form :is(input,textarea,select) {padding:12px;border-radius:10px;width:100%;font:inherit}
.ent-page .ent-card-n,.ent-page .ent-rt {overflow-wrap:anywhere}
.ent-page .ent-sec-head {flex-wrap:wrap}
.ent-page #entSections {scroll-margin-top:calc(var(--nav-h,70px) + 16px)}
.ent-page .ent-grid {grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.ent-page .ent-card-photo {overflow:hidden}
.ent-page .ent-card-photo img {max-height:240px}
.ent-editor {display:grid;gap:14px;margin:20px 0;border:1px solid rgba(201,162,39,.3);border-radius:14px;padding:18px;min-width:0}
.ent-editor legend {font-weight:700;padding:0 8px}
.ent-editor p {font-size:.85rem;line-height:1.6;margin:0}
.ent-editor label {display:flex;flex-direction:column;gap:6px}
.ent-editor label:has([type=checkbox]) {flex-direction:row;align-items:center}
.ent-editor input[type=checkbox] {width:18px!important;height:18px;flex:0 0 auto}
.ent-editor :is(select,input:not([type=checkbox])) {width:100%;min-width:0;padding:10px;border-radius:8px;font:inherit}
.ent-editor-categories {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px;padding-top:12px}
.ent-event-links {display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:560px){
  .ent-page .ent-profile{padding:18px}
  .ent-page .ent-profile-head{align-items:flex-start;flex-direction:column}
  .ent-page .ent-actions>*{flex:1 1 180px;text-align:center}
  .ent-page .ent-filters label{flex-basis:130px}
}
@media(prefers-reduced-motion:reduce){.ent-page .ent-skel{animation:none}.ent-page *{scroll-behavior:auto!important;transition:none!important}}

/* ══ TWO ACTIONS PER CATEGORY ═══════════════════════════════════
   A rail card used to be one <a>. It is now a card with a Find link
   and a Register link, because a category rail that only answers
   "who is here" silently drops the half of the audience that came to
   BE listed. The wrapper keeps the card's old look; nesting a second
   anchor inside the first would have been invalid HTML and would have
   made the whole card un-clickable in some browsers. */
.ent-page .ent-cat-two { display: flex; flex-direction: column; gap: 0; padding: 0; overflow: hidden; }
.ent-page .ent-cat-find {
  display: grid; gap: 6px; justify-items: center; text-align: center;
  padding: 16px 14px 12px; color: var(--ent-ink); text-decoration: none;
}
.ent-page .ent-cat-join {
  display: block; text-align: center; padding: 10px 12px;
  font-size: .72rem; font-weight: 700; text-decoration: none;
  color: var(--ent-gold); border-top: 1px solid var(--ent-line);
  background: rgba(230, 206, 116, .06);
  /* 44px of tappable height even though the text is small — this sits
     directly under another link, and a thumb that misses opens the
     wrong one. */
  min-height: 44px; display: flex; align-items: center; justify-content: center;
}
.ent-page .ent-cat-join:hover { background: rgba(230, 206, 116, .14); color: #fff; }
