/* Jemná joga – doplnkové štýly k theme.json */

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(h1, h2, h3) { text-wrap: balance; }

/* ------------------------------------------------------------
   Ťah štetcom cez slovo – podpis značky.
   V editore: označ slovo v nadpise → šípka ⌄ → Zvýraznenie.
   ------------------------------------------------------------ */
:where(h1, h2, h3, h4, p) mark {
	--stetec: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 40' preserveAspectRatio='none'%3E%3Cpath fill='%23CCC4D1' d='M4 14 C 40 6, 90 9, 140 7 C 190 5, 240 8, 292 6 C 297 12, 295 22, 298 31 C 250 35, 200 31, 150 34 C 100 37, 50 33, 6 36 C 2 28, 7 21, 4 14 Z'/%3E%3C/svg%3E");
	background: var(--stetec) no-repeat 0 82% / 100% 0.5em !important;
	color: inherit !important;
	padding-inline: 0.12em;
	margin-inline: -0.12em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.has-oliva-background-color mark,
.has-oliva-tmava-background-color mark {
	--stetec: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 40' preserveAspectRatio='none'%3E%3Cpath fill='%23B5A8B3' d='M4 14 C 40 6, 90 9, 140 7 C 190 5, 240 8, 292 6 C 297 12, 295 22, 298 31 C 250 35, 200 31, 150 34 C 100 37, 50 33, 6 36 C 2 28, 7 21, 4 14 Z'/%3E%3C/svg%3E");
}
.has-oliva-background-color h6,
.has-oliva-tmava-background-color h6 { color: var(--wp--preset--color--pudrova); }
.has-pudrova-background-color .wp-block-button__link:hover { background: var(--wp--preset--color--krem); }
.has-oliva-background-color .wp-block-button__link:hover { background: var(--wp--preset--color--krem); }

/* ------------------------------------------------------------
   Tlačidlo ako podčiarknutý odkaz so šípkou
   ------------------------------------------------------------ */
.wp-block-button.is-style-sipka .wp-block-button__link {
	background: transparent !important;
	color: inherit !important;
	padding: 0 0 4px !important;
	border-bottom: 1px solid currentColor;
	display: inline-flex;
	gap: 0.8em;
	align-items: center;
}
.wp-block-button.is-style-sipka .wp-block-button__link::after {
	content: "⟶";
	letter-spacing: 0;
	transition: transform 0.3s ease;
}
.wp-block-button.is-style-sipka .wp-block-button__link:hover::after { transform: translateX(5px); }

/* ------------------------------------------------------------
   Hlavička
   ------------------------------------------------------------ */
.jj-header .wp-block-site-logo img,
.jj-header .jj-logo img { max-height: 64px; width: auto; }
.jj-header .wp-block-navigation a { text-decoration: none; }
.jj-header .wp-block-navigation a:hover { color: var(--wp--preset--color--oliva); }
.jj-header .jj-nav-cta > a {
	background: var(--wp--preset--color--oliva);
	color: var(--wp--preset--color--na-olive) !important;
	padding: 10px 16px !important;
}
.jj-header .jj-nav-cta > a:hover { background: var(--wp--preset--color--hlavny-text); }
.wp-block-navigation__submenu-container {
	border: 0 !important;
	padding: 0.6rem 0 !important;
	box-shadow: 0 20px 40px -24px rgba(34, 34, 59, 0.35);
}
.wp-block-navigation__responsive-container.is-menu-open { padding: 2rem; }

/* ------------------------------------------------------------
   Hero – rozdelený: olivová plocha s textom + fotka
   ------------------------------------------------------------ */
.jj-hero { margin: 0 !important; gap: 0 !important; }
.jj-hero > .wp-block-column { margin: 0 !important; }
.jj-hero-text {
	position: relative;
	overflow: hidden;
	padding: clamp(3.5rem, 7vw, 6rem) clamp(20px, 6vw, 5rem) clamp(5rem, 9vw, 8rem) !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.jj-hero-text > * { position: relative; z-index: 1; max-width: 520px; margin-left: auto; width: 100%; }
.jj-hero-text::before {
	content: "";
	position: absolute;
	left: -70px;
	bottom: -70px;
	width: 280px;
	height: 280px;
	opacity: 0.55;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' stroke='%23CCC4D1' stroke-width='1.1'%3E%3Cg id='a'%3E%3Cline x1='126' y1='100' x2='196' y2='100'/%3E%3Cline x1='125.5' y1='105.8' x2='176.2' y2='117.4'/%3E%3C/g%3E%3Cg transform='rotate(25.71 100 100)'%3E%3Cuse href='%23a'/%3E%3C/g%3E%3Cg transform='rotate(51.43 100 100)'%3E%3Cuse href='%23a'/%3E%3C/g%3E%3Cg transform='rotate(77.14 100 100)'%3E%3Cuse href='%23a'/%3E%3C/g%3E%3Cg transform='rotate(102.86 100 100)'%3E%3Cuse href='%23a'/%3E%3C/g%3E%3Cg transform='rotate(128.57 100 100)'%3E%3Cuse href='%23a'/%3E%3C/g%3E%3Cg transform='rotate(154.29 100 100)'%3E%3Cuse href='%23a'/%3E%3C/g%3E%3Cg transform='rotate(180 100 100)'%3E%3Cuse href='%23a'/%3E%3C/g%3E%3Cg transform='rotate(205.71 100 100)'%3E%3Cuse href='%23a'/%3E%3C/g%3E%3Cg transform='rotate(231.43 100 100)'%3E%3Cuse href='%23a'/%3E%3C/g%3E%3Cg transform='rotate(257.14 100 100)'%3E%3Cuse href='%23a'/%3E%3C/g%3E%3Cg transform='rotate(282.86 100 100)'%3E%3Cuse href='%23a'/%3E%3C/g%3E%3Cg transform='rotate(308.57 100 100)'%3E%3Cuse href='%23a'/%3E%3C/g%3E%3Cg transform='rotate(334.29 100 100)'%3E%3Cuse href='%23a'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain;
	pointer-events: none;
}
.jj-hero-foto { min-height: 420px; }
.jj-hero-foto .wp-block-image,
.jj-hero-foto figure { margin: 0; height: 100%; }
.jj-hero-foto img { width: 100%; height: 100% !important; min-height: 420px; object-fit: cover; }
.jj-hero .wp-block-buttons .wp-block-button.is-style-sipka .wp-block-button__link { color: var(--wp--preset--color--na-olive) !important; }

/* Karta "Vitaj" prekrývajúca predchádzajúcu sekciu */
.jj-prekryv { position: relative; z-index: 2; margin-top: -64px !important; }

/* ------------------------------------------------------------
   Rozvrh
   ------------------------------------------------------------ */
@media (min-width: 782px) {
	.jj-rozvrh-hlava { position: sticky; top: 24px; }
}

/* ------------------------------------------------------------
   Typy jogy – koláž v rôznych výškach so štítkami
   ------------------------------------------------------------ */
@media (min-width: 782px) {
	.jj-kolaz > .wp-block-column:nth-child(2) { margin-top: 72px; }
	.jj-kolaz > .wp-block-column:nth-child(3) { margin-top: 28px; }
}
.jj-typ { position: relative; }
.jj-typ .wp-block-image { margin: 0; overflow: hidden; }
.jj-typ .wp-block-image img { aspect-ratio: 3 / 4; object-fit: cover; width: 100%; transition: transform 0.5s ease; }
.jj-typ:hover .wp-block-image img { transform: scale(1.03); }
.jj-typ .jj-zalozka {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1;
	margin: 0 !important;
	padding: 8px 12px;
	text-align: center;
	font-size: 0.66rem;
	font-weight: 500;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	line-height: 1.6;
}

/* ------------------------------------------------------------
   Dotazník – rámik
   ------------------------------------------------------------ */
.jj-ramik { border: 1px solid var(--wp--preset--color--oliva); }

/* ------------------------------------------------------------
   Referencie – stĺpce oddelené tenkou linkou
   ------------------------------------------------------------ */
.jj-citaty { gap: 0 !important; }
.jj-citaty > .wp-block-column {
	border-left: 1px solid rgba(255, 255, 255, 0.35);
	padding: 8px 28px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.jj-citaty .jj-meno { margin-top: auto !important; }
.jj-citaty .wp-block-image img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
@media (max-width: 781px) {
	.jj-citaty { row-gap: 44px !important; }
	.jj-citaty > .wp-block-column { padding: 4px 20px; }
}

/* ------------------------------------------------------------
   O mne – fotka s rámikom, text cez fotku
   ------------------------------------------------------------ */
.jj-omne { gap: 0 !important; }
.jj-omne-foto { position: relative; padding: 0 0 36px 36px !important; }
.jj-omne-foto::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 78%;
	height: 82%;
	border: 1px solid var(--wp--preset--color--oliva);
}
.jj-omne-foto .wp-block-image { position: relative; margin: 0; }
.jj-omne-foto img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.jj-omne-text { position: relative; z-index: 1; }
@media (min-width: 782px) {
	.jj-omne-text { margin-left: -56px !important; }
}
@media (max-width: 781px) {
	.jj-omne-text { margin: -40px 16px 0 !important; }
	.jj-omne-foto { padding: 0 0 24px 24px !important; }
	.jj-prekryv { margin-top: -40px !important; }
}

/* ------------------------------------------------------------
   Journal
   ------------------------------------------------------------ */
.jj-journal .wp-block-post-featured-image { margin: 0; overflow: hidden; }
.jj-journal .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; transition: transform 0.5s ease; }
.jj-journal li:hover .wp-block-post-featured-image img { transform: scale(1.03); }
.jj-journal .wp-block-post-title a { text-decoration: none; }
.jj-journal .wp-block-post-title a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; color: inherit; }
.wp-block-post-terms a { text-decoration: none; }

