/* Brand values sampled from official logo; theme.json supplies editor tokens. */
:root {
	--raahva-navy: var(--wp--preset--color--navy);
	--raahva-gold: var(--wp--preset--color--gold);
	--raahva-radius: 1rem;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 2rem; }
body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
a { text-underline-offset: .2em; overflow-wrap: anywhere; }
a:hover { text-decoration-thickness: .15em; }
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
	outline: 3px solid #995c00;
	outline-offset: 4px;
}
:where(.has-navy-background-color) :where(a, button):focus-visible { outline-color: #fff; }
.raahva-header { padding-block: 1rem; }
.raahva-header .wp-block-site-logo { background: #fff; border-radius: .5rem; padding: .25rem .75rem; flex-shrink: 0; }
.raahva-header .wp-block-site-logo img { display: block; }
.raahva-footer { padding-block: 3rem; margin-block-start: 4rem; }
.raahva-footer a, .raahva-header a { color: inherit; }
.raahva-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--raahva-navy); color: #fff; padding: 2rem; }
.is-style-raahva-card { border: 1px solid var(--wp--preset--color--border); border-radius: var(--raahva-radius); padding: clamp(1.25rem, 3vw, 2rem); background: #fff; }
.is-style-raahva-notice, .raahva-visa-context { border-inline-start: .25rem solid var(--raahva-gold); padding: 1.25rem; background: var(--wp--preset--color--mist); border-radius: .25rem; }
.raahva-visa-context { font-size: 1rem; }
.raahva-visa-context p:first-child { margin-block-start: 0; }
.raahva-visa-context p:last-child { margin-block-end: 0; }
.is-style-raahva-secondary .wp-block-button__link { background: transparent; border: 2px solid currentColor; color: var(--raahva-navy); }
.has-navy-background-color .is-style-raahva-secondary .wp-block-button__link { color: #fff; }
.wp-block-button__link { transition: filter .15s ease; }
.wp-block-button__link:hover { filter: brightness(.94); }
:where(input:not([type=checkbox]):not([type=radio]):not([type=submit]), textarea, select) {
	font: inherit; color: inherit; background: #fff; border: 1px solid #627181; border-radius: .375rem; padding: .75rem; max-width: 100%;
}
label { font-weight: 600; }
.wp-block-details { padding: 1rem 0; border-block-end: 1px solid var(--wp--preset--color--border); }
.wp-block-details summary { cursor: pointer; font-weight: 600; }
.wp-block-embed { margin-inline: 0; }
.wp-block-post-featured-image img { border-radius: var(--raahva-radius); }
@media (max-width: 600px) {
	.raahva-header .wp-block-site-logo { max-width: 145px; }
	.wp-block-buttons { gap: .75rem; }
	.wp-block-button__link { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
