/* Úpravy webu Bláha Trade při převodu na AceCMS (2026): náhrada chování starých knihoven a opravy pro mobily.
   Mimo původní style.css/responsive.css šablony, aby šly snadno dohledat. */

/* tlačítko Nahoru je nově <button> (ovladatelné klávesnicí) – bez výchozího vzhledu prohlížeče */
button.scroll-to-top { border: 0; padding: 0; font-family: inherit; }
button.scroll-to-top:focus-visible { outline: 3px solid #889976; outline-offset: 2px; }

/* chybová hláška kontaktního formuláře (?err=…) */
.contact-form .form-error { color: #b4462f; font-weight: 700; margin-bottom: 15px; }

/* Owl Carousel 2.3: šipky a tečky jsou <button> (dřív <div>) – bez výchozího vzhledu tlačítka; vzhled dál určuje style.css šablony */
:where(.owl-carousel .owl-nav, .owl-carousel .owl-dots) button { background: none; padding: 0; font: inherit; color: inherit; }
:where(.owl-carousel .owl-nav, .owl-carousel .owl-dots) button:focus-visible { outline: 2px solid #889976; outline-offset: 2px; }
/* tečky: kde je šablona nestyluje, byly v Owl 2.2 prázdné <div> s nulovou výškou – tlačítko je musí zachovat */
:where(.owl-carousel .owl-dots) button { border: 0; font-size: 0; line-height: 0; vertical-align: top; }
:where(.owl-carousel) .owl-dots { line-height: 0; }

/* ===================== mobily (do 767 px) ===================== */
@media only screen and (max-width: 767px) {
	/* horní lišta: telefon a e-mail místo samotných sociálních sítí (dřív se na mobilu skrývaly) */
	.main-header .header-top .auto-container { padding-left: 6px; padding-right: 6px; }
	.main-header .header-top .inner-container { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 10px; padding: 6px 0; }
	.main-header .header-top .inner-container::before,
	.main-header .header-top .inner-container::after { display: none; }
	.main-header .header-top .top-left { display: block !important; float: none; width: auto; padding: 0; }
	.main-header .header-top .top-left .links { float: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 0 10px; margin: 0; }
	.main-header .header-top .top-left .links li { float: none; margin: 0; }
	.main-header .header-top .top-left .links li:last-child { display: none; }          /* otevírací doba – je v patičce a v Kontaktech */
	.main-header .header-top .top-left .links li a { font-size: 13px; line-height: 32px; white-space: nowrap; }
	.main-header .header-top .top-left .links li .icon { font-size: 15px; padding-right: 4px; }
	.main-header .header-top .top-right .social-icon ul { display: flex; gap: 10px; margin: 0; }
	.main-header .header-top .top-right .social-icon li { margin: 0; float: none; }
	.main-header .header-top .top-right { float: none; width: auto; padding: 0; }
	.main-header .header-top .top-right .social-icon { display: block; padding: 0; margin: 0; }
	.header-top .social-icon li a { font-size: 16px; line-height: 32px; }
	.header-top .social-icon .facebook-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

	/* logo a tlačítko menu v jednom řádku (tlačítko dřív přečnívalo do slideru) */
	.main-header .main-box { height: auto; }
	.main-header .main-box .outer-container { display: flex; align-items: center; justify-content: space-between; padding-bottom: 0; }
	.main-header .main-box .outer-container::before,
	.main-header .main-box .outer-container::after { display: none; }
	.main-header .main-box .logo-box { float: none; height: auto; padding: 18px 0; margin: 0; min-width: 0; text-align: left; }   /* responsive.css ho centrovala a odsazovala dolů – logo nebylo na ose s tlačítkem menu */
	.main-header .main-box .logo-box .logo :is(img, svg) { height: 48px; width: auto; max-width: calc(100vw - 100px); object-fit: contain; object-position: left center; }
	.main-header .main-box .nav-outer { float: none; position: static; padding: 0; margin: 0; }
	.main-header .main-box .nav-outer .main-menu { float: none; position: static; }
	.main-header .main-box .main-menu .navbar-header { width: auto; padding: 0; }
	.main-header .main-box .main-menu .navbar-header .navbar-toggle { margin: 0; padding: 12px 11px; }
	.main-header .main-box .main-menu .navbar-collapse { position: absolute; z-index: 60; left: 15px; right: 15px; width: auto; top: 100%; margin: 0; max-height: 70vh; }

	/* méně prázdného místa nad drobečkovou navigací a obsahem (na desktopu beze změny) */
	.page-title { padding-top: 0; }
	.sidebar-page-container { padding-top: 50px; padding-bottom: 30px; }

	/* obsah stránky před bočním menu a bannery */
	.sidebar-page-container > .auto-container > .row { display: flex; flex-direction: column; }
	.sidebar-page-container > .auto-container > .row::before,
	.sidebar-page-container > .auto-container > .row::after { display: none; }
	.sidebar-page-container .content-side { order: -1; margin-bottom: 40px; }

	/* ceníky: tabulky s pevnou šířkou 550 px přečnívaly a ceny nebyly vidět */
	.content-side table,
	.services-single table { width: 100% !important; max-width: 100%; }
	.content-side table td, .content-side table th,
	.services-single table td, .services-single table th { padding: 10px 8px; font-size: 14px; line-height: 1.4; }

	/* fotogalerie detailu reference po dvou (dřív jedna fotka na celou šířku – dlouhé posouvání) */
	.projects-single-section .content-column .shop-item { width: 50%; float: left; padding-left: 5px; padding-right: 5px; }

	/* logo Nová zelená úsporám v patičce */
	.main-footer .links-widget img { max-width: 240px; height: auto; }
}

/* úzké telefony (do 380 px): telefon, e-mail a ikony v horní liště v jednom řádku */
@media only screen and (max-width: 380px) {
	.main-header .header-top .top-left .links li a { font-size: 12px; }
	.main-header .header-top .top-left .links li .icon { font-size: 13px; padding-right: 2px; }
	.main-header .header-top .inner-container,
	.main-header .header-top .top-left .links { gap: 0 8px; }
}

/* tablety (768–1023): menu pod logem přečnívalo přes úvodní slider – na úvodu hlavička roste s menu
   (na podstránkách přesah zachytí horní odsazení drobečkové navigace, tam zůstává beze změny) */
@media only screen and (min-width: 768px) and (max-width: 1023px) {
	.page-wrapper:has(> .bt-slider) .main-header .main-box { height: auto; }
}

/* =====================================================================================
   GRAFICKÉ ÚPRAVY 10/2026 – stejný design, opravy zarovnání a chyb (podklad pro CMS)
   ===================================================================================== */

/* --- hlavička od 768 px ---
   Logo bylo po výměně za SVG vysoké 40 px, ale odsazení zůstalo pro 60px logo šablony: blok loga (116 px) přečníval
   lištu (110 px) – menu sedělo o 10 px níž než logo a přečnívající plovoucí blok odsouval drobečkovou navigaci doprava.
   Nově logo na středu lišty i s menu. 12. 10.: větší logo – desktop 56 px (lišta 35 + 56 + 35 = 126 px, menu 48 + 30 + 48),
   tablet 38 px, mobil 48 px. */
@media only screen and (min-width: 768px) {
	.main-header .main-box { height: 126px; }
	.main-header .main-box .logo-box { height: auto; padding: 35px 0; }
	.main-header .main-box .logo-box .logo :is(img, svg) { height: 56px; width: auto; }
	.main-header .main-box .logo-box .logo :is(img, svg) { display: block; }
	.main-header .main-box .main-menu .navigation > li > a { padding: 48px 0; }

	/* horní lišta: kontakty vlevo a sociální sítě vpravo na jedné ose (vpravo byly o 2 px níž) */
	.main-header .header-top .inner-container { display: flex; align-items: center; justify-content: space-between; min-height: 62px; }
	.main-header .header-top .inner-container::before,
	.main-header .header-top .inner-container::after { display: none; }
	.main-header .header-top .top-left,
	.main-header .header-top .top-right { float: none; padding: 0; }
	.header-top .social-icon li a { line-height: 24px; }
	.main-header .header-top .top-left .links li a:not([href]):hover { color: #fff; }   /* otevírací doba není odkaz */

	/* odsazení 150 px nad drobečkovou navigací (do 1140 px) bylo pro šablonu s hlavičkou přes obrázek – tady prázdné místo */
	.page-title { padding-top: 0; }
}

/* tablety: menu se vejde vedle loga (dřív spadlo pod logo a horní lišta měla dva řádky) */
@media only screen and (min-width: 768px) and (max-width: 1023px) {
	.main-header .main-box,
	.page-wrapper:has(> .bt-slider) .main-header .main-box { height: 110px; }
	.main-header .main-box .logo-box { padding: 36px 0; }
	.main-header .main-box .logo-box .logo :is(img, svg) { height: 38px; width: auto; }
	.main-header .main-box .main-menu .navigation > li > a { padding: 40px 0; }
	.main-header .main-box .main-menu .navigation > li { margin-left: 16px; margin-right: 0; }
	.main-header .main-box .main-menu .navigation > li > a { font-size: 14px; }
	.main-header .header-top .top-left .links li { margin-right: 24px; }
	.main-header .header-top .top-left .links li:last-child { display: none; }   /* otevírací doba – je v patičce a v Kontaktech */
}

/* --- Aktuality: karty jako na úvodu, po dvou; přerušovaná čára pod kartami v jedné výšce (i na úvodu) --- */
.bt-news-list,
.news-section .row:has(> .news-block) { display: flex; flex-wrap: wrap; }
.bt-news-list::before, .bt-news-list::after,
.news-section .row:has(> .news-block)::before,
.news-section .row:has(> .news-block)::after { display: none; }
.bt-news-list > .news-block,
.news-section .row > .news-block { display: flex; }
.bt-news-list > .news-block > .inner-box,
.news-section .row > .news-block > .inner-box { display: flex; flex-direction: column; width: 100%; }
.news-block .inner-box .lower-content { flex: 1 0 auto; }
.news-block .inner-box .image > a { display: block; }
.news-block .inner-box .image img { aspect-ratio: 1; object-fit: cover; }   /* náhledy různých rozměrů (logo místo fotky…) nedeformovat */
.news-block .inner-box .lower-content .text { margin-top: 10px; color: #777; font-size: 15px; line-height: 1.7em; }

/* stránkování (dřív čísla pod sebou bez stylu) – rámečky jako přepínání referencí */
.styled-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.styled-pagination li a { display: flex; align-items: center; justify-content: center; min-width: 46px; height: 46px; padding: 0 10px;
	border: 1px solid #d5d5d5; color: #252525; font-size: 17px; font-weight: 700; transition: all 300ms ease; }
.styled-pagination li a:hover,
.styled-pagination li.active a { background: #889976; border-color: #889976; color: #fff; }

/* --- 404 --- */
.error-404 .text { margin-bottom: 30px; color: #777; font-size: 17px; line-height: 1.8em; }

/* --- patička: copyright a autor na mobilu oba na střed (dřív jeden na střed, druhý vpravo) --- */
@media only screen and (max-width: 991px) {
	.main-footer .footer-bottom .column { text-align: center !important; }
	.main-footer .footer-bottom .column + .column { margin-top: 6px; }
}
@media only screen and (min-width: 992px) {
	.main-footer .footer-bottom .copyright { text-align: left; }
}

/* --- úvod, Napsali o nás: hodnocení z Google pod recenzemi --- */
.bt-google-rating { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 40px; padding-top: 30px;
	border-top: 1px solid rgba(255, 255, 255, .15); color: rgba(255, 255, 255, .8); font-size: 17px; }
.bt-google-rating strong { color: #fff; }
.bt-google-rating .bt-stars { color: #ffdf02; font-size: 18px; letter-spacing: 3px; }
.bt-google-rating a { margin-left: auto; color: #889976; font-weight: 700; }
.bt-google-rating a:hover { color: #fff; }
.bt-google-rating a .fa { margin-left: 4px; }
@media only screen and (max-width: 767px) {
	.bt-google-rating { margin-top: 30px; }
	.bt-google-rating a { margin-left: 0; }
}
.testimonial-block .inner-box .image .bt-initial { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;
	background: #889976; color: #fff; font-family: 'Montserrat', sans-serif; font-size: 40px; font-weight: 700; }

/* logo jako vložené SVG (od 12. 10., kvůli animaci): stejné rozměry jako dřívější obrázek */
.logo-box .logo svg { display: block; height: 40px; width: auto; max-width: 100%; }
.sticky-header .logo svg { display: block; height: 50px; width: auto; }
.logo a:focus-visible { outline: 2px solid #889976; outline-offset: 4px; }

/* --- rychlost a SEO 12. 10. 2026 --- */
/* obrázky vložené editorem s pevnou šířkou a výškou (style="width: 1000px; height: 666px") se na mobilu
   zúžily, ale výšku si nechaly – byly zdeformované a stránka poskakovala (CLS 0,5 na Palivovém dřevě) */
img[style*="height"]:not([class]) { height: auto !important; }
/* responzivní obrázky (<picture> z Media) se chovají jako dřívější <img> */
.service-block .inner-box .image picture, .about-section .image-column .image picture { display: block; }
.sponsors-section .sponsors-outer .image-box > span { display: block; }
/* fotka v záhlaví podstránek Pily a Stavební činnosti (owl „single-item-carousel“): do spuštění skriptu byl karusel
   skrytý a po načtení odsunul text pod sebe – hned je vidět první fotka */
.single-item-carousel.owl-carousel:not(.owl-loaded) { display: block; }
.single-item-carousel.owl-carousel:not(.owl-loaded) > :not(:first-child) { display: none; }
.gallery-item .inner-box .image picture, .projects-single-section .image picture, .projects-single-section .gallery-item picture,
.bt-pager__img picture { display: block; }
/* filtr referencí: lomítko jen mezi kategoriemi (dřív „Zemní práce /“ i za poslední) */
.filters .filter-btns li + li::before { content: "/"; display: inline-block; margin-right: 10px; color: #b5b5b5; font-weight: 400; }