/* ------------------------------------------------------------
   Pätička
   ------------------------------------------------------------ */
.jj-footer a { text-decoration: none; }
.jj-footer a:hover { text-decoration: underline; color: inherit; }
.jj-footer p { margin: 0; line-height: 1.9; }
.jj-footer .jj-logo img { max-width: 180px; height: auto; }

/* ------------------------------------------------------------
   Články
   ------------------------------------------------------------ */
.single .wp-block-post-content > p:first-of-type { font-size: var(--wp--preset--font-size--large); line-height: 1.65; }
.wp-block-post-content :where(img) { height: auto; }

/* ------------------------------------------------------------
   Formuláre + plugin Jemná joga – rezervácie
   ------------------------------------------------------------ */
[class*="jjr"],
[class*="jjr"] input,
[class*="jjr"] select,
[class*="jjr"] textarea,
[class*="jjr"] button { font-family: inherit; }
input[type="text"], input[type="email"], input[type="tel"], select, textarea {
	border: 1px solid rgba(34, 34, 59, 0.18);
	border-radius: 0;
	padding: 0.8rem 1rem;
	background: var(--wp--preset--color--biela);
	font: inherit;
	font-size: 15px;
}
[class*="jjr"] button,
[class*="jjr"] input[type="submit"],
.jj-newsletter-form button {
	background: var(--wp--preset--color--oliva);
	color: var(--wp--preset--color--na-olive);
	border: 0;
	border-radius: 0;
	padding: 15px 24px;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	cursor: pointer;
}
[class*="jjr"] button:hover,
.jj-newsletter-form button:hover { background: var(--wp--preset--color--hlavny-text); }

