/* Shared refinements for the existing Papanek blocks, including the editor. */
.qlm-cookie-notice { position: fixed; left: 16px; bottom: 16px; z-index: 99990; max-width: 520px; padding: 20px; background: #f2f2f2; color: #111; border: 1px solid #bbb; border-radius: 8px; }
.qlm-cookie-notice[hidden] { display: none; }
.qlm-cookie-notice p { margin: 0 0 12px; font-size: 16px; line-height: 1.45; }
.qlm-cookie-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.qlm-cookie-actions button { padding: 10px 20px; background: #111; color: #fff; border: 1px solid #111; border-radius: 4px; font: inherit; font-size: 16px; cursor: pointer; }
.qlm-cookie-actions a { font-size: 14px; color: #111; }
.qlm-cookie-settings { margin: 20px 24px; background: transparent; color: inherit; border: 0; padding: 8px 0; font: inherit; font-size: 14px; text-decoration: underline; cursor: pointer; }
.qlm-hero-v4 h1 { font-size: 54px !important; line-height: 1.12; }
.qlm-hero-v4 :is(.has-large-font-size,.has-medium-font-size,.has-normal-font-size) { font-size: 22px !important; line-height: 1.5; }
.qlm-section h2, .qlm-cta h2 { font-size: 38px !important; line-height: 1.2; }
.qlm-card :is(h2,h3), .qlm-news-index .wp-block-post-title,
.qlm-query-loop .wp-block-post-title, .blog .wp-block-post-title { font-size: 24px !important; line-height: 1.25; }
.qlm-card p, .qlm-card li { font-size: 18px; line-height: 1.55; }
.qlm-faq-item summary { font-size: 22px !important; line-height: 1.4; padding-block: 12px; cursor: pointer; }
.qlm-faq-item p { font-size: 18px; line-height: 1.6; }
.single-post h1.wp-block-post-title, .qlm-article-layout h1 { font-size: 48px !important; line-height: 1.18; }
.single-post .wp-block-post-content h2, .qlm-article-layout h2 { font-size: 38px !important; line-height: 1.2; }
.single-post .wp-block-post-content h3, .qlm-article-layout h3 { font-size: 28px !important; line-height: 1.25; }
.qlm-article-layout { margin-bottom: var(--wp--preset--spacing--80); }
.single-post .wp-block-group.has-primary-background-color:empty { display: none; }
footer .wp-block-social-links.is-style-logos-only .wp-social-link { color: #fff; }
:is(.qlm-section,.qlm-hero-v4,.qlm-card,.qlm-cta,.qlm-faq) :is(h1,h2,h3,p,a,summary) { letter-spacing: 0; overflow-wrap: break-word; }
.qlm-card, .qlm-hero-v4, .qlm-media-panel, .qlm-cta { box-shadow: none !important; }
.wp-block-column { min-width: 0; }
.wp-block-embed iframe { max-width: 100%; }
.qlm-buttons .wp-block-button__link { white-space: normal; text-align: center; }
.qlm-form-card :is(input:not([type=submit]),select,textarea) { box-sizing: border-box; max-width: 100%; font-size: 16px; }
.qlm-language-switch a { opacity: 1; min-width: 32px; min-height: 32px; display: inline-flex; align-items: center; justify-content: center; }
.qlm-language-switch { padding: 4px 8px; }
.qlm-language-switch [aria-current] { font-weight: 700; padding: 6px; }
:is(a,button,summary,input,textarea,select):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (max-width: 1100px) {
    header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
    header .wp-block-navigation__responsive-container-open { display: flex !important; }
    .wp-block-navigation__responsive-container.is-menu-open { padding: 24px !important; background: #fff; color: #111; }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; padding-top: 44px; }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 18px; }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding-block: 12px 0; padding-left: 20px; gap: 12px; }
    .wp-block-navigation__responsive-container-close { right: 0; top: 0; min-width: 44px; min-height: 44px; }
}
@media (max-width: 781px) {
    .qlm-cookie-notice { left: 12px; right: 12px; bottom: 64px; padding: 16px; }
    .qlm-hero-v4 h1, .single-post h1.wp-block-post-title, .qlm-article-layout h1 { font-size: 34px !important; line-height: 1.18; }
    .single-post .wp-block-post-content h2, .qlm-article-layout h2 { font-size: 28px !important; line-height: 1.25; }
    .single-post .wp-block-post-content h3, .qlm-article-layout h3 { font-size: 24px !important; }
    .single-post .wp-block-post-content p, .qlm-article-layout p { font-size: 17px; line-height: 1.55; }
    .qlm-hero-v4 :is(.has-large-font-size,.has-medium-font-size,.has-normal-font-size) { font-size: 19px !important; line-height: 1.5; }
    .qlm-section h2, .qlm-cta h2, .qlm-media-panel h2 { font-size: 28px !important; line-height: 1.25; }
    .qlm-card :is(h2,h3), .qlm-news-index .wp-block-post-title,
    .qlm-query-loop .wp-block-post-title, .blog .wp-block-post-title { font-size: 22px !important; }
    .qlm-faq-item summary { font-size: 19px !important; }
    .qlm-section p, .qlm-card p, .qlm-section li, .qlm-faq-item p { font-size: 17px; line-height: 1.55; }
    .qlm-hero-v4 { padding-block: 28px; }
    .qlm-card { padding: 20px; }
    .qlm-language-switch { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
    .wp-block-navigation__responsive-container.is-menu-open { animation: none; }
}
