/* ============================================================
   INVESTUOK – core blokų „skin" ir puslapio karkasas.
   Komponentų (ficus/*) CSS gyvena pačių blokų kataloguose –
   čia tik dizaino sistemos sluoksnis: core blokai, juostų
   kontekstas (CSS kintamieji) ir top-level layout.
   ============================================================ */

/* ---------- Karkasas: top-level blokai = nav'o .container dėžutė ----------
   max-width + padding kaip .container (base.css). Blokai su fonu lieka
   full-bleed juostos – jų vidų centruoja constrained layout. Ficus sekcijų
   blokai ir .sec-rule patys valdo savo container'į – jiems jokių rėmų. */
.site-content > * {
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 44px);
}
/* Full-bleed: ficus sekcijų blokai, full-bleed skirtukai ir .sec-rule
   (PHP šablonų tarpsekcijinis brūkšnys) patys valdo savo vidų. */
.site-content > :is([class*="wp-block-ficus-"], .is-style-full-bleed, .sec-rule) {
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}
/* Full-bleed juosta = alignfull (markup layer sprendimas, spalva čia niekuo
   dėta). Vidus visada rikiuojasi į turinio ašį (1232) – nepriklausomai nuo
   grupės layout nustatymo. */
.site-content > .alignfull {
  max-width: none;
  margin-inline: 0;
  padding-inline: clamp(20px, 4vw, 44px);
}
:where(.site-content > .alignfull) > :where(:not(.alignfull)) {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;
}

/* Tipografijos matas: body tekstas neišsitęsia per visą container plotį.
   Paragrafai su fonu (banner'iai) – pilno pločio. */
.site-content p { max-width: 820px; }
.site-content p.has-background { max-width: none; }
.site-content p.has-text-align-right { margin-left: auto; }
/* Siauras tekstas tiesiai juostoje: kairys kraštas prie turinio ašies,
   ne centre ir ne prie juostos padding krašto */
.site-content > .alignfull > p {
  margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important;
}

/* ---------- Sticky nav po WP admin bar (prisijungus) ---------- */
.admin-bar .nav { top: 32px; }

/* ---------- Mini page hero (checkout ir kiti utility puslapiai) ---------- */
.page-hero { padding: 2.25rem 0; }
.page-hero h1 {
  font-size: var(--fs-h2);
  line-height: 1.1;
  margin: 0;
}