:focus-visible { outline: 2px solid var(--wp--preset--color--oliva); outline-offset: 3px; }

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

/* Mobil: v hero najprv fotka, potom text (ako v schválenom náhľade) */
@media (max-width: 781px) {
	.jj-hero-foto { order: -1; min-height: 340px; }
	.jj-hero-foto img { min-height: 340px; }
	.jj-hero-text > * { margin-left: 0; }
	.jj-hero-text::before { width: 200px; height: 200px; left: -60px; bottom: -60px; }
}

/* Svetlý text na olivovom pozadí – poistka aj pri cache/optimalizačných pluginoch */
.jj-hero-text,
.jj-hero-text :where(h1, h2, h3, p, a) { color: var(--wp--preset--color--na-olive); }
.jj-hero-text h6 { color: var(--wp--preset--color--pudrova) !important; }
.jj-hero-text .wp-block-button:not(.is-style-sipka) .wp-block-button__link { color: var(--wp--preset--color--hlavny-text) !important; }
.has-oliva-background-color:where(.wp-block-group) :where(h1, h2, h3, p) { color: inherit; }

/* Úvodná stránka nikdy nezobrazuje nadpis "Domov", aj keď nie je zvolená šablóna bez nadpisu */
.home .jj-titulok { display: none; }

/* ------------------------------------------------------------
   Podstránky typov jogy
   ------------------------------------------------------------ */
