/* Public content and navigation acceptance, September 2026. */
.pg-content {
    max-width: 76ch;
    min-width: 0;
    margin-inline: auto;
    color: var(--pg-text-2, #536372);
    font-size: 1rem;
    line-height: 1.7;
    overflow-wrap: break-word;
}
.pg-content h2, .pg-content h3, .pg-content h4 {
    color: var(--pg-navy);
    font-weight: 700;
    line-height: 1.3;
    margin: 1.6em 0 .65em;
}
.pg-content h2 { font-size: clamp(1.5rem, 2.4vw, 1.9rem); }
.pg-content h3 { font-size: clamp(1.25rem, 1.8vw, 1.5rem); }
.pg-content h4 { font-size: 1.125rem; }
.pg-content p { margin: 0 0 1em; line-height: inherit; }
.pg-content ul, .pg-content ol { padding-left: 1.5rem; margin: 0 0 1.5rem; }
.pg-content li { padding-left: .3rem; margin-bottom: .5rem; }
.pg-content img { display: block; max-width: 100%; height: auto !important; margin: 1.25rem auto; }
.pg-content > :first-child, .pg-content > div > :first-child { margin-top: 0; }
.pg-content .pg-bolum { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #dce5ed; }
.pg-content .pg-bolum:first-child { margin-top: 0; padding-top: 0; border: 0; }
.pg-content .pg-bolum > :first-child { margin-top: 0; }
.pg-content .pg-ust { display: block; font-size: .85rem; color: #526879; font-weight: 600; margin-bottom: .5rem; }
.pg-content .pg-ust + h3 { margin-top: 0; }
.pg-content .pg-adim { list-style: none; padding: 0; counter-reset: approach; }
.pg-content .pg-adim > li { counter-increment: approach; position: relative; padding: 0 0 1.5rem 3.1rem; margin: 0 0 1.5rem; border-bottom: 1px solid #dce5ed; }
.pg-content .pg-adim > li::before { content: counter(approach, decimal-leading-zero); position: absolute; left: 0; top: 0; color: #0a63b8; font-weight: 700; font-size: 1.2rem; }
.pg-content .pg-adim h4 { margin-top: 0; }
.pg-content .pg-adim > li:last-child { border: 0; padding-bottom: 0; }
.pg-content .pg-kanit { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; padding: 0; }
.pg-content .pg-kanit li { margin: 0; padding: 1rem; border-top: 3px solid #0072d2; background: #eef4fa; }
.pg-content .pg-kanit .s { display: block; color: var(--pg-navy); font-size: 1.6rem; font-weight: 700; }
.pg-content .pg-kanit .e { display: block; font-size: .85rem; }
.pg-content .pg-kart { list-style: none; padding: 0; }
.pg-content .pg-kart > li { border-left: 3px solid #d1e4f3; padding: 0 0 0 1rem; margin-bottom: 1.5rem; }
.pg-content .pg-kart h4 { margin-top: 0; }
.pg-content .pg-cta { margin-top: 2rem; padding: 1.5rem; background: #eef4fa; border-radius: .5rem; }
.pg-content .pg-cta h3 { margin-top: 0; }
.pg-content .pg-cta a { display: inline-block; min-height: 44px; padding-block: .6rem; font-weight: 600; }
#single > .container > .row { row-gap: 2rem; }
#single .sidebar { min-width: 0; }
#single .sidebar .list-group-item { padding-block: .85rem; }

/* The sticky bar is dark; its dropdown surface remains light. */
#header .navbar.sub .navbar-nav .dropdown-menu .nav-link {
    color: #053263;
    min-height: 44px;
    white-space: normal;
}
#header .navbar.sub .dropdown-menu { z-index: 1050; background: #fff; max-width: min(22rem, 90vw); }
#header .navbar.sub .dropdown:focus-within > .dropdown-menu,
#header .navbar.sub .dropdown:hover > .dropdown-menu { visibility: visible; opacity: 1; margin-top: 0; }
#header .navbar.sub .dropdown-menu .nav-link:hover,
#header .navbar.sub .dropdown-menu .nav-link:focus-visible { color: #0a63b8; background: #eef4fa; }

#menu .modal-dialog { width: min(100%, 420px); max-width: 100%; }
#menu .pg-menu-close { display: flex; gap: .75rem; justify-content: space-between; align-items: center; padding: 1rem 1.25rem; min-height: 56px; font-size: 1rem; border-bottom: 1px solid #dce5ed; }
#menu .pg-menu-close .icon-close { margin: 0; font-size: 1.2rem; }
#menu .modal-body { padding: 1rem 1.25rem; overflow-y: auto; flex: 1 1 auto; }
#menu .modal-body > .row { margin: 0; }
#menu .items { width: 100%; margin: 0; }
#menu .items > .navbar-nav { display: block; width: 100%; margin: 0; }
#menu .items > .navbar-nav > .nav-item { display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: .15rem 0; border-bottom: 1px solid #e2e8ef; }
#menu .items .nav-item > .nav-link { display: flex; align-items: center; width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: .65rem .25rem; font-size: 1.125rem; text-align: left; line-height: 1.4; }
#menu .items .pg-has-submenu > .nav-link { flex: 1 1 0; width: auto; }
#menu .pg-submenu-toggle { flex: 0 0 44px; margin: 0; color: #053263; border-color: #b9cad9; }
#menu .items .dropdown-menu { flex: 0 0 100%; position: static; margin: 0 0 .5rem; padding: .25rem 0 .25rem 1rem; text-align: left; }
#menu .items .dropdown-menu .nav-link { font-size: 1rem; min-height: 44px; font-weight: 400; }

/* Footer links follow their content rather than stretching into empty cards. */
footer #footer .footer-right > .row.items { height: auto; align-items: flex-start; }
footer #footer.footer .footer-card-mobile { padding: 0 !important; background: transparent; border: 0; box-shadow: none; border-radius: 0; text-align: left; }
footer #footer .footer-card-mobile h4 { font-size: 1.1rem; margin-bottom: .75rem; }
footer #footer .footer-card-mobile a { padding-block: .4rem; line-height: 1.5; }

.pg-reference-tools { margin: 0 0 1.5rem; }
.pg-reference-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-bottom: 1rem; }
.pg-reference-filters a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .5rem 1rem; border: 1px solid #a9c7dc; border-radius: .35rem; color: #07578f; line-height: 1.3; }
#projects .pg-reference-filters a[aria-current="page"] { background: #053263; border-color: #053263; color: #fff; }
.pg-reference-search { display: flex; width: 100%; max-width: 40rem; margin-inline: auto; gap: .5rem; }
.pg-reference-search input[type="search"] { min-width: 0; height: 46px; }
.pg-reference-search button { flex-shrink: 0; }
#projects .referances .card { margin: 0; border: 1px solid #dce5ed; background: #fff; border-radius: .5rem; text-align: left !important; }
#projects .referances .image-over { aspect-ratio: 4 / 3; overflow: hidden; }
#projects .referances .image-over::before { display: none; }
#projects .referances .image-over img { width: 100%; height: 100%; min-height: 0; object-fit: contain; z-index: auto; transform: none; }
#projects .referances .card-caption { position: static; }
#projects .referances .card-body { padding: 1rem; transform: none; }
#projects .referances .card-body p { height: auto !important; margin: .75rem 0 0; color: #536372; opacity: 1; font-size: .9rem; }
#projects .referances .pg-card-heading { margin: 0; color: #053263; font-size: 1.125rem; line-height: 1.4; }
#projects .referances .card > a { display: none; }
#projects .referances .card-body a { display: block; min-height: 44px; }
#projects .referances .card-body a:focus-visible { outline: 2px solid #0a63b8; outline-offset: 4px; }
#process > .container { max-width: 1140px; }
#process .items { row-gap: 1.5rem; }
@media (max-width: 767px) {
    .pg-content .pg-kanit { grid-template-columns: repeat(2, 1fr); }
    .pg-content .pg-adim > li { padding-left: 2.7rem; }
    #single .sidebar { padding-inline: 15px !important; }
    footer #footer .footer-right { padding-inline: 15px !important; margin-top: 1.5rem; }
    footer #footer .row.items { row-gap: 1.25rem; }
    .pg-reference-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pg-reference-filters a { padding: .5rem; font-size: .95rem; }
}
