/* Structural rules only: fonts, colors, widths and spacing belong to block styles. */
:where(.wp-site-blocks) { overflow-wrap: anywhere; }
:where(.wp-site-blocks img) { max-width: 100%; height: auto; }
:where(.wp-site-blocks a) { text-underline-offset: .18em; }
:where(.wp-site-blocks a:focus-visible, .wp-site-blocks button:focus-visible) { outline: 2px solid currentColor; outline-offset: 4px; }
:where(.prsb-header-row) > * { min-width: 0; }
:where(.prsb-brand) { flex-shrink: 0; max-width: 100%; }
:where(.prsb-brand .wp-block-site-logo) { max-width: 100%; }
:where(.prsb-brand .custom-logo-link) { max-width: 100%; }
:where(.wp-block-padmaraja-language-switcher) { display: flex; gap: .75em; flex-wrap: wrap; align-items: center; }
:where(.wp-block-padmaraja-language-switcher a) { padding-block: .35em; }
:where(.wp-block-padmaraja-language-switcher a[aria-current="true"]) { font-weight: 700; text-decoration: underline; }
:where(.prsb-gallery img) { width: 100%; height: auto; }
:where(.prsb-pdf object) { max-width: 100%; }
@media (max-width: 781px) {
    :where(.prsb-header-row) { flex-wrap: wrap; }
    .prsb-masthead .wp-block-padmaraja-language-switcher { margin-left: auto; }
}

/* Navigation states and responsive structure complement editable block styles. */
.prsb-header-shell > .prsb-nav-band { margin-block-start: 0; }
.prsb-primary-nav { width: 100%; }
.prsb-primary-nav .wp-block-navigation__container { gap: 0; }
.prsb-primary-nav .wp-block-navigation-item__content { padding: 8px 18px; }
.prsb-primary-nav .wp-block-navigation-item__content:hover,
.prsb-primary-nav .wp-block-navigation-item__content:focus-visible,
.prsb-primary-nav .current-menu-item > .wp-block-navigation-item__content { background: #d5ad46; color: #181818; }
.prsb-primary-nav .wp-block-navigation-submenu__toggle { margin-right: 14px; }
.prsb-footer-contact { min-width: 0; }
.prsb-contact-line { display: flex; gap: 18px; align-items: baseline; margin-block: 12px; }
.prsb-contact-line > span { flex: 0 0 22px; text-align: center; }
.prsb-footer-emblem { flex-shrink: 0; margin: 0; }
.prsb-footer-bottom { margin-block-start: 0; }
/* Keep the emblem beside contact details until the phone layout takes over. */
.prsb-footer-main .prsb-footer-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 32px; }
@media (max-width: 1099px) {
    nav.prsb-primary-nav { min-height: 52px; justify-content: flex-end; }
    .prsb-primary-nav .wp-block-navigation__responsive-container-open { display: flex; padding: 14px; }
    .prsb-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
    .prsb-primary-nav .is-menu-open .wp-block-navigation-item__content { padding: 10px 14px; min-height: 44px; box-sizing: border-box; }
}
@media (max-width: 599px) {
    .prsb-footer-main .prsb-footer-row { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .prsb-footer-row > .prsb-footer-emblem { order: -1; justify-self: center; margin: 0; }
    .prsb-footer-emblem img { width: 96px !important; }
    .prsb-footer-row > .prsb-footer-contact { width: 100%; max-width: 340px; justify-self: center; }
    .prsb-footer-contact .wp-block-heading { text-align: center; margin-top: 0; }
    .prsb-contact-line { gap: 12px; margin-block: 10px; }
    .prsb-contact-line a { display: inline-flex; align-items: center; min-height: 44px; }
    .prsb-footer-bottom { text-align: center; }
}

/* Compact shared header; the mobile menu shares the language-switch row. */
.prsb-header-shell { position: relative; }
.prsb-header-row { gap: 8px 24px; }
.prsb-brand .custom-logo { display: block; }
.prsb-header-shell .wp-block-padmaraja-language-switcher a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    box-sizing: border-box;
}
.prsb-home-main { margin-block-start: 0; }
.prsb-home-main .entry-content > :first-child { margin-block-start: 0 !important; }
@media (max-width: 1099px) {
    .prsb-header-shell .prsb-header-row { flex-direction: column; align-items: flex-start; gap: 4px; }
    .prsb-header-shell .prsb-brand { width: min(100%, 440px); }
    .prsb-header-shell .wp-block-padmaraja-language-switcher { margin-left: 0; padding-right: 52px; }
    .prsb-header-shell .prsb-nav-band {
        position: absolute;
        right: var(--wp--style--root--padding-right, 24px);
        bottom: 8px;
        padding-inline: 0;
        background-color: transparent !important;
    }
    .prsb-header-shell nav.prsb-primary-nav { min-height: 44px; padding-block: 0; }
    .prsb-header-shell .wp-block-navigation__responsive-container-open { padding: 10px; min-width: 44px; min-height: 44px; }
}
@media (max-width: 599px) {
    .prsb-header-shell .prsb-brand { width: min(100%, 320px); }
}

/* About pages retain native content with a focused reading measure. */
.prsb-about-main { margin-block-start: 0; }
.prsb-about-main .entry-content > :last-child { margin-block-end: 0; }
.prsb-about-main .wp-block-list { padding-inline-start: 1.4em; }
.prsb-about-main .wp-block-list li + li { margin-block-start: .35em; }
.prsb-about-main .prsb-about-purpose .wp-block-heading { color: #142c63; font-size: 1.5rem; margin-block-start: 1.5em; margin-block-end: .5em; }
.prsb-about-main .prsb-about-purpose .wp-block-heading + .wp-block-list { margin-block-start: 0; }

/* Shared page rhythm; prose narrows independently from images and documents. */
.prsb-page-main, .prsb-reading-main { margin-block-start: 0; }
.prsb-page-main .entry-content > :last-child,
.prsb-reading-main .entry-content > :last-child { margin-block-end: 0; }
.wp-site-blocks .prsb-reading-main .prsb-reading-content :where(p, h2, h3, h4, h5, h6, ul, ol, blockquote, .wp-block-coblocks-accordion) {
    max-width: 780px;
    margin-inline: auto;
    box-sizing: border-box;
}
.prsb-reading-content :where(h2, h3, h4, h5, h6) { color: #142c63; line-height: 1.35; }
.prsb-reading-content h2 { font-size: 1.5rem; }
.prsb-reading-content :where(ul, ol) { padding-inline-start: 1.5em; }
.prsb-reading-content li + li { margin-block-start: .4em; }
.prsb-reading-content .wp-block-coblocks-accordion-item__content { padding-block: 16px; }
@media (max-width: 599px) {
    .prsb-page-main, .prsb-reading-main { padding-top: 24px !important; padding-bottom: 24px !important; }
}