.jj-podhero .wp-block-cover__inner-container { color: var(--wp--preset--color--na-olive); }
.jj-podhero h1 { font-size: clamp(2.6rem, 6vw, 4.5rem); }
.jj-podhero h6 { color: var(--wp--preset--color--pudrova) !important; }
.jj-podhero mark { --stetec: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 40' preserveAspectRatio='none'%3E%3Cpath fill='%23B5A8B3' d='M4 14 C 40 6, 90 9, 140 7 C 190 5, 240 8, 292 6 C 297 12, 295 22, 298 31 C 250 35, 200 31, 150 34 C 100 37, 50 33, 6 36 C 2 28, 7 21, 4 14 Z'/%3E%3C/svg%3E"); }

.jj-citat-velky { font-size: clamp(1.4rem, 2.6vw, 1.9rem); font-weight: 300; line-height: 1.4; letter-spacing: -0.01em; }
.jj-citat-autor { font-size: 0.72rem; font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; color: var(--wp--preset--color--fialova-tmava); margin-top: 0.75rem !important; }

/* obrázok + karta, karta prekrýva fotku */
.jj-blok { gap: 0 !important; }
.jj-blok-foto { margin: 0; }
.jj-blok-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.jj-blok-karta { position: relative; z-index: 1; }
@media (min-width: 782px) {
	.jj-blok .jj-blok-karta { margin-left: -64px !important; }
	.jj-blok-vpravo .jj-blok-karta { margin-left: 0 !important; margin-right: -64px !important; }
	.jj-blok-vpravo > .wp-block-column:last-child { order: 0; }
}
@media (max-width: 781px) {
	.jj-blok-vpravo > .wp-block-column:last-child { order: -1; }
	.jj-blok .jj-blok-karta { margin: -48px 16px 0 !important; }
}

/* zoznam s malou značkou namiesto bodky */
.jj-zoznam { list-style: none; padding-left: 0; margin-top: 1.25rem !important; }
.jj-zoznam li {
	position: relative;
	padding: 0.7rem 0 0.7rem 2rem;
	border-top: 1px solid var(--wp--preset--color--pudrova-svetla);
	font-size: 0.95rem;
}
.jj-zoznam li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.2rem;
	width: 14px;
	height: 6px;
	background: var(--wp--preset--color--pudrova);
	border-radius: 3px 6px 3px 6px;
}

/* formy lekcií */
.jj-ponuky > .wp-block-column { display: flex; }
.jj-ponuka { width: 100%; display: flex; flex-direction: column; }
.jj-ponuka .wp-block-buttons { margin-top: auto !important; padding-top: 0.5rem; }
@media (min-width: 782px) {
	.jj-ponuky > .wp-block-column:nth-child(2) { margin-top: 40px; }
}
.jj-cena {
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wp--preset--color--fialova-tmava);
	margin-top: 0.25rem !important;
}

/* otázky a odpovede */
.jj-faq { border-top: 1px solid var(--wp--preset--color--pudrova); padding: 1.1rem 0; margin: 0 !important; }
.jj-faq:last-child { border-bottom: 1px solid var(--wp--preset--color--pudrova); }
.jj-faq summary {
	cursor: pointer;
	list-style: none;
	font-size: 1.1rem;
	font-weight: 400;
	padding-right: 2rem;
	position: relative;
}
.jj-faq summary::-webkit-details-marker { display: none; }
.jj-faq summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: -0.1rem;
	font-size: 1.4rem;
	font-weight: 300;
	color: var(--wp--preset--color--oliva);
	transition: transform 0.3s ease;
}
.jj-faq[open] summary::after { transform: rotate(45deg); }
.jj-faq p { color: var(--wp--preset--color--text-jemny); margin-top: 0.75rem; }

