/* Shared public pages: preserve image proportions and let content set its height. */
.public-site {
    padding-top: 88px;
    font-family: 'Open Sans', sans-serif;
    line-height: 1.65;
    color: #243c36;
}
.public-site .menu-font { font-family: inherit; }
.public-site img { max-width: 100%; height: auto; }
.public-site .section-berita img { height: auto !important; }
.public-site .container-fluid { max-width: 1480px; }
.public-site .navbar > .container-fluid { max-width: 1680px; }
.public-site .row > * { min-width: 0; }
.public-site h1 { font-size: clamp(1.65rem, 3vw, 2.5rem); line-height: 1.3; }
.public-site h1, .public-site h5, .public-site p { overflow-wrap: anywhere; }
.public-site .space_top { margin-top: 2rem; }
.public-site .section-berita > .container-fluid { padding-inline: clamp(16px, 3vw, 40px); }
.public-site .home-banner { padding: clamp(20px, 4vw, 48px) 0; }
.public-site .banner-image { height: auto; }
.public-site .banner-image .carousel-item { width: 100%; }
.public-site .banner-image img { width: 100%; height: auto; object-fit: contain; }
.public-site .banner-berita { height: auto; }
.public-site .banner-berita img { width: 100%; height: auto; object-fit: contain; }
.public-site .size-card { height: calc(100% - 10px); border-radius: 12px; overflow: hidden; }
.public-site .card-photo { height: auto; aspect-ratio: 16 / 10; flex-shrink: 0; }
.public-site .card-photo img { width: 100%; height: 100% !important; object-fit: cover; }
.public-site .size-card .card-body { display: flex; flex-direction: column; padding: 1.25rem; }
.public-site .size-card .card-body > .d-flex { flex-wrap: wrap; gap: 0 4px; font-size: .8rem; }
.public-site .size-card .card-body > .d-flex p { font-size: inherit !important; margin-bottom: .5rem; }
.public-site .size-card .card-body > .btn { margin-top: auto; align-self: flex-end; }
.public-site .size-card .card-text { margin-bottom: 1.25rem; }
.public-site .size-book { width: 100%; max-width: 320px; height: auto; aspect-ratio: 3 / 4; margin: 1rem auto 2rem; }
.public-site .size-book > ._df_thumb { display: block; width: 100%; height: 100%; margin: 0; }
.public-site .section-berita .d-flex.justify-content-between { flex-wrap: wrap; gap: .5rem 1rem; }
.public-site .pagination { flex-wrap: wrap; gap: 4px; }
.public-site .navbar-brand img { width: 150px; height: auto; max-height: 56px; object-fit: contain; }
.public-site .navbar .badge { white-space: normal; text-align: left; line-height: 1.5; }
.public-site .navbar .dropdown-item { white-space: normal; overflow-wrap: anywhere; padding-block: .6rem; }
.public-site .navbar .dropdown-menu { min-width: 14rem; max-width: 22rem; }
.public-site .navbar .dropdown-menu.show { display: block; }
.public-site footer > section.d-flex { flex-wrap: wrap; gap: 1rem; }
.public-site footer p { line-height: 1.8; }
.public-site .announcement-card { height: auto; aspect-ratio: auto; padding: 0; }
.public-site .announcement-card > ._df_thumb { height: auto !important; aspect-ratio: 3 / 4; }

@media (max-width: 1399.98px) {
    .public-site .navbar > .container-fluid { gap: .5rem; padding-inline: 16px !important; }
    .public-site .navbar-brand { order: 0; margin-right: auto; }
    .public-site .navbar-brand img { margin-left: 0 !important; }
    .public-site .navbar-toggler { order: 2; min-height: 44px; }
    .public-site .custom-translate-buttons { order: 1; margin: 0 !important; gap: 6px; }
    .public-site .btn-custom-lang { padding: 8px 10px !important; min-height: 40px; }
    .public-site .navbar-collapse { order: 3; flex-basis: 100%; max-height: calc(100dvh - 88px); overflow-y: auto; }
    .public-site .navbar-nav .nav-item { margin-right: 0 !important; }
    .public-site .navbar-nav .nav-link { padding: .65rem .5rem; }
    .public-site .navbar .dropdown-menu { position: static; max-width: 100%; min-width: 0; margin: 0 0 .5rem; }
    .public-site .dropend .dropdown-menu { margin-left: .75rem; }
    .public-site .dropend .dropdown-toggle { margin-left: 0; }
}
@media (min-width: 1400px) {
    .public-site .navbar-nav > .nav-item { margin-right: .3rem !important; }
    .public-site .custom-translate-buttons { margin-inline: .5rem !important; flex-shrink: 0; }
    .public-site .navbar-nav > .dropdown:last-child > .dropdown-menu { right: 0; left: auto; }
}
@media (max-width: 767.98px) {
    .public-site { padding-top: 80px; }
    .public-site .navbar-brand img { width: 110px; }
    .public-site .section-berita > .container { padding-inline: 16px; }
    .public-site .section-berita .bd-highlight { flex-wrap: wrap; }
    .public-site .section-berita .bd-highlight > .ms-auto { margin-left: 0 !important; }
    .public-site .button-wrapper { width: 100%; }
    .public-site footer > section.d-flex { justify-content: center !important; }
    .public-site footer > section.d-flex > .me-5 { margin-right: 0 !important; }
}
@media (hover: none) {
    .public-site .dropdown:hover > .dropdown-menu:not(.show),
    .public-site .dropend:hover > .dropdown-menu:not(.show) { display: none; }
}
