/* UI polish – audit 2026-10-26, část 3, balíček G (G1–G9). Načítá inc/ui-polish.php po ux-fixes.css.
 * Barvy značky jen přes tokeny ze style.css (--rivalt-red, --rivalt-red-hover, --rivalt-dark; GREV-05). */

/* ---------------------------------------------------------------- G1 typografie a titulková oblast */
/* Titulek stránky/kategorie: 32 / 28 / 24 px (Kapee title-size-default: 60 / 42 / 36 px). */
body #page-title {
	padding-top: 20px;
	padding-bottom: 20px;
}
#page-title .title {
	font-size: 32px;
	line-height: 1.2;
}
#page-title .entry-breadcrumbs {
	margin-top: 4px;
}
/* Banner „Náš blog“ (p.title.h2, viz theme-headings.php) menší než H1 článku (22–32 px). */
body.single-post #page-title .title {
	font-size: 20px;
	font-weight: 600;
}
/* H1 produktu 28 px / 700 (child style.css: 26 px / 400, Kapee: 400). */
.woocommerce div.product .summary .product_title {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.25;
}
/* Výpis produktů: menší mezera pod titulkem. */
body.woocommerce.archive .site-content,
body.woocommerce.search .site-content {
	padding-top: 20px;
}
/* Kompaktní dlaždice podkategorií – první řada produktů v prvním viewportu (1440×900, 1024×768). */
.rivalt-subcategory-tiles {
	margin-bottom: 16px;
}
@media (min-width: 992px) {
	.rivalt-subcategory-tiles__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px 12px;
	}
	.rivalt-subcategory-tiles__item {
		min-height: 64px;
		padding: 4px 12px 4px 4px;
	}
	.rivalt-subcategory-tiles__media {
		width: 72px;
		height: 54px;
		flex: 0 0 72px;
	}
	.rivalt-subcategory-tiles__name {
		font-size: 15px;
	}
}
/* GV-03: od 1200 px 4 sloupce a nižší dlaždice – i L1 s 10–12 podkategoriemi mají 3 řádky
 * a cena první řady produktů je při 1440×900 nad ohybem. */
@media (min-width: 1200px) {
	.rivalt-subcategory-tiles__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 8px 10px;
	}
	.rivalt-subcategory-tiles__item {
		min-height: 52px;
		padding: 3px 10px 3px 3px;
	}
	.rivalt-subcategory-tiles__media {
		width: 60px;
		height: 44px;
		flex: 0 0 60px;
	}
	.rivalt-subcategory-tiles__name {
		padding-left: 10px;
		font-size: 14px;
	}
}
@media (max-width: 991.98px) {
	#page-title .title {
		font-size: 28px;
	}
}
@media (max-width: 767.98px) {
	body #page-title {
		padding-top: 14px;
		padding-bottom: 14px;
	}
	#page-title .title {
		font-size: 24px;
	}
	body.single-post #page-title .title {
		font-size: 18px;
	}
	.woocommerce div.product .summary .product_title {
		font-size: 24px;
	}
}

