/*
Theme Name: Somanti
Description: Motyw blokowy dla praktyki fizjoterapii Somanti (Arni AG). Wariant E: jeden krój, dużo bieli, bez linii między sekcjami.
Author: Agentro
Author URI: https://agentro.pl
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: somanti
License: All rights reserved
*/

/* Drobiazgi, których theme.json nie wyraża. Reszta stylów siedzi w theme.json. */
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
.has-ink-soft-color, .is-style-lead { max-width: 60ch; }

/* Hero: kadr 4:3, środek na barku i klatce */
.somanti-hero__media img { aspect-ratio: 4 / 3; object-fit: cover; object-position: 62% 40%; width: 100%; height: auto; }
.somanti-hero h1 { max-width: 13ch; }
.somanti-hero__lead { max-width: 38ch; }

/* Mobile: zdjęcie nad tekstem, do krawędzi */
@media (max-width: 781px) {
  .somanti-hero .wp-block-columns { flex-direction: column-reverse; }
  .somanti-hero__media { margin-inline: calc(-1 * var(--wp--style--root--padding-left)); }
}

/* Sekcje rozdziela tylko światło i rytm, nie linie */
.somanti-section + .somanti-section { margin-block-start: 0; }

/* Bez tabular-nums: w tym kroju rozpycha przecinki i kropki. */

/* Stopka przylega do ostatniej sekcji, bez białego paska */
.wp-site-blocks > footer, .wp-site-blocks > .wp-block-template-part:last-child { margin-block-start: 0; }

/* Lista dolegliwości */
.somanti-list a { text-decoration: none; display: block; }
.somanti-list a:hover .somanti-list__t { color: var(--wp--preset--color--accent); }

/* Unterseiten: mehr Luft vor Abschnitten als zwischen Absätzen */
.wp-block-post-content > h2 { margin-block-start: clamp(2.5rem, 5vw, 4rem); }

/* Sprachwechsel im Menü */
.somanti-lang a { font-size: 0.8125rem; letter-spacing: 0.08em; color: var(--wp--preset--color--muted); }

/* Porträt: festes Format, kein Sprung beim Laden */
.somanti-portrait img { width: 100%; max-width: 460px; height: auto; }

/* Hochformat-Fotos im Text nicht über die ganze Spalte */
.somanti-photo-tall img { width: 100%; max-width: 440px; height: auto; }

/* Anfahrtsplan */
.somanti-plan img { width: 100%; max-width: 380px; height: auto; }

/* Platzhalter für Fotos, bis die echten Bilder da sind */
.somanti-photo-slot { aspect-ratio: 4 / 5; max-width: 100%; background: var(--wp--preset--color--tint); display: flex; align-items: flex-end; padding: 1rem; }

/* Häufige Fragen */
.wp-block-details { padding-block: 1.1rem; border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 10%, transparent); }
.wp-block-details:last-of-type { border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 10%, transparent); }
.wp-block-details summary { cursor: pointer; font-weight: 500; }
.wp-block-details[open] summary { margin-bottom: .6rem; }
.wp-block-details summary:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 4px; }

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Logo: znak + napis, złote A jak w logo */
.somanti-brand { display: inline-flex; align-items: center; gap: 0.75rem; margin: 0; text-decoration: none; color: var(--wp--preset--color--ink); font-size: 0.9375rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.somanti-brand img { width: 48px; height: 48px; }
.somanti-brand__a { color: #b8862f; }
@media (max-width: 600px) { .somanti-brand img { width: 40px; height: 40px; } .somanti-brand { gap: 0.5rem; } }

/* Stopka: linki z wystarczającym polem do kliknięcia na telefonie */
footer.wp-block-group p { line-height: 1.9; }
footer.wp-block-group a { display: inline-block; min-height: 24px; }

/* Nagłówek na wąskich ekranach: logo, przycisk i menu w jednej linii */
@media (max-width: 480px) {
	header.wp-block-group > .wp-block-group { gap: 0.875rem !important; flex-wrap: nowrap !important; }
	header .wp-block-buttons .wp-block-button__link { padding: 0.55rem 0.8rem; font-size: 0.875rem; line-height: 1.2; max-width: 9rem; text-align: center; }
	header .somanti-brand { font-size: 0.8125rem; letter-spacing: 0.12em; }
	header .wp-block-navigation { order: 3; }
}

/* Menu mobilne: tło strony, lewa strona, większe pozycje */
.wp-block-navigation__responsive-container.is-menu-open { background-color: var(--wp--preset--color--paper) !important; padding: 1.5rem 1.25rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; padding-top: 3rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: 1.25rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a { font-size: 1.375rem; }
.wp-block-navigation__responsive-container.is-menu-open .somanti-lang a { font-size: 0.9375rem; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

/* Laptop/tablet (600–1279 px): menu w hamburgerze, żeby nagłówek nie łamał się na dwie linie */
@media (min-width: 600px) and (max-width: 1279px) {
	header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	header.wp-block-group > .wp-block-group { flex-wrap: nowrap !important; }
	header .wp-block-navigation { order: 3; margin-left: 0.5rem; }
	header .wp-block-buttons { margin-left: auto; }
}
