/*
Theme Name: SATO Studio
Theme URI: https://sato-studio.at
Author: SATO studio
Description: Eigenes Block-Theme für sato-studio.at. Layout im Code, Inhalte im Editor.
Requires at least: 6.6
Requires PHP: 8.1
Version: 0.1.0
License: proprietary
Text Domain: sato-studio
*/

/* PLATZHALTER: Werte werden nach Vorliegen des Designs ersetzt. Farben und Typo kommen aus theme.json. */

:where(body) { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(img) { height: auto; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 50; background: var(--wp--preset--color--base); border-bottom: 1px solid var(--wp--preset--color--line); }
.site-header .wp-block-site-title a { text-decoration: none; color: inherit; }

/* Fokus deutlich sichtbar */
:where(a, button, input, textarea, select, summary):focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }

/* Projektdaten */
.sato-projektdaten { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--wp--preset--spacing--30); margin: 0; padding: var(--wp--preset--spacing--40) 0; border-block: 1px solid var(--wp--preset--color--line); }
.sato-projektdaten dt { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); margin: 0 0 .25em; }
.sato-projektdaten dd { margin: 0; }

/* Formulare */
.sato-form { display: grid; grid-template-columns: 1fr 1fr; gap: var(--wp--preset--spacing--30); max-width: 640px; }
.sato-form > * { grid-column: 1 / -1; }
.sato-form > .sato-form__field--half { grid-column: auto; }
@media (max-width: 600px) { .sato-form > .sato-form__field--half { grid-column: 1 / -1; } }
.sato-form__hint { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.sato-form__field { display: grid; gap: .4em; }
.sato-form__field label { font-size: var(--wp--preset--font-size--small); }
.sato-form input:not([type="checkbox"]):not([type="file"]), .sato-form textarea, .sato-form select {
	font: inherit; color: inherit; width: 100%; padding: .8em 1em;
	background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--line); border-radius: 0;
}
.sato-form input[aria-invalid="true"], .sato-form textarea[aria-invalid="true"] { border-color: var(--wp--preset--color--accent); }
.sato-form__field--consent label { display: flex; gap: .75em; align-items: flex-start; }
.sato-form__field--consent input { margin-top: .3em; flex: none; }
.sato-form__error { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--accent); min-height: 0; }
.sato-form__error:empty { display: none; }
.sato-form__submit {
	font: inherit; cursor: pointer; justify-self: start; padding: .9em 1.6em; border: 0;
	background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base);
}
.sato-form.is-sending .sato-form__submit { opacity: .6; cursor: progress; }
.sato-form__status:empty { display: none; }
.sato-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
/* Footer */
.site-footer { margin-top: var(--wp--preset--spacing--60); padding-block: var(--wp--preset--spacing--50); background: var(--wp--preset--color--surface); }
.site-footer .is-style-plain { list-style: none; padding: 0; }
.site-footer__badges { gap: var(--wp--preset--spacing--40); align-items: center; }

/* Sektionen und Laufband */
.sato-section { padding-block: var(--wp--preset--spacing--50); }
.sato-laufband { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--x-large); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wp-block-details { border-bottom: 1px solid var(--wp--preset--color--line); padding-block: var(--wp--preset--spacing--30); }
.wp-block-details summary { cursor: pointer; font-weight: 500; }
