/* Bláha Trade – moderní vrstva (10/2026)
   Stejná značka, barvy, písma a rozvržení; navrch pohyb a odezva na najetí myší.
   Motiv: dřevo a pila – fotky se odkrývají „řezem“ zleva doprava, tlačítka se plní jako řezaná fošna.
   Načítá se jako poslední styl (po color-themes). Animace jen při prefers-reduced-motion: no-preference;
   animace řízené posunem stránky jsou vylepšení – prohlížeče bez podpory (Firefox) ukážou vše hned. */

:root {
	--bt-green: #889976;      /* značka */
	--bt-forest: #4a563d;     /* tmavá zelená – najetí, aktivní stavy (už v šabloně) */
	--bt-ink: #252525;        /* text a tmavé sekce */
	--bt-wood: #c8a26a;       /* barva řeziva – jen drobné akcenty */
	--bt-mist: #f4f4f1;
	--bt-ease: cubic-bezier(.2, .7, .2, 1);
	--bt-ease-cut: cubic-bezier(.77, 0, .18, 1);
}

::selection { background: var(--bt-green); color: #fff; }
:focus-visible { outline: 2px solid var(--bt-green); outline-offset: 3px; }

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }

	/* plynulý přechod mezi stránkami (Chrome, Edge, Safari; jinde běžné načtení) */
	@view-transition { navigation: auto; }
	::view-transition-old(root) { animation: .22s ease both bt-page-out; }
	::view-transition-new(root) { animation: .38s var(--bt-ease) both bt-page-in; }
}
@keyframes bt-page-out { to { opacity: 0; } }
@keyframes bt-page-in { from { opacity: 0; transform: translateY(10px); } }


/* =========================== HLAVIČKA =========================== */

/* horní lišta: místo žlutého zvýraznění (mimo paletu) podtržení */
.main-header .header-top .top-left .links li a[href],
.header-top .social-icon li a { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 5px;
	text-decoration-thickness: 1px; transition: text-decoration-color .3s; }
