:root {
	--plattio-primary: var(--wp--preset--color--primary, #0e3f3f);
	--plattio-accent: var(--wp--preset--color--accent, #66d2b8);
	--plattio-text: var(--wp--preset--color--foreground, #111817);
	--plattio-muted: var(--wp--preset--color--muted, #60706d);
	--plattio-bg: var(--wp--preset--color--background, #fff);
	--plattio-surface: var(--wp--preset--color--surface, #f5f7f6);
	--plattio-border: var(--wp--preset--color--border, #dfe6e3);
	--plattio-container: 1280px;
	--plattio-content: 760px;
	--plattio-radius: 14px;
	--plattio-button-radius: 10px;
	--plattio-header-height: 72px;
	--plattio-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--plattio-shadow-soft: 0 12px 34px rgba(17, 24, 23, 0.08);
	--plattio-shadow-lifted: 0 24px 70px rgba(17, 24, 23, 0.14);
	--plattio-transition: 180ms cubic-bezier(.2,.7,.2,1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	min-width: 320px;
	background: var(--plattio-bg);
	color: var(--plattio-text);
	font-family: var(--plattio-font);
	font-size: 15px;
	line-height: 1.65;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}
img, svg, video { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
a { color: var(--plattio-primary); text-decoration-thickness: .08em; text-underline-offset: .16em; }
a:hover { text-decoration-thickness: .12em; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--plattio-accent) 75%, #fff); outline-offset: 3px; }
::selection { background: color-mix(in srgb, var(--plattio-accent) 55%, #fff); color: var(--plattio-text); }

.wp-site-blocks { min-height: 100vh; overflow: clip; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks > header,
.wp-site-blocks > footer { padding-inline: 0; }

.alignwide { max-width: var(--plattio-container); margin-inline: auto; }
.alignfull { width: 100%; max-width: none; }

.wp-block-group.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: var(--plattio-content); }
.wp-block-group.is-layout-constrained > .alignwide { max-width: var(--plattio-container); }

h1, h2, h3, h4, h5, h6 {
	margin-block: 0 0.55em;
	font-weight: 750;
	line-height: 1.12;
	letter-spacing: -0.025em;
	text-wrap: balance;
}
p { margin-block: 0 1.15em; }

.wp-element-button,
.wp-block-button__link,
button[type="submit"],
input[type="submit"] {
	appearance: none;
	border: 1px solid transparent;
	border-radius: var(--plattio-button-radius);
	background: var(--plattio-primary);
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	line-height: 1.2;
	padding: .82rem 1.3rem;
	text-decoration: none;
	transition: transform var(--plattio-transition), background-color var(--plattio-transition), border-color var(--plattio-transition), opacity var(--plattio-transition);
}
.wp-element-button:hover,
.wp-block-button__link:hover,
button[type="submit"]:hover,
input[type="submit"]:hover { transform: translateY(-1px); opacity: .92; }
.wp-block-button.is-style-outline .wp-block-button__link { border-color: currentColor; background: transparent; color: var(--plattio-primary); }

input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], input[type="number"], input[type="search"], select, textarea {
	width: 100%;
	min-height: 46px;
	border: 1px solid var(--plattio-border);
	border-radius: min(var(--plattio-radius), 12px);
	background: var(--plattio-bg);
	color: var(--plattio-text);
	padding: .7rem .85rem;
	transition: border-color var(--plattio-transition), box-shadow var(--plattio-transition);
}
textarea { min-height: 130px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--plattio-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--plattio-primary) 14%, transparent); outline: 0; }

.plattio-site-header {
	position: relative;
	z-index: 50;
	border-bottom: 1px solid color-mix(in srgb, var(--plattio-border) 86%, transparent);
	background: color-mix(in srgb, var(--plattio-bg) 94%, transparent);
	backdrop-filter: blur(14px);
}
.plattio-sticky-header .plattio-site-header { position: sticky; top: var(--wp-admin--admin-bar--height, 0); }
.plattio-site-header__inner {
	min-height: 64px;
	max-width: var(--plattio-container);
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}
.plattio-site-header .wp-block-site-logo img { max-height: calc(var(--plattio-header-height) - 24px); width: auto; }
.plattio-site-header .wp-block-site-title { margin: 0; font-size: 1.25rem; letter-spacing: -.02em; }
.plattio-site-header .wp-block-navigation-item__content { color: var(--plattio-text); text-decoration: none; }
.plattio-site-header .wp-block-navigation__responsive-container-open,
.plattio-site-header .wp-block-navigation__responsive-container-close { color: var(--plattio-text); }
.plattio-header-logo-center .plattio-site-header__inner { grid-template-columns: 1fr auto 1fr; }

.plattio-site-footer { border-top: 1px solid var(--plattio-border); background: var(--plattio-surface); }
.plattio-site-footer__inner { max-width: var(--plattio-container); margin-inline: auto; }
.plattio-site-footer a { color: inherit; }

.plattio-page-header { padding-block: clamp(2.5rem, 7vw, 6rem) clamp(2rem, 4vw, 3.5rem); }
.plattio-page-header > * { max-width: var(--plattio-container); margin-inline: auto; }
.plattio-page-content { padding-block-end: clamp(3rem, 7vw, 7rem); }

.plattio-link-arrow { display: inline-flex; align-items: center; gap: .45rem; color: inherit; font-weight: 700; text-decoration: none; }
.plattio-link-arrow svg { transition: transform var(--plattio-transition); }
.plattio-link-arrow:hover svg { transform: translateX(3px); }

.wp-block-query-pagination { margin-block-start: 2.5rem; }
.wp-block-query-pagination a,
.wp-block-query-pagination .current { display: inline-flex; min-width: 42px; min-height: 42px; align-items: center; justify-content: center; border: 1px solid var(--plattio-border); border-radius: 10px; text-decoration: none; }
.wp-block-query-pagination .current { border-color: var(--plattio-primary); background: var(--plattio-primary); color: #fff; }

.wp-block-post-featured-image img { width: 100%; border-radius: var(--plattio-radius); object-fit: cover; }
.wp-block-post-template.is-layout-grid { gap: clamp(1.25rem, 3vw, 2.25rem); }
.wp-block-post-template .wp-block-post { min-width: 0; }

.plattio-blog-card { height: 100%; border: 1px solid var(--plattio-border); border-radius: var(--plattio-radius); overflow: hidden; background: var(--plattio-bg); }
.plattio-blog-card__content { padding: 1.25rem; }

.plattio-empty-state { padding: clamp(3rem, 10vw, 8rem) 1rem; text-align: center; }
.plattio-empty-state > * { max-width: 680px; margin-inline: auto; }

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.screen-reader-text:focus { top: 5px; left: 5px; z-index: 100000; width: auto; height: auto; clip: auto; padding: .75rem 1rem; background: #fff; color: #000; }

.plattio-site-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem; background: var(--plattio-bg); color: var(--plattio-text); }
.plattio-site-header .wp-block-navigation__responsive-container-content { padding-top: 2.5rem; }
.plattio-site-header .wp-block-navigation__container { gap: 1rem; align-items: flex-start; }
.plattio-page-header { padding-inline: 1rem; }

@media (min-width: 782px) {
	body { font-size: 16px; }
	.plattio-site-header__inner { min-height: var(--plattio-header-height); }
	.plattio-site-header .wp-block-navigation__container { align-items: center; }
	.plattio-page-header { padding-inline: 0; }
}

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

[dir="rtl"] .plattio-link-arrow svg { transform: scaleX(-1); }
[dir="rtl"] .plattio-link-arrow:hover svg { transform: scaleX(-1) translateX(3px); }

/* True edge-to-edge templates. */
.plattio-template-full-width,
.plattio-template-fullscreen,
.plattio-template-no-title,
.plattio-template-blank,
.plattio-template-landing,
.plattio-template-full-width > .wp-block-post-content,
.plattio-template-fullscreen > .wp-block-post-content,
.plattio-template-no-title > .wp-block-post-content,
.plattio-template-blank > .wp-block-post-content,
.plattio-template-landing > .wp-block-post-content {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}
.plattio-template-fullscreen { min-height: calc(100svh - var(--plattio-header-height)); }
.plattio-template-fullscreen > .wp-block-post-content { min-height: inherit; }
.plattio-template-blank { min-height: 100svh; }
.plattio-template-full-width > .wp-block-post-content > .alignfull,
.plattio-template-fullscreen > .wp-block-post-content > .alignfull,
.plattio-template-no-title > .wp-block-post-content > .alignfull,
.plattio-template-blank > .wp-block-post-content > .alignfull,
.plattio-template-landing > .wp-block-post-content > .alignfull { margin-inline: 0; }
