#floating-icon a.bg-orange { background: var(--uni-purple) !important; }

/* ── Banner ── */
#fair-banner { margin-top:0; position:relative; height:420px; overflow:hidden; }
#fair-banner img { width:100%; height:100%; object-fit:cover; object-position:center 40%; display:block; }
#fair-banner .banner-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(41,0,100,.72) 100%); }
#fair-banner .banner-content { position:absolute; bottom:0; left:0; right:0; padding:36px 0 40px; }
.fair-crumb { font-size:.88rem; color:rgba(255,255,255,.65); margin-bottom:12px; display:flex; align-items:center; gap:6px; }
.fair-crumb a { color:rgba(255,255,255,.65); text-decoration:none; }
.fair-crumb a:hover { color:#fff; }
.fair-crumb-sep { opacity:.5; }
.fair-banner-tag { display:inline-block; background:var(--uni-purple); color:#fff; font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:4px 14px; border-radius:7px; margin-bottom:12px; }
.fair-banner-title { font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:900; color:var(--uni-yellow) !important; font-family:var(--font-main); margin:0 0 12px; line-height:1.2; }
.fair-banner-meta { display:flex; flex-wrap:wrap; gap:18px; font-size:.95rem; color:rgba(255,255,255,.82); }
.fair-banner-meta span { display:flex; align-items:center; gap:6px; }
.fair-banner-meta i { color:var(--uni-yellow); }
.fair-status-badge { font-size:.78rem; font-weight:800; background:#e6f9ee; color:#1a7a3c; padding:4px 14px; border-radius:7px; align-self:center; }

/* ── Content layout ── */
#section-detail { padding:64px 0 88px; background:#f9f7fe; }

/* Content card */
.content-card { background:#fff; border-radius:18px; padding:36px; box-shadow:0 2px 20px rgba(142,69,245,.07); margin-bottom:28px; }
.content-card h2 { font-size:1.45rem; font-weight:900; color:#0d0028; font-family:var(--font-main); margin-bottom:16px; padding-bottom:14px; border-bottom:2px solid #f0edf9; }
.content-card p { font-size:1rem; color:#555; line-height:1.85; margin-bottom:16px; }
.content-card p:last-child { margin-bottom:0; }

/* Event info list */
.info-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:14px; }
.info-list li { display:flex; align-items:flex-start; gap:14px; }
.info-icon { width:42px; height:42px; border-radius:10px; background:var(--exhibitor-bg); color:var(--uni-purple); display:flex; align-items:center; justify-content:center; font-size:1.05rem; flex-shrink:0; }
.info-text { flex:1; }
.info-text strong { display:block; font-size:.82rem; font-weight:700; color:#999; text-transform:uppercase; letter-spacing:.08em; margin-bottom:3px; }
.info-text span { font-size:1rem; font-weight:700; color:#0d0028; font-family:var(--font-main); }

/* Timeline */
.schedule-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:0; }
.schedule-item { display:flex; gap:16px; padding-bottom:20px; position:relative; }
.schedule-item:not(:last-child)::before { content:''; position:absolute; left:19px; top:38px; bottom:0; width:2px; background:#f0edf9; }
.sch-time { width:38px; flex-shrink:0; text-align:right; font-size:.85rem; font-weight:700; color:var(--uni-purple); padding-top:10px; }
.sch-dot { width:12px; height:12px; border-radius:50%; background:var(--uni-purple); margin-top:13px; flex-shrink:0; border:2px solid #fff; box-shadow:0 0 0 3px rgba(142,69,245,.2); }
.sch-body { flex:1; background:#f9f7fe; border-radius:12px; padding:12px 16px; }
.sch-body strong { display:block; font-size:.97rem; font-weight:800; color:#0d0028; font-family:var(--font-main); }
.sch-body span { font-size:.86rem; color:#888; }

/* Sidebar CTA */
.sidebar-cta { background:var(--uni-purple); border-radius:18px; padding:32px 28px; text-align:center; margin-bottom:24px; }
.sidebar-cta h3 { font-size:1.2rem; font-weight:900; color:#fff; font-family:var(--font-main); margin-bottom:10px; }
.sidebar-cta p { font-size:.92rem; color:rgba(255,255,255,.8); line-height:1.65; margin-bottom:22px; }
.btn-cta-sidebar { display:block; background:var(--uni-yellow); color:var(--uni-purple) !important; font-weight:800; font-size:1rem; padding:13px 20px; border-radius:10px; text-decoration:none; font-family:var(--font-main); transition:opacity .2s; }
.btn-cta-sidebar:hover { opacity:.88; }
.sidebar-cta-note { font-size:.8rem; color:rgba(255,255,255,.55); margin-top:12px; }

/* Quick facts */
.quick-facts { background:#fff; border-radius:18px; padding:26px; box-shadow:0 2px 20px rgba(142,69,245,.07); margin-bottom:24px; }
.quick-facts h4 { font-size:1rem; font-weight:800; color:#0d0028; font-family:var(--font-main); margin-bottom:16px; }
.qf-row { display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid #f0edf9; font-size:.93rem; }
.qf-row:last-child { border-bottom:none; }
.qf-label { color:#888; font-weight:600; }
.qf-value { color:#0d0028; font-weight:800; font-family:var(--font-main); }
.qf-badge { font-size:.75rem; font-weight:800; background:#e6f9ee; color:#1a7a3c; padding:3px 10px; border-radius:6px; }

/* Other fairs */
.other-fair { display:flex; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid #f0edf9; text-decoration:none; }
.other-fair:last-child { border-bottom:none; }
.other-fair img { width:60px; height:45px; object-fit:cover; border-radius:8px; flex-shrink:0; }
.other-fair-info strong { display:block; font-size:.9rem; font-weight:800; color:#0d0028; font-family:var(--font-main); line-height:1.3; }
.other-fair-info span { font-size:.8rem; color:#888; }
.other-fair:hover strong { color:var(--uni-purple); }

/* ── Responsive ── */
@media (max-width: 991px) {
    #fair-banner { height: 340px; }
    .fair-banner-meta { gap: 12px; font-size: .88rem; }
    #section-detail { padding: 48px 0 64px; }
}

@media (max-width: 767px) {
    #fair-banner { height: 280px; }
    .fair-banner-title { font-size: 1.45rem; }
    .fair-banner-meta { flex-direction: column; gap: 6px; font-size: .84rem; }
    .fair-banner-meta .fair-status-badge { align-self: flex-start; }
    .content-card { padding: 22px; }
    #section-detail { padding: 36px 0 48px; }
    .detail-sidebar { margin-top: 32px; }
    .sidebar-cta { padding: 24px 20px; }
    .quick-facts { padding: 20px; }
    .sch-time { width: 32px; font-size: .78rem; }
    .fair-crumb { font-size: .8rem; }
}

@media (max-width: 480px) {
    #fair-banner { height: 220px; }
    .fair-banner-title { font-size: 1.2rem; }
    #section-detail { padding: 28px 0 36px; }
    .content-card { padding: 16px; }
    .content-card h2 { font-size: 1.2rem; }
}
