/* Shared public-page layout; loaded after the legacy theme. */
body { background: #f7f9f7; }
#konten-utama { scroll-margin-top: 110px; }
#konten-utama :is(h1,h2,h3,h4) { overflow-wrap: break-word; }
#konten-utama :is(.section,.homepage .section) { padding: 3.5rem 0; }
#konten-utama :is(#timeline,#layanan,#galeri,#basic) { background-image: none; background-color: #f7f9f7; }
#konten-utama .section-alt { background: #eef3ef; }
#konten-utama :is(.page-hero,.flat-page-hero) { padding: 3rem 0; background: linear-gradient(115deg,#0b2f1f,#185c40); }
#konten-utama :is(.page-hero,.service-detail-hero) .eyebrow { font-size: .75rem; letter-spacing: 1.5px; color: #e3cf99; margin-bottom: .8rem; }
#konten-utama :is(.page-hero,.service-detail-hero) .page-title { font-size: clamp(1.8rem,3vw,2.7rem); line-height: 1.25; font-weight: 750; margin-bottom: .8rem; color: #fff; }
#konten-utama :is(.page-hero,.service-detail-hero) .page-subtitle { font-size: .98rem; line-height: 1.75; max-width: 760px; color: #e0eee5; margin-bottom: 0; }
#konten-utama .section-head { margin-bottom: 1.75rem; max-width: 780px; }
#konten-utama .section-head.text-center { margin-left: auto; margin-right: auto; }
#konten-utama .section-head h2 { font-size: clamp(1.45rem,2.3vw,1.95rem); font-weight: 700; line-height: 1.35; }
#konten-utama .section-head p { color: #526158; line-height: 1.7; margin-bottom: 0; }
.section-eyebrow { font-size: .7rem; font-weight: 700; letter-spacing: 1.5px; margin-bottom: .65rem; color: #80612f; }
.btn { border-radius: 9px; font-weight: 600; padding: .65rem 1rem; font-size: .875rem; }
.btn-sm { padding: .45rem .75rem; font-size: .8rem; }
.form-control, .form-select { border-radius: 9px; min-height: 44px; font-size: .9rem; }
.form-control:focus, .form-select:focus { border-color: #83aa91; box-shadow: 0 0 0 3px #145c3b16; }
#konten-utama :is(.feature-card,.program-card,.news-card,.report-card,.routine-program-card,.flat-page-article,.service-detail-article,.service-other-card,.notice-panel,.focus-card,.service-spotlight-card) { border: 1px solid #dfe8e1; border-radius: 16px; box-shadow: 0 6px 20px #173b2b06; }
#konten-utama .feature-card { padding: 1.5rem; }
#konten-utama .feature-card:hover { transform: none; }
#konten-utama :is(.feature-card,.program-card,.news-card,.report-card,.routine-program-card,.focus-card) h3 { font-size: 1.4rem; font-weight: 700; line-height: 1.5; }
#konten-utama :is(.feature-desc,.program-desc,.news-excerpt,.report-desc,.timeline-desc) { font-size: .9rem; line-height: 1.8; color: #48584e; overflow-wrap: anywhere; }
#konten-utama :is(.news-body,.report-body,.program-body,.service-spotlight-body) { padding: 1.4rem; }
#konten-utama :is(.news-body,.report-body) { display: flex; flex-direction: column; gap: .5rem; }
#konten-utama :is(.news-body,.report-body) > :is(.btn,.link-arrow,.d-flex):last-child { margin-top: auto; align-self: flex-start; }
#konten-utama :is(.news-image,.report-image,.program-image) { height: auto; aspect-ratio: 16/10; flex-shrink: 0; }
#konten-utama .link-arrow { font-size: .875rem; display: inline-flex; align-items: center; gap: .35rem; font-weight: 700; }
#konten-utama .link-arrow::after { content: '\2192'; }
.service-status { display: inline-block; padding: .3rem .7rem; border-radius: 6px; background: #edf4ee; color: #245c42; font-weight: 600; font-size: .75rem; }
#konten-utama .feature-icon { width: 60px; height: 60px; padding: 10px; background: #edf4ee; border-radius: 14px; object-fit: contain; }
#konten-utama .service-spotlight-media { height: 140px; padding: 0px; }
#konten-utama .service-spotlight-media img { object-fit: cover; }
#konten-utama .service-other-media { height: 140px; padding: 25px; background: #edf4ee; }
#konten-utama .service-other-media img { object-fit: contain; }
#konten-utama .service-detail-hero { min-height: 0; align-items: center; padding: 3rem 0; background: linear-gradient(115deg,#0b2f1f,#185c40); }
#konten-utama .service-detail-hero-overlay { background: linear-gradient(90deg,#0b2f1ff2,#185c40d9); }
#konten-utama .service-detail-hero .page-cta { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin-top: 1.4rem; }
#konten-utama .service-detail-hero-badge { padding: 1rem; border-radius: 12px; box-shadow: none; }
#konten-utama .service-detail-body, #konten-utama .service-detail-intro { padding-left: 1.5rem; padding-right: 1.5rem; }
#konten-utama .service-detail-body { overflow-wrap: anywhere; }
#konten-utama .service-detail-sidebar { top: 110px; }
#konten-utama .service-guidance { overflow-wrap: anywhere; padding: 1.5rem; border-top: 1px solid #dfe8e1; }
#konten-utama .service-guidance h2 { font-size: 1.4rem; font-weight: 700; }
#konten-utama .service-guidance h3 { font-size: 1.05rem; font-weight: 700; }
#konten-utama .service-detail-intro h2 { font-size: clamp(1.35rem,2vw,1.7rem); }
#konten-utama :is(.service-action-panel,.service-info-panel) { border-radius: 16px; border: 1px solid #dfe8e1; box-shadow: 0 6px 20px #173b2b06; }
#konten-utama .flat-page-reading-wrap { padding: 0; background: none; }
#konten-utama .flat-page-article::before { display: none; }
#konten-utama .flat-page-article { line-height: 1.85; font-size: .95rem; }
#konten-utama .flat-page-article > :first-child { margin-top: 0; }
#konten-utama :is(.flat-page-article,.news-detail-body,.service-detail-body) :is(h2,h3) { font-size: 1.3rem; font-weight: 700; line-height: 1.5; margin-top: 1.75rem; }
#konten-utama :is(.flat-page-article,.news-detail-body,.service-detail-body) :is(img,iframe,video,table) { max-width: 100%; }
#konten-utama :is(.flat-page-article,.news-detail-body,.service-detail-body) a { color: #145c3b; text-decoration: underline; overflow-wrap: anywhere; }
#konten-utama :is(.flat-page-article,.news-detail-body,.service-detail-body) table { display: block; overflow-x: auto; }
#konten-utama .news-detail-title { font-size: clamp(1.5rem,2.5vw,2rem); line-height: 1.4; }
#konten-utama .news-detail-lead { font-size: 1rem; line-height: 1.8; }
#konten-utama .news-detail-body { font-size: .95rem; line-height: 1.85; overflow-wrap: anywhere; text-align: left; }
#konten-utama .news-detail-cover { max-height: 440px; object-fit: cover; }
#konten-utama .timeline { padding-left: 1.5rem; }
#konten-utama .timeline-item { padding: 0 0 1.8rem 1rem; }
#konten-utama .timeline-item::before { left: -31px; top: .35rem; }
#konten-utama .timeline-date { margin-left: 0; font-size: .8rem; margin-bottom: .75rem; }
#konten-utama .gallery-item { height: auto; background: #fff; border: 1px solid #dfe8e1; box-shadow: 0 6px 20px #173b2b06; display: flex; flex-direction: column; }
#konten-utama .gallery-item img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; flex-shrink: 0; }
#konten-utama .gallery-label { position: static; background: #fff; color: #234535; padding: 1rem; font-size: .82rem; line-height: 1.7; letter-spacing: 0; }
#konten-utama .pagination { gap: .35rem; flex-wrap: wrap; --bs-pagination-color: #145c3b; --bs-pagination-active-bg: #145c3b; --bs-pagination-active-border-color: #145c3b; }
#konten-utama .page-link { border-radius: 8px; min-width: 36px; text-align: center; }
.site-footer { margin-top: 0; background: #0b2f1f; padding: 3rem 0 1.5rem; }
.site-footer p { font-size: .875rem; line-height: 1.8; }
.navbar .dropdown-menu { border: 1px solid #dfe8e1; border-radius: 12px; padding: .5rem; box-shadow: 0 10px 25px #173b2b12; }
.navbar .dropdown-item { white-space: normal; border-radius: 7px; padding: .6rem .8rem; font-size: .85rem; }
.navbar .dropdown-item.active { background: #edf4ee; color: #145c3b; font-weight: 700; }
.navbar .dropdown-toggle.active { color: #145c3b; font-weight: 700; }
.homepage .home-banner { padding: 0; background: #0b2f1f; }
.homepage .home-banner-slide { position: relative; min-height: 520px; background: #0b2f1f; }
.home-banner-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 44%; }
.home-banner-shade { position: absolute; inset: 0; background: linear-gradient(90deg,#0b2f1f05 10%,#0b2f1f25 35%,#0b2f1fe6 65%,#0b2f1ff5 100%); }
.home-banner-content { position: relative; min-height: 620px; display: flex; align-items: center; justify-content: flex-end; padding-top: 3rem; padding-bottom: 3rem; }
.home-banner-copy { width: 48%; }
.home-banner-number { color: #d8dcb2; display: block; font-size: .72rem; letter-spacing: 2px; margin-bottom: 1rem; }
.homepage .home-banner .display-5 { font-size: clamp(1.8rem,2.5vw,2.65rem); color: #fff; }
.homepage .home-banner .eyebrow { font-size: .68rem; line-height: 1.7; }
.homepage .home-banner .lead { font-size: .95rem; }
.homepage .home-banner .lead p:last-child { margin-bottom: 0; }
.home-banner .owl-nav { margin: 0; padding: .8rem 0 .3rem; }
.home-banner .owl-dots { padding: 0 0 .9rem; text-align: center; }
.home-banner .owl-dot { padding: .5rem !important; }
.home-banner .owl-dot span { display: block; width: 22px; height: 4px; border-radius: 6px; background: #ffffff66; }
.home-banner .owl-dot.active span { background: #f4b860; }
@media (min-width: 1200px) { .navbar-nav .nav-link { padding-right: .8rem; padding-left: .8rem; font-size: .875rem; } }
@media (max-width: 991.98px) {
  #konten-utama :is(.section,.homepage .section) { padding: 2.5rem 0; }
  #konten-utama :is(.page-hero,.service-detail-hero) { padding: 2.5rem 0; }
  .homepage .home-banner-slide { min-height: 0; }
  .home-banner-image { position: relative; height: auto; aspect-ratio: 16/9; object-position: center 40%; }
  .home-banner-shade { display: none; }
  .home-banner-content { min-height: 0; padding-top: 1.75rem; padding-bottom: 1.75rem; }
  .home-banner-copy { width: 100%; max-width: 700px; margin-right: auto; }
  .home-banner-number { margin-bottom: .65rem; }
  .homepage .home-banner .display-5 { font-size: clamp(1.65rem,4vw,2.1rem); }
  #konten-utama .service-detail-sidebar { position: static; }
}
@media (max-width: 575.98px) {
  .topbar .topbar-info { display: none; }
  .topbar .topbar-meta { font-size: .7rem; }
  .navbar .navbar-brand { gap: .55rem; }
  .navbar .brand-identity { padding-left: .55rem; }
  .navbar .brand-identity .brand-title { font-size: .68rem; }
  .navbar .brand-identity .brand-subtitle { font-size: .55rem; }
  .home-banner-image { aspect-ratio: 4/3; }
  #konten-utama :is(.page-hero,.service-detail-hero) { padding: 2rem 0; }
  #konten-utama :is(.feature-card,.flat-page-article) { padding: 1.25rem; }
  #konten-utama :is(.news-body,.report-body,.program-body) { padding: 1.2rem; }
  .site-footer { padding-top: 2rem; }
  .pups-chatbot-toggle span { display: none; }
  .pups-chatbot-toggle { width: 48px; height: 48px; justify-content: center; padding: 0; }
}
