/*
Theme Name: AquaRoots Institute
Theme URI: https://aquaroots.org
Description: Detská téma pre Twenty Twenty-Five s vizuálnou identitou AquaRoots Training Institute Czechia & Slovakia. Brandová paleta odčítaná z loga, lokálne fonty Jost / Source Sans 3 / Lora (bez načítavania z Google, teda bez problému s GDPR) a sada blokových vzorov pre stránky inštitútu.
Author: AquaRoots Institute
Template: twentytwentyfive
Version: 1.2.1
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aquaroots
Tags: block-patterns, full-site-editing, education, one-column
*/

/* ===========================================================
   AquaRoots — doplnkové štýly
   Všetko, čo sa nedá vyjadriť v theme.json, je tu.
   Triedy začínajú predponou ar- aby nekolidovali s ničím iným.
   =========================================================== */

/* --- odstránenie podčiarknutia u tlačidiel a navigácie --- */
.wp-block-button__link { text-decoration: none; }
.wp-block-navigation a:where(:not(.wp-element-button)) { text-decoration: none; }
.wp-block-navigation .current-menu-item > a { box-shadow: inset 0 -2px 0 var(--wp--preset--color--teal-500); }
.wp-block-navigation a:hover { box-shadow: inset 0 -2px 0 var(--wp--preset--color--sand); }

/* --- sekundárne tlačidlo: obrys --- */
.wp-block-button.is-style-ar-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--teal-700);
	border: 1.5px solid var(--wp--preset--color--teal-700);
}
.wp-block-button.is-style-ar-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--teal-700);
	color: #fff;
}
/* obrys na tmavom pozadí */
.wp-block-button.is-style-ar-outline-light .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255,255,255,.55);
}
.wp-block-button.is-style-ar-outline-light .wp-block-button__link:hover {
	background: rgba(255,255,255,.14);
	border-color: #fff;
}

/* --- nadradený štítok nad nadpisom (kicker) --- */
.ar-kicker {
	font-family: var(--wp--preset--font-family--jost) !important;
	font-size: 0.74rem !important;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--teal-500);
	font-weight: 500;
	margin-bottom: 1em !important;
}
.ar-on-dark .ar-kicker { color: var(--wp--preset--color--aqua-300); }

/* --- tmavé pásy: text a nadpisy zosvetliť --- */
.ar-on-dark, .ar-on-dark p, .ar-on-dark li { color: rgba(255,255,255,.86); }
.ar-on-dark :where(h1,h2,h3,h4,h5,h6) { color: #fff; }
.ar-on-dark a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--aqua-300); }

/* --- hero: stmavenie fotky, aby bol biely text vždy čitateľný ---
   Prepisujeme aj background aj opacity, takže výsledok nezávisí od toho,
   aké prekrytie má blok Titulka nastavené v editore. Ak chcete stmavenie
   ovládať ručne, zmažte tento blok pravidiel a použite panel Prekrytie. */
.ar-hero .wp-block-cover__background {
	background: linear-gradient(96deg,
		rgba(11,30,36,.95) 0%,
		rgba(11,30,36,.88) 34%,
		rgba(11,30,36,.70) 56%,
		rgba(11,30,36,.42) 78%,
		rgba(11,30,36,.26) 100%) !important;
	opacity: 1 !important;
}
/* text v hero: jemný tieň ako poistka nad svetlými miestami fotky */
.ar-hero :where(h1,h2,h3,p) { text-shadow: 0 1px 2px rgba(6,20,25,.45); }
.ar-hero .ar-kicker { text-shadow: 0 1px 3px rgba(6,20,25,.7); }
.ar-hero :where(h1,h2) em { font-style: normal; display: block; color: var(--wp--preset--color--sand); }
.ar-hero .wp-block-button__link { text-shadow: none; }
@media (max-width: 700px) {
	.ar-hero .wp-block-cover__background {
		background: linear-gradient(180deg, rgba(11,30,36,.74) 0%, rgba(11,30,36,.88) 55%, rgba(11,30,36,.94) 100%) !important;
	}
}

