/* Every template: page blocks (src/Blocks.php), buttons, the logo and the skip link. Colours, fonts, corners and
   spacing come only from the theme's CSS variables (src/Theme.php: --bs-* and --wew-*). A template's own CSS
   (templates/<name>.css) styles its header, banner and footer, and may override these. */
body{-webkit-font-smoothing:antialiased}
h1,h2,h3,.display-5,.wew-brand{font-family:var(--wew-heading-font);font-weight:600;color:var(--bs-emphasis-color)}
.wew-skip{position:absolute;left:16px;top:8px;z-index:10;background:var(--bs-body-bg);padding:6px 10px}

.wew-brand{font-size:1.35rem;color:var(--wew-brand);text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.wew-mode-dark .wew-brand{color:var(--bs-emphasis-color)}
.wew-brand-logo img{display:block;height:auto;max-height:48px;width:auto;max-width:220px}
.wew-nav{display:flex;align-items:center;flex-wrap:wrap;gap:6px 20px}
.wew-nav a:not(.btn){color:var(--bs-secondary-color);text-decoration:none}
.wew-nav a:not(.btn):hover,.wew-nav a[aria-current=page]{color:var(--bs-emphasis-color)}

.btn{border-radius:var(--wew-btn-radius)}
.btn-wew{background:var(--wew-brand);color:var(--wew-brand-ink);border:2px solid var(--wew-brand)}
.btn-wew:hover,.btn-wew:focus-visible{background:var(--wew-brand);color:var(--wew-brand-ink);border-color:var(--wew-brand);filter:brightness(1.08)}
.btn-wew-secondary{background:transparent;color:var(--bs-emphasis-color);border:2px solid var(--wew-brand)}
.btn-wew-secondary:hover{background:var(--wew-brand);color:var(--wew-brand-ink)}
.btn-wew-accent,.btn-wew-accent:hover,.btn-wew-accent:focus-visible{background:var(--wew-accent);color:var(--wew-accent-ink);border:2px solid var(--wew-accent)}
.btn-wew-accent:hover{filter:brightness(1.08)}
.wew-btn-outline .btn-wew{background:transparent;color:var(--bs-emphasis-color)}
.wew-btn-outline .btn-wew:hover{background:var(--wew-brand);color:var(--wew-brand-ink)}

.wew-hero{background:var(--wew-band);padding:var(--wew-space) 0}
.wew-hero .lead{color:var(--bs-secondary-color);max-width:560px}
.wew-section{padding:var(--wew-space) 0}
.wew-hero + .wew-section,.wew-section + .wew-section{padding-top:0}
main > .wew-hero + .wew-section{padding-top:var(--wew-space)}
.wew-section h1{margin-bottom:1rem}
.wew-section h2,.wew-section h3{margin:1.5rem 0 .75rem}
.wew-section .container > :first-child{margin-top:0}
.wew-text{max-width:720px}
.wew-button{margin:1.25rem 0}

.wew-image{margin:1.5rem 0}
.wew-image img{display:block;max-width:100%;height:auto;border-radius:var(--bs-border-radius-lg)}
.wew-image-normal{max-width:720px}
.wew-image-wide img{width:100%}
.wew-full{padding:0}
.wew-image-full{margin:0}
.wew-image-full img{width:100%;border-radius:0;max-height:80vh;object-fit:cover}
.wew-image figcaption{color:var(--bs-secondary-color);font-size:.9rem;margin-top:.5rem}
.wew-image-full figcaption{padding:0 calc(var(--bs-gutter-x,1.5rem) * .5);max-width:1320px;margin:.5rem auto 0}

.wew-footer{color:var(--bs-secondary-color);font-size:.9rem}
.wew-footer a{color:var(--bs-secondary-color)}
.wew-contact{display:flex;flex-wrap:wrap;gap:4px 16px}
.wew-contact strong{color:var(--bs-emphasis-color)}
.wew-tagline{font-style:italic}

/* Forms (src/Forms.php). Error red: #b42318 on white 6.5:1, #ff8a80 on the dark background 8:1 (WCAG AA 4.5:1). */
/* 860px: room for two or three fields side by side (half / third of a row) while one field stays a readable width. */
.wew-form{margin:1.5rem 0;--wew-danger:#b42318}
.wew-mode-dark .wew-form{--wew-danger:#ff8a80}
.wew-field{margin:0 0 1rem;padding:0;border:0;min-width:0}
.wew-field legend{float:none;font-size:1rem}
.wew-req{color:var(--bs-secondary-color)}
.wew-form-note{color:var(--bs-secondary-color);margin:0 0 1rem}
.wew-field-error{color:var(--wew-danger);font-size:.9rem;margin-top:.25rem}
.wew-form [aria-invalid=true] .form-check-input,.wew-form .form-control[aria-invalid=true],.wew-form .form-select[aria-invalid=true]{border-color:var(--wew-danger)}
.wew-form-alert,.wew-form-sent{border:1px solid var(--bs-border-color);border-left:4px solid var(--wew-danger);border-radius:var(--bs-border-radius);padding:.75rem 1rem;margin-bottom:1rem;background:var(--wew-card-bg)}
.wew-form-sent{border-left-color:var(--wew-brand);max-width:640px;margin:1.5rem 0}
.wew-form-sent p{margin:0}
.wew-form-send{margin-top:1rem}
/* The platform's human check (bootstrap/forms/form.css variables) in the site's own colours. */
.wew-form .pf-check{--pf-bg:var(--wew-card-bg);--pf-text:var(--bs-body-color);--pf-muted:var(--bs-secondary-color);--pf-line:var(--bs-border-color);--pf-glow:transparent;--pf-radius:var(--bs-border-radius-lg)}
@media (max-width:575px){.wew-brand-logo{flex-wrap:wrap}.wew-brand-logo img{max-width:150px;max-height:40px}}
/* A form waiting for its answer (form-send.js): Send is disabled, says "Sending…" and shows a spinner. */
.wew-busy{cursor:progress;opacity:.85}
.wew-busy::before{content:"";display:inline-block;width:.9em;height:.9em;margin-right:.5em;vertical-align:-.1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:wew-spin .7s linear infinite}
@keyframes wew-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.wew-busy::before{animation:none;border-right-color:currentColor;opacity:.5}}
