/* SERBUNIB Kegiatan V15 — scoped improvements. No global navbar/menu/chart recoloring. */
:root{--k15-navy:#123f6c;--k15-primary:#1768ab;--k15-border:rgba(26,91,142,.16)}
/* Home filter spacing from sticky/fixed navigation. Only when the page contains the filter. */
body:has(#filterForm) .main{padding-top:4rem!important;margin-top:1.4rem!important}
body:has(#filterForm) #filterForm{row-gap:.9rem}
body:has(#filterForm) #filterForm .form-select{min-height:43px;border-radius:11px}
@media(max-width:767px){body:has(#filterForm) .main{padding-top:3rem!important;margin-top:1rem!important}}
/* Kegiatan listing and details — opt in by scope class injected into existing container. */
.serbunib-kegiatan{color:#183b5b;padding-top:5.25rem!important;padding-bottom:3rem;max-width:1200px}
.serbunib-kegiatan .kegiatan-heading{border-radius:18px;background:linear-gradient(110deg,rgba(255,255,255,.94),rgba(227,241,252,.95));border:1px solid var(--k15-border);padding:1.4rem 1.7rem;margin-bottom:1.55rem;box-shadow:0 10px 28px rgba(16,69,112,.09)}
.serbunib-kegiatan .kegiatan-heading h1{color:var(--k15-navy)!important;text-align:left!important;letter-spacing:-.025em;font-weight:800;margin:0!important}
.serbunib-kegiatan .kegiatan-heading .breadcrumb{margin:0}.serbunib-kegiatan .kegiatan-heading .breadcrumb-item,.serbunib-kegiatan .kegiatan-heading .breadcrumb-item.active{color:#42627d}
.serbunib-kegiatan .kegiatan-heading .breadcrumb-item a{color:#145fa0!important}
.serbunib-kegiatan .row.g-4>.card.col-md-8{background:rgba(255,255,255,.94);padding:10px;border:1px solid var(--k15-border)!important;border-radius:20px;box-shadow:0 14px 36px rgba(15,66,110,.12);overflow:hidden}
.serbunib-kegiatan .kegiatan-hero .carousel-item{background:linear-gradient(135deg,#bad9ef,#dce9f7)}
.serbunib-kegiatan .kegiatan-hero .carousel-item .img-zoom{height:390px}
.serbunib-kegiatan .kegiatan-hero .carousel-item .img-zoom img{width:100%;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center!important}
.serbunib-kegiatan .kegiatan-hero .carousel-caption{left:1.25rem;right:1.25rem;bottom:1rem;background:linear-gradient(90deg,rgba(9,37,67,.92),rgba(9,37,67,.65))!important;border-radius:13px!important;padding:1rem!important}
.serbunib-kegiatan .kegiatan-hero .carousel-caption h5{font-weight:750}
.serbunib-kegiatan .kegiatan-latest .list-group{display:grid;gap:10px;background:transparent;box-shadow:none!important;border-radius:0!important}
.serbunib-kegiatan .kegiatan-latest .list-group>a{border-radius:14px!important;overflow:hidden;border:1px solid var(--k15-border);box-shadow:0 7px 18px rgba(18,68,110,.07);background:rgba(255,255,255,.94)}
.serbunib-kegiatan .kegiatan-latest .list-group-item{border:0;border-radius:inherit!important;padding:.7rem!important;background:transparent!important}
.serbunib-kegiatan .kegiatan-latest img{border-radius:9px!important}
.serbunib-kegiatan .kegiatan-latest .fw-semibold{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#173e63}
.serbunib-kegiatan.kegiatan-gallery{padding-top:1.2rem!important}
.serbunib-kegiatan .kegiatan-section-title{color:#123f6c!important;font-weight:800;letter-spacing:-.02em;margin-bottom:1.2rem!important}
.serbunib-kegiatan .kegiatan-gallery-grid .card{border-radius:17px!important;overflow:hidden;background:rgba(255,255,255,.97);border:1px solid var(--k15-border)!important;box-shadow:0 10px 25px rgba(16,68,107,.09)!important;transition:transform .22s ease,box-shadow .22s ease}
.serbunib-kegiatan .kegiatan-gallery-grid .card:hover{transform:translateY(-4px);box-shadow:0 19px 38px rgba(16,68,107,.16)!important}
.serbunib-kegiatan .kegiatan-gallery-grid .ratio{background:#d8e9f6;overflow:hidden}
.serbunib-kegiatan .kegiatan-gallery-grid img{width:100%;height:100%;object-fit:cover}
.serbunib-kegiatan .kegiatan-gallery-grid .card-title{font-size:1rem;line-height:1.4;font-weight:750;color:#153e63}
.serbunib-kegiatan .kegiatan-gallery-grid .card-text{color:#54718a;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.serbunib-kegiatan .kegiatan-gallery-grid .card-body{display:flex;flex-direction:column;min-height:178px}
.serbunib-kegiatan .kegiatan-gallery-grid small{margin-top:auto}
.serbunib-kegiatan .kegiatan-poster-missing{position:relative;min-height:100px;background:linear-gradient(135deg,#d9eafb,#bcd9ef);display:flex;align-items:center;justify-content:center;text-align:center;color:#305d82;font-size:.86rem;font-weight:650;padding:1rem}
.serbunib-kegiatan .kegiatan-poster-missing::before{content:'▧';font-size:2rem;display:block;margin-right:.6rem;color:#3982b7}
.serbunib-kegiatan .kegiatan-detail-poster{max-height:460px;object-fit:cover;width:100%}
.serbunib-kegiatan .card,.serbunib-kegiatan a{color:inherit}
.serbunib-kegiatan .pagination{flex-wrap:wrap;gap:5px}
.serbunib-kegiatan .page-link{border-radius:8px!important}
@media(max-width:991px){.serbunib-kegiatan .kegiatan-hero .carousel-item .img-zoom{height:330px}}
@media(max-width:767px){.serbunib-kegiatan{padding-top:4.8rem!important;padding-inline:.7rem}.serbunib-kegiatan .kegiatan-heading{padding:1.1rem;flex-wrap:wrap;gap:.8rem}.serbunib-kegiatan .kegiatan-heading h1{font-size:1.45rem!important}.serbunib-kegiatan .kegiatan-hero .carousel-item .img-zoom{height:255px}.serbunib-kegiatan .kegiatan-latest{margin-top:.5rem}.serbunib-kegiatan .kegiatan-gallery-grid .card-body{min-height:auto}}
@media(prefers-reduced-motion:reduce){.serbunib-kegiatan .zoom-hover,.serbunib-kegiatan .card,.serbunib-kegiatan img{transition:none!important;transform:none!important}}
