/* Small document baseline; Elementor and WooCommerce own their components. */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: #fff; color: #333; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 1rem; line-height: 1.5; }
h1, h2, h3, h4, h5, h6 { color: inherit; font-family: inherit; font-weight: 500; line-height: 1.2; margin-block: .5rem 1rem; }
h1 { font-size: 2.5rem; } h2 { font-size: 2rem; } h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; } h5 { font-size: 1.25rem; } h6 { font-size: 1rem; }
p { margin-block: 0 .9rem; }
img { max-width: 100%; height: auto; }
iframe, video { max-width: 100%; }
pre { overflow: auto; white-space: pre-wrap; }
button, input, select, textarea { font: inherit; }
button, input, select, textarea { margin: 0; }
textarea { resize: vertical; }
button, [type="button"], [type="submit"] { cursor: pointer; }
button:disabled, input:disabled { cursor: default; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; width: auto; height: auto; margin: 0; padding: 12px 20px; clip-path: none; background: #fff; color: #222; z-index: 100000; }
.alignleft { float: left; margin-inline-end: 1rem; }
.alignright { float: right; margin-inline-start: 1rem; }
.aligncenter { display: block; clear: both; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text, .gallery-caption { font-size: .875rem; }
.page-content::after { content: ""; display: block; clear: both; }
.ww-content-card { margin-block-end: 2rem; }
.ww-content-card .wp-post-image { width: 100%; max-height: 500px; object-fit: cover; }
.ww-site-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; max-width: 1140px; margin-inline: auto; }
.ww-site-header .custom-logo { width: auto; max-height: 100px; }
.ww-site-header .menu { display: flex; flex-wrap: wrap; gap: 1rem; list-style: none; padding: 0; }
/* Plain fallback menus remain expanded and keyboard accessible without JavaScript. */
.ww-site-header .sub-menu { padding-inline-start: 1.25rem; }
.comments-area { margin-block: 2rem; }
.comment-list { padding-inline-start: 1.5rem; }
.comment-body { padding-block: 1rem; border-bottom: 1px solid #ccc; }
.comment-metadata { font-size: .875rem; }
.nav-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-block: 1.5rem; }