/* ------------------------------------------------------------
   O mne
   ------------------------------------------------------------ */
.jj-stitok {
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wp--preset--color--fialova-tmava);
	margin-bottom: -0.25rem !important;
}
.jj-delene { gap: 0 !important; align-items: stretch !important; }
.jj-delene > .wp-block-column { display: flex; flex-direction: column; }
.jj-delene > .wp-block-column > * { flex: 1; margin: 0 !important; }
.jj-omne-karta { display: flex; flex-direction: column; justify-content: center; }
.jj-omne-karta h3 { margin-top: 1.5rem !important; }
.jj-plna-foto { height: 100%; }
.jj-plna-foto img { width: 100%; height: 100% !important; min-height: 420px; object-fit: cover; }

.jj-mantra { height: 100%; }
.jj-mantra .wp-block-cover__inner-container { display: grid; gap: 0.15rem; }
.jj-mantra-lat {
	font-size: clamp(1.25rem, 2.2vw, 1.75rem);
	font-weight: 300;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--na-olive);
	margin: 0.9rem 0 0 !important;
	line-height: 1.25;
}
.jj-mantra-dev {
	font-size: 1rem;
	color: var(--wp--preset--color--pudrova);
	margin: 0.15rem 0 0 !important;
	opacity: 0.9;
}

.jj-lotos { list-style: none; padding-left: 0; margin-top: 1.25rem !important; }
.jj-lotos li {
	position: relative;
	padding: 0.9rem 0 0.9rem 2.4rem;
	border-bottom: 1px solid var(--wp--preset--color--pudrova);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	line-height: 1.7;
}
.jj-lotos li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.95rem;
	width: 24px;
	height: 18px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 36' fill='none' stroke='%23958492' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M24 4c-5 6-5 16 0 26c5-10 5-20 0-26z'/%3E%3Cpath d='M24 30c-4-8-10-13-17-14c1 8 8 14 17 14z'/%3E%3Cpath d='M24 30c4-8 10-13 17-14c-1 8-8 14-17 14z'/%3E%3Cpath d='M24 30C17 26 8 25 2 28c6 4 15 5 22 2zM24 30c7-4 16-5 22-2c-6 4-15 5-22 2z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.jj-mriezka > .jj-polozka {
	padding: 1.75rem 1.5rem;
	border-bottom: 1px solid var(--wp--preset--color--pudrova);
}
@media (min-width: 900px) {
	.jj-mriezka > .jj-polozka:nth-child(odd) { border-right: 1px solid var(--wp--preset--color--pudrova); }
	.jj-mriezka > .jj-polozka:nth-last-child(-n+2) { border-bottom: 0; }
}
.jj-polozka > .wp-block-image { flex: 0 0 110px; margin: 0; }
.jj-polozka > .wp-block-image img { width: 110px; height: 110px; object-fit: cover; }
.jj-polozka p { margin: 0; }
@media (max-width: 560px) {
	.jj-polozka { flex-wrap: wrap !important; }
}

/* Text na fialovo-sivom pozadí: o niečo silnejší rez kvôli čitateľnosti */
.has-oliva-background-color :where(p, li) { font-weight: 400; }
.jj-header .jj-nav-cta > a:hover { background: var(--wp--preset--color--oliva-tmava); }

/* ============================================================
   ANIMÁCIE – zapínajú sa len s triedou .jj-anim (pridá ju skript)
   a nikdy pri nastavení "obmedziť pohyb"
   ============================================================ */
