/*
Theme Name: Rozbřesk II – Ivo Půr
Theme URI: https://ivopur.cz
Author: Ivo Půr
Description: Osobní bloková šablona stratéga komunikace. Lodní deník, rozbřesk a zelený záblesk nad obzorem. Všechny sekce jsou složené z běžných bloků a dají se upravit v editoru webu.
Version: 2.0.0
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ivopur
Tags: block-patterns, full-site-editing, one-column, custom-colors, editor-style
*/

/* ---------- Zelený záblesk: společné proměnné ---------- */
:root {
	--ip-flash: #3DF5A6;
	--ip-flash-mid: #19D98B;
	--ip-glow: 0 0 10px 2px rgba(25, 217, 139, 0.55);
	--ip-glow-strong: 0 0 14px 3px rgba(61, 245, 166, 0.7);
	--ip-rule: rgba(15, 27, 38, 0.25);
	--ip-rule-dark: rgba(238, 240, 236, 0.14);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
/* Sekce na celou šířku na sebe navazují bez mezer */
main.wp-block-group > .alignfull,
main.wp-block-group > .wp-block-post-content > .alignfull,
.wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0; margin-block-end: 0; }

/* ---------- Styly bloků (volitelné v editoru) ---------- */

/* Odstavec: Mono popisek */
.is-style-mono {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Odstavec: Signál (svítící smaragdová tečka) */
.is-style-signal {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.is-style-signal::before {
	content: "";
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ip-flash-mid);
	box-shadow: var(--ip-glow);
}
.has-night-background-color .is-style-signal::before,
.has-ink-background-color .is-style-signal::before {
	width: 9px;
	height: 9px;
	background: var(--ip-flash);
	box-shadow: var(--ip-glow-strong);
}

/* Seznam: Šipky */
ul.is-style-arrows {
	list-style: none;
	padding-left: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
ul.is-style-arrows li {
	position: relative;
	padding-left: 36px;
}
ul.is-style-arrows li::before {
	content: "→";
	position: absolute;
	left: 0;
	top: 0;
	font-family: var(--wp--preset--font-family--mono);
	color: var(--wp--preset--color--emerald);
}

/* Tlačítko: Záře */
.wp-block-button.is-style-glow .wp-block-button__link {
	box-shadow: 0 0 32px rgba(61, 245, 166, 0.35);
	transition: box-shadow 0.25s ease, background-color 0.25s ease;
}
.wp-block-button.is-style-glow .wp-block-button__link:hover {
	box-shadow: 0 0 44px rgba(61, 245, 166, 0.55);
}

/* Oddělovač: Obzor se zábleskem */
.wp-block-separator.is-style-horizon,
.wp-block-separator.is-style-horizon:not(.is-style-wide):not(.is-style-dots) {
	position: relative;
	height: 2px;
	border: 0;
	max-width: none;
	width: auto;
	opacity: 1;
	overflow: visible;
	background: linear-gradient(90deg, rgba(246, 197, 144, 0) 0%, rgba(246, 197, 144, 0.5) 50%, rgba(246, 197, 144, 0) 100%);
}
.wp-block-separator.is-style-horizon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: -5px;
	width: 12px;
	height: 12px;
	margin-left: -6px;
	border-radius: 50%;
	background: #B8FFE0;
	box-shadow: 0 0 24px 8px rgba(61, 245, 166, 0.6);
}

/* Skupina: Karta plavby */
.wp-block-group.is-style-card {
	border: 1px solid var(--wp--preset--color--ink);
	display: flex;
	flex-direction: column;
	height: 100%;
}
.wp-block-group.is-style-card > * { margin-block: 0; }
.wp-block-group.is-style-card > .ip-card-link {
	margin-top: auto;
	border-top: 1px solid var(--wp--preset--color--ink);
}

/* Skupina: Panel */
.wp-block-group.is-style-panel {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--ink);
}

/* ---------- Sekce ---------- */

