.fair-pro-page { background: #f5f7f8; }
    .fair-hero-card, .fair-pro-card, .fair-mini-card {
        background: #ffffff;
        border: 1px solid rgba(15, 23, 42, .08);
        border-radius: 18px;
        box-shadow: 0 10px 30px rgba(15, 23, 42, .07);
    }
    .fair-hero-card { position: relative; overflow: hidden; }
    .fair-hero-card img, .fair-hero-card .carousel-item img { height: 420px; object-fit: cover; }
    .fair-hero-status {
        position: absolute; top: 18px; left: 18px; display: inline-flex; align-items: center; gap: 7px;
        padding: 8px 12px; color: #ffffff; background: #168954; border-radius: 999px;
        font-weight: 700; font-size: .85rem; box-shadow: 0 10px 20px rgba(0, 0, 0, .18);
    }
    .fair-type-badge { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: #168954; color: #ffffff; font-size: .78rem; font-weight: 700; margin-bottom: 12px; }
    .fair-title-block h1 { margin: 0 0 10px; color: #0f172a; font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; letter-spacing: -.04em; }
    .fair-title-block p { margin: 0; color: #64748b; font-size: 1.05rem; line-height: 1.65; }
    .fair-highlight-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
    .fair-mini-card { display: flex; align-items: center; gap: 12px; padding: 18px; }
    .fair-mini-card span { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 14px; background: #ecfdf5; color: #168954; font-size: 1.45rem; flex: 0 0 auto; }
    .fair-mini-card small { display: block; color: #64748b; font-weight: 600; }
    .fair-mini-card strong { display: block; color: #0f172a; font-size: .95rem; }
    .fair-section-card, .fair-sidebar-card { padding: 24px; }
    .fair-section-heading, .fair-sidebar-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
    .fair-section-heading span, .fair-sidebar-heading span { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 14px; color: #ffffff; background: #168954; font-size: 1.15rem; flex: 0 0 auto; }
    .fair-section-heading h2, .fair-sidebar-heading h5 { margin: 0; color: #0f172a; font-weight: 800; }
    .fair-section-heading p { margin: 2px 0 0; color: #64748b; font-size: .92rem; }
    .fair-description { line-height: 1.75; }
    .fair-description ul { margin-bottom: 0; }
    .fair-sidebar-sticky { position: sticky; top: 92px; }
    .fair-heading-blue span { background: #2563eb; }
    .fair-heading-purple span { background: #7c3aed; }
    .fair-heading-orange span { background: #f59e0b; }
    .fair-info-row { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
    .fair-info-row > i { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; color: #168954; background: #ecfdf5; flex: 0 0 auto; }
    .fair-info-row strong { display: block; color: #0f172a; font-size: .9rem; margin-bottom: 2px; }
    .fair-info-row p, .fair-schedule-box, .fair-report-card p { margin: 0; color: #64748b; line-height: 1.55; }
    .fair-info-row a { color: #0f766e; text-decoration: none; font-weight: 700; }
    .fair-schedule-box { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 14px; padding: 14px 16px; color: #64748b; line-height: 1.55; }
    .fair-map-placeholder { min-height: 128px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; margin-bottom: 16px; border-radius: 16px; background: linear-gradient(135deg, #ecfdf5, #f8fafc); border: 1px dashed #86efac; color: #0f766e; text-align: center; font-weight: 800; }
    .fair-map-placeholder i { font-size: 2rem; }
    .fair-map-empty { color: #64748b; border-color: #cbd5e1; background: #f8fafc; }
    .location-disclaimer { font-size: .84rem; line-height: 1.45; color: #64748b; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 14px; padding: 10px 12px; }
    .location-disclaimer i { color: #047857; }
    .fair-report-card { background: linear-gradient(180deg, #ffffff, #fffbeb); }
    .fair-events-list { display: grid; gap: 12px; }
    .fair-event-row { display: flex; align-items: center; gap: 14px; padding: 16px; border: 1px solid #e2e8f0; border-radius: 16px; background: #f8fafc; color: #0f172a; text-decoration: none; transition: .18s ease; }
    .fair-event-row:hover { border-color: #86efac; background: #ecfdf5; color: #065f46; transform: translateY(-1px); }
    .fair-event-row span { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 14px; background: #168954; color: #ffffff; flex: 0 0 auto; }
    .fair-event-row div { flex: 1; }
    .fair-event-row strong, .fair-event-row small { display: block; }
    .fair-event-row small { color: #64748b; margin-top: 2px; }
    .fair-event-row > i { font-size: 1.4rem; }
    .fair-empty-box { padding: 18px; border-radius: 16px; background: #f8fafc; border: 1px dashed #cbd5e1; color: #64748b; }


    @media (min-width: 992px) {
        .fair-detail-desktop-fullwidth {
            width: 100%;
            max-width: none;
        }
        .fair-detail-desktop-fullwidth .fair-detail-main-col {
            flex: 0 0 74%;
            max-width: 74%;
        }
        .fair-detail-desktop-fullwidth .fair-detail-side-col {
            flex: 0 0 26%;
            max-width: 26%;
        }
    }
    @media (min-width: 1400px) {
        .fair-detail-desktop-fullwidth {
            padding-left: 56px !important;
            padding-right: 56px !important;
        }
        .fair-detail-desktop-fullwidth .row {
            --bs-gutter-x: 2.25rem;
        }
    }
    @media (max-width: 991.98px) {
        .fair-detail-desktop-fullwidth {
            max-width: 720px;
            margin-left: auto;
            margin-right: auto;
        }
    }
    .fair-highlight-grid .fair-mini-card:nth-child(1) span { background: #ecfdf5; color: #168954; }
    .fair-highlight-grid .fair-mini-card:nth-child(2) span { background: #eff6ff; color: #2563eb; }
    .fair-highlight-grid .fair-mini-card:nth-child(3) span { background: #f5f3ff; color: #7c3aed; }
    .fair-highlight-grid .fair-mini-card:nth-child(4) span { background: #fff7ed; color: #ea580c; }
    .fair-sidebar-card .fair-info-row:nth-of-type(1) > i { background: #ecfdf5; color: #168954; }
    .fair-sidebar-card .fair-info-row:nth-of-type(2) > i { background: #eff6ff; color: #2563eb; }
    .fair-sidebar-card .fair-info-row:nth-of-type(3) > i { background: #f5f3ff; color: #7c3aed; }

    @media (max-width: 991.98px) { .fair-sidebar-sticky { position: static; } .fair-highlight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
    @media (max-width: 575.98px) { .fair-highlight-grid { grid-template-columns: 1fr; } .fair-hero-card img, .fair-hero-card .carousel-item img { height: 280px; } }
