/* Floating icon */
#floating-icon a.bg-orange { background: var(--uni-blue) !important; }

/* ── Page hero ── */
#page-hero {
    background: linear-gradient(140deg, var(--uni-blue) 0%, #4a0082 100%);
    padding: 140px 0 72px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
#page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('../../images/slider-images/photo-1656501383705-11211948e6e5.avif') center/cover no-repeat;
    opacity: .18;
}
#page-hero .inner { position: relative; z-index: 1; }
.page-hero-label { display:inline-block; background:rgba(255,255,255,.15); color:var(--uni-yellow); font-weight:700; font-size:.85rem; letter-spacing:.14em; text-transform:uppercase; padding:6px 18px; border-radius:20px; margin-bottom:20px; }
.page-hero-title { font-size:clamp(2rem,4.5vw,3.4rem); font-weight:900; color:#fff; font-family:var(--font-main); line-height:1.15; margin-bottom:16px; }
.page-hero-title span { color:var(--uni-yellow); }
.page-hero-desc { font-size:1.1rem; color:rgba(255,255,255,.82); max-width:540px; margin:0 auto; line-height:1.75; }

/* ── Filter bar ── */
#filter-bar { background:#fff; border-bottom:1px solid #eee; padding:20px 0; position:sticky; top:92px; z-index:100; }
.filter-pills { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.filter-pill { border:1.5px solid #dde; background:#fff; color:#555; font-size:.92rem; font-weight:600; font-family:var(--font-main); padding:8px 20px; border-radius:24px; cursor:pointer; transition:all .2s; }
.filter-pill:hover, .filter-pill.active { background:var(--uni-blue); border-color:var(--uni-blue); color:#fff; }

/* ── Fairs grid ── */
#section-fairs { padding:72px 0 88px; background:#f7f8fc; }
.fairs-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
@media(max-width:991px){ .fairs-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .fairs-grid{ grid-template-columns:1fr; } }

/* ── Fair card ── */
.fair-card { background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 4px 24px rgba(41,0,151,.08); display:flex; flex-direction:column; transition:transform .25s, box-shadow .25s; }
.fair-card:hover { transform:translateY(-6px); box-shadow:0 12px 40px rgba(41,0,151,.14); }
.fair-card-img { position:relative; }
.fair-card-img img { width:100%; height:210px; object-fit:cover; display:block; }
.fair-badge { position:absolute; top:14px; left:14px; font-size:.74rem; font-weight:800; padding:5px 13px; border-radius:7px; letter-spacing:.06em; text-transform:uppercase; }
.fair-badge-blue   { background:var(--uni-blue); color:#fff; }
.fair-badge-online { background:#0077c8; color:#fff; }
.fair-status { position:absolute; top:14px; right:14px; font-size:.74rem; font-weight:800; padding:5px 12px; border-radius:7px; }
.fair-status-open   { background:#e6f9ee; color:#1a7a3c; }
.fair-status-soon   { background:#fff8e1; color:#b07b00; }
.fair-card-body { padding:22px 22px 18px; flex:1; display:flex; flex-direction:column; }
.fair-meta { display:flex; flex-wrap:wrap; gap:12px; font-size:.88rem; color:#888; margin-bottom:14px; }
.fair-meta span { display:flex; align-items:center; gap:5px; }
.fair-meta i { color:var(--uni-blue); }
.fair-card-title { font-size:1.08rem; font-weight:800; color:#0d0028; font-family:var(--font-main); margin-bottom:8px; line-height:1.35; }
.fair-card-desc { font-size:.92rem; color:#888; line-height:1.65; margin-bottom:18px; flex:1; }
.fair-card-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:auto; border-top:1px solid #f0f0f5; padding-top:16px; }
.fair-link-detail { color:var(--uni-blue); font-weight:700; font-size:.95rem; text-decoration:none; display:flex; align-items:center; gap:5px; transition:gap .2s; }
.fair-link-detail:hover { gap:9px; color:var(--uni-blue); }
.fair-link-register { background:var(--uni-blue); color:#fff !important; font-weight:700; font-size:.92rem; padding:9px 18px; border-radius:8px; text-decoration:none; display:inline-flex; align-items:center; gap:6px; transition:opacity .2s; margin-left:auto; }
.fair-link-register:hover { opacity:.88; color:#fff !important; }

/* ── Responsive ── */

/* ── Tablet (≤ 991px) ── */
@media (max-width: 991px) {
  #page-hero { padding: 120px 0 56px; }
}

/* ── Mobile (≤ 767px) ── */
@media (max-width: 767px) {
  #page-hero { padding: 100px 0 48px; }
  .page-hero-title { font-size: 1.8rem; }
  #filter-bar { top: 60px; }
  #section-fairs { padding: 48px 0 56px; }
  .cta-band { padding: 48px 0 !important; }
}

/* ── Tiny phone (≤ 480px) ── */
@media (max-width: 480px) {
  #page-hero { padding: 80px 0 36px; }
  .page-hero-title { font-size: 1.6rem; }
  .cta-band { padding: 36px 0 !important; }
  #section-fairs { padding: 32px 0 40px; }
  .fair-card-body { padding: 16px 16px 14px; }
}
