/* ── Entertainment Detail Page ──────────────────────────────────────────────── */
body,p,li,td{font-family:'Roboto',sans-serif;}
.ent-page-title{background:url('../images/entertainment-hero.jpg') center center/cover no-repeat;padding:40px 0 28px;position:relative;}
.ent-page-title::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,10,46,.82) 0%,rgba(26,10,46,.65) 100%);z-index:0;}
.ent-page-title .container{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;}
.ent-detail-breadcrumb{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:rgba(255,255,255,0.6);margin-bottom:12px;}
.ent-detail-breadcrumb a{color:rgba(255,255,255,0.7);text-decoration:none;font-weight:500;}
.ent-detail-breadcrumb a:hover{color:#fff;}
.ent-detail-breadcrumb .bc-sep{color:rgba(255,255,255,0.3);font-size:16px;}
.ent-detail-title{font-family:'Roboto',sans-serif;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;color:#fff;line-height:1.2;}
.ent-detail-cats{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.ent-cat-tag{font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px;white-space:nowrap;}
.ent-cat-tag.live-music{background:rgba(108,99,255,0.25);color:#c4bfff;border:1px solid rgba(108,99,255,0.4);}
.ent-cat-tag.dj{background:rgba(8,145,178,0.25);color:#7dd3fc;border:1px solid rgba(8,145,178,0.4);}
.ent-cat-tag.performers{background:rgba(233,30,140,0.25);color:#f9a8d4;border:1px solid rgba(233,30,140,0.4);}
.ent-cat-tag.specialty-acts{background:rgba(194,65,12,0.25);color:#fdba74;border:1px solid rgba(194,65,12,0.4);}
.ent-cat-tag.experiences{background:rgba(21,128,61,0.25);color:#86efac;border:1px solid rgba(21,128,61,0.4);}
.ent-cat-tag.speakers-hosts{background:rgba(124,58,237,0.25);color:#c4b5fd;border:1px solid rgba(124,58,237,0.4);}
.ent-subcat-tag{font-size:12px;font-weight:500;padding:4px 10px;border-radius:20px;background:rgba(255,255,255,0.12);color:rgba(255,255,255,0.75);border:1px solid rgba(255,255,255,0.2);}
/* ── Airbnb-style photo grid (matches venue-detail) ── */
/* 1 big left + 2 stacked right (3 photos total) */
.vd-photo-grid{position:relative;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto auto;gap:6px;border-radius:14px;overflow:hidden;margin-bottom:24px;}
.vd-photo-main{grid-column:1;grid-row:1/3;cursor:pointer;overflow:hidden;background:#1a1a2e;position:relative;}
.vd-photo-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.3s ease;}
.vd-photo-main:hover img{transform:scale(1.03);}
.vd-photo-thumbs{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:6px;}
.vd-photo-thumb{position:relative;cursor:pointer;overflow:hidden;background:#1a1a2e;aspect-ratio:3/2;}
.vd-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.3s ease;}
.vd-photo-thumb:hover img{transform:scale(1.05);}
.vd-photo-more-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.35);display:flex;align-items:flex-end;justify-content:flex-end;padding:10px;pointer-events:none;}
.vd-photo-show-all-btn{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.92);border:1.5px solid #1a1a2e;border-radius:8px;padding:7px 13px;font-size:12px;font-weight:700;color:#1a1a2e;font-family:'Roboto',sans-serif;white-space:nowrap;pointer-events:auto;cursor:pointer;}
.vd-photo-mobile-btn{display:none;position:absolute;bottom:14px;right:14px;background:rgba(255,255,255,0.92);border:1.5px solid #1a1a2e;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:700;color:#1a1a2e;cursor:pointer;align-items:center;gap:6px;font-family:'Roboto',sans-serif;box-shadow:0 2px 8px rgba(0,0,0,0.12);}
/* Photo lightbox */
.vd-lightbox-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:9999;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;}
.vd-lightbox-overlay.open{display:flex;}
.vd-lightbox-modal{background:#fff;border-radius:20px;width:100%;max-width:960px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,0.35);position:relative;}
.vd-lightbox-modal::after{content:'';display:block;height:16px;background:#fff;flex-shrink:0;border-radius:0 0 20px 20px;}
.vd-lightbox-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 14px;flex-shrink:0;background:#fff;border-radius:20px 20px 0 0;}
.vd-lightbox-title{font-family:'Roboto',sans-serif;font-size:15px;font-weight:700;color:#1a1a2e;}
.vd-lightbox-close{background:#f3f4f6;border:none;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#374151;cursor:pointer;transition:background 0.2s;line-height:1;}
.vd-lightbox-close:hover{background:#e5e7eb;}
.vd-lightbox-featured{position:relative;flex:0 0 auto;height:520px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.vd-lightbox-featured img{width:100%;height:100%;object-fit:contain;display:block;}
.vd-lightbox-prev,.vd-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#e5e7eb;border:1px solid #d1d5db;color:#374151;font-size:26px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;line-height:1;z-index:2;}
.vd-lightbox-prev{left:12px;}
.vd-lightbox-next{right:12px;}
.vd-lightbox-prev:hover,.vd-lightbox-next:hover{background:#d1d5db;}
.vd-lightbox-counter{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:rgba(26,26,46,0.75);color:#fff;font-size:12px;font-family:'Roboto',sans-serif;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap;}
/* Responsive */
@media(max-width:991px){.vd-photo-grid{grid-template-columns:1fr;}.vd-photo-thumbs{display:none;}.vd-photo-main{grid-row:1;aspect-ratio:3/2;}.vd-photo-mobile-btn{display:flex;}}
@media(max-width:768px){.vd-lightbox-featured{height:260px;}.vd-lightbox-modal{border-radius:14px;max-height:95vh;}.vd-lightbox-prev,.vd-lightbox-next{width:40px;height:40px;font-size:24px;}}
/* Body */
.ent-detail-body{padding:48px 0 60px;background:#fff;}
.ent-detail-grid{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start;}
.ent-detail-main{}
.ent-detail-sidebar{}
.ent-section-title{font-family:'Roboto',sans-serif;font-size:1.1rem;font-weight:700;color:#1a1a2e;margin-bottom:16px;margin-top:28px;padding-bottom:10px;border-bottom:1px solid #f3f4f6;}
.ent-description{font-size:15px;color:#374151!important;line-height:1.8;margin-bottom:32px;}
/* Legacy single-video wrap (kept for compat) */
.ent-video-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:12px;margin-bottom:16px;background:#0d0d0d;}
.ent-video-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;}

/* ── Performances & Media card grid ── */
.ent-media-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
    margin-bottom:32px;
}

/* Each card wrapper */
.ent-media-item{
    background:#fff;
    border:1px solid #e5e7ef;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 2px 12px rgba(0,0,0,0.07);
    transition:box-shadow 0.2s,transform 0.2s;
}
.ent-media-item:hover{box-shadow:0 8px 30px rgba(0,0,0,0.13);transform:translateY(-2px);}

/* Video card — 16:9 responsive */
.ent-media-video{position:relative;padding-bottom:56.25%;height:0;}
.ent-media-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;display:block;}

/* Audio card (SoundCloud / Spotify track) */
.ent-media-audio iframe{display:block;width:100%;height:166px;border:none;}

/* Tall audio card (Spotify playlist/album/show) — span both columns */
.ent-media-tall{grid-column:1/-1;}
.ent-media-tall.ent-media-audio iframe{height:380px;}

/* Single item: full width */
.ent-media-grid:has(.ent-media-item:only-child){grid-template-columns:1fr;}

@media(max-width:700px){.ent-media-grid{grid-template-columns:1fr;}}
/* Sidebar */
.ent-sidebar-card{background:#fff;border:1px solid #e5e7ef;border-radius:16px;padding:24px;margin-bottom:0;margin-top:0;}
.ent-sidebar-card h3{font-family:'Roboto',sans-serif;font-size:1rem;font-weight:700;color:#1a1a2e;margin-bottom:16px;}
.ent-detail-row{padding:9px 0;border-bottom:1px solid #f3f4f6;font-size:14px;}
.ent-detail-row:last-child{border-bottom:none;}
.ent-detail-row-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:#9ca3af;display:block;margin-bottom:2px;}
.ent-detail-row-value{color:#1a1a2e;font-weight:500;}
.ent-detail-row a{color:#e91e8c;text-decoration:none;}
.ent-detail-row a:hover{text-decoration:underline;}
.ent-cta-btn{display:inline-block;background:#e91e8c;color:#fff!important;padding:13px 28px;border-radius:10px;font-size:14px;font-weight:700;text-decoration:none!important;transition:background 0.2s;font-family:'Roboto',sans-serif;}
.ent-cta-btn:hover{background:#c2177a;color:#fff!important;text-decoration:none!important;}
.ent-back-link{display:none;}
.ent-featured-pill{display:inline-flex;align-items:center;gap:5px;color:#d97706;font-size:12px;font-weight:700;padding:2px 0;}
@media(max-width:768px){
.ent-detail-grid{grid-template-columns:1fr;}
.ent-detail-sidebar{order:2;}
.ent-detail-main{order:1;}
.ent-gallery{max-width:100%;}
}