@media (prefers-reduced-motion: no-preference) {

	/* Objavovanie pri scrollovaní */
	.jj-anim .jj-r,
	.jj-anim .jj-r-hore {
		opacity: 0;
		transition: opacity 1s cubic-bezier(.22, .61, .36, 1), transform 1.1s cubic-bezier(.22, .61, .36, 1);
		will-change: opacity, transform;
	}
	.jj-anim .jj-r { transform: translateY(26px); }
	.jj-anim .jj-r-hore { transform: translateY(48px); }
	.jj-anim .jj-r.jj-videne,
	.jj-anim .jj-r-hore.jj-videne { opacity: 1; transform: none; }

	/* Úvod v hero: obsah sa postupne vynorí po načítaní */
	@keyframes jj-vynor {
		from { opacity: 0; transform: translateY(18px); }
		to { opacity: 1; transform: none; }
	}
	.jj-anim .jj-hero-text > *,
	.jj-anim .jj-podhero .wp-block-cover__inner-container > * {
		animation: jj-vynor 1.1s cubic-bezier(.22, .61, .36, 1) both;
	}
	.jj-anim .jj-hero-text > *:nth-child(1), .jj-anim .jj-podhero .wp-block-cover__inner-container > *:nth-child(1) { animation-delay: .15s; }
	.jj-anim .jj-hero-text > *:nth-child(2), .jj-anim .jj-podhero .wp-block-cover__inner-container > *:nth-child(2) { animation-delay: .3s; }
	.jj-anim .jj-hero-text > *:nth-child(3), .jj-anim .jj-podhero .wp-block-cover__inner-container > *:nth-child(3) { animation-delay: .45s; }
	.jj-anim .jj-hero-text > *:nth-child(4), .jj-anim .jj-podhero .wp-block-cover__inner-container > *:nth-child(4) { animation-delay: .6s; }
	@keyframes jj-odhal { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 0); } }
	.jj-anim .jj-hero-foto img { animation: jj-odhal 1.4s cubic-bezier(.65, 0, .35, 1) .1s both; }

	/* Ťah štetcom sa namaľuje zľava doprava */
	.jj-anim :where(h1, h2, h3) mark {
		background-size: 0% 0.5em !important;
		transition: background-size 1.1s cubic-bezier(.65, 0, .35, 1);
	}
	.jj-anim :where(h1, h2, h3) mark.jj-namalovane { background-size: 100% 0.5em !important; }

	/* Dýchajúce slnko v hero */
	@keyframes jj-dych {
		0%, 100% { transform: scale(1) rotate(0deg); opacity: .5; }
		50% { transform: scale(1.07) rotate(6deg); opacity: .7; }
	}
	.jj-hero-text::before { animation: jj-dych 9s ease-in-out infinite; }

	/* Parallax na veľkých fotkách – skript posúva, tu len plynulosť */
	.jj-paralax { transform: scale(1.08); transition: transform .2s linear; will-change: transform; }
	.jj-hero-foto, .jj-omne-foto .wp-block-image, .jj-plna-foto { overflow: hidden; }

	/* Hover: karty lekcií a ponuky sa jemne nadvihnú */
	.jj-typ, .jj-ponuka, .jj-blok-karta { transition: transform .5s cubic-bezier(.22, .61, .36, 1), box-shadow .5s ease; }
	.jj-ponuka:hover { transform: translateY(-6px); box-shadow: 0 24px 40px -28px rgba(34, 34, 59, .35); }
	.jj-typ:hover { transform: translateY(-4px); }

	/* Tlačidlá: jemné prelínanie farby */
	.wp-block-button__link { transition: background-color .35s ease, color .35s ease, transform .35s ease; }
	.wp-block-button:not(.is-style-sipka) .wp-block-button__link:hover { transform: translateY(-2px); }

	/* Rozbaľovacie otázky: odpoveď sa vysunie */
	@keyframes jj-faq { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
	.jj-faq[open] > *:not(summary) { animation: jj-faq .45s ease both; }
}

/* ============================================================
   v2.6 – O mne s oválom, bežiaci pás, referencie na fotke
   ============================================================ */

/* Nadpis so zvýraznením blokom (štýl nadpisu "Zvýraznenie blokom") */
.is-style-blok mark,
:where(h1, h2, h3).is-style-blok mark {
	background: var(--wp--preset--color--pudrova) !important;
	background-size: 100% 100% !important;
	padding: 0.02em 0.18em 0.08em !important;
	margin-inline: -0.06em;
	color: inherit !important;
}
.has-oliva-tmava-background-color .is-style-blok mark,
.jj-ref-cover .is-style-blok mark { color: var(--wp--preset--color--hlavny-text) !important; }

