/* 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; }
/* ---------- "Darbų pavyzdžiai" pages (template-examples.php; prod Elementor pages 22394–22418) ---------- */
.tlt-ex__hero { position: relative; margin-bottom: 45px; padding-top: calc(300px - var(--tlt-head-h)); background-position: -600px 25%; background-repeat: no-repeat; background-size: auto; }
.tlt-ex__hero-inner { max-width: 1140px; margin: 0 auto; padding: 30px 0 0 8px; }
.tlt-ex__eyebrow { margin: 0 0 20px; font-family: var(--tlt-font-title); font-size: 70px; font-weight: 700; line-height: 1; color: var(--tlt-title); }
.tlt-ex__title { margin: 0; font-family: var(--tlt-font-body, Poppins, sans-serif); font-size: 70px; font-weight: 500; line-height: 1; color: var(--tlt-title); }
.tlt-ex__down { display: none; }
.tlt-ex__gallery { display: flex; flex-direction: column; gap: 35px; max-width: 1150px; margin: 0 auto; padding: 0 10px 150px; }
.tlt-ex__row { display: flex; gap: 30px; margin: 0; padding: 30px; border: 1px solid var(--tlt-title); border-radius: 20px; }
.tlt-ex__cell { height: 342px; overflow: hidden; border-radius: 15px; }
.tlt-ex__cell--desktop { flex: 0 0 62%; box-shadow: 0 0 10px rgba(0, 0, 0, .5); }
.tlt-ex__cell--phone { flex: 0 0 35%; }
.tlt-ex__row--phone-left .tlt-ex__cell--phone { order: -1; }
.tlt-ex__row--single .tlt-ex__cell--desktop { flex: 1 1 auto; }
.tlt-ex__img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.tlt-ex__contact { display: flex; align-items: center; gap: 60px; max-width: 1172px; margin: 0 auto; padding: 130px 16px 75px; }
.tlt-ex__contact-form, .tlt-ex__contact-proof { flex: 1 1 50%; min-width: 0; }
.tlt-ex__contact-form { display: flex; flex-direction: column; gap: 30px; }
/* The parent theme's label { line-height: 1 } would shrink the mu-plugin form's labels; prod renders them at 1.5. */
.tlt-ex__contact .tobalt-cf__label { line-height: 1.5; }
.tlt-ex__contact .tobalt-cf { padding: 0 10px; }
.tlt-ex__contact .tobalt-cf__legend { width: 100%; }
.tlt-ex__contact .tobalt-cf a { color: inherit; text-decoration: underline; } /* prod: no underline, same colour as the text (WCAG 1.4.1) */
/* Prod's frisk base styles that the mu-plugin form relies on. */
:where(.tlt-ex__contact .tobalt-cf, .tlt-classic__content, .tlt-lp__widget, .tlt-embed__inner, .tlt-sb__form) label { display: block; margin-top: -.3em; margin-bottom: .5em; font-size: 16px; color: var(--tlt-title); } /* element-level like prod, so the plugin's own label margins win */
.tlt-ex__contact input.tobalt-cf__input { height: 55px; }
.tlt-ex__contact textarea.tobalt-cf__input { height: 90px; }
.tlt-ex__contact-proof { display: flex; flex-direction: column; gap: 24px; padding: 50px; }
.tlt-ex__cta { margin: 0; font-family: var(--tlt-font-title); font-size: 50px; font-weight: 700; line-height: 1; color: var(--tlt-title); }
.tlt-ex__quote { max-width: 600px; margin: 0; font-family: var(--tlt-font-title); font-size: 24px; font-weight: 700; line-height: 1; color: var(--tlt-title); }
.tlt-ex__rating { display: flex; align-items: flex-start; }
.tlt-ex__score { flex: 0 0 130px; margin: 0; font-size: 69px; font-weight: 600; line-height: 1; color: var(--tlt-title); }
.tlt-ex__stars { display: flex; gap: 10px; padding-top: 10px; color: var(--tlt-title); }
.tlt-ex__source { margin: 20px 0 18px; font-size: 18px; color: var(--tlt-title); }
@media (max-width: 1024px) {
	.tlt-ex__hero { margin-bottom: 100px; background-position: center center; background-size: cover; }
	.tlt-ex__gallery { padding: 80px 10px; }
	.tlt-ex__contact { flex-direction: column; align-items: stretch; margin-bottom: 100px; padding: 100px 16px; }
	.tlt-ex__cell--desktop, .tlt-ex__cell--phone { flex: 1 1 0; }
}
@media (max-width: 767px) {
	/* Prod: 70px section padding + 32px inner padding under an overlaid header; ours is in flow, so the sum moves to a margin. */
	.tlt-ex__hero { margin-bottom: 0; padding-top: 0; background-position: -582px 0; }
	.tlt-ex__hero-inner { width: 90%; margin: calc(102px - var(--tlt-head-h)) 0 0; padding: 0 16px; }
	.tlt-ex__eyebrow, .tlt-ex__title { font-size: 34px; }
	.tlt-ex__down { display: block; width: 30px; margin: -30px auto 0; color: #6ec1e4; }
	.tlt-ex__gallery { gap: 30px; padding: 50px 20px; }
	.tlt-ex__row { flex-direction: column; }
	.tlt-ex__row--phone-left .tlt-ex__cell--phone { order: 0; }
	.tlt-ex__cell--desktop, .tlt-ex__cell--phone { flex: 0 0 auto; width: 100%; }
	.tlt-ex__cell--phone { height: 260px; }
	.tlt-ex__cta { font-size: 30px; }
	.tlt-ex__contact { gap: 0; margin-bottom: 80px; padding: 80px 16px; }
	.tlt-ex__contact-proof { gap: 0; padding: 40px 0 0; }
	.tlt-ex__quote { display: none; }
	.tlt-ex__rating { flex-direction: column; }
	.tlt-ex__score { flex: 0 0 auto; }
	.tlt-ex__stars { padding-top: 20px; }
}

/* 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; }
}