.main-header .header-top .top-left .links li a[href]:hover,
.header-top .social-icon li a:hover { color: #fff; text-decoration-color: currentColor; }

/* menu: zelená linka vyroste zleva pod položkou (aktivní stránka ji má trvale) */
@media only screen and (min-width: 768px) {
	.main-header .main-menu .navigation > li > a::after {
		content: ''; position: absolute; left: 0; right: 0; bottom: var(--bt-line-bottom, 38px); height: 2px;
		background: var(--bt-green); transform: scaleX(0); transform-origin: right center;
		transition: transform .45s var(--bt-ease);
	}
	.main-header .main-menu .navigation > li:hover > a::after,
	.main-header .main-menu .navigation > li.current > a::after,
	.main-header .main-menu .navigation > li > a:focus-visible::after { transform: scaleX(1); transform-origin: left center; }
	.main-header .main-menu .navigation > li:hover > a { color: var(--bt-ink); }
	.main-header .sticky-header .main-menu .navigation > li > a { --bt-line-bottom: 12px; }

	/* podnabídka vyjede o kousek dolů a dostane stín; položky se při najetí posunou */
	.main-menu .navigation > li > ul { transform: translateY(12px); box-shadow: 0 18px 40px rgba(26, 32, 20, .22);
		transition: opacity .3s var(--bt-ease), transform .3s var(--bt-ease), visibility .3s; }
	.main-menu .navigation > li:hover > ul,
	.main-menu .navigation > li:focus-within > ul { transform: none; visibility: visible; opacity: 1; }
	.main-menu .navigation > li > ul > li > a { transition: background-color .25s, padding-left .3s var(--bt-ease); }
	.main-menu .navigation > li > ul > li:hover > a { padding-left: 33px; }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
	.main-header .main-box .main-menu .navigation > li > a { --bt-line-bottom: 30px; }
}

/* plovoucí hlavička: průsvitná s rozostřením a stínem */
.sticky-header { background: rgba(255, 255, 255, .92); box-shadow: 0 8px 30px rgba(0, 0, 0, .08); }
@supports (backdrop-filter: blur(1px)) {
	.sticky-header { background: rgba(255, 255, 255, .82); backdrop-filter: saturate(1.4) blur(12px); }
}


/* =========================== TLAČÍTKA =========================== */
/* výplň se „nařízne“ zleva doprava; původní barvy a rozměry zůstávají */
.theme-btn { background-image: linear-gradient(var(--bt-fill, var(--bt-forest)), var(--bt-fill, var(--bt-forest)));
	background-repeat: no-repeat; background-position: left center; background-size: 0% 100%;
	transition: background-size .5s var(--bt-ease-cut), color .3s, border-color .3s, transform .3s var(--bt-ease); }
.theme-btn:hover,
.theme-btn:focus-visible { background-size: 100% 100%; }
/* původní :hover styly tlačítek používají zkratku „background“, která by výplň smazala */
.theme-btn[class*="btn-style-"],
.theme-btn[class*="btn-style-"]:hover,
.theme-btn[class*="btn-style-"]:focus-visible { background-image: linear-gradient(var(--bt-fill, var(--bt-forest)), var(--bt-fill, var(--bt-forest))) !important;
	background-repeat: no-repeat !important; background-position: left center !important; }
.theme-btn[class*="btn-style-"] { background-size: 0% 100% !important; }
.theme-btn[class*="btn-style-"]:hover,
.theme-btn[class*="btn-style-"]:focus-visible { background-size: 100% 100% !important; }
.theme-btn:active { transform: translateY(1px); }

.theme-btn.btn-style-one { --bt-fill: var(--bt-forest); }
.theme-btn.btn-style-one:hover { background-color: var(--bt-green); color: #fff; border-color: var(--bt-forest); }
.theme-btn.btn-style-two { --bt-fill: var(--bt-green); }
.theme-btn.btn-style-two:hover { background-color: var(--bt-ink); color: #fff; border-color: var(--bt-green); }
.theme-btn.btn-style-three { --bt-fill: var(--bt-green); }
.theme-btn.btn-style-three:hover { background-color: #fff; color: #fff; }
.theme-btn.btn-style-four { --bt-fill: var(--bt-forest); }
.theme-btn.btn-style-four:hover { background-color: #fff !important; color: #fff; }
/* stínový vzor pod tlačítky 3 a 4 se při najetí přisune */
.btn-style-three::before,
.btn-style-four::before { transition: transform .4s var(--bt-ease); }
.btn-style-three:hover::before,
.btn-style-four:hover::before { transform: translate(-4px, -4px); }


/* =========================== KARTY A FOTKY =========================== */

/* fotka se při najetí pomalu přiblíží (služby, reference, aktuality, galerie) */
.service-block .inner-box .image,
.news-block .inner-box .image,
.news-widget-block .image,
.footer-widget .post-thumb,
.projects-single-section .shop-item .image { overflow: hidden; }
.service-block .inner-box .image img,
.news-block .inner-box .image img,
.news-widget-block .image img,
.footer-widget .post-thumb img,
.projects-single-section .shop-item .image img { transition: transform .9s var(--bt-ease); }
.service-block .inner-box:hover .image img,
.news-block .inner-box:hover .image img,
.news-widget-block:hover .image img,
.footer-widget .post:hover .post-thumb img,
.projects-single-section .shop-item .image:hover img { transform: scale(1.06); }

/* služby: název zezelená, odkaz „Více informací“ s posunutou šipkou */
.service-block .inner-box .lower-content h3 a { transition: color .3s; }
.service-block .inner-box:hover .lower-content h3 a { color: var(--bt-green); }
.service-block .inner-box .image .read-more a .icon { display: inline-block; transition: transform .3s var(--bt-ease); }
.service-block .inner-box .image .read-more a:hover .icon { transform: translateX(4px); }

/* reference: původní plynulé ztmavení s popiskem zůstává, navíc přiblížení fotky stejné jako u aktualit */
.gallery-item .inner-box .image { overflow: hidden; }
.gallery-item .inner-box .image img { transition: transform .9s var(--bt-ease); }   /* stejně jako u aktualit */
.gallery-item .inner-box:hover .image img { transform: scale(1.06); }

/* aktuality: přerušovaná čára pod kartou se při najetí „protáhne“ v plnou zelenou */
.news-block .inner-box .lower-content { border-bottom-color: transparent; }
.news-block .inner-box .lower-content::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px;
	background: repeating-linear-gradient(90deg, var(--bt-green) 0 3px, transparent 3px 6px); }
.news-block .inner-box .lower-content::before { content: ''; position: absolute; z-index: 1; left: 0; right: 0; bottom: -1px; height: 2px;
	background: var(--bt-green); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--bt-ease-cut); }
.news-block .inner-box:hover .lower-content::before { transform: scaleX(1); }
.news-block .inner-box .lower-content h3 a { transition: color .3s; }
.news-block .inner-box:hover .lower-content h3 a { color: var(--bt-green); }

/* aktuality bez perexu: tmavý překryv by zakryl fotku prázdným čtvercem */
.news-block .inner-box .image .overlay-box:has(.text:empty) { display: none; }

/* tým v Kontaktech: karta se při najetí zvedne a spodní linka zesílí */
.team-block .inner-box { transition: transform .4s var(--bt-ease), box-shadow .4s; }
.team-block .inner-box:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(0, 0, 0, .1); }

/* partneři: loga mírně ztlumená, při najetí plná */
.sponsors-carousel .image-box img { opacity: .75; transition: opacity .3s, transform .4s var(--bt-ease); }
.sponsors-carousel .image-box:hover img { opacity: 1; transform: scale(1.05); }

/* boční podmenu (Stavební činnost, Pila): zelená výplň se nasune zleva, šipka popojede */
.blog-cat li a { background-image: linear-gradient(var(--bt-green), var(--bt-green)); background-repeat: no-repeat;
	background-size: 0% 100%; transition: background-size .45s var(--bt-ease-cut), color .3s; }
.blog-cat li a:hover { background-color: transparent; background-size: 100% 100%; }
.blog-cat li.active a { background-color: var(--bt-green); }
.blog-cat li a::before { transition: transform .3s var(--bt-ease), color .3s; }
.blog-cat li a:hover::before { transform: translateX(5px); color: #fff; }

/* patička: odkazy s podtržením, které vyroste zleva */
.main-footer .widgets-section a:not(:has(img)),
.main-footer .footer-bottom a { background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat;
	background-position: 0 100%; background-size: 0% 1px; transition: background-size .4s var(--bt-ease), color .3s; }
.main-footer .widgets-section a:not(:has(img)):hover,
.main-footer .footer-bottom a:hover { background-size: 100% 1px; color: #fff; }
.main-footer .links-widget a:has(img) img { transition: transform .4s var(--bt-ease); }
.main-footer .links-widget a:has(img):hover img { transform: translateX(6px); }

/* tlačítko Nahoru */
.scroll-to-top { transition: transform .3s var(--bt-ease), background-color .3s; }
.scroll-to-top:hover { transform: translateY(-4px); }

/* formuláře: jasný stav aktivního pole */
.contact-form input, .contact-form textarea, .contact-form select,
.sidebar .search-box input { transition: border-color .25s, box-shadow .25s; }
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus,
.sidebar .search-box input:focus { border-color: var(--bt-green); box-shadow: 0 0 0 3px rgba(136, 153, 118, .25); outline: none; }

/* šipky karuselů a přepínání referencí */
.owl-carousel .owl-nav button,
.owl-carousel .owl-nav > div { transition: background-color .3s, color .3s, border-color .3s, transform .3s var(--bt-ease); }
.owl-carousel .owl-nav button:hover { transform: translateY(-2px); }
.styled-pagination li a:hover { transform: translateY(-2px); }
.filter-btns li, .filter-tabs li { transition: color .3s; }


/* =========================== POHYB PŘI POSUNU STRÁNKY =========================== */
@media (prefers-reduced-motion: no-preference) {
	/* úvodní slider: pomalé přiblížení fotky (Ken Burns) */
	.bt-slider .bt-slide.is-active .bt-slide-bg { animation: bt-kenburns 9s ease-out both; }

	@supports ((animation-timeline: view()) and (animation-range: entry)) {
		/* fotky se odkrývají „řezem pily“ zleva doprava, jak přijíždějí do okna */
		.about-section .image-column .image,
		.service-block .inner-box .image,
		.gallery-item .inner-box .image,
		.news-block .inner-box .image,
		.services-single .upper-box,
		.projects-single-section .image-column .image,
		.blog-single .inner-box .image {
			animation: bt-cut linear both;
			animation-timeline: view();
			animation-range: entry 5% entry 85%;
		}
		/* nadpisy sekcí: krátká linka u podnadpisu se protáhne a nadpis dosedne */
		.sec-title .title::before { background-color: var(--bt-green); transform-origin: left center;
			animation: bt-line linear both; animation-timeline: view(); animation-range: entry 20% cover 35%; }
		.sec-title h2, .sec-title h1 { animation: bt-settle linear both; animation-timeline: view(); animation-range: entry 10% entry 90%; }
		/* výzva „Chci nabídku“ (počítadla mají vlastní animaci níže) */
		.call-to-action-section .inner-column { animation: bt-settle linear both; animation-timeline: view(); animation-range: entry 0% entry 80%; }
	}
}
@keyframes bt-kenburns { from { transform: scale(1.08); } to { transform: scale(1); } }
@keyframes bt-cut { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes bt-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes bt-settle { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }


/* =========================== LIGHTBOX (GLightbox) =========================== */
.glightbox-container .goverlay { background: rgba(20, 24, 17, .97); }
.glightbox-clean .gslide-media { box-shadow: 0 30px 80px rgba(0, 0, 0, .45); }
.glightbox-clean .gclose,
.glightbox-clean .gnext,
.glightbox-clean .gprev { background-color: rgba(136, 153, 118, .85); border-radius: 0; transition: background-color .3s, transform .3s var(--bt-ease); }
.glightbox-clean .gclose:hover,
.glightbox-clean .gnext:hover,
.glightbox-clean .gprev:hover { background-color: var(--bt-forest); }
.glightbox-clean .gnext:hover { transform: translateX(3px); }
.glightbox-clean .gprev:hover { transform: translateX(-3px); }
.glightbox-clean .gclose { position: fixed; width: 44px; height: 44px; top: 12px; right: 16px; }   /* v úrovni horní lišty */
.glightbox-clean .gnext, .glightbox-clean .gprev { width: 54px; height: 54px; }
.glightbox-clean .gdesc-inner { padding: 14px 20px; }
.glightbox-clean .gslide-title { font-family: 'Montserrat', sans-serif; font-weight: 700; color: #fff; margin: 0; font-size: 17px; }
.glightbox-clean .gslide-description { background: transparent; }
.gslide-image img { border-radius: 0; }
/* horní lišta: název (popisek fotky nebo název stránky) a počítadlo */
.bt-lb-top { position: fixed; z-index: 1000000; left: 0; right: 76px; top: 0; display: flex; align-items: baseline; gap: 14px;
	padding: 22px 24px; color: #fff; pointer-events: none; opacity: 0; transform: translateY(-8px);
	transition: opacity .35s var(--bt-ease), transform .45s var(--bt-ease); }
.bt-lb-title { font: 700 17px/1.3 'Montserrat', Arial, sans-serif; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bt-lb-count { flex: none; color: rgba(255, 255, 255, .65); font: 700 14px/1 'Arimo', Arial, sans-serif; letter-spacing: .04em; }

/* pás náhledů dole */
.bt-lb-thumbs { position: fixed; z-index: 1000000; left: 0; right: 0; bottom: 0; display: flex; gap: 8px; padding: 14px 24px 18px;
	overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; justify-content: safe center;
	background: linear-gradient(transparent, rgba(12, 15, 10, .55) 40%);
	opacity: 0; transform: translateY(16px); transition: opacity .35s var(--bt-ease), transform .5s var(--bt-ease); }
.bt-lb-thumbs::-webkit-scrollbar { display: none; }
.bt-lb-thumb { flex: none; position: relative; width: 96px; height: 64px; padding: 0; border: 0; background: #222; cursor: pointer;
	opacity: .45; transition: opacity .3s, transform .3s var(--bt-ease); }
.bt-lb-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bt-lb-thumb::after { content: ''; position: absolute; inset: 0; border: 2px solid var(--bt-green); opacity: 0; transition: opacity .3s; }
.bt-lb-thumb:hover { opacity: .85; }
.bt-lb-thumb.is-active { opacity: 1; transform: translateY(-3px); }
.bt-lb-thumb.is-active::after { opacity: 1; }
.bt-lb-thumb:focus-visible { outline: 2px solid #fff; outline-offset: 2px; opacity: 1; }
.bt-lb-open .bt-lb-top,
.bt-lb-open .bt-lb-thumbs { opacity: 1; transform: none; }
.bt-lb-open .bt-lb-thumbs { transition-delay: .1s; }

/* fotka a šipky nad pásem náhledů (prostor pro pás + horní lištu) */
.glightbox-container .gcontainer { top: 64px; height: calc(100% - 92px); }
.bt-lb-has-thumbs .glightbox-container .gcontainer { height: calc(100% - 164px); }
.glightbox-container .gslide-image img { max-height: calc(100vh - 110px); }
.bt-lb-has-thumbs .glightbox-container .gslide-image img { max-height: calc(100vh - 190px); }
.glightbox-clean .gclose { z-index: 1000001; }

@media (max-width: 768px) {
	.bt-lb-top { padding: 16px; right: 64px; }
	.bt-lb-title { font-size: 15px; }
	.bt-lb-thumbs { gap: 6px; padding: 10px 12px 14px; justify-content: flex-start; }
	.bt-lb-thumb { width: 64px; height: 44px; }
	.glightbox-container .gcontainer { top: 56px; height: calc(100% - 72px); }
	.bt-lb-has-thumbs .glightbox-container .gcontainer { height: calc(100% - 128px); }
	.bt-lb-has-thumbs .glightbox-container .gslide-image img { max-height: calc(100vh - 150px); }
}
@media (prefers-reduced-motion: reduce) {
	.bt-lb-top, .bt-lb-thumbs, .bt-lb-thumb { transition: none; }
}


/* =========================== LOGO – „pilový kotouč“ (přesně podle návrhu 1 v logo-varianty.html) =========================== */
/* Načtení: znak B se přikutálí zleva a roztočí jako kotouč pily, za ním se „vyřízne“ nápis a dosednou písmena podtitulu.
   Najetí: znak se jednou otočí jako kotouč. Třídu bt-logo-intro na <html> přidá skript hned za logem. */
/* bootstrap: svg:not(:root) { overflow: hidden } ořezával znak při příjezdu zleva – proto vyšší specifičnost */
svg.bt-logo:not(:root) { overflow: visible; }
.bt-logo .bt-logo-mark,
.bt-logo .bt-logo-sub path { transform-box: fill-box; transform-origin: center; }
@media (prefers-reduced-motion: no-preference) {
	.bt-logo-intro .main-box .bt-logo .bt-logo-mark { animation: bt-logo-roll 1.1s var(--bt-ease) both; }
	.bt-logo-intro .main-box .bt-logo .bt-logo-word { animation: bt-logo-wipe .8s var(--bt-ease-cut) .55s both; }
	.bt-logo-intro .main-box .bt-logo .bt-logo-sub path { animation: bt-logo-settle .45s var(--bt-ease) both; animation-delay: calc(1s + var(--i) * 25ms); }
	/* silnější selektor než úvodní animace, aby otočení fungovalo i hned po načtení */
	.main-header .logo a:hover .bt-logo.bt-logo .bt-logo-mark,
	.main-header .logo a:focus-visible .bt-logo.bt-logo .bt-logo-mark { animation: bt-logo-spin .9s var(--bt-ease-cut); }
}
@keyframes bt-logo-roll { from { transform: translateX(-140%) rotate(-540deg); opacity: 0; } 30% { opacity: 1; } }
@keyframes bt-logo-wipe { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes bt-logo-settle { from { opacity: 0; transform: translateY(6px); } }
@keyframes bt-logo-spin { to { transform: rotate(360deg); } }


/* =========================== POČÍTADLA (Realizací, Klientů, Zaměstnanců, Ocenění) =========================== */
/* čísla se napočítají s dojezdem (bt-modern.js); zelená linka „řezu“ pod nimi roste s počítáním (--p 0–1),
   na konci naskočí „+“. Najetí: ikona povyskočí na světle zelený kruh, číslo zezelená a linka se protáhne. */
.fact-counter .column .inner { padding-bottom: 16px; }
.fact-counter .count-outer .count-text { font-variant-numeric: tabular-nums; }
.bt-count-line { position: absolute; left: 70px; bottom: 0; width: 56px; height: 2px; background: var(--bt-green);
	transform-origin: left center; transform: scaleX(var(--p, 1)); transition: width .5s var(--bt-ease); }
.bt-plus { display: inline-block; color: var(--bt-green); margin-left: 1px; }
@media (prefers-reduced-motion: no-preference) {
	.fact-counter .counter-column:not(.is-counted) .bt-plus { opacity: 0; transform: translateY(6px) scale(.5); }
	.bt-plus { transition: opacity .3s, transform .5s cubic-bezier(.3, 1.6, .5, 1); }
}

.fact-counter .column .inner .icon-box { transition: transform .45s var(--bt-ease), color .3s; }
.fact-counter .column .inner .icon-box::before { content: ''; position: absolute; z-index: -1; left: 50%; top: 50%; width: 66px; height: 66px;
	margin: -33px 0 0 -33px; border-radius: 50%; background: rgba(136, 153, 118, .16); transform: scale(0); transition: transform .45s var(--bt-ease); }
.fact-counter .counter-column:hover .icon-box { transform: translateY(-4px); color: var(--bt-forest); }
.fact-counter .counter-column:hover .icon-box::before { transform: scale(1); }
.fact-counter .count-outer,
.fact-counter .count-outer .count-text { transition: color .3s; }
.fact-counter .counter-column:hover .count-outer,
.fact-counter .counter-column:hover .count-outer .count-text { color: var(--bt-forest); }
.fact-counter .counter-column.is-counted:hover .bt-count-line { width: calc(100% - 70px); }


/* =========================== COOKIE LIŠTA (lišta CMS – Informační lišty › Cookie lišta) =========================== */
/* karta vlevo dole (vpravo je tlačítko Nahoru), hranatá jako zbytek webu, zelený pruh nahoře;
   „Povolit vše“ a „Jen nezbytné“ stejně velké (odmítnout musí jít stejně snadno jako přijmout). */
#ace-cookie-root .ace-cookie-bar {
	left: 24px; right: auto; bottom: 24px; width: min(440px, calc(100vw - 48px)); max-width: none; margin: 0;
	padding: 24px 26px 20px; background: #fff; border: 0; border-top: 4px solid var(--bt-green); border-radius: 0;
	box-shadow: 0 24px 60px rgba(26, 32, 20, .28); font-family: 'Arimo', Arial, sans-serif;
}
#ace-cookie-root .ace-cookie-bar__text { margin: 0 0 18px; color: #555; font-size: 15px; line-height: 1.65; }
#ace-cookie-root .ace-cookie-bar__text::before {
	content: 'Cookies na tomto webu'; display: block; margin-bottom: 8px; color: var(--bt-ink);
	font: 700 19px/1.3 'Montserrat', Arial, sans-serif;
}
#ace-cookie-root .ace-cookie-btn--link { color: var(--bt-forest); font-size: 15px; font-weight: 700; text-decoration: underline;
	text-underline-offset: 3px; white-space: nowrap; }
#ace-cookie-root .ace-cookie-btn--link:hover { color: var(--bt-green); }

#ace-cookie-root .ace-cookie-bar__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
#ace-cookie-root .ace-cookie-btn:not(.ace-cookie-btn--link) {
	padding: 12px 14px; border: 2px solid var(--bt-ink); border-radius: 0; background-color: #fff; color: var(--bt-ink);
	font: 700 15px/1.2 'Arimo', Arial, sans-serif; cursor: pointer;
	background-image: linear-gradient(var(--bt-ink), var(--bt-ink)); background-repeat: no-repeat; background-size: 0% 100%;
	transition: background-size .45s var(--bt-ease-cut), color .3s, border-color .3s;
}
#ace-cookie-root .ace-cookie-btn:not(.ace-cookie-btn--link):hover,
#ace-cookie-root .ace-cookie-btn:not(.ace-cookie-btn--link):focus-visible { background-size: 100% 100%; color: #fff; }
#ace-cookie-root .ace-cookie-btn.ace-cookie-btn--primary { border-color: var(--bt-green); background-color: var(--bt-green); color: #fff;
	background-image: linear-gradient(var(--bt-forest), var(--bt-forest)); }
#ace-cookie-root .ace-cookie-btn.ace-cookie-btn--primary:hover { border-color: var(--bt-forest); }
/* „Nastavení“ jako textové tlačítko přes celý řádek */
#ace-cookie-root .ace-cookie-btn[data-ace-cookie-open-settings] { grid-column: 1 / -1; justify-self: start; padding: 6px 0 0; border: 0;
	background: none; color: var(--bt-forest); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
#ace-cookie-root .ace-cookie-btn[data-ace-cookie-open-settings]:hover { background: none; color: var(--bt-green); }
#ace-cookie-root .ace-cookie-btn:focus-visible { outline: 2px solid var(--bt-green); outline-offset: 3px; }

/* nastavení: kategorie jako přepínače */
#ace-cookie-root .ace-cookie-settings { margin-top: 14px; padding-top: 14px; border-top: 1px solid #e6e6e0; }
#ace-cookie-root .ace-cookie-settings.is-open { display: grid; gap: 4px; }
#ace-cookie-root .ace-cookie-row { display: flex; align-items: center; gap: 12px; margin: 0; padding: 8px 0; color: var(--bt-ink);
	font-size: 15px; cursor: pointer; }
#ace-cookie-root .ace-cookie-row input { appearance: none; -webkit-appearance: none; flex: none; position: relative; width: 42px; height: 24px;
	margin: 0; border-radius: 12px; background: #cfcfc8; cursor: pointer; transition: background-color .25s; }
#ace-cookie-root .ace-cookie-row input::after { content: ''; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px;
	border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: transform .3s var(--bt-ease); }
#ace-cookie-root .ace-cookie-row input:checked { background: var(--bt-green); }
#ace-cookie-root .ace-cookie-row input:checked::after { transform: translateX(18px); }
#ace-cookie-root .ace-cookie-row input:disabled { opacity: .55; cursor: default; }
#ace-cookie-root .ace-cookie-row input:focus-visible { outline: 2px solid var(--bt-green); outline-offset: 3px; }
#ace-cookie-root [data-ace-cookie-save-custom] { margin-top: 8px; justify-self: start; }

/* znovuotevření lišty: malé tlačítko vlevo dole */
.ace-cookie-reopen { left: 16px; right: auto; bottom: 16px; padding: 9px 14px 9px 36px; border: 1px solid #dcdcd5; border-radius: 0;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23889976' d='M12 2a10 10 0 1 0 10 10 4 4 0 0 1-4-4 4 4 0 0 1-4-4 2 2 0 0 0-2-2zm-3 7a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm6 5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm-7 2a1 1 0 1 1 0 2 1 1 0 0 1 0-2z'/%3E%3C/svg%3E") no-repeat 12px center / 16px;
	color: var(--bt-ink); font: 700 13px 'Arimo', Arial, sans-serif; box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
	transition: transform .3s var(--bt-ease), border-color .3s; }
.ace-cookie-reopen:hover { transform: translateY(-3px); border-color: var(--bt-green); }
/* dokud je lišta otevřená, tlačítko pro znovuotevření nepotřebujeme */
#ace-cookie-root:not([style*="none"]) ~ .ace-cookie-reopen { display: none; }

@media (prefers-reduced-motion: no-preference) {
	#ace-cookie-root .ace-cookie-bar { animation: bt-cookie-in .7s var(--bt-ease) .6s both; }
}
@keyframes bt-cookie-in { from { opacity: 0; transform: translateY(24px); } }

@media (max-width: 600px) {
	#ace-cookie-root .ace-cookie-bar { left: 0; right: 0; bottom: 0; width: auto; padding: 20px 16px 16px;
		box-shadow: 0 -10px 40px rgba(26, 32, 20, .22); max-height: 85vh; overflow-y: auto; }
	#ace-cookie-root .ace-cookie-bar__text { font-size: 14px; margin-bottom: 14px; }
	#ace-cookie-root .ace-cookie-bar__text::before { font-size: 17px; }
}


/* =========================== PŘEDCHOZÍ / NÁSLEDUJÍCÍ (detail reference a aktuality) =========================== */
.post-share-options { border: 0; padding: 0; }
.post-share-options .inner-container { border: 0; padding: 0; }
.bt-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 50px 0 0; }
.bt-pager__item { display: flex; align-items: center; gap: 18px; min-height: 104px; padding: 16px; border: 1px solid #e2e2dc;
	background: #fff; color: var(--bt-ink); text-decoration: none; position: relative; overflow: hidden;
	transition: border-color .3s, box-shadow .4s var(--bt-ease), transform .4s var(--bt-ease); }
