/* =========================================================
   Vesmat – doplňky k původnímu vzhledu (košík, e-shop)
   Barvy a písma navazují na původní šablonu.
   ========================================================= */
:root {
	--vesmat-green: #176c35;
	--vesmat-green-dark: #0f4f26;
	--vesmat-dark: #171c22;
	--vesmat-light: #f7f7f7;
	--vesmat-border: #e2e2e2;
}

/* ---------- košík v menu ---------- */
/* lupa hledání je vlevo před košíkem */
@media screen and (min-width: 768px) {
	#menu-header > ul > li.search { position: relative; margin-left: auto; width: 46px; align-self: stretch; }
	#menu-header > ul > li.search #searchform { right: 8px; }
	#menu-header > ul > li.search #searchform { background: transparent !important; box-shadow: none !important; border: 0 !important; }
	#menu-header > ul > li.search #searchform.searchform-open { width: min(540px, 58vw); padding-left: 12px; background: #f7f7f7 !important; } /* stejná barva jako lišta – zakryje položky menu pod sebou */
	#menu-header > ul > li.search #searchform .searchform-input { height: 40px; margin: 0; padding: 0 44px 0 16px; border: 1px solid #cfd8d2 !important; border-radius: 20px; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.08); font: 400 15px/40px 'Roboto', sans-serif; color: #222; outline: none; }
	#menu-header > ul > li.search #searchform .searchform-input:focus { border-color: #176c35 !important; box-shadow: 0 0 0 3px rgba(23,108,53,.15); }
	#menu-header > ul > li.search #searchform:not(.searchform-open) .searchform-input { border-color: transparent !important; box-shadow: none; background: transparent; }
	#menu-header > ul > li.search #searchform .searchform-button { right: 6px; background: transparent !important; }
	#menu-header > ul > li.vesmat-cart-item { margin-left: 0; margin-right: 0; }
}
#menu-header > ul > li.vesmat-cart-item > a.vesmat-cart-toggle { position: relative; display: flex; align-items: center; gap: .45em; color: #fff; background: var(--vesmat-green); }
#menu-header > ul > li.vesmat-cart-item > a.vesmat-cart-toggle:hover { background: var(--vesmat-green-dark); color: #fff; }
#menu-header > ul > li.vesmat-cart-item > a.vesmat-cart-toggle::before { content: "\f07a"; font: normal normal 400 18px/1 'FontAwesome'; margin: 0; }
.vesmat-cart-count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.5em; height: 1.5em; padding: 0 .35em; border-radius: 1em; background: #fff; color: var(--vesmat-green); font: 600 13px/1 'Roboto', sans-serif; }
.vesmat-cart-count[data-count="0"] { background: rgba(255,255,255,.35); color: #fff; }
.vesmat-cart-total { font-family: 'Roboto', sans-serif; font-size: 13px; text-transform: none; }
@media screen and (max-width: 767px) {
	#menu-header > ul > li.vesmat-cart-item { margin-left: 0; }
	/* Na mobilu je košík vidět i při zavřeném menu – plugin přidá i plovoucí tlačítko. */
}

/* ---------- e-shop: kategorie ---------- */
.vesmat-cats { display: flex; flex-wrap: wrap; align-items: center; gap: .5em; margin: 0 0 2em; }
#main .vesmat-cats a, .vesmat-cats a { display: inline-flex; align-items: center; padding: .6em 1.05em; border: 1px solid var(--vesmat-border); border-radius: 2em; text-decoration: none; color: #000; background: #fff; font: 400 15px/1 'Roboto', sans-serif; transition: all .2s; }
#main .vesmat-cats a.sub, .vesmat-cats a.sub { background: #f3f8f4; border-color: #cfe5d6; }
.vesmat-cats a:hover, .vesmat-cats a.active { background: var(--vesmat-green); border-color: var(--vesmat-green); color: #fff; }
.vesmat-cats a.cenik { margin-left: auto; border-color: var(--vesmat-green); color: var(--vesmat-green); }

/* ---------- e-shop: výpis produktů ---------- */
.vesmat-woo ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 24px; margin: 0 0 2em !important; padding: 0 !important; }
.vesmat-woo ul.products::before, .vesmat-woo ul.products::after { display: none !important; }
.vesmat-woo ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; padding: 0 0 1em !important; background: #fff; border: 1px solid var(--vesmat-border); border-radius: 6px; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s; }
.vesmat-woo ul.products li.product::before { display: none !important; }
.vesmat-woo ul.products li.product:hover { box-shadow: 0 6px 20px rgba(0,0,0,.12); }
.vesmat-woo ul.products li.product a img { margin: 0 0 .8em !important; aspect-ratio: 1; object-fit: cover; }
.vesmat-woo ul.products li.product .woocommerce-loop-product__title { font-family: 'Teko', sans-serif; font-size: 24px !important; font-weight: 400; line-height: 1; padding: 0 12px !important; color: #000; }
.vesmat-woo ul.products li.product .vesmat-loop-short { padding: 0 12px; margin: .3em 0 .6em; font-size: 13px; color: #666; }
.vesmat-woo ul.products li.product .price { padding: 0 12px; color: var(--vesmat-green) !important; font-size: 17px !important; font-weight: 600; }
.vesmat-woo ul.products li.product .vesmat-add { margin: auto 12px 0 !important; }

/* ---------- tlačítka WooCommerce v barvách webu ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
	background-color: var(--vesmat-green) !important; color: #fff !important; border-radius: 4px; font-weight: 500; text-transform: none;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background-color: #3f3f3f !important; }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info { border-top-color: var(--vesmat-green); }
.woocommerce .woocommerce-message::before, .woocommerce .woocommerce-info::before { color: var(--vesmat-green); }
.woocommerce span.onsale { background: var(--vesmat-green); }
.woocommerce div.product .product_title { display: none; } /* nadpis je v pruhu nahoře */
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--vesmat-green); font-size: 1.6em; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: #fff; }
.woocommerce table.shop_table { border-radius: 4px; }
#main.vesmat-woo ul li::before, #main .woocommerce ul li::before, #main ul.wc-item-meta li::before, #main ul#shipping_method li::before, #main ul.woocommerce-shipping-methods li::before, #main ul.wc_payment_methods li::before, #main .woocommerce-order ul li::before, #main ul.vsm-results li::before { display: none !important; } /* odrážky šablony nechceme v e-shopu (pokladna, košík, objednávka) */
#main ul.wc-item-meta { list-style: none; margin: .3em 0 0; padding: 0; }
#main ul.wc-item-meta li { margin: 0; padding: 0; }
#main ul.wc-item-meta li p { display: inline; margin: 0; }
#main.vesmat-woo ul { margin: 0; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { padding: 10px; border: 1px solid #ccc; border-radius: 4px; }

/* ---------- výsledky hledání ---------- */
ul.vesmat-results li { margin-bottom: 1.2em; }
.vesmat-searchform { display: flex; gap: .5em; max-width: 480px; }
.vesmat-searchform input { flex: 1; padding: 10px; border: 1px solid #ccc; }

/* zelený pruh v hlavičce sahá do 100vw – oříznout, aby stránka neměla vodorovný posuv */
#header-top { overflow-x: clip; }

/* ---------- ceny se nezalamují ---------- */
.woocommerce-Price-amount, .amount, .price, .vesmat-buybox-text span, button.vsm-price span { white-space: nowrap; }

/* ---------- galerie (fancybox): tmavé pozadí, fotka vpředu ---------- */
.fancybox-is-open .fancybox-bg, .fancybox-container .fancybox-bg { opacity: 1 !important; background: #111 !important; }
.fancybox-container { z-index: 100000 !important; }
@media (max-width: 767px) {
	.fancybox-thumbs { top: auto !important; height: 90px !important; }
	.fancybox-show-thumbs .fancybox-inner { right: 0 !important; bottom: 95px !important; }
}

/* ---------- šipky ◄ ► mezi stránkami ---------- */
#main center.vesmat-arrows a, .article center.vesmat-arrows a { /* jen šipky ◄ ►, ne jiné odkazy na středu (vlajky, loga…) */
	display: inline-flex; align-items: center; justify-content: center;
	width: 52px; height: 52px; margin: 0 6px; border-radius: 50%;
	border: 2px solid var(--vesmat-green); background: #f3f8f4; color: var(--vesmat-green) !important;
	font-size: 24px; line-height: 1; text-decoration: none !important;
	transition: background .15s, color .15s, transform .1s;
	-webkit-tap-highlight-color: transparent;
}
#main center.vesmat-arrows a:hover, #main center.vesmat-arrows a:focus-visible, .article center.vesmat-arrows a:hover {
	background: var(--vesmat-green); color: #fff !important; text-decoration: none !important;
}
#main center.vesmat-arrows a:active, .article center.vesmat-arrows a:active { transform: scale(.92); background: var(--vesmat-green-dark); color: #fff !important; }
#main center.vesmat-arrows font, .article center.vesmat-arrows font { font-size: inherit; }
/* řádek se šipkami – vlastní blok, aby kulatá tlačítka nepřekrývala text nad/pod nimi */
#main center.vesmat-arrows { display: block; clear: both; margin: 1.6em 0 1em; line-height: 1; }
#main center.vesmat-arrows > span, #main center.vesmat-arrows > font { display: inline-flex; align-items: center; justify-content: center; gap: 14px; line-height: 1; vertical-align: top; }
#main center.vesmat-arrows a { margin: 0; }

/* ---------- kategorie e-shopu: podkategorie na druhém řádku ---------- */
.vesmat-cats-sub { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin: -1em 0 2.2em; padding: 14px; background: #f3f8f4; border: 1px solid #d6e9dc; border-radius: 10px; }
#main .vesmat-cats-sub a.vesmat-cats-sub-title, .vesmat-cats-sub-title { flex: 0 0 auto; align-self: center; padding: 0 6px 0 2px; font: 400 24px/1 'Teko', sans-serif; text-transform: uppercase; color: var(--vesmat-green) !important; text-decoration: none !important; }
.vesmat-cats-sub a.vesmat-cats-sub-title:hover { text-decoration: underline !important; }
#main .vesmat-cats-sub a.vesmat-cats-card, .vesmat-cats-sub a.vesmat-cats-card { flex: 1 1 260px; display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: #fff; border: 1px solid #cfe5d6; border-left: 4px solid var(--vesmat-green); border-radius: 8px; color: #000 !important; text-decoration: none !important; transition: box-shadow .2s, transform .1s, background .2s; }
.vesmat-cats-sub a.vesmat-cats-card:hover { box-shadow: 0 4px 14px rgba(23,108,53,.18); transform: translateY(-1px); }
.vesmat-cats-sub a.vesmat-cats-card.active { background: var(--vesmat-green); border-color: var(--vesmat-green); color: #fff !important; }
.vesmat-cats-sub-img { width: 54px; height: 54px; object-fit: cover; border-radius: 6px; flex: 0 0 54px; margin: 0 !important; }
.vesmat-cats-sub-text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.vesmat-cats-sub-text strong { font: 400 22px/1 'Teko', sans-serif; text-transform: uppercase; letter-spacing: .3px; }
.vesmat-cats-sub-text small { font: 400 13px/1.3 'Roboto', sans-serif; color: #555; }
.vesmat-cats-sub-text em { font: 400 12px/1 'Roboto', sans-serif; font-style: normal; color: var(--vesmat-green); }
.vesmat-cats-sub a.active small, .vesmat-cats-sub a.active em { color: #e7f3eb; }
@media (max-width: 767px) { .vesmat-cats-sub-title { flex-basis: 100%; } }

.vesmat-filter-info { margin: -1.2em 0 1.4em; color: #555; font-size: 15px; min-height: 1em; }
.vesmat-filter-info a { color: var(--vesmat-green); }
ul.products li.product { transition: opacity .2s; }

/* panel podkategorií se ukáže jen po výběru nadřazené kategorie */
.vesmat-cats-sub { display: none !important; }
.vesmat-cats-sub.is-open { display: flex !important; animation: vesmatFade .2s ease-out; }
@keyframes vesmatFade { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* vybraná kategorie – výrazně zvýrazněná (musí přebít „#main .vesmat-cats a“) */
#main .vesmat-cats a:hover { border-color: var(--vesmat-green); color: var(--vesmat-green); }
#main .vesmat-cats a.active, .vesmat-cats a.active {
	background: var(--vesmat-green) !important; border-color: var(--vesmat-green) !important; color: #fff !important;
	box-shadow: 0 3px 10px rgba(23,108,53,.35);
}
#main .vesmat-cats a.active.ico::before { color: #fff; }
#main .vesmat-cats-sub a.vesmat-cats-card.active { background: var(--vesmat-green) !important; border-color: var(--vesmat-green-dark) !important; color: #fff !important; box-shadow: 0 4px 14px rgba(23,108,53,.35); }
#main .vesmat-cats-sub a.vesmat-cats-card.active small, #main .vesmat-cats-sub a.vesmat-cats-card.active em { color: #e7f3eb; }

/* ---------- mobil: šipky ◄ ► + přejetí prstem ---------- */
.vesmat-swipe-hint, .vesmat-swipe-ind { display: none; }
@media (max-width: 767px) {
	/* vodorovná gesta posíláme skriptu (svislé posouvání a zoom zůstávají) */
	.vesmat-has-swipe #content { will-change: transform; } /* bez touch-action – nesmí blokovat rolování */
	.vesmat-has-swipe .vesmat-swipe-hint { display: block; clear: both; text-align: center; color: #888; font-size: 13px; line-height: 1.4; margin: .2em 0 1.5em; }
	.vesmat-swipe-ind { display: block; position: fixed; top: 50%; z-index: 9000; transform: translateY(-50%); pointer-events: none; opacity: 0; transition: opacity .15s; }
	.vesmat-swipe-ind span { display: block; padding: 10px 14px; border-radius: 30px; background: rgba(23,108,53,.75); color: #fff; font: 600 14px/1 'Roboto', sans-serif; white-space: nowrap; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
	.vesmat-swipe-ind.show { opacity: .7; }
	.vesmat-swipe-ind.ready { opacity: 1; }
	.vesmat-swipe-ind.ready span { background: #176c35; }
	.vesmat-swipe-ind.left { left: 10px; }
	.vesmat-swipe-ind.right { right: 10px; }
}

/* Tablet / mobil na šířku (768–1150 px): menu se vejde do jednoho řádku a stránka nepřetéká do strany */
@media (min-width: 768px) and (max-width: 1150px) {
	#menu-header > ul > li > a { padding: 1.4em .55em; font-size: 14px; letter-spacing: 0; }
	#menu-header > ul > li.vesmat-cart-item > a.vesmat-cart-toggle .vesmat-cart-label,
	#menu-header > ul > li.vesmat-cart-item > a.vesmat-cart-toggle .vesmat-cart-total { display: none; }
	#header-top #header-top-inner a.logo { width: 220px; height: 52px; }
	#header-top #header-top-inner #icons .link-horizontal .ico { font-size: 15px; }
	#header-top #header-top-inner #icons .link-horizontal .ico::before { font-size: 26px; }
}
@media (min-width: 768px) and (max-width: 900px) {
	#menu-header > ul > li > a { padding: 1.4em .4em; font-size: 13px; }
	#menu-header > ul > li > a.home { padding-left: .2em; padding-right: .2em; }
}
#header { overflow-x: clip; }

/* odkazy dole na úvodní stránce (stejný vzhled jako „E-shop – Bambusový háj“) */
.vsm-home-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 1.6em 0 .4em; }
.vsm-home-links a.vsm-eshop-link { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 20px; background: #176c35; color: #fff !important; font: 600 15px/1.2 'Roboto', sans-serif; text-decoration: none !important; border: 0; }
.vsm-home-links a.vsm-eshop-link:hover { background: #0f5126; }