/* ---------------------------------------------------------------- G2 info boxy, preloader */
.woocommerce-info {
	border-top-color: var(--rivalt-dark, #252a2d);
}
.woocommerce-info::before {
	color: var(--rivalt-dark, #252a2d);
}
.woocommerce form .form-row .woocommerce-input-wrapper .description {
	background: var(--rivalt-dark, #252a2d);
}
.woocommerce form .form-row .woocommerce-input-wrapper .description::before {
	border-color: var(--rivalt-dark, #252a2d) transparent transparent transparent;
}
body .kapee-site-preloader {
	background-color: #fff;
}

/* ---------------------------------------------------------------- G3 detail produktu */
.woocommerce div.summary .price .woocommerce-price-suffix,
.woocommerce div.summary .woocommerce-variation-price .woocommerce-price-suffix {
	margin-left: .25em;
}
/* Drobečková navigace nesmí vjet pod ikonu sdílení a šipky produktu (absolutně vpravo nahoře). */
.woocommerce div.product .summary .entry-breadcrumbs {
	margin-right: 0;
	padding-right: 130px;
}
/* Tlačítko zoomu: od 768 px v pravém horním rohu hlavního obrázku (dole leželo pod obrázkem). */
@media (min-width: 768px) {
	.single-product-page .woocommerce-product-gallery .single-product-images-btns {
		top: 1em;
		bottom: auto;
	}
}

/* ---------------------------------------------------------------- G5 hledání bez výsledku */
.rivalt-no-results {
	margin: 1.5em 0 2em;
}
.rivalt-no-results__title {
	font-size: 22px;
	margin-bottom: .5em;
}
.rivalt-no-results__subtitle {
	font-size: 17px;
	margin: 1.5em 0 .6em;
}
.rivalt-no-results__label {
	display: block;
	font-weight: 600;
	margin-bottom: 4px;
}
.rivalt-no-results__row {
	display: flex;
	gap: 8px;
	max-width: 520px;
}
.rivalt-no-results__row .search-field {
	flex: 1 1 auto;
	min-width: 0;
	border: 1px solid #767676;
}
.rivalt-no-results__cats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.rivalt-no-results__cats a {
	display: inline-block;
	padding: 8px 14px;
	border: 1px solid #767676;
	border-radius: 3px;
	background: #fff;
	color: var(--rivalt-dark, #252a2d);
}
.rivalt-no-results__cats a:hover {
	border-color: var(--rivalt-red, #d81e1f);
	color: var(--rivalt-red, #d81e1f);
}
.rivalt-no-results__help {
	margin-top: 1.5em;
}
.rivalt-no-results__help a,
.rivalt-size-chart-link {
	text-decoration: underline;
	text-underline-offset: .15em;
}
.rivalt-nowrap {
	white-space: nowrap;
}

/* ---------------------------------------------------------------- G6 tabulka velikostí */
.rivalt-size-chart-link {
	display: inline-block;
	margin-top: 6px;
	font-size: 14px;
}

/* ---------------------------------------------------------------- G7 karusely */
.rivalt-has-carousel-toggle {
	position: relative;
}
.rivalt-carousel-toggle {
	position: absolute;
	left: 8px;
	bottom: 8px;
	z-index: 10;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background: rgba(0, 0, 0, .65);
	color: #fff;
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
}
.rivalt-carousel-toggle:hover {
	background: rgba(0, 0, 0, .85);
}
@media (prefers-reduced-motion: reduce) {
	.owl-carousel .owl-stage {
		transition-duration: 0s !important;
	}
}

/* ---------------------------------------------------------------- G8 drobnosti */
/* Pseudo-checkbox filtrů: okraj #767676 (4,5:1 na bílé, ~4,1:1 na #ebf5ee; WCAG 1.4.11 ≥ 3:1), dříve ~1,1:1. */
.widget.widget_layered_nav li a::before,
.widget.widget_rating_filter li a::before {
	border: 1px solid #767676;
	background-color: #fff;
}
/* Dlouhé slovo v H1 se zalomí; „404“ podle šířky okna. */
/* GREV-06: jen titulky stránky, produktu a článku; break-word neovlivní min-content šířku flex prvků. */
#page-title .title,
.product_title,
.entry-title {
	overflow-wrap: break-word;
}
.error-404 .title {
	font-size: clamp(64px, 22vw, 140px);
}
/* GV-05: „STRÁNKA NENALEZENA“ (Kapee 42 px) přetékal na 320 px; 8,5vw = 27 px při 320 px, 33 px při 390 px. */
.error-404 .sub-title {
	font-size: clamp(24px, 8.5vw, 42px);
	overflow-wrap: break-word;
}
/* Dlaždice kategorií na /obchod/: jednotný poměr stran obrázků. */
.products .product-category .product-wrapper img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background-color: #fff;
}
/* Hledání v hlavičce od 992 px aspoň ~200 px: širší pravý sloupec, text u košíku jen pro čtečky.
 * GREV-07: ZÁVISÍ na rozložení hlavičky Kapee header-main = sloupce col-lg-2 / col-lg-6 / col-lg-4 (a xl stejně)
 * (logo / menu / hledání+srdce+košík, header-contact.php pod nimi). Měřeno 2026-10-27: 43 % + 40,333 %
 * drží menu na 2 řádcích od ~1010 px (992–1010 px: 3 řádky, výška hlavičky se nemění).
 * GV-01: pravý sloupec je flex s flex-wrap – položky se při nedostatku místa nezmenšují, ale zalamují
 * (košík skočil pod hledání). Proto má formulář pevný základ min(…, 100 % − 110 px): 110 px = srdce (39) +
 * košík bez textu (46) + okraje; formulář se tak vždy vejde vedle nich. Hranice bez mezery (1199,98 px).
 * Při změně rozložení hlavičky v nastavení Kapee tento blok přeměřit/odstranit. */
@media (min-width: 992px) {
	.site-header .header-main .header-col-center {
		flex: 0 0 43%;
		max-width: 43%;
	}
	.site-header .header-main .header-col-right {
		flex: 0 0 40.333%;
		max-width: 40.333%;
	}
	.site-header .header-main .header-col-right .kapee-ajax-search {
		flex: 0 0 min(262px, calc(100% - 110px)); /* pole = formulář − tlačítko 56 px ≈ 206 px */
		min-width: 0;
	}
}
/* GV-R1: text „Košík“ + mezisoučet se skrývá (jen pro čtečky) pouze v úzkém pásmu 992–1199,98 px.
 * GVV-07: stejně i v plovoucí (sticky) hlavičce, aby se obě hlavičky chovaly stejně. */
@media (min-width: 992px) and (max-width: 1199.98px) {
	.site-header .header-main .header-col-right .header-cart .cart-wrap,
	.site-header .header-sticky .header-cart .cart-wrap {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}
}
/* Od 1200 px je text košíku vidět: 175 px = srdce (39) + košík s textem a mezisoučtem do „99 999 Kč“ (~110)
 * + okraje; formulář max. 270 px (pole ≈ 214 px). */
@media (min-width: 1200px) {
	.site-header .header-main .header-col-right .kapee-ajax-search {
		flex-basis: min(270px, calc(100% - 175px));
	}
}
/* GVV-06: na 992–1099,98 px se horní lišta (9 odkazů) zalomila do 2 řádků (bílý text „PRO FIRMY“ na světlém
 * pozadí) a hlavní menu do 3 řádků. Menší vodorovné mezery a o 1 px menší písmo; všechny odkazy zůstávají. */
@media (min-width: 992px) and (max-width: 1099.98px) {
	.header-topbar .topbar-navigation ul.menu > li > a {
		padding-left: 6px;
		padding-right: 6px;
		font-size: 12px;
	}
	.header-topbar .topbar-navigation ul.menu > li:first-child > a {
		padding-left: 0;
	}
	.header-topbar .topbar-navigation ul.menu > li:last-child > a {
		padding-right: 0;
	}
	.header-main .main-navigation ul.menu > li > a {
		padding-left: 7px;
		padding-right: 7px;
		font-size: 13px;
	}
}
/* Patička: e-mail se nezalamuje uvnitř adresy, logo na mobilu nejvýš 160 px široké. */
.site-footer a.rivalt-email {
	white-space: nowrap;
}
/* GVV-08: na mobilu plovoucí tlačítko „nahoru“ (vpravo dole nad spodní lištou) na konci stránky překrývalo
 * platební loga – spodní odsazení posune poslední řádek patičky nad tlačítko. */
@media (max-width: 767.98px) {
	.site-footer .footer-copyright {
		padding-bottom: 64px;
	}
}
@media (max-width: 767.98px) {
	.site-footer .widget_media_image img {
		width: auto;
		height: auto !important;
		max-width: 160px !important; /* GV-02: „≤ 160 px“ = šířka; !important kvůli inline style="max-width:100%" z widgetu */
		max-height: 160px;
	}
}
