/* Generated from ../sections.css by tools/css-bundles.py. Do not edit. */
/*
 * Tobalt LT — page sections (ACF flexible content) + the frisk/Bootstrap base rules that shortcode output still uses.
 * Author: Tobalt — https://tobalt.lt
 * Values measured on prod homepage (Elementor post 24530) 2026-11-02. Breakpoints follow prod: 1399 / 1024 / 991 / 767.
 */

:root {
	/* Header height above the hero; prod's header overlays the hero, ours is in flow (deviation D2). */
	--tlt-head-h: 103px;
}
@media (max-width: 991px) { :root { --tlt-head-h: 131px; } }
@media (max-width: 767px) { :root { --tlt-head-h: 105px; } }

.tlt-main { display: block; }
:where(.tlt-main) p { margin: 0; }
.tlt-s { position: relative; }
:where(.tlt-s) :where(h2, h3) { margin: 0; }

/* ---------- "Roll" label and arrow link (prod .link-effect / .link-btn) ---------- */
.tlt-roll, .link-effect { position: relative; display: block; height: 17px; overflow: hidden; line-height: normal; }
.tlt-roll > span, .link-effect .effect-1 { position: relative; top: 0; display: block; height: 100%; transition: top .3s; }
a:hover .tlt-roll > span, a:focus-visible .tlt-roll > span, a:hover .link-effect .effect-1, a:focus-visible .link-effect .effect-1 { top: -100%; }
.tlt-roll > span[data-roll]::after, .link-effect .effect-1[data-roll]::after { position: absolute; top: 100%; left: 0; width: 100%; content: attr(data-roll); content: attr(data-roll) / ""; }

.tlt-more { margin: 0; font-size: 18px; line-height: 1.66; }
.tlt-arrow-link, .link-btn {
	position: relative; display: inline-flex; gap: 10px; padding-bottom: 6px;
	font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; line-height: .8; text-transform: uppercase;
	color: var(--tlt-title); text-decoration: none;
}
.tlt-arrow-link::before, .tlt-arrow-link::after, .link-btn::before, .link-btn::after {
	content: ""; position: absolute; right: 0; bottom: 0; width: 100%; height: 2px; background: var(--tlt-title); transition: .4s;
}
.tlt-arrow-link::after, .link-btn::after { left: 0; width: 0; transition: .8s; }
.tlt-arrow-link:hover::before, .link-btn:hover::before { width: 0; }
.tlt-arrow-link:hover::after, .link-btn:hover::after { width: 100%; }
.tlt-arrow-link .tlt-icon { width: 13px; height: 13px; }
.tlt-btn .tlt-roll { height: 17px; }

/* ---------- Portfolio project (single-portfolio.php; prod template 25339) ---------- */
@media (max-width: 767px) { body:not(.home) { --tlt-head-h: 99px; } }
.tlt-pf__inner { max-width: 1320px; margin: 0 auto; padding: calc(220px - var(--tlt-head-h)) 12px 140px; }
.tlt-pf__row { display: flex; justify-content: space-between; }
.tlt-pf__main { display: flex; flex-direction: column; align-items: flex-start; width: 66.666%; padding-right: 12px; }
.tlt-pf__main > * { max-width: 100%; }
.tlt-pf__main > :not(.tlt-more) { align-self: stretch; }
.tlt-pf__meta { width: 25%; padding-left: 12px; }
.tlt-pf__title { margin: 0 0 30px; font-family: var(--tlt-font-title); font-size: 60px; font-weight: 600; line-height: 1.16; letter-spacing: -1.8px; color: var(--tlt-title); }
.tlt-gallery { position: relative; }
.tlt-gallery .tts-track > .tlt-gallery__slide { flex: 0 0 100%; scroll-snap-align: start; }
/* frisk: textarea, input { height: 55px }; CF7 bundle: p:empty { display: none }. Zero specificity so plugin rules still win. */
:where(:is(.tlt-classic__content, .tlt-lp__widget, .tlt-embed__inner, .tlt-sb__form) :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select:not([multiple]):not([size]))) { height: 55px; }
:where(:is(.tlt-classic__content, .tlt-lp__widget, .tlt-embed__inner, .tlt-sb__form) textarea) { min-height: 100px; }
:where(:is(.tlt-classic__content, .tlt-lp__widget, .tlt-embed__inner) p:empty) { display: none; }
/* ---------- Section: dark hero (dark_hero.php; prod "Įrankiai įstaigoms"). On prod the image starts at y0 under the
   black header bar; the section slides up under our in-flow header to keep the same visible crop. ---------- */
:root { --tlt-dark-head-h: 148px; }
@media (max-width: 767px) { :root { --tlt-dark-head-h: 178px; } }
.tlt-dh { position: relative; z-index: 0; margin-top: calc(-1 * var(--tlt-dark-head-h)); padding: 208px 12px 72px; overflow: hidden; background: var(--tlt-title); color: var(--tlt-white); }
.tlt-dh__img { position: absolute; top: 0; right: 0; z-index: -1; width: 76%; height: 728px; object-fit: fill; }
.tlt-dh__inner { position: relative; max-width: 1296px; margin: 0 auto; }
.tlt-dh__title { display: flex; flex-direction: column; margin: 0; font-family: var(--tlt-font-title); font-size: 100px; font-weight: 600; line-height: 1.1; letter-spacing: -3px; color: var(--tlt-white); }
.tlt-dh__line--3 { margin-left: 220px; }
.tlt-dh__lead { max-width: 432px; margin: 30px 0 0; font-size: 18px; line-height: 1.66; color: var(--tlt-white); }
.tlt-dh__action { margin: 40px 0 0; }
.tlt-btn--lime { background: var(--tlt-theme); color: var(--tlt-title) !important; }
.tlt-btn--lime:hover, .tlt-btn--lime:focus-visible { background: var(--tlt-white); }
.tlt-dh__note { margin: 80px 0 0 auto; width: 324px; font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; line-height: 1.71; color: var(--tlt-white); }
@media (max-width: 767px) {
	.tlt-dh { padding: 140px 12px 70px; }
	.tlt-dh__img { width: 100%; height: 450px; object-fit: cover; }
	.tlt-dh__title { font-size: 40px; letter-spacing: -1px; }
	.tlt-dh__line--3 { margin-left: 0; }
	.tlt-dh__note { margin: 80px 0 0; width: auto; }
}