/* --- pás s číslami --- */
.ar-stat { font-family: var(--wp--preset--font-family--jost); }
.ar-stat strong {
	display: block;
	font-size: 1.9rem;
	font-weight: 400;
	line-height: 1;
	color: var(--wp--preset--color--teal-700);
	margin-bottom: 4px;
}
.ar-stat span {
	font-size: 0.74rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-soft);
}
.ar-on-dark .ar-stat strong { color: var(--wp--preset--color--aqua-300); }
.ar-on-dark .ar-stat span { color: rgba(255,255,255,.7); }

/* --- karty --- */
.ar-card {
	background: var(--wp--preset--color--paper);
	border: 1px solid rgba(39,91,98,.14);
	border-radius: 6px;
	box-shadow: 0 1px 2px rgba(27,65,72,.05), 0 4px 12px rgba(27,65,72,.05);
	height: 100%;
}
.ar-card--mile { border-color: var(--wp--preset--color--sand); border-width: 2px; background: linear-gradient(180deg,#FFFCF4,var(--wp--preset--color--paper)); }
.ar-card .ar-num {
	display: inline-flex; align-items: center; justify-content: center;
	width: 38px; height: 38px; border-radius: 50%;
	background: var(--wp--preset--color--aqua-100);
	color: var(--wp--preset--color--teal-700);
	font-family: var(--wp--preset--font-family--jost);
	font-size: 0.95rem;
	margin-bottom: 0.6rem;
}

/* --- karta kurzu --- */
.ar-course .ar-date {
	font-family: var(--wp--preset--font-family--jost);
	font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase;
	color: var(--wp--preset--color--sage); font-weight: 500;
}
.ar-course .ar-price {
	font-family: var(--wp--preset--font-family--jost);
	font-size: 1.15rem; color: var(--wp--preset--color--teal-900); line-height: 1.2;
}
.ar-course .ar-price small { display: block; font-size: 0.72rem; color: var(--wp--preset--color--ink-soft); letter-spacing: 0.03em; }

/* --- časová os cesty k certifikácii --- */
.ar-timeline { position: relative; }
.ar-timeline > .wp-block-columns { position: relative; z-index: 1; }
.ar-timeline::before {
	content: ""; position: absolute; left: 7%; right: 7%; top: 15px; height: 2px;
	background: linear-gradient(90deg, var(--wp--preset--color--aqua-300), var(--wp--preset--color--teal-500), var(--wp--preset--color--sage), var(--wp--preset--color--sand));
}
.ar-step { text-align: center; }
.ar-step::before {
	content: ""; display: block; width: 16px; height: 16px; border-radius: 50%;
	background: var(--wp--preset--color--paper);
	border: 3px solid var(--wp--preset--color--teal-500);
	margin: 7px auto 18px;
}
.ar-step.ar-step--mile::before {
	width: 22px; height: 22px; margin-top: 4px;
	background: var(--wp--preset--color--sand); border-color: #C99C55;
}
.ar-step p { margin: 0; }
.ar-step .ar-step-name {
	font-family: var(--wp--preset--font-family--jost);
	font-size: 0.94rem; font-weight: 500; color: var(--wp--preset--color--teal-900);
	margin-bottom: 4px !important;
}
.ar-step.ar-step--mile .ar-step-name { color: #8A5A2B; }
.ar-step .ar-step-note { font-size: 0.8rem; color: var(--wp--preset--color--ink-soft); line-height: 1.45; }
@media (max-width: 781px) {
	.ar-timeline::before { display: none; }
	.ar-step { text-align: left; display: flex; gap: 14px; align-items: flex-start; }
	.ar-step::before { margin: 6px 0 0; flex: none; }
}

/* --- cenník --- */
.ar-pricetable table { border-collapse: collapse; width: 100%; background: var(--wp--preset--color--paper); }
.ar-pricetable th {
	font-family: var(--wp--preset--font-family--jost); font-weight: 500;
	font-size: 0.76rem; letter-spacing: 0.13em; text-transform: uppercase;
	color: var(--wp--preset--color--ink-soft); background: var(--wp--preset--color--aqua-100);
	padding: 14px 20px; text-align: left; border: none;
}
.ar-pricetable td { padding: 15px 20px; border: none; border-top: 1px solid rgba(39,91,98,.14); }
.ar-pricetable td:first-child { font-family: var(--wp--preset--font-family--jost); color: var(--wp--preset--color--teal-900); font-size: 1.05rem; }
.ar-pricetable th:not(:first-child), .ar-pricetable td:not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ar-pricetable tr td:first-child:has(+ td) { }
/* odsadený podriadok (Basic / Transition Flow pod Watsu 1) */
.ar-pricetable td:first-child:where([data-sub]), .ar-pricetable .ar-sub td:first-child { padding-left: 40px; font-size: 0.98rem; color: var(--wp--preset--color--ink-soft); }
.ar-pricetable .ar-sub td { background: #FDFAF1; }
.ar-pricetable figcaption { margin-top: 1rem; }

/* --- rámik okolo fotky --- */
.ar-frame { position: relative; }
.ar-frame img { border-radius: 4px; box-shadow: 0 2px 4px rgba(27,65,72,.06), 0 14px 34px rgba(27,65,72,.09); }
.ar-frame::before {
	content: ""; position: absolute; inset: 18px -18px -18px 18px;
	border: 1px solid var(--wp--preset--color--sand); border-radius: 4px; z-index: -1;
}

/* --- portrét lektora: zástupné miesto --- */
.ar-person img { aspect-ratio: 4/5; object-fit: cover; border-radius: 4px; width: 100%; }
.ar-person .ar-role {
	font-family: var(--wp--preset--font-family--jost);
	font-size: 0.86rem; color: var(--wp--preset--color--sage); letter-spacing: 0.03em;
}
.ar-placeholder {
	aspect-ratio: 4/5; display: flex; align-items: center; justify-content: center;
	background: rgba(149,206,206,.16); border: 1px dashed #A8C4C0; border-radius: 4px;
	font-family: var(--wp--preset--font-family--jost); font-size: 0.86rem;
	letter-spacing: 0.1em; text-transform: uppercase; color: #8FA9A4; text-align: center;
}

/* --- rozbaľovacie otázky (blok Podrobnosti) --- */
.wp-block-details {
	border-bottom: 1px solid rgba(39,91,98,.14);
	padding: 18px 0;
}
.wp-block-details summary {
	font-family: var(--wp--preset--font-family--jost);
	font-size: 1.06rem; font-weight: 500;
	color: var(--wp--preset--color--teal-900);
	cursor: pointer; list-style: none;
	display: flex; justify-content: space-between; gap: 20px; align-items: center;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::marker { content: ""; }
.wp-block-details summary::after {
	content: "+"; font-size: 1.5rem; line-height: 1; font-weight: 300;
	color: var(--wp--preset--color--teal-500); flex: none;
}
.wp-block-details[open] summary::after { content: "\2013"; }
.wp-block-details > *:not(summary) { color: var(--wp--preset--color--ink-soft); }

/* --- upozorňovací blok --- */
.ar-note {
	background: #FDF1E3;
	border-left: 4px solid #C68A4E;
	padding: 16px 22px;
	color: #7A5426;
	border-radius: 0 4px 4px 0;
}
.ar-note p:last-child { margin-bottom: 0; }

/* --- galéria: menšie mezery a jemné zaoblenie --- */
.wp-block-gallery.is-style-ar-mozaika img { border-radius: 3px; }

/* --- hlavička: navigácia musí byť brandovo teal, nie predvolená farba odkazov --- */
.ar-header .wp-block-navigation,
.ar-header .wp-block-navigation a:where(:not(.wp-element-button)),
.ar-header .wp-block-navigation .wp-block-navigation-item__content {
	color: var(--wp--preset--color--teal-900);
	text-decoration: none;
}
.ar-header .wp-block-navigation .current-menu-item > a,
.ar-header .wp-block-navigation .current_page_item > a { color: var(--wp--preset--color--teal-700); }

/* --- pätička --- */
.ar-footer h2, .ar-footer h3, .ar-footer h4 { color: var(--wp--preset--color--aqua-300) !important; }
/* odkazové zoznamy v pätičke bez odrážok */
.ar-footer .wp-block-list { list-style: none; padding-left: 0; margin-left: 0; }
.ar-footer .wp-block-list li { margin-bottom: 0; }
/* logo v pätičke: nikdy neobtekať textom, text vždy pod ním */
.ar-footer .ar-footer-logo,
.ar-footer .wp-block-image {
	float: none !important;
	display: block;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 1.1rem;
}
.ar-footer .wp-block-image img { max-width: 250px; width: 100%; height: auto; }
/* kontaktné bloky */
.ar-footer .ar-contact { line-height: 1.9; }
.ar-footer .ar-contact strong { color: #fff; font-weight: 600; }
.ar-footer .ar-footer-heading {
	font-family: var(--wp--preset--font-family--jost);
	font-size: 0.78rem !important; letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--wp--preset--color--aqua-300) !important;
}
.ar-footer p, .ar-footer li { font-size: 0.94rem; }
.ar-footer .wp-block-navigation a,
.ar-footer a:where(:not(.wp-element-button)) { color: rgba(255,255,255,.72); text-decoration: none; }
.ar-footer a:hover { color: #fff; }
.ar-footer .ar-legal { font-size: 0.86rem; color: rgba(255,255,255,.5); }
.ar-footer .ar-legal p { margin-bottom: 0.3rem; }
.ar-footer .ar-legal strong { color: rgba(255,255,255,.72); font-weight: 600; }

/* --- prepínač jazykov (shortcode [aquaroots_jazyky]) --- */
.ar-langs {
	list-style: none;
	margin: 0;
	padding: 3px;
	display: flex;
	gap: 2px;
	align-items: center;
	border: 1px solid rgba(39,91,98,.16);
	border-radius: 100px;
	background: var(--wp--preset--color--paper);
	font-family: var(--wp--preset--font-family--jost);
	font-size: 0.82rem;
	line-height: 1;
}
.ar-langs li { margin: 0; padding: 0; }
.ar-langs a {
	display: block;
	padding: 5px 11px;
	border-radius: 100px;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--ink-soft);
	transition: .15s;
}
.ar-langs a:hover { background: var(--wp--preset--color--aqua-100); color: var(--wp--preset--color--teal-900); }
.ar-langs .current-lang a,
.ar-langs .current-lang > a:hover {
	background: var(--wp--preset--color--teal-700);
	color: #fff;
}
/* v pätičke na tmavom pozadí */
.ar-footer .ar-langs { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.2); }
.ar-footer .ar-langs a { color: rgba(255,255,255,.72); }
.ar-footer .ar-langs .current-lang a { background: var(--wp--preset--color--teal-500); color: #fff; }
/* blok Krátky kód nemá v hlavičke pridávať vlastné odsadenie */
.ar-header .wp-block-shortcode { margin: 0; }

/* --- formuláre Fluent Forms zladené s témou --- */
.fluentform .ff-el-input--label label {
	font-family: var(--wp--preset--font-family--jost);
	color: var(--wp--preset--color--teal-900);
	font-weight: 500;
}
.fluentform input[type=text], .fluentform input[type=email], .fluentform input[type=tel],
.fluentform textarea, .fluentform select {
	background: var(--wp--preset--color--paper) !important;
	border: 1px solid rgba(39,91,98,.24) !important;
	border-radius: 4px !important;
	font-family: var(--wp--preset--font-family--source-sans) !important;
	color: var(--wp--preset--color--ink) !important;
}
.fluentform input:focus, .fluentform textarea:focus, .fluentform select:focus {
	border-color: var(--wp--preset--color--teal-500) !important;
	box-shadow: 0 0 0 3px rgba(90,160,170,.18) !important;
}
.fluentform .ff-btn-submit {
	background: var(--wp--preset--color--sand) !important;
	color: #4A3317 !important;
	border: none !important;
	border-radius: 100px !important;
	font-family: var(--wp--preset--font-family--jost) !important;
	font-weight: 500 !important;
	padding: 12px 28px !important;
}
.fluentform .ff-btn-submit:hover { background: #DDBB85 !important; }

/* --- kalendár The Events Calendar: len najnutnejšie zladenie --- */
.tribe-common .tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn {
	background: var(--wp--preset--color--sand) !important;
	color: #4A3317 !important;
	border-radius: 100px !important;
	font-family: var(--wp--preset--font-family--jost) !important;
}
.tribe-common h1, .tribe-common h2, .tribe-common h3,
.tribe-events .tribe-events-calendar-list__event-title {
	font-family: var(--wp--preset--font-family--jost) !important;
	color: var(--wp--preset--color--teal-900) !important;
}
