/* program-details.css - scoped under .program-page to avoid global collisions */

.program-page {
    font-family: system-ui, -apple-system, "Inter", "Helvetica Neue", Arial, sans-serif;
    color: #0b2f23; /* dark */
}

/* HERO */
.program-hero {
    background-size: cover;
    background-position: center center;
    height: 520px;
    position: relative;
    display: flex;
    align-items: flex-end;
}
.program-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5,28,20,0.10) 10%, rgba(3,18,14,0.65) 70%);
    z-index: 1;
}
.program-hero__content { position: relative; z-index: 2; padding-bottom: 36px; color: #fff; }
.program-hero__meta .badge-ghost {
    background: rgba(255,255,255,0.12);
    border-radius: 999px;
    padding: 6px 10px;
    margin-right: 6px;
    color: #fff;
    font-weight: 600;
    font-size: 0.85rem;
}
.program-hero__title {
    font-size: 2.1rem;
    line-height: 1.04;
    margin: 0;
    font-weight: 700;
    letter-spacing: -0.02em;
}
.program-hero__tagline {
    opacity: 0.92;
    margin-bottom: 0;
    margin-top: 8px;
}
.hero-pill {
    background: rgba(255,255,255,0.08);
    color: #fff;
    padding: 8px 12px;
    border-radius: 999px;
    font-weight: 600;
}
.btn-cta {
    background: #0f8c5a;
    border: 1px solid rgba(255,255,255,0.12);
    color: #fff;
}
.btn-ghost {
    background: transparent;
    border: 1px solid rgba(255,255,255,0.12);
    color: #fff;
}
.hero-right-small .hero-thumb {
    width: 120px;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.35);
}

/* MAIN layout */
.program-main { padding-top: 36px; padding-bottom: 80px; }
.card { border-radius: 12px; box-shadow: 0 8px 20px rgba(12, 40, 30, 0.06); border: none; }
.card .card-body { padding: 22px; }
.card-heading { margin: 0; font-size: 1.05rem; font-weight: 700; color: #0f8c5a; }

/* outcome badges */
.outcome-badge {
    background: #fff;
    border: 1px solid #e9efe9;
    padding: 10px 14px;
    border-radius: 999px;
    font-weight: 600;
    color: #0b2f23;
    box-shadow: 0 2px 8px rgba(13, 45, 33, 0.03);
}

/* small pills */
.pill {
    background: #f7fbf8;
    border: 1px solid #e6f3ea;
    color: #0e5b3f;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 0.85rem;
}

/* experts */
.expert-photo {
    width: 84px;
    height: 84px;
    object-fit: cover;
    border-radius: 10px;
    border: 3px solid rgba(15,140,90,0.06);
}

/* venue chips */
.venue-chip {
    background: rgba(15,140,90,0.06);
    color: #0d6b48;
    padding: 6px 10px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.9rem;
}

/* booking panel */
.booking-card { border-radius: 14px; padding: 0; overflow: hidden; }
.booking-card .card-body { padding: 18px; }
.package-compact { border: 1px solid #eef7f2; border-radius: 8px; padding: 10px; background: #fff; }
.package-compact.selected { border-color: #0f8c5a; box-shadow: 0 6px 18px rgba(15,140,90,0.06); }
.booking-card .btn { font-weight: 600; }

/* sticky mobile bottom */
.fixed-bottom-mobile {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #eef2ef;
    padding: 12px 16px;
    z-index: 2200;
}

/* subtle utility */
.text-success { color: #0f8c5a !important; }

/* small states */
.status-badge.approved { color: #0f8c5a; font-weight:700; }
.status-badge.in_review { color: #b47b00; font-weight:700; }
.status-badge.rejected { color: #c02a2a; font-weight:700; }

/* responsive tweaks */
@media (max-width: 991px) {
    .program-hero { height: 420px; }
    .hero-right-small { display:none; }
    .program-main { padding: 28px 16px; }
}

/* add in program-details.css or page styles */
.sold-out-badge { font-size: 0.75rem; padding: .35rem .5rem; }
.sold-note { font-size: 0.85rem; }

.package-card.border-success {
    box-shadow: 0 0 12px rgba(0, 128, 0, 0.25);
    border-width: 2px !important;
}
