/* Shared front-end/editor styling for native WordPress blocks. */
.buchi-header-part { position: sticky; top: 0; z-index: 10000; margin-top: 0; }
.admin-bar .buchi-header-part { top: 32px; }
.buchi-site-header { position: relative; height: auto; min-height: 72px; padding-block: .75rem; backdrop-filter: none; -webkit-backdrop-filter: none; }
.buchi-header-inner { gap: 1rem; }
.buchi-brand-logo { flex: 0 0 auto; }
.buchi-brand-logo img { width: 125px; height: auto; max-height: 50px; }
.buchi-navigation { margin: 0; font-size: .9375rem; }
.buchi-navigation .wp-block-navigation__container { gap: clamp(.8rem, 1.6vw, 1.6rem); }
.buchi-navigation .wp-block-navigation-item__content { white-space: nowrap; }
.buchi-navigation .buchi-nav-cta a { background: var(--buchi-orange); color: white; padding: .75rem 1rem; border-radius: 4px; }
.buchi-navigation .buchi-nav-cta a:hover { background: var(--buchi-navy); color: white; }
.buchi-navigation .buchi-nav-cta .wp-block-navigation-item__content { color: white !important; }
.buchi-navigation .wp-block-navigation__responsive-container-open,
.buchi-navigation .wp-block-navigation__responsive-container-close { padding: .5rem; color: var(--buchi-navy); }
.wp-site-blocks > main { margin-top: 0; }
.buchi-cards.wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; list-style: none; padding: 0; margin-block: 2rem; }
.buchi-cards > li { min-width: 0; display: flex; }
.buchi-story-card { width: 100%; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--buchi-border); border-radius: 8px; background: white; }
.buchi-story-card > .wp-block-post-featured-image { margin: 0; }
.buchi-story-card .wp-block-post-featured-image img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.buchi-story-card-body { flex: 1; display: flex; flex-direction: column; padding: 1.5rem; }
.buchi-story-card-title { font-size: clamp(1.15rem, 1.8vw, 1.4rem); line-height: 1.55; overflow-wrap: anywhere; }
.buchi-story-card-body > .wp-block-read-more { margin-top: auto; padding-top: 1rem; }
.buchi-story-card .wp-block-post-excerpt { margin-block: 1rem; }
.buchi-story-card .wp-block-post-excerpt p { font-size: .9375rem; line-height: 1.8; }
.buchi-empty-state { padding: 2rem; border: 1px dashed var(--buchi-border); border-radius: 8px; background: var(--buchi-off-white); }
.wp-block-query-pagination { margin-block: 2rem; gap: 1rem; }
.wp-block-query-pagination-numbers > * { display: inline-block; padding: .5rem .75rem; }
.wp-block-query-pagination-numbers .current { background: var(--buchi-navy); color: white; border-radius: 4px; }
.buchi-story-title { font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.5; overflow-wrap: anywhere; }
.buchi-story-university { margin-block: 1rem 2rem; }
.buchi-story-portrait { margin-block: 2rem; text-align: center; }
.buchi-story-portrait img { width: auto; max-width: 100%; max-height: 580px; object-fit: contain; margin-inline: auto; border-radius: 8px; }
.buchi-story-content { font-size: 1rem; line-height: 1.95; overflow-wrap: anywhere; }
.buchi-story-content > * { margin-block: 0 1.5rem; }
.buchi-story-content h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin-top: 3rem; border-bottom: 2px solid var(--buchi-border); padding-bottom: .75rem; }
.buchi-story-content h3 { font-size: clamp(1.2rem, 2.5vw, 1.5rem); margin-top: 2.5rem; line-height: 1.6; }
.buchi-story-content .buchi-story-question { font-weight: 700; color: var(--buchi-navy); background: var(--buchi-off-white); border-left: 3px solid var(--buchi-orange); padding: 1rem 1.25rem; margin-top: 2rem; }
.buchi-story-content a { text-decoration: underline; text-underline-offset: .2em; }
.buchi-story-content .wp-block-image img { height: auto; max-width: 100%; margin-inline: auto; border-radius: 6px; }
.buchi-story-content .buchi-university-logo img { max-height: 100px; width: auto; }
.buchi-story-content figcaption { font-size: .875rem; color: var(--buchi-muted); text-align: center; margin-top: .5rem; }
.buchi-story-content ul, .buchi-story-content ol { padding-inline-start: 1.5rem; }
/* Restore the marker gutter removed by the global reset. */
.wp-block-list:not(.button):not(.feature-list) { padding-inline-start: 1.75rem; list-style-position: outside; }
.buchi-story-content .wp-block-table { overflow-x: auto; }
.buchi-story-content table { display: table; border-collapse: collapse; width: 100%; }
.buchi-story-content th, .buchi-story-content td { padding: .875rem 1rem; border: 1px solid var(--buchi-border); text-align: left; vertical-align: top; }
.buchi-story-content th { width: 32%; background: var(--buchi-off-white); color: var(--buchi-navy); }
.buchi-story-footer { margin-top: 4rem; background: var(--buchi-off-white); padding: clamp(1.5rem,4vw,2.5rem); border-radius: 8px; }
.buchi-story-footer h2 { font-size: 1.4rem; }
.buchi-contact-title { font-size: clamp(1.5rem, 4vw, 3rem); line-height: 1.5; text-align: center; }
.buchi-contact-section { background: linear-gradient(rgba(18,54,104,.9),rgba(18,54,104,.9)),url('../images/contact-sunset.jpg') center/cover; }
.buchi-contact-section > .buchi-container > h2, .buchi-contact-section > .buchi-container > p:not(.buchi-kicker) { color: white; }
.buchi-contact-section .buchi-kicker { color: #ffb049; }
.buchi-form-alert { padding: 1rem; margin-bottom: 1.5rem; border-radius: 4px; }
.buchi-form-alert--success { background: #e6f4ea; color: #137333; }
.buchi-form-alert--error { background: #fce8e6; color: #c5221f; }
.buchi-contact-form :disabled { opacity: .65; cursor: wait; }
:where(a,button,input,textarea,summary):focus-visible { outline: 3px solid var(--buchi-orange); outline-offset: 4px; }
@media (min-width: 1200px) {
  .buchi-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) { display: none !important; }
  .buchi-navigation .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: block !important; }
}
@media (max-width: 1199px) {
  .buchi-navigation .wp-block-navigation__responsive-container-open { display: flex !important; }
  .buchi-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .buchi-navigation .is-menu-open { padding: 1.5rem; }
  .buchi-navigation .is-menu-open .wp-block-navigation__responsive-container-content { align-items: center !important; padding-top: 4rem; }
  .buchi-navigation .is-menu-open .wp-block-navigation__container { align-items: center !important; gap: 1.5rem; width: 100%; }
  .buchi-navigation .is-menu-open .wp-block-navigation-item__content { white-space: normal; overflow-wrap: anywhere; text-align: center; }
  .buchi-navigation .is-menu-open .wp-block-navigation-item { align-items: center !important; font-size: 1.15rem; }
  .buchi-navigation .is-menu-open .buchi-nav-cta .wp-block-navigation-item__content { padding: .875rem 1.5rem !important; }
}
@media (max-width: 991px) {
  .buchi-cards.wp-block-post-template { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
}
@media (max-width: 600px) {
  .buchi-cards.wp-block-post-template { grid-template-columns: minmax(0,1fr); }
  .buchi-story-content th, .buchi-story-content td { padding: .75rem; }
  .admin-bar .buchi-header-part { top: 0; }
}
@media (min-width: 601px) and (max-width: 782px) { .admin-bar .buchi-header-part { top: 46px; } }