/* ---------- Juostos: tekstas ir komponentų kintamieji ant spalvoto fono ---------- */
:is(.has-black-background-color, .has-blue-background-color, .has-red-background-color, .has-gray-600-background-color) {
  color: #fff;
  --ficus-stat-accent: #fff;
  --ficus-stat-muted: rgba(255, 255, 255, 0.8);
  --ficus-stat-label: #fff;
  --ficus-ft-strong: #fff;
  --ficus-ft-muted: rgba(255, 255, 255, 0.82);
  --ficus-ft-line: var(--line-w);
  --ficus-quote-text: #fff;
  --ficus-quote-muted: rgba(255, 255, 255, 0.6);
  --ficus-hh-text: rgba(255, 255, 255, 0.82);
}
:is(.has-black-background-color, .has-blue-background-color, .has-red-background-color, .has-gray-600-background-color) :is(h1, h2, h3, h4) { color: #fff; }
:is(.has-black-background-color, .has-blue-background-color, .has-red-background-color, .has-gray-600-background-color) p { color: rgba(255, 255, 255, 0.82); }
:is(.has-black-background-color, .has-blue-background-color, .has-red-background-color, .has-gray-600-background-color) strong { color: #fff; }
/* Balta juosta tamsios viduje – grąžina šviesaus fono tekstą */
.has-white-background-color :is(h1, h2, h3, h4) { color: var(--black); }
.has-white-background-color p { color: var(--gray-600); }
.has-white-background-color strong { color: var(--ink); }
/* Redaktoriuje pasirinkta bloko teksto spalva galioja ir bold'ui – kitaip
   base.css strong{color:var(--ink)} (ir band taisyklės aukščiau) ją permuša */
.has-text-color strong { color: inherit; }
/* Inline teksto spalvos mark – be naršyklės geltono fono (kses karpo
   formato inline style, lieka tik klasė) */
mark.has-inline-color { background: transparent; }

/* Alignfull blokas juostos viduje: išlenda iš tėvo inline padding'o */
.site-content > .alignfull > .alignfull {
  margin-inline: calc(-1 * clamp(20px, 4vw, 44px));
}

/* ---------- core/buttons – default tarpas tarp mygtukų ----------
   Globalus blockGap išjungtas (flex gap būtų 0 – mygtukai sulimpa), tad
   default čia; instance nukrypimai – Buttons bloko „Block spacing" valdiklis
   (theme.json settings.blocks core/buttons; wp-container taisyklė laimi). */
.wp-block-buttons { gap: var(--sp-2); }

/* ---------- Mygtukų ikonos (is-icon-*) – kuruota biblioteka ----------
   Valdiklis: editor.js „Ikona" (core/button). Nauja ikona = option ten
   + --ficus-icon mask čia. Mask + currentColor – ikona paveldi teksto
   spalvą visose būsenose (primary/outline/hover). Strėlytė – po teksto,
   kitos – prieš tekstą. */
/* BE flex ant nuorodos: flex'e tekstiniai fragmentai (bold ir tarpai tarp
   žodžių) tampa atskirais flex item'ais ir whitespace suvalgomas. Ikona –
   inline-block pseudo, teka kartu su tekstu normalioje inline eilėje. */
.wp-block-button[class*="is-icon-"] > .wp-block-button__link::before,
.wp-block-button.is-icon-arrow > .wp-block-button__link::after{content:'';display:inline-block;width:15px;height:15px;vertical-align:-0.15em;background:currentColor;-webkit-mask:var(--ficus-icon) center/contain no-repeat;mask:var(--ficus-icon) center/contain no-repeat}
.wp-block-button[class*="is-icon-"] > .wp-block-button__link::before{margin-right:var(--sp-2)}
.wp-block-button.is-icon-arrow > .wp-block-button__link::after{margin-left:var(--sp-2)}
.wp-block-button.is-icon-arrow > .wp-block-button__link::before{content:none}
.wp-block-button.is-icon-arrow{--ficus-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5l7 7-7 7'/%3E%3C/svg%3E")}
.wp-block-button.is-icon-book{--ficus-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E")}
.wp-block-button.is-icon-ne{--ficus-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E")}
.wp-block-button.is-icon-chat{--ficus-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E")}

/* ---------- core/button → styleguide .btn ---------- */
.wp-block-button__link {
  background: var(--red);
  color: #fff;
  border: 2px solid var(--red);
  border-radius: 0;
  font-family: var(--font);
  font-weight: 700;
  font-size: var(--fs-small);
  padding: 14px 26px;
  line-height: 1;
  transition: background .15s, border-color .15s, color .15s;
}
.wp-block-button__link:hover { background: var(--red-dark); border-color: var(--red-dark); color: #fff; }
/* .wp-block-button prefiksas – core .is-style-outline taisyklė (0,3,0) deda
   savo padding .667em/1.333em ir permušdavo .btn matmenis (41px vs 48px) */
.wp-block-button.is-style-outline > .wp-block-button__link {
  background: transparent;
  color: var(--ink);
  border-color: var(--bord);
  padding: 14px 26px;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--black); color: #fff; border-color: var(--black); }
/* „Švelnus" → styleguide .btn-soft: juodas tekstas ant blue-muted, ikona mėlyna */
.is-style-soft > .wp-block-button__link { background: var(--blue-muted); color: var(--ink); border-color: transparent; }
.is-style-soft > .wp-block-button__link:hover { background: var(--blue); color: #fff; border-color: var(--blue); }
/* .wp-block-button prefiksas – specifika lygi bibliotekos [class*="is-icon-"] taisyklei (laimi vėlesnė) */
.wp-block-button.is-style-soft > .wp-block-button__link::before, .wp-block-button.is-style-soft > .wp-block-button__link::after { background: var(--blue); }
.wp-block-button.is-style-soft > .wp-block-button__link:hover::before, .wp-block-button.is-style-soft > .wp-block-button__link:hover::after { background: #fff; }
:is(.has-black-background-color, .has-blue-background-color, .has-red-background-color, .has-gray-600-background-color) .is-style-outline > .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, 0.5); }
:is(.has-black-background-color, .has-blue-background-color, .has-red-background-color, .has-gray-600-background-color) .is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--black); border-color: #fff; }
/* Ant pilkos (gray-600) pusiau permatomas kontūras per blankus – grynai baltas */
.has-gray-600-background-color .wp-block-button.is-style-outline > .wp-block-button__link { border-color: #fff; }

/* ---------- core/quote → citata su „ kabute (mokymas.php .tease-quote kalba) ----------
   Spalvos per band kintamuosius – ant tamsios juostos balta, šviesiame fone juoda.
   article.css turi savo scoped versiją straipsnių body (specifiškesnė, laimi ten). */
.wp-block-quote {
  display: grid;
  grid-template-columns: 40px 1fr;
  align-items: start;
  border: 0;
  padding: 0;
}
.wp-block-quote::before {
  content: '„';
  font-family: var(--font-head);
  font-size: var(--fs-h2);
  line-height: 0.55;
  font-weight: 800;
  color: var(--red);
}
.wp-block-quote p {
  font-family: var(--font-head);
  font-size: var(--fs-lg);
  font-weight: 700;
  line-height: 1.4;
  color: var(--ficus-quote-text, var(--black));
  margin: 0;
  max-width: none;
}
.wp-block-quote cite {
  grid-column: 2;
  display: block;
  margin-top: var(--sp-2);
  font-family: var(--font);
  font-size: var(--fs-caption);
  font-weight: 600;
  font-style: normal;
  color: var(--ficus-quote-muted, var(--gray-600));
}

/* ---------- core/separator → sec-rule ---------- */
.wp-block-separator {
  border: 0;
  border-top: 1px solid var(--black);
  width: 100%;
  margin-block: 0;
  opacity: 1;
}
/* Skirtukų spalva (editor.js „Spalva"): pilkas variantas; prieš band taisyklę,
   kad tamsiose juostose vis tiek laimėtų baltas permatomas */
.wp-block-separator.is-rule-gray { border-top-color: var(--gray-400); }
:is(.has-black-background-color, .has-blue-background-color, .has-red-background-color, .has-gray-600-background-color) .wp-block-separator { border-top-color: rgba(255, 255, 255, 0.25); }

/* ============================================================
   PRENUMERATA – kompozicinės klasės (core blokų className'ai).
   Perkelta iš prenumerata.css 1:1; sekcijų blokų CSS gyvena
   ficus-blocks pluginο blokų kataloguose.
   ============================================================ */

/* Full-bleed juostų breakout'ai neturi kurti horizontalaus scroll */
body{overflow-x:clip}

/* ============================================================
   BLOCK STYLES (is-style-*) – core variantų mechanizmas.
   Registracija: functions.php.
   ============================================================ */

/* core/separator „Per visą plotį" – full-bleed dengia karkaso taisyklė viršuje */

/* core/paragraph „Vidutinis (500)" / „Pusjuodis (600)" – kuruoti teksto svoriai */
/* core/paragraph „Vidutinis (500)" / „Pusjuodis (600)" – kuruoti teksto svoriai */
p.is-style-medium{font-weight:500}
p.is-style-semibold{font-weight:600}

/* core/paragraph eilučių aukštis (editor.js „Eilučių aukštis"; default 1.75 – base.css p) */
p.is-lh-15{line-height:1.5}
p.is-lh-125{line-height:1.25}

/* core/heading svoris (editor.js „Storis") – kuruota 700/800;
   numatytas pagal rolę: h1-h3 800, h4-h6 700 (base.css) */
:is(h1, h2, h3, h4, h5, h6).is-fw-700{font-weight:700}
:is(h1, h2, h3, h4, h5, h6).is-fw-800{font-weight:800}
/* Inline fragmentas be bold'o pusjuodžiame kontekste (editor.js RichText
   formatas „Įprastas svoris" → <span class="is-fw-400">; pvz. akordeono
   antraštės pastaba skliaustuose) */
.is-fw-400{font-weight:400}

/* Dydis mobile (editor.js „Dydis mobile"; antraštės, paragrafai, sąrašai) –
   TOKENŲ ROLĖS, ne skalė: mobile dydis = kita tos pačios skalės rolė.
   !important + :is() specifika – kad permuštų desktop preset klases
   (has-*-font-size irgi su !important). Breakpoint = 820 (turinio lūžis). */
@media (max-width: 820px) {
	:is(h1, h2, h3, h4, h5, h6, p, ul, ol).is-m-h1.is-m-h1 { font-size: var(--fs-h1) !important; }
	:is(h1, h2, h3, h4, h5, h6, p, ul, ol).is-m-h2.is-m-h2 { font-size: var(--fs-h2) !important; }
	:is(h1, h2, h3, h4, h5, h6, p, ul, ol).is-m-hero.is-m-hero { font-size: var(--fs-hero) !important; }
	:is(h1, h2, h3, h4, h5, h6, p, ul, ol).is-m-h3.is-m-h3 { font-size: var(--fs-h3) !important; }
	:is(h1, h2, h3, h4, h5, h6, p, ul, ol).is-m-h4.is-m-h4 { font-size: var(--fs-h4) !important; }
	:is(h1, h2, h3, h4, h5, h6, p, ul, ol).is-m-h5.is-m-h5 { font-size: var(--fs-h5) !important; }
	:is(h1, h2, h3, h4, h5, h6, p, ul, ol).is-m-h6.is-m-h6 { font-size: var(--fs-h6) !important; }
	:is(h1, h2, h3, h4, h5, h6, p, ul, ol).is-m-lead-lg.is-m-lead-lg { font-size: var(--fs-lead-lg) !important; }
	:is(h1, h2, h3, h4, h5, h6, p, ul, ol).is-m-lead.is-m-lead { font-size: var(--fs-lead) !important; }
	:is(h1, h2, h3, h4, h5, h6, p, ul, ol).is-m-base.is-m-base { font-size: var(--fs-base) !important; }
	:is(h1, h2, h3, h4, h5, h6, p, ul, ol).is-m-small.is-m-small { font-size: var(--fs-small) !important; }
	:is(h1, h2, h3, h4, h5, h6, p, ul, ol).is-m-caption.is-m-caption { font-size: var(--fs-caption) !important; }
}

/* Teksto plotis (editor.js „Teksto plotis"; paragrafai IR antraštės) – p turi
   globalų 820 cap viršuje, bet stulpelyje jis nekanda, o antraštės cap neturi
   visai; 820 opcija – būtent antraštėms */
/* is-w-* – ir skirtukui (brūkšnys sekcijos tekstų pločio, ne pilnas) */
:is(p, h1, h2, h3, h4, h5, h6, hr).is-w-820{max-width:820px}
:is(p, h1, h2, h3, h4, h5, h6, hr).is-w-680{max-width:680px}
:is(p, h1, h2, h3, h4, h5, h6, hr).is-w-520{max-width:520px}
/* Full-bleed juostoje (alignfull, layout default) vaikus centruoja
   :where(.site-content > .alignfull) > * taisyklė – siauresnis is-w-* elementas
   centruotųsi; čia jis lygiuojamas prie turinio ašies (1232) kairės. */
.site-content > .alignfull > :is(.is-w-820, .is-w-680, .is-w-520){margin-inline:max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) auto}
/* karkaso centravimas is-w skirtukui netaikomas – lygiuoja kairėn kaip tekstas */
.site-content > hr.wp-block-separator[class*="is-w-"]{margin-inline:0}
/* Group „constrained" (Gutenberg naujam Group blokui deda layout:constrained; valdikliai paslėpti –
   theme.json allowEditing:false): WP core vaikus centruoja (margin auto). alignfull sekcijoms to
   reikia (turinys centruojamas iki contentSize), bet TEKSTINIAI elementai, siauresni už stulpelį
   (is-w-*, p su max-width), turi likti prie stulpelio kairio krašto – kaip .site-content > .alignfull
   taisyklė aukščiau. Sąmoningai centruotą tekstą (has-text-align-center) neliečiam. */
.wp-block-group.is-layout-constrained > :is(p, h1, h2, h3, h4, h5, h6, ul, ol, hr):not(.has-text-align-center):not(.alignfull):not(.alignwide){margin-inline:max(0px, calc((100% - var(--wp--style--global--content-size)) / 2))!important}

/* ---------- core/list – raudoni kvadratukai (bendras sąrašų dizainas) ----------
   Bullet iš mokymai.php (.course-points): raudonas kvadratukas ties pirmos
   eilutės vidurio linija – dydis/pozicija EM'AIS, seka šrifto dydį.
   Tipografija per :where (0 specifika) – perrašo kontekstas (.knyga-content)
   ir dydžio tokenai .is-fs-* (editor.js „Sąrašo dydis": 16/18 px).
   „Tarpas tarp eilučių" – .is-li-gap-* tokenai (ul IR ol).
   :not([class*="is-style-"]) – block style variantai (Atskirta taškais,
   Rankiniai žymenys) turi SAVO skiną, default'as jiems nesitaiko. */
:where(ul.wp-block-list, ol.wp-block-list){font-size:var(--fs-base);line-height:1.75;color:var(--gray-600)}
ul.wp-block-list:not([class*="is-style-"]){list-style:none;margin:0;padding:0}
ul.wp-block-list:not([class*="is-style-"]) > li{position:relative;padding-left:var(--sp-4)}
ul.wp-block-list:not([class*="is-style-"]) > li::before{content:'';position:absolute;left:0;top:calc(0.875em - 0.15em);width:0.3em;height:0.3em;background:var(--red)}

/* Numeruotas sąrašas – savi skaitliukai (01. 02. …), raudoni bold. Kai numerio
   vietoje reikia savo teksto – stilius „Rankiniai žymenys" (žemiau). */
ol.wp-block-list:not([class*="is-style-"]){list-style:none;counter-reset:ficus-ol;margin:0;padding:0}
ol.wp-block-list:not([class*="is-style-"]) > li{position:relative;padding-left:var(--sp-7);counter-increment:ficus-ol}
ol.wp-block-list:not([class*="is-style-"]) > li::before{content:counter(ficus-ol, decimal-leading-zero) ".";position:absolute;left:0;top:0;font-weight:800;color:var(--blue)}

/* core/list „Rankiniai žymenys" (ol): be automatinių numerių – žymuo rašomas
   ranka eilutės pradžioje boldu (strong pradžioje gauna skaitliuko išvaizdą) */
ol.wp-block-list.is-style-manual-marker{list-style:none;margin:0;padding:0}
ol.wp-block-list.is-style-manual-marker > li > strong:first-child{font-weight:800;color:var(--blue)}

/* Tarpai tarp eilučių: numatytas 4px; tokenai 0/8/12 (editor.js toggle) */
:is(ul, ol).wp-block-list:not([class*="is-style-topics"]) > li + li{margin-top:var(--sp-1)}
:is(ul, ol).wp-block-list.is-li-gap-0 > li + li{margin-top:0}
:is(ul, ol).wp-block-list.is-li-gap-8 > li + li{margin-top:var(--sp-2)}
:is(ul, ol).wp-block-list.is-li-gap-12 > li + li{margin-top:var(--sp-3)}

/* Sąrašo dydžio tokenai (bullet/skaitliukas em'ais – seka dydį automatiškai) */
:is(ul, ol).wp-block-list.is-fs-16{font-size:var(--fs-small)}
:is(ul, ol).wp-block-list.is-fs-18{font-size:var(--fs-base)}

/* Tamsios juostos: ul kvadratukas baltas, ol skaitliukas baltas (be fono) */
:is(.has-black-background-color, .has-blue-background-color, .has-red-background-color, .has-gray-600-background-color) ul.wp-block-list > li::before{background:#fff}
:is(.has-black-background-color, .has-blue-background-color, .has-red-background-color, .has-gray-600-background-color) ol.wp-block-list > li::before{color:#fff}
/* Sąrašo tekstas tamsiose juostose – kaip p (bazinis skin'as neša gray-600) */
:is(.has-black-background-color, .has-blue-background-color, .has-red-background-color, .has-gray-600-background-color) :is(ul, ol).wp-block-list{color:rgba(255, 255, 255, 0.82)}

/* core/list „Atskirta taškais" */
ul.is-style-topics{display:block;max-width:940px;list-style:none;margin:var(--sp-6) 0 var(--sp-7);padding:0}
.is-style-topics li{display:inline;font-size:var(--fs-base);font-weight:800;letter-spacing:0.01em;line-height:1.6;color:var(--black)}
.is-style-topics li::after{content:'•';color:var(--blue);font-weight:800;font-size:1.3em;display:inline-block;vertical-align:-0.08em;margin:0 0.45em;line-height:1}
.is-style-topics li:last-child::after{content:'';margin:0}

/* core/group „Rėmelis" */
.wp-block-group.is-style-frame{border:2px solid currentColor}
/* Mobile'e blokas nustato kairę/dešinę per inline style (preset|spacing|50,
   40px) – per plati rėmelio viduje; !important reikia perrašyti inline style. */
@media(max-width:820px){
  .wp-block-group.is-style-frame{padding:var(--wp--preset--spacing--30)!important}
}

/* core/image „Rėmelis" */
.wp-block-image.is-style-frame img{border:1px solid var(--black)}

/* core/image „Užpildantis, perėjimas iš kairės" */
.wp-block-image.is-style-bleed-fade{height:100%;margin:0}
.wp-block-image.is-style-bleed-fade img{width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 50px);mask-image:linear-gradient(to right,transparent 0,#000 50px)}
@media(max-width:900px){.wp-block-image.is-style-bleed-fade img{min-height:0;max-height:420px}}

/* Prenumeratos herojus: šalia nuotraukos akordeonas, kuris keičia aukštį atsidarius/
   užsidarius punktui. Flex default (align-items:stretch) tampydavo bleed-fade
   nuotrauką kartu su juo – flex-start palieka nuotraukai savo (min-)aukštį.
   !important: WP pats sugeneruoja .wp-container-core-columns-is-layout-* klasę
   su inline align-items:normal, kuri kraunasi po šio CSS ir laimėtų prieš jį. */
.hero-accordion-row{align-items:flex-start!important}

/* Tipografijos rolių metrika: Hero antraštės laužomos laisviau */
/* core/heading blokinio lygio dydžių preset'ai (theme.json blocks.core/heading
   fontSizes) – WP jiems .has-*-font-size klasių CSS NEgeneruoja (tik
   globaliems), tad taisyklės čia; !important – kaip core preset klasėse. */
.wp-block-heading.has-h6-font-size{font-size:var(--fs-h6)!important}
.wp-block-heading.has-h5-font-size{font-size:var(--fs-h5)!important}
.wp-block-heading.has-h4-font-size{font-size:var(--fs-h4)!important}
.wp-block-heading.has-h3-font-size{font-size:var(--fs-h3)!important}
/* Hero su logotipu dešinėje (mokymai / konferencijos / seminarai): stulpelyje flex grupė su
   justifyContent:right. Mobile (WP stulpeliai sukrenta ≤781px) dešinė lygiuotė nebeturi prasmės –
   turinys lygiuojamas kairėn, po tekstu. Taikoma tik grupėms stulpelių viduje. */
@media(max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column > .wp-block-group.is-content-justification-right{justify-content:flex-start}}
.wp-block-heading.has-hero-font-size{font-size:var(--fs-hero)!important}
.wp-block-heading.has-h2-font-size{font-size:var(--fs-h2)!important}
.wp-block-heading.has-h1-font-size{font-size:var(--fs-h1)!important}
.wp-block-heading.has-display-font-size{font-size:var(--fs-display)!important}
.has-hero-font-size{line-height:1.25}
@media(max-width:820px){.has-hero-font-size{line-height:1.125}}
/* Display – pats stambiausias dydis, metrika iš stiliaus: line-height 1 */
.has-display-font-size{line-height:1}

/* core/group „Prilimpantis (slenkant)" – sustoja po sticky nav'u */
.wp-block-group.is-style-sticky{position:sticky;top:calc(var(--nav-h) + var(--sp-6))}

/* ---------- core/group „Spalvų juosta kairėje" (is-style-rail) ----------
   Grupės turinys pastumiamas į dešinę, kairėje – vertikali juosta: raudona
   nuo viršaus, žalia nuo apačios, tarp jų 1px juoda linija per centrą.
   Scrollinant (--p 0..1, assets/js/rail.js) raudona ilgėja, žalia trumpėja;
   abi visada su min. ilgiu (--rail-min). Nelyginis --rail-w (5px) → linija tiksliai
   per vidurį be subpikselių. */
.wp-block-group.is-style-rail{--rail-w:5px;--rail-min:var(--sp-11);--p:0;position:relative;padding-left:calc(var(--rail-w) + var(--sp-11));background-image:linear-gradient(var(--black),var(--black));background-size:1px 100%;background-repeat:no-repeat;background-position:calc(var(--rail-w) / 2 - 0.5px) 0}
.wp-block-group.is-style-rail::before,.wp-block-group.is-style-rail::after{content:'';position:absolute;left:0;width:var(--rail-w)}
.wp-block-group.is-style-rail::before{top:0;height:calc(var(--rail-min) + var(--p) * (100% - 4 * var(--rail-min)));background:var(--red)}
.wp-block-group.is-style-rail::after{bottom:0;height:calc(var(--rail-min) + (1 - var(--p)) * (100% - 4 * var(--rail-min)));background:var(--green)}
@media(max-width:640px){.wp-block-group.is-style-rail{padding-left:calc(var(--rail-w) + var(--sp-6))}}




/* ---------- Columns default'ai tokenais ----------
   Core :where fallback'ai (gap:2em, margin-bottom:1.75em) – ne mūsų skalė.
   Default tarpas --sp-3 (12px); instance nukrypimai – editoriaus „Block spacing"
   (theme.json blockGap: true nuo 2026-08-29; WP wp-container taisyklės
   permuša :where default'ą). */
/* :where – nulinė specifika: bloko „Block spacing" (blockGap, theme.json true) permuša default'ą */
:where(.wp-block-columns) { gap: var(--sp-3); }
.wp-block-columns { margin-bottom: 0; }
/* Mobile: sustackinti stulpeliai su erdvesniu tarpu (12px per ankšta kortelėms) */
@media (max-width: 781px) {
  :where(.wp-block-columns:not(.is-not-stacked-on-mobile)) { gap: var(--sp-6); }
}

/* ---------- core/details – DUK (mėlynos kortelės, dizainas iš knygų psl.) ----------
   Vienintelis DUK dizainas temoje: blue-muted kortelė, chevron dešinėje,
   atsakymas kortelės viduje. Gretimi details blokai – atskiros kortelės
   su --sp-3 tarpu. */
.wp-block-details{max-width:820px;background:var(--blue-muted);margin:0}
.wp-block-details + .wp-block-details{margin-top:var(--sp-3)}
.wp-block-details summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);cursor:pointer;list-style:none;font-weight:700;color:var(--black);line-height:1.4}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:'▾';color:var(--blue);font-size:var(--fs-caption);transition:transform .2s;flex-shrink:0}
.wp-block-details[open] summary::after{transform:rotate(180deg)}
.wp-block-details > :not(summary){margin-block:0 var(--sp-2);padding-inline:var(--sp-5)}
.wp-block-details > :not(summary):last-child{margin-bottom:0;padding-bottom:var(--sp-4)}

/* ---------- Fluent Forms (registracijos / kontaktų formos; stilius „Inherit theme") ----------
   Laukai kaip checkout'e/paskyroje: 1px juodas rėmelis, caption etiketė virš lauko, varnelės
   kaip sutikimų eilutės, mygtukas – mūsų .btn (formos nustatymuose klasė btn btn-primary btn-lg). */
.fluentform{max-width:640px}
.fluentform .ff-el-group{margin:0 0 var(--sp-4)}
.fluentform .ff-t-container{display:flex;gap:0 20px}
.fluentform .ff-t-cell{flex:1;min-width:0}
.fluentform .ff-el-input--label{margin:0 0 6px}
.fluentform .ff-el-input--label label{font-size:var(--fs-caption);font-weight:700;color:var(--black);line-height:1.3}
.fluentform .ff-el-is-required.asterisk-right label::after{content:' *';color:var(--red)}
.fluentform .ff-el-form-control{width:100%;box-sizing:border-box;height:auto;min-height:0;padding:12px 14px;border:1px solid var(--black);border-radius:0;background:var(--white);font:inherit;font-size:var(--fs-small);line-height:1.4;color:var(--ink);box-shadow:none} /* line-height 1.4 kaip checkout .input-text (Fluent 1.65 duoda 52px vs 48px) */
.fluentform .ff-el-form-control:focus{outline:2px solid var(--blue);outline-offset:-1px;border-color:var(--black);box-shadow:none}
.fluentform .ff-el-input--content .ff-el-help-message{margin:4px 0 0;font-size:var(--fs-caption);font-style:normal;line-height:1.35;color:var(--gray-600)} /* specifika > Fluent public css (kraunasi po temos) */
.fluentform .ff-el-form-check{margin:0}
.fluentform .ff-el-form-check-label{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:var(--fs-caption);font-weight:400;line-height:1.5;color:var(--gray-600);cursor:pointer}
.fluentform .ff_tc_checkbox{flex:none;display:inline-flex;margin-top:3px}
.fluentform .ff-el-form-check-input{width:16px;height:16px;margin:0;accent-color:var(--red)}
.fluentform .ff_t_c{flex:1;min-width:0}
.fluentform .ff-el-group.ff-el-input--content{margin-bottom:var(--sp-2)}
.fluentform .ff_submit_btn_wrapper{margin-top:var(--sp-5)}
.fluentform .ff-btn.btn{min-width:200px;height:auto;line-height:1.2;border-radius:0;box-shadow:none;text-transform:none;letter-spacing:inherit} /* Fluent .ff-btn line-height 1.65 duoda 66px; su 1.2 = 54px kaip checkout mygtukas */
.fluentform .ff-btn.btn:not(:disabled):hover{opacity:1}
.fluentform .ff-el-is-error .ff-el-form-control{border-color:var(--red)}
.fluentform .ff-el-is-error .error,.fluentform .text-danger{display:block;margin:4px 0 0;font-size:var(--fs-caption);color:var(--red)}
.fluentform .ff-message-success{border:1px solid var(--black);background:var(--gray-100);padding:14px 16px;font-size:var(--fs-small);color:var(--ink)}
.fluentform .ff-errors-in-stack{margin-top:var(--sp-3)}
@media(max-width:600px){.fluentform .ff-t-container{flex-direction:column}.fluentform .ff-btn.btn{width:100%}}
/* Material floating labels – kaip checkout'e (woocommerce.css): label guli lauke, užpildžius /
   fokusavus pakyla ant rėmelio. placeholder=' ' deda functions.php (fluentform/rendering_field_data). */
.fluentform .ff-el-group:has(> .ff-el-input--content > :is(.ff-el-form-control, textarea)){position:relative;margin:4px 0 12px}
/* font-size/line-height – ant wrapper'io (ne label), kad baltas fonas būtų label aukščio, ne body line-height (25px dengė tekstą) */
.fluentform .ff-el-group:has(> .ff-el-input--content > :is(.ff-el-form-control, textarea)) > .ff-el-input--label{position:absolute;left:11px;top:13px;margin:0;padding:0 4px;background:var(--white);font-size:var(--fs-small);line-height:1.4;pointer-events:none;z-index:2;transition:top .12s ease,font-size .12s ease}
.fluentform .ff-el-group:has(> .ff-el-input--content > :is(.ff-el-form-control, textarea)) > .ff-el-input--label label{display:inline;margin:0;padding:0;font-size:inherit;line-height:inherit;font-weight:400;color:var(--gray-400);transition:color .12s ease,font-weight .12s ease}
.fluentform .ff-el-group:has(> .ff-el-input--content > :is(.ff-el-form-control, textarea):not(:placeholder-shown)) > .ff-el-input--label,
.fluentform .ff-el-group:has(> .ff-el-input--content > :is(.ff-el-form-control, textarea)):focus-within > .ff-el-input--label{top:-5px;font-size:12px}
.fluentform .ff-el-group:has(> .ff-el-input--content > :is(.ff-el-form-control, textarea):not(:placeholder-shown)) > .ff-el-input--label label,
.fluentform .ff-el-group:has(> .ff-el-input--content > :is(.ff-el-form-control, textarea)):focus-within > .ff-el-input--label label{font-weight:700;color:var(--gray-600)}
.fluentform .ff-el-group:has(> .ff-el-input--content > :is(.ff-el-form-control, textarea)):focus-within > .ff-el-input--label label{color:var(--blue)}
.fluentform .ff-el-group:has(> .ff-el-input--content > .ff-el-form-control) .ff-el-help-message{margin-top:4px}