.bt-pager__item.is-next { justify-content: flex-end; text-align: right; }
.bt-pager__item.is-empty { border-style: dashed; background: transparent; }
.bt-pager__item::before { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 3px; background: var(--bt-green);
	transform: scaleX(0); transform-origin: left; transition: transform .5s var(--bt-ease-cut); }
.bt-pager__item.is-next::before { transform-origin: right; }
.bt-pager__img { flex: none; width: 96px; height: 72px; overflow: hidden; background: var(--bt-mist); }
.bt-pager__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--bt-ease); }
.bt-pager__text { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.bt-pager__label { color: var(--bt-green); font: 700 14px/1.2 'Arimo', Arial, sans-serif; }
.bt-pager__label .la { display: inline-block; transition: transform .35s var(--bt-ease); }
.bt-pager__title { font: 700 17px/1.35 'Montserrat', Arial, sans-serif; color: var(--bt-ink);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
a.bt-pager__item:hover { border-color: transparent; box-shadow: 0 14px 34px rgba(26, 32, 20, .12); color: var(--bt-ink); }
a.bt-pager__item:hover::before { transform: scaleX(1); }
a.bt-pager__item:hover .bt-pager__img img { transform: scale(1.08); }
a.bt-pager__item.is-prev:hover .bt-pager__label .la { transform: translateX(-4px); }
a.bt-pager__item.is-next:hover .bt-pager__label .la { transform: translateX(4px); }
a.bt-pager__item:focus-visible { outline: 2px solid var(--bt-green); outline-offset: 3px; }

.bt-share { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; margin-top: 18px; font-size: 15px; }
.bt-share a { display: inline-flex; align-items: center; gap: 8px; color: #777; font-weight: 700; transition: color .3s; }
.bt-share a .la { display: inline-grid; place-items: center; width: 32px; height: 32px; border: 1px solid #d5d5d0; color: var(--bt-ink);
	transition: background-color .3s, border-color .3s, color .3s; }
.bt-share a:hover { color: var(--bt-forest); }
.bt-share a:hover .la { background: var(--bt-green); border-color: var(--bt-green); color: #fff; }

@media (max-width: 600px) {
	.bt-pager { grid-template-columns: 1fr; }
	.bt-pager__item.is-empty { display: none; }
	.bt-pager__item.is-next { flex-direction: row-reverse; justify-content: flex-end; text-align: left; }
	.bt-pager__img { width: 72px; height: 56px; }
	.bt-pager__title { font-size: 15px; }
}


/* =========================== STRÁNKY KONTAKTY A VOLNÁ MÍSTA (12. 10. 2026) =========================== */
/* ikony (maska – barvu dává currentColor) */
[class^="bt-ico-"], [class*=" bt-ico-"] { display: inline-block; width: 22px; height: 22px; flex: none; background: currentColor;
	-webkit-mask: var(--ico) no-repeat center / contain; mask: var(--ico) no-repeat center / contain; }
.bt-ico-phone { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); }
.bt-ico-mail { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm1 2.2V17h16V7.2l-8 5.3zM5.4 7 12 11.4 18.6 7z'/%3E%3C/svg%3E"); }
.bt-ico-pin { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 1 7 7c0 5.2-7 13-7 13S5 14.2 5 9a7 7 0 0 1 7-7zm0 4.5A2.5 2.5 0 1 0 12 11.5 2.5 2.5 0 0 0 12 6.5z'/%3E%3C/svg%3E"); }
.bt-ico-saw { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1l1.6 3.1 3.4-.9.2 3.5 3.4 1-1.9 2.9 2 2.9-3.4 1-.2 3.5-3.4-.9L12 23l-1.6-3.1-3.4.9-.2-3.5-3.4-1 1.9-2.9-2-2.9 3.4-1 .2-3.5 3.4.9zm0 7.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7z'/%3E%3C/svg%3E"); }
.bt-ico-job { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a7 7 0 0 1 7 7v3h2v3H3v-3h2v-3a7 7 0 0 1 5-6.7V6h2V3zm-5 7v3h10v-3a5 5 0 0 0-3-4.6V9h-4V5.4A5 5 0 0 0 7 10zM4 18h16v2H4z'/%3E%3C/svg%3E"); }

.bt-lead { max-width: 60ch; margin: 0; color: #555; font-size: 19px; line-height: 1.7; }
.bt-contact-hero h1, .bt-jobs-hero h1 { margin: 0; font: 700 50px/1.1 'Montserrat', Arial, sans-serif; color: var(--bt-ink); }

/* --- Kontakty: úvod a rychlé kontakty --- */
.bt-contact-hero { padding: 90px 0 80px; }
.bt-contact-hero__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 20px 60px; align-items: end; margin-bottom: 46px; }
.bt-contact-hero .sec-title { padding-bottom: 0; }
.bt-quick { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.bt-quick__item { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 26px 24px 24px; border: 1px solid #e2e2dc;
	background: #fff; color: var(--bt-ink); overflow: hidden; transition: transform .4s var(--bt-ease), box-shadow .4s var(--bt-ease), border-color .3s; }
.bt-quick__item::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--bt-green);
	transform: scaleX(0); transform-origin: left; transition: transform .5s var(--bt-ease-cut); }
.bt-quick__icon { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 14px; background: var(--bt-mist);
	color: var(--bt-green); -webkit-mask: none; mask: none; transition: background-color .3s, color .3s; }
.bt-quick__icon::before { content: ''; width: 24px; height: 24px; background: currentColor; -webkit-mask: var(--ico) no-repeat center / contain; mask: var(--ico) no-repeat center / contain; }
.bt-quick__label { color: #777; font-size: 15px; }
.bt-quick__value { font: 700 19px/1.3 'Montserrat', Arial, sans-serif; overflow-wrap: anywhere; }
.bt-quick__item:hover { transform: translateY(-5px); border-color: transparent; box-shadow: 0 18px 40px rgba(26, 32, 20, .13); color: var(--bt-ink); }
.bt-quick__item:hover::after { transform: scaleX(1); }
.bt-quick__item:hover .bt-quick__icon { background: var(--bt-green); color: #fff; }
.bt-quick__item:focus-visible { outline: 2px solid var(--bt-green); outline-offset: 3px; }

/* --- Kontakty: tým --- */
.bt-team { padding: 90px 0 60px; background: var(--bt-mist); }
.bt-team .row { display: flex; flex-wrap: wrap; }
.bt-team .row::before, .bt-team .row::after { display: none; }
.bt-team .team-block { display: flex; margin-bottom: 30px; }
.bt-team .team-block .inner-box { display: flex; flex-direction: column; width: 100%; padding: 28px 26px 24px; background: #fff;
	border: 0; border-bottom: 3px solid var(--bt-green); box-shadow: none; }
.bt-team .team-block .lower-box { padding: 0; background: none; text-align: left; }
.bt-team .team-block h3 { margin: 0 0 4px; font: 700 19px/1.3 'Montserrat', Arial, sans-serif; }
.bt-team .team-block h3 a { color: var(--bt-ink); pointer-events: none; }
.bt-team .team-block .designation { margin: 0; color: #777; font-size: 15px; line-height: 1.9; }
.bt-team .team-block .designation a { display: inline-flex; align-items: center; gap: 8px; color: var(--bt-forest); }
.bt-team .team-block .designation a:hover { color: var(--bt-green); }
.bt-team .team-block .designation a[href^="tel:"]::before,
.bt-team .team-block .designation a[href^="mailto:"]::before { content: ''; width: 16px; height: 16px; background: currentColor;
	-webkit-mask: var(--ico) no-repeat center / contain; mask: var(--ico) no-repeat center / contain; }
.bt-team .team-block .designation a[href^="tel:"]::before { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); }
.bt-team .team-block .designation a[href^="mailto:"]::before { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm1 2.2V17h16V7.2l-8 5.3zM5.4 7 12 11.4 18.6 7z'/%3E%3C/svg%3E"); }
.bt-avatar { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 18px; border-radius: 50%; background: var(--bt-green);
	color: #fff; font: 700 20px/1 'Montserrat', Arial, sans-serif; letter-spacing: .02em; transition: transform .45s var(--bt-ease); }
.bt-team .team-block .inner-box:hover .bt-avatar { transform: rotate(-8deg) scale(1.05); }
/* karta „Zde můžete být i Vy“ (dřív oranžová) – pozvánka na Volná místa */
.bt-team .team-block .inner-box.bt-team-cta { justify-content: center; border: 2px dashed var(--bt-green) !important; background: transparent;
	transition: background-color .35s, border-color .35s; }
.bt-team .team-block .inner-box.bt-team-cta h3 a { pointer-events: auto; }
.bt-team .team-block .inner-box.bt-team-cta .bt-avatar { background: transparent; color: var(--bt-green); border: 2px solid var(--bt-green); font-size: 28px; }
.bt-team .team-block .inner-box.bt-team-cta:hover { background: #fff; border-style: solid !important; }
.bt-avatar .bt-ico-saw { width: 26px; height: 26px; }

/* --- formulář a údaje o firmě (Kontakty i Volná místa) --- */
.bt-contact, .bt-apply { padding: 90px 0; background: #fff; }
.bt-contact__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 50px; align-items: start; }
.bt-contact__note { margin: -20px 0 26px; color: #777; font-size: 15px; }
.bt-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.bt-fields .form-group { margin: 0; }
.bt-fields__wide { grid-column: 1 / -1; }
.bt-fields label { display: block; margin-bottom: 7px; color: var(--bt-ink); font-size: 14px; font-weight: 700; }
.contact-form .bt-fields input,
.contact-form .bt-fields select,
.contact-form .bt-fields textarea { display: block; width: 100%; height: 52px; padding: 12px 15px; border: 1px solid #d6d6cf; background: #fff;
	color: var(--bt-ink); font: 16px/1.4 'Arimo', Arial, sans-serif; border-radius: 0; }
.contact-form .bt-fields textarea { height: 170px; resize: vertical; }
.contact-form .bt-fields select { appearance: none; -webkit-appearance: none; padding-right: 44px; cursor: pointer;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23889976' stroke-width='2.4' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center / 18px; }
.contact-form .bt-fields input:focus, .contact-form .bt-fields select:focus, .contact-form .bt-fields textarea:focus {
	border-color: var(--bt-green); box-shadow: 0 0 0 3px rgba(136, 153, 118, .25); outline: none; }
.contact-form .bt-fields label.error { margin: 6px 0 0; color: #b4462f; font-size: 13px; font-weight: 400; }

.bt-info { position: sticky; top: 110px; padding: 34px 32px 30px; background: var(--bt-ink); border-top: 4px solid var(--bt-green); color: #cfcfc8; }
.bt-info h3 { margin: 0 0 22px; color: #fff; font: 700 21px/1.3 'Montserrat', Arial, sans-serif; }
.bt-info dl { margin: 0; }
.bt-info dt { margin: 0 0 6px; color: var(--bt-green); font-size: 14px; font-weight: 700; }
.bt-info dd { margin: 0 0 22px; font-size: 16px; line-height: 1.65; }
.bt-hours { display: flex; justify-content: space-between; max-width: 230px; }
.bt-open-now { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; padding: 5px 12px; background: rgba(255, 255, 255, .07);
	color: #fff; font-size: 14px; font-weight: 700; }
.bt-open-now::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: #9a9a92; }
.bt-open-now.is-open::before { background: #8fd16a; box-shadow: 0 0 0 0 rgba(143, 209, 106, .6); animation: bt-pulse 2s infinite; }
@keyframes bt-pulse { 70% { box-shadow: 0 0 0 8px rgba(143, 209, 106, 0); } 100% { box-shadow: 0 0 0 0 rgba(143, 209, 106, 0); } }
.bt-info__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bt-info__nav a { padding: 12px 10px; border: 2px solid rgba(255, 255, 255, .35); color: #fff; text-align: center; font-weight: 700;
	background-image: linear-gradient(var(--bt-green), var(--bt-green)); background-repeat: no-repeat; background-size: 0% 100%;
	transition: background-size .45s var(--bt-ease-cut), border-color .3s; }
.bt-info__nav a:hover { background-size: 100% 100%; border-color: var(--bt-green); color: #fff; }

/* --- Volná místa --- */
.bt-jobs-hero { position: relative; overflow: hidden; padding: 120px 0 100px; background: var(--bt-ink); color: #fff; }
.bt-jobs-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; opacity: .32; }
.bt-jobs-hero .auto-container { position: relative; }
.bt-jobs-hero .sec-title { padding-bottom: 20px; }
.bt-jobs-hero h1 { color: #fff; font-size: 56px; }
.bt-jobs-hero .bt-lead { color: rgba(255, 255, 255, .86); }
.bt-jobs-hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 26px; margin-top: 34px; }
.bt-jobs-hero__count { padding: 8px 14px; border: 1px solid rgba(255, 255, 255, .35); font-weight: 700; }
@media (prefers-reduced-motion: no-preference) {
	.bt-jobs-hero__bg { animation: bt-kenburns 14s ease-out both; }
}

.bt-jobs { padding: 80px 0 70px; }
.bt-jobs__intro { max-width: 70ch; margin-bottom: 40px; color: #555; font-size: 18px; line-height: 1.75; }
.bt-jobs__intro a { color: var(--bt-forest); text-decoration: underline; }
.bt-jobs__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 24px; }
.bt-job { position: relative; display: flex; flex-direction: column; padding: 34px 30px 28px; border: 1px solid #e2e2dc; background: #fff;
	transition: transform .4s var(--bt-ease), box-shadow .4s var(--bt-ease), border-color .3s; }
.bt-job::before { content: ''; position: absolute; left: -1px; right: -1px; top: -1px; height: 4px; background: var(--bt-green);
	transform: scaleX(0); transform-origin: left; transition: transform .55s var(--bt-ease-cut); }
.bt-job__icon { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 22px; background: var(--bt-mist); color: var(--bt-green);
	transition: background-color .3s, color .3s, transform .45s var(--bt-ease); }
.bt-job__icon::before { content: ''; width: 28px; height: 28px; background: currentColor; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a7 7 0 0 1 7 7v3h2v3H3v-3h2v-3a7 7 0 0 1 5-6.7V6h2V3zm-5 7v3h10v-3a5 5 0 0 0-3-4.6V9h-4V5.4A5 5 0 0 0 7 10zM4 18h16v2H4z'/%3E%3C/svg%3E");
	-webkit-mask: var(--ico) no-repeat center / contain; mask: var(--ico) no-repeat center / contain; }
.bt-job h2 { margin: 0 0 12px; color: var(--bt-ink); font: 700 23px/1.25 'Montserrat', Arial, sans-serif; }
.bt-job__text { color: #666; font-size: 16px; line-height: 1.7; }
.bt-job__text p { margin: 0 0 10px; }
.bt-job__cta { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 18px; color: var(--bt-forest); font-weight: 700; font-size: 16px; }
.bt-job__cta .la { transition: transform .35s var(--bt-ease); }
.bt-job:hover { transform: translateY(-6px); border-color: transparent; box-shadow: 0 20px 44px rgba(26, 32, 20, .13); }
.bt-job:hover::before { transform: scaleX(1); }
.bt-job:hover .bt-job__icon { background: var(--bt-green); color: #fff; transform: rotate(-6deg); }
.bt-job__cta:hover { color: var(--bt-green); }
.bt-job__cta:hover .la { transform: translateX(5px); }
.bt-jobs__none { font-size: 18px; color: #555; }

.bt-why { padding: 60px 0; background: var(--bt-mist); }
.bt-why__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.bt-why__item { padding-left: 22px; border-left: 3px solid var(--bt-green); }
.bt-why__item strong { display: block; margin-bottom: 6px; color: var(--bt-forest); font: 700 26px/1.2 'Montserrat', Arial, sans-serif; }
.bt-why__item span { color: #666; font-size: 16px; line-height: 1.6; }

.bt-apply .bt-contact__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }
.bt-apply__info p { color: #555; font-size: 17px; line-height: 1.75; }
.bt-apply__contacts { margin: 24px 0 0; padding: 0; list-style: none; }
.bt-apply__contacts li { margin-bottom: 10px; }
.bt-apply__contacts a { display: inline-flex; align-items: center; gap: 12px; color: var(--bt-ink); font: 700 19px 'Montserrat', Arial, sans-serif; }
.bt-apply__contacts a span { color: var(--bt-green); }
.bt-apply__contacts a:hover { color: var(--bt-forest); }
.bt-apply.is-highlight .bt-contact__form { animation: bt-flash 1.2s var(--bt-ease); }
@keyframes bt-flash { 0% { box-shadow: 0 0 0 0 rgba(136, 153, 118, .5); } 100% { box-shadow: 0 0 0 18px rgba(136, 153, 118, 0); } }

@media (max-width: 991px) {
	.bt-contact-hero__head, .bt-contact__grid, .bt-apply .bt-contact__grid { grid-template-columns: 1fr; }
	.bt-quick { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bt-info { position: static; }
	.bt-why__grid { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 600px) {
	.bt-contact-hero { padding: 50px 0; }
	.bt-contact-hero h1, .bt-jobs-hero h1 { font-size: 36px; }
	.bt-lead { font-size: 17px; }
	.bt-quick { grid-template-columns: 1fr; }
	.bt-quick__item { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 14px; padding: 18px; }
	.bt-quick__icon { margin: 0; }
	.bt-quick__label { flex: 1 1 60%; }
	.bt-quick__value { flex: 1 1 100%; }
	.bt-fields { grid-template-columns: 1fr; }
	.bt-jobs-hero { padding: 70px 0 60px; }
	.bt-team, .bt-contact, .bt-apply, .bt-jobs { padding: 60px 0; }
	.bt-info { padding: 26px 20px; }
}


/* =========================== POP-UP OKNA (modul Pop-up › Šablony „Bláha – …“) ===========================
   Společný základ; vzhled jednotlivých oken je v CSS jejich šablony v administraci (skin). */
.ace-popup-overlay:has(> .bt-pop) { backdrop-filter: blur(3px) saturate(.9); padding: 16px; }
.bt-pop { position: relative; width: 100%; max-width: var(--ace-popup-width, 720px); max-height: calc(100dvh - 32px); overflow: auto;
	background: #fff; color: #555; font: 15px/1.6 Arimo, Arial, sans-serif; text-align: left; box-shadow: 0 30px 80px rgba(20, 26, 15, .38);
	border-top: 4px solid var(--bt-green); overscroll-behavior: contain; }
.bt-pop__body { padding: 34px 36px 32px; }
.bt-pop__kicker { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; color: var(--bt-green);
	font: 700 12px/1 Montserrat, Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.bt-pop__kicker::before { content: ''; width: 26px; height: 2px; background: currentColor; }
.bt-pop .ace-popup-title { margin: 0 0 14px; color: var(--bt-ink); font: 700 26px/1.25 Montserrat, Arial, sans-serif; text-transform: none; }
.bt-pop .ace-popup-message { color: #555; font-size: 15px; line-height: 1.65; }
.bt-pop .ace-popup-message p { margin: 0 0 12px; font-size: inherit; line-height: inherit; color: inherit; }
.bt-pop .ace-popup-message a { color: var(--bt-forest); text-decoration: underline; text-underline-offset: 3px; }
.bt-pop .ace-popup-message strong { color: var(--bt-ink); }
.bt-pop__actions:not(:empty) { margin-top: 20px; }
.bt-pop .ace-popup-cta { position: relative; display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 13px 26px; border-radius: 0;
	background: var(--bt-green) linear-gradient(var(--bt-forest), var(--bt-forest)) no-repeat 0 0 / 0 100%; color: #fff;
	font: 700 13px/1 Montserrat, Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; text-decoration: none;
	transition: background-size .45s var(--bt-ease-cut); }
.bt-pop .ace-popup-cta::after { content: '→'; font-size: 16px; transition: transform .3s var(--bt-ease); }
.bt-pop .ace-popup-cta:hover, .bt-pop .ace-popup-cta:focus-visible { background-size: 100% 100%; color: #fff; }
.bt-pop .ace-popup-cta:hover::after { transform: translateX(4px); }
.bt-pop .ace-popup-close { position: absolute; z-index: 3; top: 0; right: 0; display: grid; place-items: center; width: 44px; height: 44px;
	padding: 0; border: 0; background: rgba(255, 255, 255, .92); color: var(--bt-ink); font: 400 30px/1 Arial, sans-serif; cursor: pointer;
	transition: background-color .25s, color .25s; }
.bt-pop .ace-popup-close:hover, .bt-pop .ace-popup-close:focus-visible { background: var(--bt-forest); color: #fff; }
@media (prefers-reduced-motion: no-preference) {
	.ace-popup-overlay:has(> .bt-pop) { animation: bt-pop-dim .4s ease both; }
	.bt-pop { animation: bt-pop-in .7s var(--bt-ease-cut) both; }
	.bt-pop .bt-pop__body > * { animation: bt-pop-rise .6s var(--bt-ease) both; animation-delay: calc(.25s + var(--d, 0) * 70ms); }
	.bt-pop .bt-pop__body > :nth-child(2) { --d: 1; } .bt-pop .bt-pop__body > :nth-child(3) { --d: 2; } .bt-pop .bt-pop__body > :nth-child(4) { --d: 3; }
}
@keyframes bt-pop-dim { from { opacity: 0; } }
@keyframes bt-pop-in { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes bt-pop-rise { from { opacity: 0; transform: translateY(12px); } }
@media (max-width: 600px) {
	.bt-pop__body { padding: 28px 20px 24px; }
	.bt-pop .ace-popup-title { font-size: 22px; }
	.bt-pop .ace-popup-cta { width: 100%; justify-content: center; }
}
.bt-pop .ace-popup-close:focus-visible { outline: 2px solid #fff; outline-offset: -6px; }


/* =========================== OTEVÍRACÍ DOBA NAŽIVO (horní lišta, Kontakty) =========================== */
/* bez skriptu zůstane pevná doba „Po–Pá 7:00–15:00“ s ikonou; jakmile skript vypíše stav, nahradí ji tečka a text */
.bt-now-li:has(.bt-now:not([hidden])) .bt-now-static,
.bt-now-li:has(.bt-now:not([hidden])) .icon { display: none; }
.bt-now { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; letter-spacing: .01em; }
.bt-now::before { content: ''; flex: none; width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, .55); }
.bt-now.is-open::before { background: #d4f7b0; animation: bt-pulse-light 2s infinite; }
.bt-now.is-closing::before { background: #ffd27a; animation: bt-pulse-warm 1.6s infinite; }
.bt-now-li a:hover .bt-now { text-decoration: underline; text-underline-offset: 4px; }
@keyframes bt-pulse-light { 0% { box-shadow: 0 0 0 0 rgba(212, 247, 176, .7); } 70% { box-shadow: 0 0 0 7px rgba(212, 247, 176, 0); } 100% { box-shadow: 0 0 0 0 rgba(212, 247, 176, 0); } }
@keyframes bt-pulse-warm { 0% { box-shadow: 0 0 0 0 rgba(255, 210, 122, .75); } 70% { box-shadow: 0 0 0 7px rgba(255, 210, 122, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 210, 122, 0); } }
.bt-open-now.is-closing::before { background: #ffd27a; box-shadow: 0 0 0 0 rgba(255, 210, 122, .6); animation: bt-pulse 2s infinite; }
@media (prefers-reduced-motion: reduce) { .bt-now::before, .bt-open-now::before { animation: none !important; } }
#kontakt-info { scroll-margin-top: 110px; }


/* =========================== INFORMAČNÍ LIŠTA (Informační lišty › Informační lišta) ===========================
   Nahoře v toku stránky nad hlavičkou (nepřekrývá menu), barvy z administrace; vlevo ikona, odkaz jako tlačítko. */
#ace-bars-root .ace-promo-bar.is-top { position: relative; top: auto; z-index: 3; }
#ace-bars-root .ace-promo-bar { gap: 14px 22px; flex-wrap: wrap; min-height: 46px; padding: 10px 56px 10px 20px; box-shadow: none; overflow: hidden;
	font: 600 15px/1.45 Arimo, Arial, sans-serif; text-align: center;
	background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, .035) 0 2px, transparent 2px 14px) !important; }
#ace-bars-root .ace-promo-bar::after { content: ''; position: absolute; inset: 0 auto 0 -40%; width: 30%; pointer-events: none;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .12), transparent); transform: skewX(-20deg); }
#ace-bars-root .ace-promo-bar__text { position: relative; display: inline-flex; align-items: center; gap: 12px; letter-spacing: .01em; }
#ace-bars-root .ace-promo-bar__text::before { content: ''; flex: none; width: 30px; height: 30px; border-radius: 50%; background: rgba(255, 255, 255, .14)
	url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11v2a1 1 0 0 0 1 1h2l5 4V6L6 10H4a1 1 0 0 0-1 1z'/%3E%3Cpath d='M15.5 8.5a5 5 0 0 1 0 7'/%3E%3Cpath d='M18.5 5.5a9 9 0 0 1 0 13'/%3E%3C/svg%3E") center / 16px no-repeat; }
#ace-bars-root .ace-promo-bar__cta { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 7px 16px; border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 0; background: transparent linear-gradient(#fff, #fff) no-repeat 0 0 / 0 100%; color: inherit;
	font: 700 12px/1.2 Montserrat, Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; text-decoration: none;
	transition: background-size .45s var(--bt-ease-cut), color .3s .05s, border-color .3s; }
#ace-bars-root .ace-promo-bar__cta::after { content: '→'; font-size: 14px; transition: transform .3s var(--bt-ease); }
#ace-bars-root .ace-promo-bar__cta:hover, #ace-bars-root .ace-promo-bar__cta:focus-visible { background-size: 100% 100%; border-color: #fff; color: var(--bt-forest); }
#ace-bars-root .ace-promo-bar__cta:hover::after { transform: translateX(4px); }
#ace-bars-root .ace-promo-bar__close { position: absolute; top: 50%; right: 12px; display: grid; place-items: center; width: 32px; height: 32px; margin-top: -16px;
	padding: 0; border-radius: 50%; font: 400 22px/1 Arial, sans-serif; opacity: .75; transition: opacity .2s, background-color .2s; }
#ace-bars-root .ace-promo-bar__close:hover, #ace-bars-root .ace-promo-bar__close:focus-visible { opacity: 1; background: rgba(255, 255, 255, .15); }
@media (prefers-reduced-motion: no-preference) {
	#ace-bars-root .ace-promo-bar.is-top { animation: bt-bar-in .6s var(--bt-ease) both; }
	#ace-bars-root .ace-promo-bar::after { animation: bt-bar-shine 7s 1.2s ease-in-out infinite; }
	#ace-bars-root .ace-promo-bar__text::before { animation: bt-bar-ring 3.5s 1s ease-in-out infinite; }
}
@keyframes bt-bar-in { from { margin-top: -46px; opacity: 0; } }
@keyframes bt-bar-shine { 0%, 70% { left: -40%; } 100% { left: 130%; } }
@keyframes bt-bar-ring { 0%, 80%, 100% { transform: rotate(0); } 84% { transform: rotate(-14deg); } 88% { transform: rotate(12deg); } 92% { transform: rotate(-8deg); } 96% { transform: rotate(4deg); } }
@media (max-width: 640px) {
	#ace-bars-root .ace-promo-bar { gap: 8px 14px; padding: 9px 46px 10px 14px; font-size: 13.5px; }
	#ace-bars-root .ace-promo-bar__text::before { display: none; }
	#ace-bars-root .ace-promo-bar__cta { padding: 6px 12px; font-size: 11px; }
	#ace-bars-root .ace-promo-bar__close { right: 6px; }
}