/* Obrysové tlačidlo */
.wp-block-button.is-style-obrys .wp-block-button__link {
	background: transparent !important;
	border: 1px solid var(--wp--preset--color--oliva) !important;
	color: inherit !important;
	padding: 15px 34px !important;
}
.wp-block-button.is-style-obrys .wp-block-button__link:hover {
	background: var(--wp--preset--color--oliva) !important;
	color: var(--wp--preset--color--biela) !important;
}

/* Malý ručne písaný nadpis nad nadpisom */
.jj-pismeno {
	font-style: italic;
	font-weight: 300;
	font-size: 1.15rem;
	color: var(--wp--preset--color--fialova-tmava);
	margin-bottom: -0.5rem !important;
}
.jj-lead {
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	line-height: 1.4;
	font-weight: 300;
	letter-spacing: -0.01em;
}
.jj-lead em { font-style: italic; }

/* O mne – ovál s odznakmi */
.jj-omne-sekcia { position: relative; overflow: hidden; }
.jj-oval { position: relative; max-width: 440px; margin-inline: auto; }
.jj-oval-foto { margin: 0; }
.jj-oval-foto img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: 50%;
}
.jj-odznak {
	position: absolute;
	z-index: 1;
	margin: 0 !important;
	width: 9.5rem;
	height: 5.4rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1.35;
	text-transform: uppercase;
	color: var(--wp--preset--color--biela);
}
.jj-odznak-1 { top: 14%; left: -9%; background: var(--wp--preset--color--pudrova); color: var(--wp--preset--color--hlavny-text); }
.jj-odznak-2 { bottom: 14%; right: -8%; background: var(--wp--preset--color--oliva); }
@media (prefers-reduced-motion: no-preference) {
	@keyframes jj-plavaj { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
	.jj-odznak-1 { animation: jj-plavaj 6s ease-in-out infinite; }
	.jj-odznak-2 { animation: jj-plavaj 7s ease-in-out 1s infinite; }
}
.jj-nakuk {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: clamp(140px, 14vw, 240px);
	margin: 0 !important;
}
.jj-nakuk img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
@media (max-width: 1700px) { .jj-nakuk { display: none; } }
@media (max-width: 781px) {
	.jj-odznak { width: 8rem; height: 4.6rem; font-size: 0.65rem; }
	.jj-odznak-1 { left: 0; }
	.jj-odznak-2 { right: 0; }
}

/* Bežiaci pás */
.jj-pas { overflow: hidden; white-space: nowrap; }
.jj-pas-text {
	margin: 0 !important;
	text-align: center;
	font-size: clamp(1.1rem, 2.2vw, 1.6rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.jj-pas-stopa {
	display: inline-flex;
	gap: 2rem;
	padding-left: 2rem;
	font-size: clamp(1.1rem, 2.2vw, 1.6rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	animation: jj-pas 60s linear infinite;
	will-change: transform;
}
.jj-pas-bodka { opacity: 0.7; }
@keyframes jj-pas { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.jj-sr-only {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Referencie na fotke */
.jj-ref-cover { color: var(--wp--preset--color--biela); }
.jj-ref-cover .wp-block-cover__inner-container { text-align: center; }
.jj-uvodzovka {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 7rem;
	line-height: 0.6;
	height: 3rem;
	margin: 0 0 0.5rem !important;
	color: var(--wp--preset--color--pudrova);
	font-weight: 500;
}
.jj-ref-cover h2 { color: var(--wp--preset--color--biela); }
.jj-slider { position: relative; margin-top: 1.5rem !important; }
.jj-slide { display: grid; justify-items: center; gap: 0.9rem; }
.jj-slide + .jj-slide { margin-top: 3rem; }
.jj-slider-aktivny .jj-slide { display: none; margin-top: 0; }
.jj-slider-aktivny .jj-slide.jj-aktivny { display: grid; animation: jj-slide .7s ease both; }
@keyframes jj-slide { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.jj-slide-avatar { margin: -0.5rem 0 0 !important; }
.jj-slide-avatar img {
	width: 96px;
	height: 120px;
	object-fit: cover;
	border-radius: 50%;
	border: 3px solid rgba(255, 255, 255, 0.85);
}
.jj-slide-lead {
	font-size: clamp(1.25rem, 2.2vw, 1.6rem);
	line-height: 1.35;
	font-weight: 300;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0 !important;
}
.jj-slide-text { font-size: 0.95rem; opacity: 0.88; max-width: 560px; margin: 0 !important; font-weight: 400; }
.jj-slide-meno {
	font-style: italic;
	font-size: 1.05rem;
	margin: 0.4rem 0 0 !important;
	color: var(--wp--preset--color--pudrova);
}
.jj-ma-slider { position: relative; }
.jj-slider-btn {
	position: absolute;
	top: 50%;
	z-index: 2;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--pudrova);
	color: var(--wp--preset--color--biela);
	font: inherit;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	padding: 4px 0;
	cursor: pointer;
}
.jj-slider-btn:hover { color: var(--wp--preset--color--pudrova); }
.jj-prev { left: clamp(16px, 4vw, 56px); }
.jj-next { right: clamp(16px, 4vw, 56px); }
.jj-slider-bodky { display: flex; justify-content: center; gap: 10px; margin-top: 1.75rem; }
.jj-slider-bodky button {
	width: 8px; height: 8px;
	border-radius: 50%;
	border: 0;
	padding: 0;
	background: rgba(255, 255, 255, 0.4);
	cursor: pointer;
}
.jj-slider-bodky button.jj-aktivna { background: var(--wp--preset--color--pudrova); }
@media (max-width: 781px) {
	.jj-slider-btn { top: auto; bottom: 24px; }
}

/* ------------------------------------------------------------
   Pätička v2.7 – menu po stranách, v strede ovál a meno
   ------------------------------------------------------------ */
.jj-footer-menu p { margin: 0 0 1.6rem !important; line-height: 1.2; }
.jj-footer-menu p:last-child { margin-bottom: 0 !important; }
.jj-footer-menu a {
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
}
.jj-footer-menu a:hover { color: var(--wp--preset--color--oliva); text-decoration: none; }
.jj-footer-menu-vpravo { text-align: right; }

.jj-footer-stred { display: flex; flex-direction: column; align-items: center; }
.jj-footer-foto { position: relative; margin: 0 auto !important; width: 170px; }
.jj-footer-foto img { width: 170px; height: 210px; object-fit: cover; object-position: 50% 20%; border-radius: 50%; }
.jj-footer-foto::before {
	content: "";
	position: absolute;
	left: -16px;
	top: 30px;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--wp--preset--color--oliva);
	z-index: 1;
}
.jj-footer-meno { margin: -1.6rem 0 0 !important; position: relative; z-index: 2; }
.jj-footer-meno mark { padding: 0.05em 0.35em 0.12em !important; }
.jj-footer .jj-footer-meno mark { clip-path: none !important; }
.jj-footer-claim { font-size: 1.15rem; line-height: 1.45; max-width: 26rem; margin-top: 1.1rem !important; font-weight: 300; }
.jj-footer-kontakt { font-size: 0.9rem; color: var(--wp--preset--color--text-jemny); margin-top: 0.6rem !important; }
.jj-footer .wp-block-social-links { margin-top: 0.9rem !important; }

.jj-footer-pruh p {
	margin: 0 !important;
	font-size: 0.66rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	line-height: 1.9;
}
.jj-footer-pruh a { text-decoration: none; }

@media (max-width: 781px) {
	.jj-footer-stlpce { flex-direction: column; }
	.jj-footer-stred { order: -1; }
	.jj-footer-menu, .jj-footer-menu-vpravo { text-align: center; }
	.jj-footer-menu p { margin-bottom: 1rem !important; }
	.jj-footer-pruh .wp-block-group { justify-content: center !important; text-align: center; }
}

/* Slovo v bloku je vždy viditeľné (bez odhaľovania) */
.is-style-blok mark { clip-path: none !important; background-size: 100% 100% !important; }
/* Avatar referencie bez fotky sa skryje */
.jj-slide-avatar.jj-bez-fotky { display: none !important; }
