/*
Theme Name: RimaViro
Theme URI: https://www.inmedia.nl/
Author: Koen Schouten
Author URI: https://www.inmedia.nl/
Description: Zelfstandig Gutenberg block theme voor RimaViro.
Version: 0.1.0
Text Domain: rimaviro-blocks
Requires at least: 6.6
Requires PHP: 8.1
*/

:root {
	--rima-navy: #10233e;
	--rima-blue-dark: #144391;
	--rima-blue-light: #1a9dd9;
	--rima-green: #a8c82d;
	--rima-white: #ffffff;
	--rima-surface: #f4f7f9;
	--rima-surface-blue: #eef4f7;
	--rima-border: #dfe7ec;
	--rima-muted: #68788d;
	--rima-focus: rgba(26, 157, 217, .42);
	--rima-container: 1180px;
	--rima-wide: 1240px;
	--rima-reading: 790px;
	--rima-text: 700px;
	--rima-gutter: 20px;
	--rima-container-width: min(var(--rima-container), calc(100% - (2 * var(--rima-gutter))));
	--rima-wide-width: min(var(--rima-wide), calc(100% - (2 * var(--rima-gutter))));
	--rima-font-sans: Arial, Helvetica, sans-serif;
	--rima-h1-size: clamp(3rem, 5vw, 4.9rem);
	--rima-h1-size-mobile: 2.8rem;
	--rima-h2-size: clamp(2.35rem, 4vw, 4.15rem);
	--rima-heading-line-height: 1.03;
	--rima-body-line-height: 1.65;
	--rima-space-section: 104px;
	--rima-space-section-tablet: 76px;
	--rima-space-section-mobile: 64px;
	--rima-radius-small: 6px;
	--rima-radius-medium: 12px;
	--rima-radius-feature: 10px 10px 65px 10px;
	--rima-shadow-soft: 0 18px 50px rgba(20, 67, 145, .09);
	--rima-header-height: 90px;
	--rima-header-height-compact: 74px;
	--rima-header-logo-width: 168px;
	--rima-header-logo-width-compact: 145px;
	--rima-control-height: 48px;
	--rima-menu-control-size: 46px;
	--rima-button-padding: .75rem 1.15rem;
	--rima-button-radius: 7px;
	--rima-button-border-width: 2px;
	--rima-primary: #164d98;
	--rima-primary-hover: #0f3f82;
	--rima-header-border: #dce4ea;
	--rima-breadcrumb-height: 44px;
	--rima-breadcrumb-height-mobile: 38px;
	--rima-breadcrumb-text: #34506d;
	--rima-breadcrumb-separator: #6c7e90;
	--rima-card-background: #ffffff;
	--rima-card-border: #dce4ea;
	--rima-card-border-hover: #c6d3dd;
	--rima-card-radius: 12px;
	--rima-card-gap: 18px;
	--rima-card-padding: 19px;
	--rima-card-image-background: #ffffff;
	--rima-card-hover-shadow: 0 18px 34px rgba(18, 34, 56, .11);
	--rima-card-transition: .2s ease;
	--rima-form-control-height: 46px;
	--rima-form-control-radius: 8px;
	--rima-form-control-border: #bfcbd5;
	--rima-form-focus: rgba(22, 77, 152, .2);
	--rima-panel-width: 520px;
	--rima-overlay: rgba(5, 24, 49, .52);
	--rima-cta-gradient: linear-gradient(120deg, #1766aa, #1688c8);
	--rima-cta-radius: 16px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: clip; }
img { display: block; max-width: 100%; height: auto; }

.rima-skip-link {
	position: fixed;
	left: 1rem;
	top: -6rem;
	z-index: 1000;
	padding: .75rem 1rem;
	background: var(--rima-blue-dark);
	color: var(--rima-white);
}
.rima-skip-link:focus { top: 1rem; }

.rima-gradient-text {
	padding: 0;
	background: linear-gradient(180deg, #143f81 0%, #1a9dd9 100%);
	background-clip: text;
	-webkit-background-clip: text;
	color: var(--rima-blue-dark);
	-webkit-text-fill-color: transparent;
}

:where(a, button, input, select, textarea):focus-visible {
	outline: 3px solid var(--rima-focus);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
