/* Datasammakko – lisätyylit, joita theme.json ei kata. */

/* Kursori: lisää otsikolle tyyli "Kursori perässä" */
.is-style-cursor::after {
	content: "_";
	color: var(--wp--preset--color--primary);
}
.has-terminal-background-color .is-style-cursor::after,
.has-night-background-color .is-style-cursor::after {
	color: var(--wp--preset--color--lime);
}

/* Kehoterivi: pieni monospace-rivi otsikon yläpuolella */
.is-style-prompt {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	letter-spacing: 0;
}

/* Kortti */
.wp-block-group.is-style-card {
	background: var(--wp--preset--color--base);
	border: 2px solid var(--wp--preset--color--line);
	border-radius: 16px;
	padding: var(--wp--preset--spacing--40);
	height: 100%;
	box-sizing: border-box;
}

/* Terminaali-ikkuna */
.wp-block-group.is-style-terminal {
	background: var(--wp--preset--color--terminal);
	color: var(--wp--preset--color--terminal-text);
	border-radius: 16px;
	overflow: hidden;
	font-family: var(--wp--preset--font-family--mono);
}
.is-style-terminal > .ds-terminal-bar {
	background: var(--wp--preset--color--terminal-bar);
	color: var(--wp--preset--color--mist);
	font-size: var(--wp--preset--font-size--x-small);
	padding: 0.75rem 1.25rem;
	margin: 0;
}
.is-style-terminal > .ds-terminal-body {
	padding: 1.75rem 1.5rem;
	overflow-x: auto;
}
.is-style-terminal p {
	margin: 0;
	font-size: clamp(0.875rem, 1.5vw, 1.125rem);
	line-height: 1.5;
}

/* Merkki "tarvittaessa" yms. */
.ds-tag {
	display: inline-block;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	color: #6B4A0E;
	background: #FCEBC0;
	padding: 0.15rem 0.5rem;
	border-radius: 6px;
}

/* Ylätunnisteen logo */
.ds-logo {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: -0.04em;
}
.ds-logo:hover { color: var(--wp--preset--color--contrast); }
.ds-logo img { width: 48px; height: 48px; display: block; }
.ds-logo .ds-g { color: var(--wp--preset--color--primary); }

/* Navigaation viimeinen linkki painikkeeksi: lisää valikkolinkille CSS-luokka "ds-nav-cta" */
.wp-block-navigation .ds-nav-cta > a.wp-block-navigation-item__content,
.wp-block-navigation .ds-nav-cta > a.wp-block-navigation-item__content:hover {
	color: #fff;
}
.wp-block-navigation .ds-nav-cta > a {
	background: var(--wp--preset--color--primary);
	padding: 0.75rem 1.1rem;
	border-radius: 8px;
	font-weight: 700;
}
.wp-block-navigation .ds-nav-cta > a:hover { background: var(--wp--preset--color--contrast); }

/* Lomakkeet tummalla pohjalla (myös Contact Form 7 / WPForms) */
.ds-form-box {
	background: var(--wp--preset--color--terminal-box);
	border-radius: 16px;
	padding: var(--wp--preset--spacing--40);
}
.ds-form-box label,
.ds-form-box .wpcf7-form p {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--mist);
}
.ds-form-box input[type="text"],
.ds-form-box input[type="email"],
.ds-form-box input[type="tel"],
.ds-form-box textarea {
	width: 100%;
	box-sizing: border-box;
	margin-top: 0.5rem;
	background: var(--wp--preset--color--night);
	border: 2px solid #2E5A3B;
	border-radius: 8px;
	padding: 0.875rem;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 1rem;
	color: #fff;
}
.ds-form-box input:focus,
.ds-form-box textarea:focus {
	outline: 3px solid var(--wp--preset--color--lime);
	outline-offset: 1px;
}
.ds-form-box input[type="submit"],
.ds-form-box button {
	background: var(--wp--preset--color--lime);
	color: var(--wp--preset--color--terminal);
	border: 0;
	border-radius: 10px;
	padding: 1rem 1.5rem;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 1rem;
	font-weight: 800;
	cursor: pointer;
}

/* Sammakkokuvat skaalautuvat */
.ds-frog img { width: 100%; height: auto; }

/* Ankkurilinkit eivät jää kiinteän palkin alle */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Kaistojen ylä- ja alareunat */
.ds-band {
	border-top: 2px solid var(--wp--preset--color--line);
	border-bottom: 2px solid var(--wp--preset--color--line);
}
.ds-band.ds-band-cream { border-color: var(--wp--preset--color--cream-line); }
.ds-header { border-bottom: 2px solid var(--wp--preset--color--line); }

/* Ei rakoa sisällön ja alatunnisteen väliin */
.wp-site-blocks > main,
.wp-site-blocks > footer { margin-block-start: 0; }
