/* Header without JS: menu + burger (checkbox) + search form. Sizes copied from the old Sastra widgets:
   Arial 600 16px/26px, items 35px top/bottom, orange #ED793B on hover and for the current section. */

/* sticky header in CSS; the wrapper is a direct child of #page-wrap, so it sticks for the whole page */
.elementor-155 { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 999; }
.elementor-155 > .elementor-section, .elementor-155 > section { position: relative; }
/* the burger panel is placed against the whole header row, not the narrow menu column */
.elementor-155 .elementor-element-3031dfa,
.elementor-155 .elementor-element-3031dfa > .elementor-widget-wrap,
.elementor-155 .elementor-element-3031dfa .elementor-widget-shortcode,
.elementor-155 .elementor-element-3031dfa .elementor-widget-container { position: static; }

.hn { font-family: Arial, Helvetica, sans-serif; }
.hn-t { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.hs-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hn-burger { display: none; }
.hn .hn-menu { display: flex; flex-wrap: wrap; justify-content: center; list-style: none; margin: 0; padding: 0; }
.hn .hn-menu li { margin: 0; padding: 0; list-style: none; }
.hn .hn-menu a { display: block; padding: 36px 12px; color: #111111; font-size: 16px; font-weight: 600; line-height: 26px; text-decoration: none; white-space: nowrap; }
.hn .hn-menu a:hover, .hn .hn-menu .current-menu-item > a, .hn .hn-menu .current-menu-ancestor > a { color: #ED793B; }
.hn .hn-menu a:focus-visible { outline: 2px solid #ED793B; outline-offset: -6px; }
.hs.hs-mob { display: none; }

.hs { display: flex; align-items: stretch; margin: 0; }
.hs input[type="search"] { width: 121px; height: 40px; margin: 0; padding: 11px 15px; border: 1px solid #E8E8E8; border-right: 0; border-radius: 0; background: #FFFFFF; color: #555555; font: 14px/1.5 Arial, Helvetica, sans-serif; -webkit-appearance: none; appearance: none; }
.hs input[type="search"]:focus { outline: none; border-color: #ED793B; }
.hs button { display: grid; place-items: center; width: 45px; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 0; background: #ED793B; color: #FFFFFF; cursor: pointer; }
.hs button:hover { background: #D9682C; }
.hs button:focus-visible { outline: 2px solid #1B2638; outline-offset: 2px; }

@media (max-width: 1024px) {
	.hn-burger { display: block; position: relative; width: 35px; height: 74px; margin-left: auto; cursor: pointer; }
	.hn-burger-lines, .hn-burger-lines::before, .hn-burger-lines::after { position: absolute; right: 0; width: 30px; height: 2px; background: #111111; content: ""; transition: transform .2s, background .2s; }
	.hn-burger-lines { top: 36px; }
	.hn-burger-lines::before { top: -7px; }
	.hn-burger-lines::after { top: 7px; }
	.hn-t:checked + .hn-burger .hn-burger-lines { background: transparent; }
	.hn-t:checked + .hn-burger .hn-burger-lines::before { transform: translateY(7px) rotate(45deg); }
	.hn-t:checked + .hn-burger .hn-burger-lines::after { transform: translateY(-7px) rotate(-45deg); }
	.hn-t:focus-visible + .hn-burger { outline: 2px solid #ED793B; outline-offset: 2px; }
	.hn-panel { display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: 999; padding: 6px 20px 20px; background: #FFFFFF; box-shadow: 0 10px 14px rgba(0, 0, 0, .1); }
	.hn-t:checked ~ .hn-panel { display: block; }
	.hn .hn-menu { display: block; }
	.hn .hn-menu a { padding: 13px 0; border-bottom: 1px solid #EEEEEE; font-size: 16px; }
	.hs.hs-mob { display: flex; margin-top: 16px; }
	.hs-mob input[type="search"] { flex: 1; width: auto; }
}
@media (prefers-reduced-motion: reduce) {
	.hn-burger-lines, .hn-burger-lines::before, .hn-burger-lines::after { transition: none; }
}

/* archive H1 (same look as the home page heading) */
.ha { margin: 0 0 24px; padding-bottom: 10px; border-bottom: 2px solid #1A1F2B; font-family: Arial, Helvetica, sans-serif; }
.ha h1 { margin: 0; color: #1A1F2B; font-family: Arial, Helvetica, sans-serif; font-size: 30px; font-weight: 700; line-height: 1.2; letter-spacing: 0; text-transform: none; }
.ha-desc { margin-top: 8px; color: #5D6675; font-size: 15px; line-height: 1.5; }
.ha-desc p { margin: 0; }
@media (max-width: 767px) { .ha h1 { font-size: 23px; } }