/* Hlavička */
.ip-header .wp-block-site-title a { text-decoration: none; color: var(--wp--preset--color--mist); }
.ip-header .wp-block-navigation a { text-decoration: none; color: #C9D3D6; padding-block: 12px; }
.ip-header .wp-block-navigation a:hover { color: var(--wp--preset--color--flash-soft); }
.ip-header .wp-block-image { margin: 0; }
.ip-header .wp-block-image img { display: block; }

/* Úvod */
.ip-hero h1 em,
.ip-footer h2 em { color: var(--wp--preset--color--flash-soft); }
.ip-hero-note {
	border-top: 1px solid var(--ip-rule-dark);
	padding-top: 24px;
	text-transform: none;
	letter-spacing: 0.06em;
	font-size: var(--wp--preset--font-size--x-small);
}

/* Úvod s portrétem */
.ip-hero { overflow: hidden; }
.ip-hero .ip-hero-cols { padding-top: 72px; margin-block: 0; }
.ip-hero .ip-hero-text { padding-bottom: 72px; }
.ip-hero .ip-hero-title { font-size: clamp(44px, 6vw, 92px); }
.ip-hero .ip-hero-photo { align-self: flex-end; }
.ip-portrait { position: relative; margin: 0; }
.ip-portrait::before {
	content: "";
	position: absolute;
	inset: 6% -12% 0 -12%;
	background:
		radial-gradient(closest-side at 50% 26%, rgba(61, 245, 166, 0.16), rgba(61, 245, 166, 0) 72%),
		radial-gradient(closest-side at 50% 48%, rgba(246, 197, 144, 0.10), rgba(246, 197, 144, 0) 78%);
	pointer-events: none;
}
.ip-portrait img { position: relative; display: block; width: 100%; height: auto; }
@media (max-width: 781px) {
	.ip-hero .ip-hero-text { padding-bottom: 24px; }
	.ip-hero .ip-hero-note { margin-top: 48px !important; }
	.ip-hero .ip-hero-photo { max-width: 360px; margin-inline: auto; }
}

/* Nadpisy v textu článků a plaveb */
.wp-block-post-content h2 { font-size: clamp(30px, 3.4vw, 40px); margin-top: 56px; }
.wp-block-post-content .wp-block-embed { margin-block: 40px; }

/* O mně */
.ip-about-lead { margin-block: 0 40px; }
.ip-voyage li strong { font-weight: 600; }
.wp-block-quote.ip-quote {
	margin-block: 56px;
	padding: 0;
	border: 0;
}
.wp-block-quote.ip-quote p {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(28px, 3.4vw, 40px);
	line-height: 1.2;
}
.wp-block-quote.ip-quote p::before { content: "„"; color: var(--wp--preset--color--emerald); }
.wp-block-quote.ip-quote p::after { content: "“"; color: var(--wp--preset--color--emerald); }

/* Já za 10 sekund */
.ip-band { border-top: 1px solid var(--ip-rule-dark); }

/* Kdy mě volat */
.ip-situations {
	border-top: 1px solid var(--wp--preset--color--ink);
	gap: 0 !important;
}
.ip-situations > .wp-block-column {
	padding: 32px 32px 40px 0;
	border-bottom: 1px solid var(--ip-rule);
}
.ip-situations h3 {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
}

/* Úvodní odstavec sekce */
.ip-lead { max-width: 760px; margin-left: 0 !important; margin-right: auto !important; }
.is-layout-constrained > .ip-lead {
	box-sizing: border-box;
	max-width: var(--wp--style--global--content-size, 1200px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-right: max(0px, calc(min(100%, var(--wp--style--global--content-size, 1200px)) - 760px));
}
.ip-lead strong { font-weight: 600; }

/* Kdy mě volat – na menších obrazovkách dva bloky vedle sebe */
@media (min-width: 782px) and (max-width: 1100px) {
	.ip-situations { flex-wrap: wrap !important; }
	.ip-situations > .wp-block-column { flex-basis: 50% !important; flex-grow: 0 !important; box-sizing: border-box; }
}

/* Karty plaveb */
.ip-cases-query .wp-block-post-template > li { display: flex; }
.ip-cases-query .wp-block-post-template > li > .is-style-card { width: 100%; }
.ip-case-title { margin: 0; }
.ip-case-title a { text-decoration: none; }
.ip-card-link.wp-block-read-more { display: block; width: auto; align-self: stretch; text-decoration: none; }
.is-style-panel .wp-block-column > .is-style-mono + p,
.is-style-panel .wp-block-column > .is-style-signal + p { margin-top: 8px; }
.ip-cases > .wp-block-column { display: flex; }
.ip-cases .wp-block-group.is-style-card { width: 100%; }
.ip-case-meta { padding: 28px 28px 0; }
.ip-case-meta p { margin: 0; }
.ip-case-title { padding: 20px 28px 8px; }
.ip-case-label {
	padding: 16px 28px 0;
	font-size: var(--wp--preset--font-size--x-small);
}
.ip-case-text { padding: 4px 28px 0; font-size: 16px; }
.wp-block-group.is-style-card > *:nth-last-child(2) { padding-bottom: 28px; }
.ip-card-link {
	padding: 18px 28px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--small);
}
.ip-card-link a { text-decoration: none; }

/* Deník – výpis příspěvků */
.ip-journal .wp-block-post-template { border-top: 1px solid var(--wp--preset--color--ink); }
.ip-journal .wp-block-post-template > li {
	margin: 0;
	padding: 28px 0;
	border-bottom: 1px solid var(--ip-rule);
}
.ip-journal .wp-block-post-date { flex: 0 0 140px; }
.ip-journal .wp-block-post-title { flex: 1 1 480px; margin: 0; }
.ip-journal .wp-block-post-title a { text-decoration: none; }

/* Patička */
.ip-footer a { color: var(--wp--preset--color--mist); }
.ip-footer a:hover { color: var(--wp--preset--color--flash-soft); }
.ip-footer-bottom { border-top: 1px solid rgba(238, 240, 236, 0.18); padding-top: 24px; }
.ip-footer-bottom .wp-block-image { margin: 0; }

/* Text článků */
.ip-prose { max-width: 720px; margin-inline: auto; }
.ip-prose h2 { font-size: clamp(30px, 4vw, 44px); }

@media (max-width: 781px) {
	.ip-situations > .wp-block-column { padding-right: 0; }
	.ip-journal .wp-block-post-date { flex-basis: 100%; }
}

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