/*
Theme Name: Praxislicht
Theme URI: https://photolium.de/
Author: photolium – Tom
Author URI: https://photolium.de/
Description: Block-Theme für Praxen: Psychotherapie und Coaching, Ergotherapie und Logopädie, Heilpraktik und Massage. Fertige Vorlagen für Startseite, Angebot, Über mich, Ablauf und Kosten, Kontakt, Impressum und Datenschutz. Schriften lokal eingebunden, keine externen Anfragen. Vier ruhige Farbvarianten, Musterinhalte für eine Praxis für Ergotherapie.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: praxislicht
Tags: block-patterns, full-site-editing, one-column, custom-colors, editor-style, wide-blocks, business
*/

/* ---------------------------------------------------------
   Ergänzungen zu theme.json (Frontend + Editor)
   --------------------------------------------------------- */

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Kein Abstand zwischen Kopf, Inhalt und Fuß */
.wp-site-blocks > main,
.wp-site-blocks > footer { margin-block-start: 0; }
:where(section, [id]) { scroll-margin-top: 110px; }

/* Sichtbarer Fokus für Tastaturnutzer */
:where(a, button, summary, input, select, textarea):focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 3px;
}

/* Header: bleibt beim Scrollen oben */
.pr-header {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.admin-bar .pr-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .pr-header { top: 46px; } }

/* Kleine Kennzeile über Überschriften */
.pr-eyebrow {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	letter-spacing: 0.04em;
	font-weight: 600;
}
.pr-eyebrow::before {
	content: "";
	width: 32px;
	height: 2px;
	border-radius: 2px;
	background: var(--wp--preset--color--accent);
	flex: none;
}

/* Hero: Text und Bild nebeneinander */
.pr-hero .wp-block-image img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
	border-radius: 24px;
}

/* Karten */
.pr-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 16px;
	height: 100%;
}
.pr-card .wp-block-image img { border-radius: 10px; }

/* Ablauf: Nummer im Kreis */
.pr-step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	border: 2px solid var(--wp--preset--color--accent);
	line-height: 1;
}

/* Listen mit ruhigem Punkt */
.pr-list { list-style: none; padding-left: 0; }
.pr-list li { position: relative; padding-left: 1.5rem; }
.pr-list li + li { margin-top: 0.5rem; }
.pr-list li::before {
	content: "";
	position: absolute;
	left: 0.25rem;
	top: 0.7em;
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
}

/* Praxisräume */
.pr-gallery .wp-block-image { margin: 0; }
.pr-gallery .wp-block-image img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
	border-radius: 12px;
}

/* FAQ (Details-Block) */
.wp-block-details {
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding: 1rem 0;
}
.wp-block-details summary {
	cursor: pointer;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--large);
	list-style: none;
	display: flex;
	align-items: center;
	min-height: 44px;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+";
	margin-left: auto;
	padding-left: 1rem;
	font-size: 1.5rem;
	font-weight: 400;
	color: var(--wp--preset--color--primary);
}
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details > :not(summary) { margin-top: 0.5rem; }

/* Platzhalter-Kästen (Porträt, Formular, Karte) */
.pr-placeholder {
	border: 2px dashed var(--wp--preset--color--line);
	border-radius: 16px;
	text-align: center;
}
.pr-portrait {
	aspect-ratio: 4 / 5;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Button im Header auf kleinen Bildschirmen kompakter */
@media (max-width: 600px) {
	.pr-header .pr-header-cta .wp-block-button__link { padding: 0.55rem 0.9rem; font-size: 0.9375rem; }
}

/* Links auf dunklem Grund */
.has-dark-background-color a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--on-dark); }

/* Beginnt oder endet eine Seite mit einem vollbreiten Abschnitt, entfällt der zusätzliche Seitenabstand */
main .wp-block-post-content:has(> .alignfull:last-child) { padding-bottom: 0 !important; }
main .wp-block-post-content:has(> .alignfull:first-child) { padding-top: 0 !important; }
