/*
	Theme Name: GeneratePress Child
	Description: Optimalizovaná a sjednocená verze CSS – Mojett (Kompletní - Sjednocená typografie 600)
	Template: generatepress
	Version: 2.36
*/

/* ==========================================================================
   CSS VARIABLES & BASE STYLES
   ========================================================================== */

:root {
	--color-green: #22B14C;
	--color-green-dark: #1A8F3C;
	--color-green-hover: #1ca245;
	--color-green-hover-dark: #157A33;
	--color-slate-50: #f8fafc;
	--color-slate-100: #f1f5f9;
	--color-slate-200: #e2e8f0;
	--color-slate-300: #cbd5e1;
	--color-slate-400: #94a3b8;
	--color-slate-500: #64748b;
	--color-slate-600: #475569;
	--color-slate-700: #334155;
	--color-slate-800: #1e293b;
	--color-slate-900: #0f172a;
	--color-border-light: #eaeaea;
	--color-border-input: #dcdcdc;
	--color-border-subtle: #e0e0e0;
	--color-bg-light: #fafafa;
	--color-danger-text: #c62828;
	--shadow-sm: 0 2px 12px rgba(0, 0, 0, 0.06);
	--shadow-md: 0 4px 20px rgba(0, 0, 0, 0.12);
	--shadow-lg: 0 6px 24px rgba(0, 0, 0, 0.12);
	--shadow-green: 0 4px 12px rgba(34, 177, 76, 0.2);
	--shadow-green-hover: 0 6px 16px rgba(34, 177, 76, 0.3);
	--radius-xs: 4px;
	--radius-sm: 6px;
	--radius-md: 8px;
	--radius-lg: 999px;
	--z-sticky: 999;
	--z-dropdown: 9999;
	--z-modal: 9999999;
	--transition-fast: 0.15s ease;
	--transition-base: 0.2s ease;
	--transition-slow: 0.25s ease;
	--btn-primary-bg: linear-gradient(135deg,var(--color-green) 0%,var(--color-green-dark) 100%);
	--btn-primary-bg-hover: linear-gradient(135deg,var(--color-green-hover) 0%,var(--color-green-hover-dark) 100%);
	--btn-secondary-bg: linear-gradient(180deg,#3d7ed4,#2f6fc2);
	--btn-secondary-bg-green: linear-gradient(180deg,var(--color-green),#1d9a41);
	--btn-radius: var(--radius-md);
	--btn-padding: 12px 24px;
	--btn-font-weight: 600;
	--btn-shadow: var(--shadow-green);
	--btn-shadow-hover: var(--shadow-green-hover);
	--btn-transition: all var(--transition-base);
}

html, body {
	font-size: 13px !important;
	line-height: 1.55;
	color: #000;
}

body {
	--mojett-sticky-height: 60px;
}

body p, body span, body li, body td, body th, .entry-content, .woocommerce, .woocommerce p, .woocommerce div.product, .woocommerce table td, .woocommerce table th {
	font-size: 13px !important;
	line-height: 1.55;
}

.blog .entry-title, .archive .entry-title {
	font-size: 22px !important;
	font-weight: 600;
}

.single .entry-title {
	font-size: 26px !important;
	letter-spacing: -.3px;
	font-weight: 600;
}

h2, .single .entry-content h2 {
	font-size: 22px !important;
	line-height: 1.35;
}

h3 {
	font-size: 18px !important;
	font-weight: 600;
}

.blog .featured-image, .archive .featured-image, .blog .post-image, .archive .post-image, .single .page-header-image-single, footer.entry-meta {
	display: none !important;
}

.mojett-meta-line {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 12px;
	margin-bottom: 8px;
}

.mojett-meta-line a {
	color: #000;
	text-decoration: none;
}

.mojett-meta-line a:hover {
	color: var(--color-green);
	text-decoration: underline;
}

article .entry-content {
	min-height: 113px;
	margin: 0.5em 0 .4em !important;
}

article .entry-content::after {
	content: "";
	display: block;
	clear: both;
}

article.post {
	margin-bottom: .4em;
}

.entry-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
	margin-top: 2px;
	margin-bottom: 0px;
}

.entry-meta .posted-on,
.entry-meta .byline,
.entry-meta a.comments-link {
	font-size: 12px !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 24px;
	padding: 0 10px;
	background: #ffffff;
	border: 1px solid var(--color-border-input);
	border-radius: var(--radius-sm);
	font-weight: 600;
	color: #333333;
	text-decoration: none;
	transition: all var(--transition-base);
}

.entry-meta a {
	color: inherit !important;
	text-decoration: none;
}

.entry-meta .posted-on:hover, 
.entry-meta .byline:hover, 
.entry-meta a.comments-link:hover {
	background: var(--color-slate-50);
	border-color: #b0b0b0;
	color: #111111;
}

.entry-meta .posted-on {
	cursor: pointer;
}

/* ==========================================================================
   NAVIGATION & HEADER
   ========================================================================== */

#site-navigation::before {
	content: "";
	display: block;
	height: 4px;
	width: 100%;
	background: var(--color-green);
}

.main-navigation, .main-navigation .inside-navigation {
	background: #000 !important;
}

.main-navigation {
	position: sticky;
	top: 0;
	z-index: 999;
}

.main-navigation .inside-navigation {
	min-height: 50px;
	display: flex;
	align-items: center;
}

.main-navigation .main-nav > ul {
	display: flex;
	flex-wrap: wrap !important;
	justify-content: center;
	gap: 6px 12px;
	width: 100%;
}

.main-navigation .main-nav > ul > li {
	position: relative;
	padding: 0 12px;
}

.main-navigation .main-nav > ul > li::before {
	content: "";
	position: absolute;
	top: 12px;
	bottom: 12px;
	left: 0;
	width: 1px;
	background: rgba(255,255,255,.32);
}

.main-navigation .main-nav > ul > li:last-child::after {
	content: "";
	position: absolute;
	top: 12px;
	bottom: 12px;
	right: 0;
	width: 0px;
	background: rgba(255,255,255,.32);
}

.main-navigation .main-nav > ul > li > a {
	display: inline-block;
	color: #fff !important;
	font-weight: 600;
	font-size: 14px !important;
	line-height: 20px;
	padding: 10px 8px !important;
	text-transform: uppercase;
	text-align: center;
	white-space: nowrap;
	min-width: unset !important;
	position: relative;
	border-radius: 0px !important;
	transition: background-color var(--transition-base), color var(--transition-base) !important;
}

.main-navigation .main-nav > ul > li > a:hover, 
.main-navigation .main-nav > ul > li:hover > a,
.main-navigation .main-nav > ul > .current-menu-item > a {
	background-color: rgba(255, 255, 255, 0.08) !important;
	color: var(--color-green) !important;
}

.main-navigation .main-nav > ul > li > a:hover::after,
.main-navigation .main-nav > ul > li:hover > a::after,
.main-navigation .main-nav > ul > .current-menu-item > a::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 12px;
	right: 12px;
	height: 3px;
	background: var(--color-green);
	margin-top: 0 !important;
	display: block !important;
}

.main-navigation .main-nav > ul > li > a:hover::before,
.main-navigation .main-nav > ul > li:hover > a::before {
	display: none !important;
}

.main-navigation .main-nav ul ul {
	background: #000 !important;
	border: 1px solid #333333 !important;
	border-radius: 0px !important;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5) !important;
	padding: 4px 0 !important;
}

.main-navigation .main-nav ul ul li a {
	color: #fff !important;
	padding: 10px 10px;
	border-radius: 0px !important;
	transition: background-color var(--transition-fast), color var(--transition-fast) !important;
}

.main-navigation .main-nav ul ul li a:hover {
	background-color: rgba(34, 177, 76, 0.15) !important;
	color: var(--color-green) !important;
}

.menu-toggle {
	color: #fff !important;
}

.menu-toggle svg {
	stroke: #fff !important;
	fill: #fff !important;
}

.site-header {
	height: 0 !important;
	position: sticky;
	top: 0;
	z-index: 9998;
}

.inside-header {
	margin: 0px !important;
	padding: 0px !important;
}

body.woocommerce .main-navigation ul li#menu-item-65032 > a,
body.post-type-archive-product .main-navigation ul li#menu-item-65032 > a,
body.tax-product_cat .main-navigation ul li#menu-item-65032 > a {
	background-color: rgba(255, 255, 255, 0.1);
	color: var(--color-green) !important;
	border-bottom: 3px solid var(--color-green) !important;
}

/* Menu Search */
.main-navigation .main-nav ul li.menu-item-search-dropdown {
	position: relative;
	display: flex;
	align-items: center;
	padding: 0 12px;
	height: 50px;
}

.menu-search-form {
	display: flex;
	align-items: center;
	margin: 0;
	gap: 4px;
}

.menu-search-form .search-input-wrapper {
	display: flex;
	align-items: center;
	background: #111111 !important;
	border: 1px solid #333333 !important;
	border-radius: 0px !important;
	padding: 2px 6px !important;
	transition: all var(--transition-base);
}

.menu-search-form .search-input-wrapper:focus-within {
	border-color: var(--color-green) !important;
	box-shadow: 0 0 0 2px rgba(34, 177, 76, 0.25) !important;
	background: #000000 !important;
}

.menu-search-form .search-input-wrapper input.search-field {
	background: transparent !important;
	border: none !important;
	color: #ffffff !important;
	font-size: 13px !important;
	padding: 4px 8px !important;
	width: 80px !important;
	outline: none !important;
	box-shadow: none !important;
	max-width: none !important;
}

.menu-search-form .search-input-wrapper input.search-field::placeholder {
	color: #888888 !important;
}

.menu-search-form .search-submit,
#search-filters-toggle {
	background-color: #111111 !important;
	border: 1px solid #333333 !important;
	border-radius: 0px !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: transparent !important;
	transition: background-color var(--transition-base), border-color var(--transition-base);
	margin-left: 2px !important;
	height: 28px !important;
	width: 28px !important;
	padding: 0 !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	position: relative;
	overflow: hidden;
}

.menu-search-form .search-submit *,
#search-filters-toggle * {
	display: none !important;
}

.menu-search-form .search-submit {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='7.5'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='15.8' y2='15.8'%3E%3C/line%3E%3C/svg%3E") !important;
}

#search-filters-toggle {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'%3E%3C/polygon%3E%3C/svg%3E") !important;
}

.menu-search-form .search-submit:hover,
#search-filters-toggle:hover {
	background-color: var(--color-green) !important;
	border-color: var(--color-green) !important;
}

#search-filters-panel {
	display: none;
	position: absolute;
	top: calc(100% + 4px);
	right: 0;
	background: #111111 !important;
	color: var(--color-slate-200) !important;
	padding: 12px !important;
	border: 1px solid #333333 !important;
	border-radius: 0px !important;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.6) !important;
	z-index: 99999;
	width: 220px;
	font-size: 12px;
	line-height: 1.3;
	text-align: left;
}

#search-filters-panel .filters-title {
	font-weight: 600;
	margin-bottom: 8px;
	border-bottom: 1px solid #222222;
	padding-bottom: 6px;
	color: #ffffff;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	font-size: 10px;
}

#search-filters-panel label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
	padding: 4px 6px;
	border-radius: 0px;
	cursor: pointer;
	color: #cccccc;
	transition: background var(--transition-fast), color var(--transition-fast);
}

#search-filters-panel label:hover {
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff;
}

#search-filters-panel input[type="checkbox"] {
	accent-color: var(--color-green);
	width: 13px;
	height: 13px;
	cursor: pointer;
	border-radius: 0px;
}

#search-filters-panel::before {
	content: '';
	position: absolute;
	top: -5px;
	right: 22px;
	width: 8px;
	height: 8px;
	background: #111111;
	border-left: 1px solid #333333;
	border-top: 1px solid #333333;
	transform: rotate(45deg);
}

/* Mini Cart */
.mojett-menu-cart {
	display: flex !important;
	align-items: center !important;
	flex-direction: row;
	gap: 8px;
	white-space: nowrap;
	order: 999 !important;
	margin-left: auto !important;
}

.mojett-menu-cart > a {
	display: flex !important;
	align-items: center;
	gap: 8px;
	padding: 0 !important;
}

.mojett-menu-cart .mojett-cart-icon svg {
	width: 20px;
	height: 20px;
	fill: #fff !important;
}

.mojett-menu-cart .mojett-cart-count {
	background: var(--color-green);
	color: #fff !important;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	font-size: 11px;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-lg);
}

.mojett-menu-cart .mojett-cart-total, .mojett-menu-cart .mojett-cart-total .amount {
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 600;
	display: inline-block !important;
}

.woocommerce-mini-cart-item dl.variation {
	display: none !important;
}

.woocommerce-mini-cart-item, .product_list_widget li {
	position: relative;
	background: #fafafa;
	border: 1px solid var(--color-border-input);
	border-radius: var(--radius-md);
	padding: 8px 25px 8px 8px !important;
	margin-bottom: 8px !important;
	transition: var(--transition-base);
}

.woocommerce-mini-cart-item:hover, .product_list_widget li:hover {
	background: var(--color-slate-50);
	border-color: var(--color-border-input);
}

.woocommerce-mini-cart-item::after, .mini_cart_item::after, .product_list_widget li::after {
	content: "";
	display: block;
	clear: both;
}

.woocommerce-mini-cart-item img {
	max-width: 80px;
	height: auto !important;
	margin: 2px 0 0 8px !important;
	padding: 2px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: var(--radius-sm);
}

.mini_cart_item img, .product_list_widget img {
	width: 100px !important;
	height: auto !important;
	margin-right: 8px;
	border-radius: var(--radius-sm);
	float: left;
}

.woocommerce-mini-cart-item > a:not(.remove), .product_list_widget a {
	display: block;
	font-size: 13px !important;
	font-weight: 600;
	line-height: 1.2 !important;
	color: #333;
	text-decoration: none;
}

.product_list_widget a:hover {
	color: #0074cc;
}

.woocommerce-mini-cart-item a.remove {
	position: absolute !important;
	top: 5px !important;
	right: 5px !important;
	left: auto !important;
	z-index: 10;
	color: #c62828 !important;
	font-weight: 600;
}

.woocommerce-mini-cart-item .quantity {
	display: inline-flex !important;
	align-items: center;
	gap: 4px;
	margin-top: 4px !important;
	font-size: 12px !important;
	font-weight: 600;
	white-space: nowrap;
	color: #2e7d32;
}

.woocommerce-mini-cart-item .quantity .woocommerce-Price-amount {
	display: inline !important;
	color: #000;
	font-weight: 600;
}

.woocommerce-mini-cart-item .quantity br {
	display: none !important;
}

.product_list_widget .woocommerce-Price-amount {
	display: block;
	font-size: 1.2em;
	color: #555;
	margin-left: 60px;
}

.woocommerce-mini-cart-item .stock, .product_list_widget .stock, .woocommerce-mini-cart-item .woo-custom-stock-status, .product_list_widget .woo-custom-stock-status {
	font-weight: normal !important;
}

.product_list_widget .stock {
	margin-left: 10px !important;
}

/* ==========================================================================
   PRODUCTS
   ========================================================================== */

.woocommerce ul.products:before, 
.woocommerce-page ul.products:before {
	display: none !important;
}

.woocommerce ul.products, 
.woocommerce-page ul.products {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 6px 14px;
}

.woocommerce ul.products li.product,
.related.products ul.products li.product {
	flex: 0 0 calc((100% - 28px) / 3) !important;
	max-width: calc((100% - 28px) / 3) !important;
	background: #ffffff !important;
	border: 0px solid #eaeef2 !important;
	border-radius: 0px !important;
	padding: 15px !important;
	box-shadow: var(--shadow-sm) !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	transition: box-shadow var(--transition-slow), border-color var(--transition-slow), transform var(--transition-slow) !important;
	position: relative;
	margin: 0 0 0.5em !important;
	overflow: visible !important;
}

.woocommerce ul.products li.product:hover, 
.related.products ul.products li.product:hover {
	border-color: #cbd5e1 !important;
	box-shadow: var(--shadow-lg) !important;
}

.woocommerce-archive-wrapper {
	background: #ffffff !important;
	border: 0px solid #eaeef2 !important;
	border-radius: 0px !important;
	box-shadow: var(--shadow-sm) !important;
	overflow: visible !important;
	transition: box-shadow var(--transition-slow), transform var(--transition-slow), border-color var(--transition-slow);
}

.woocommerce-archive-wrapper:hover {
	box-shadow: var(--shadow-lg) !important;
	border-color: #cbd5e1 !important;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	flex-grow: 1;
	height: 100%;
}

.woocommerce ul.products li.product a img, 
.related.products ul.products li.product a img {
	width: 100% !important;
	aspect-ratio: 16 / 9 !important;
	object-fit: contain !important;
	margin: 0 auto 8px auto !important;
	border-radius: 0px !important;
	display: block !important;
	border: 1px solid var(--color-slate-100) !important;
	background: #fff !important;
	transition: var(--transition-slow);
}

.woocommerce ul.products li.product a img:nth-of-type(2), 
.woocommerce ul.products li.product a img.secondary-image {
	position: absolute;
	inset: 0;
	width: 100%;
	opacity: 0;
	transition: var(--transition-slow);
	pointer-events: none;
	object-fit: contain;
}

.woocommerce ul.products li.product:hover img:first-of-type {
	opacity: 0;
}

.woocommerce ul.products li.product:hover img:nth-of-type(2), 
.woocommerce ul.products li.product:hover img.secondary-image {
	opacity: 1;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title, 
.woocommerce ul.products li.product h2, 
.woocommerce ul.products li.product h3, 
.related.products ul.products li.product h2, 
.related.products ul.products li.product h3 {
	font-size: 16px !important;
	font-weight: 600;
	margin: 0 0 6px 0 !important;
	color: var(--color-slate-800) !important;
	line-height: 1.3 !important;
	min-height: 2.6em !important;
	height: auto !important;
	overflow: hidden !important;
	text-align: center !important;
}

.woocommerce ul.products li.product .product-excerpt, 
.woocommerce ul.products li.product .post-excerpt, 
.woocommerce ul.products li.product p {
	text-align: center !important;
	text-justify: inter-word !important;
	line-height: 1.3 !important;
	min-height: 2.6em !important;
	height: auto !important;
	overflow: hidden !important;
	margin-bottom: 8px !important;
	color: #000 !important;
}

.product-excerpt {
	max-height: 100px !important;
	margin: 8px 0 0 !important;
}

.read-more-container {
	visibility: hidden;
	line-height: 0;
}

.woocommerce ul.products li.product div.product-stock-status {
	text-align: center;
	margin-top: auto !important;
	margin-bottom: 4px !important;
}

.woocommerce ul.products li.product .price {
	font-size: 16px !important;
	font-weight: 600 !important;
	color: #0f172a !important;
	margin-top: 0 !important;
	margin-bottom: 8px !important;
	text-align: center !important;
}

.woocommerce ul.products li.product .button, 
.woocommerce ul.products li.product a.add_to_cart_button, 
.woocommerce ul.products li.product .ajax_add_to_cart {
	margin-top: 0 !important;
	width: 100% !important;
	min-width: 100% !important;
	display: block !important;
	text-align: center !important;
	border-radius: var(--radius-md) !important;
	font-weight: 600 !important;
	padding: 10px 16px !important;
	box-sizing: border-box !important;
	transition: transform var(--transition-fast), background-color var(--transition-base) !important;
}

/* Stock Badges in Products */
.woocommerce ul.products li.product .stock, .woocommerce ul.products li.product p.stock, .woocommerce ul.products li.product .availability {
	text-align: center !important;
	display: block !important;
	font-weight: 600 !important;
	margin-bottom: 0 !important;
	border: 0 !important;
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0 !important;
}

/* Single Product */
.single-product.separate-containers .inside-article {
	background: #ffffff !important;
	border: none !important;
	border-radius: 0px !important;
	box-shadow: var(--shadow-sm) !important;
	padding: 20px !important;
	transition: box-shadow var(--transition-slow), transform var(--transition-slow);
}

.single-product.separate-containers .inside-article:hover {
	box-shadow: var(--shadow-lg) !important;
}

.woocommerce div.product div.summary {
	margin-bottom: 5px;
}

.single-product .summary.entry-summary .price {
	display: inline-flex;
	align-items: center;
	padding: 6px 16px !important;
	margin: 14px 0;
	background: #111111 !important;
	color: #ffffff !important;
	border-radius: 0px !important;
	border: 1px solid #333333 !important;
	font-weight: 600;
	font-size: 22px !important;
	box-shadow: none !important;
	letter-spacing: -0.5px;
}

.single-product .summary.entry-summary .price del {
	opacity: .6;
	margin-right: 8px;
}

.single-product .summary.entry-summary .price ins {
	text-decoration: none;
}

.single-product .price del, .single-product .price del .woocommerce-Price-amount, .single-product .price del .woocommerce-Price-amount bdi, .single-product .price ins, .single-product .price ins .woocommerce-Price-amount, .single-product .price ins .woocommerce-Price-amount bdi {
	font-size: 14px !important;
}

.single-product .woocommerce-product-gallery__image {
	position: relative;
}

.single-product .woocommerce-product-gallery__image img:nth-of-type(1) {
	opacity: 1;
	transition: .35s;
}

.single-product .woocommerce-product-gallery__image img:nth-of-type(2) {
	position: absolute;
	inset: 0;
	width: 100%;
	object-fit: contain;
	opacity: 0;
	transition: .35s;
	pointer-events: none;
}

.single-product .woocommerce-product-gallery__image:hover img:nth-of-type(1) {
	opacity: 0;
}

.single-product .woocommerce-product-gallery__image:hover img:nth-of-type(2) {
	opacity: 1;
}

.woocommerce div.product div.images {
	max-width: 450px;
}

.woocommerce div.product div.images img.wp-post-image {
	background: #fff;
	border-radius: 0px !important;
	border: 1px solid #eaeef2 !important;
}

.woocommerce div.product div.images .flex-control-thumbs {
	margin-top: 10px;
	display: grid !important;
	grid-template-columns: repeat(4,1fr) !important;
	gap: 8px;
}

.woocommerce div.product div.images .flex-control-thumbs li {
	width: auto !important;
	margin: 0 !important;
}

.woocommerce div.product div.images .flex-control-thumbs img {
	width: 100% !important;
	height: auto !important;
	display: block;
	background: #fff;
	border: 1px solid #eaeef2 !important;
	border-radius: 0px !important;
	padding: 2px;
	opacity: .7;
	transition: var(--transition-base);
}

.woocommerce div.product div.images .flex-control-thumbs img:hover, .woocommerce div.product div.images .flex-control-thumbs .flex-active {
	opacity: 1;
}

.woocommerce div.product div.images .flex-control-thumbs .flex-active {
	border: 2px solid var(--color-green) !important;
	box-shadow: none !important;
}

.single-product form.cart {
	margin-top: 10px;
}

.single-product .entry-summary button.single_add_to_cart_button {
	width: auto !important;
	padding: 12px 24px !important;
	display: inline-block !important;
}

.single-product form.cart .variations td.value {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
}

.single-product form.cart .variations ul li, .single-product form.cart .variations label {
	cursor: pointer !important;
}

.single-product form.cart .variations input[type="radio"] {
	display: none !important;
}

.single-product form.cart .variations input[type="radio"] + label, .single-product .variations_form .selectnum, .single-product form.cart .variations label {
	display: inline-block !important;
	padding: 6px 12px !important;
	background: #ffffff !important;
	border: 1px solid var(--color-slate-300) !important;
	border-radius: 0px !important;
	font-weight: 600 !important;
	color: var(--color-slate-700) !important;
	transition: all var(--transition-fast) !important;
}

.single-product form.cart .variations input[type="radio"]:checked + label {
	background-color: var(--color-green) !important;
	color: #ffffff !important;
	border-color: var(--color-green) !important;
	box-shadow: none !important;
}

.related.products {
	margin-top: 30px !important;
	padding-top: 20px !important;
	border-top: 1px solid #eaeef2 !important;
}

.related.products h2 {
	font-size: 1.2rem !important;
	margin-bottom: 15px !important;
	color: var(--color-slate-900) !important;
}

/* Product Meta */
.product_meta, .single-product .product_meta {
	background: #ffffff !important;
	border: none !important;
	border-left: 4px solid var(--color-green) !important;
	border-bottom: 2px solid var(--color-slate-100) !important;
	border-radius: 0px !important;
	padding: 16px 20px !important;
	margin-top: 20px !important;
	box-shadow: var(--shadow-sm) !important;
	font-size: 13px !important;
	color: var(--color-slate-600) !important;
}

.product_meta > span, .product_meta .sku_wrapper, .product_meta .posted_in, .product_meta .product-brand, .product_meta .tagged_as {
	display: block;
	padding: 4px 0 !important;
	margin: 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

.product_meta > span:not(:last-child) {
	border-bottom: 1px solid #eee;
}

.product_meta .sku, .product_meta a {
	font-weight: 600;
	text-decoration: none;
}

.product_meta .sku, .product_meta .sku_wrapper .sku {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
}

.single-product .product_meta span a {
	color: var(--color-slate-600) !important;
}

.single-product .product_meta span a:hover {
	color: var(--color-green) !important;
}

.single-product .product_meta .tagged_as {
	font-size: 0 !important;
	display: block !important;
}

.single-product .product_meta .tagged_as a {
	font-size: 13px !important;
}

.single-product .product_meta .tagged_as::before {
	content: "Výrobce: " !important;
	font-size: 13px !important;
	display: inline-block !important;
}

.woocommerce-grouped-product-list {
	border-top: 1px solid #ececec;
}

.woocommerce-grouped-product-list-item {
	border-bottom: 1px solid #ececec;
	padding: 12px 0;
	transition: background var(--transition-base);
}

.woocommerce-grouped-product-list-item:last-child {
	border-bottom: none;
}

.woocommerce-grouped-product-list-item:hover {
	background: #fafafa;
}

.woocommerce-grouped-product-list-item__label, .woocommerce-grouped-product-list-item__label * {
	font-weight: 600 !important;
	color: #1f1f1f;
}

.woocommerce-grouped-product-list-item__price {
	font-weight: 600;
}

/* Product Options (Mojett) */
.mojett-wrapper {
	margin: 20px 0;
	padding: 20px;
	border: none !important;
	border-left: 4px solid var(--color-green) !important;
	border-bottom: 2px solid var(--color-slate-100) !important;
	border-radius: 0px !important;
	background: #ffffff !important;
	box-shadow: var(--shadow-sm) !important;
}

.mojett-wrapper .mojett-radio, 
.mojett-wrapper .mojett-checkbox {
	font-size: 1em !important;
}

.mojett-field { 
	margin-bottom: 18px; 
}

.mojett-field:last-child { 
	margin-bottom: 0; 
}

.mojett-field strong { 
	display: block; 
	margin-bottom: 8px; 
	color: var(--color-slate-900); 
	font-size: 14px; 
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.mojett-input, 
.mojett-wrapper select { 
	padding: 8px 12px; 
	border: 1px solid var(--color-slate-300); 
	border-radius: var(--radius-md); 
	width: 100%; 
	max-width: 400px; 
	background: #fff; 
	color: #000; 
	box-sizing: border-box;
	transition: all var(--transition-base);
}

.mojett-input:focus, 
.mojett-wrapper select:focus { 
	border-color: var(--color-green); 
	outline: none; 
	box-shadow: 0 0 0 3px rgba(34, 177, 76, 0.15); 
}

label.mojett-radio, 
label.mojett-checkbox { 
	display: flex !important; 
	align-items: center !important; 
	justify-content: space-between !important; 
	background: #ffffff !important;
	border: 1px solid var(--color-slate-200) !important;
	border-radius: 0px !important;
	padding: 5px !important; 
	margin-bottom: 6px !important; 
	cursor: pointer !important; 
	font-size: 14px; 
	color: #2c3338; 
	transition: all var(--transition-fast) !important;
}

label.mojett-radio:last-child, 
label.mojett-checkbox:last-child { 
	margin-bottom: 0; 
}

label.mojett-radio input[type="radio"], 
label.mojett-checkbox input[type="checkbox"] { 
	margin: 0 5px 0 0; 
	cursor: pointer; 
	width: 16px; 
	height: 16px; 
	flex-shrink: 0; 
	accent-color: var(--color-green);
}

label.mojett-radio:hover, 
label.mojett-checkbox:hover {
	background: var(--color-slate-50) !important;
	border-color: var(--color-green) !important;
}

label.mojett-radio:has(input[type="radio"]:checked),
label.mojett-checkbox:has(input[type="checkbox"]:checked) {
	background: #f0fbf0 !important;
	border-color: var(--color-green) !important;
	box-shadow: 0 0 0 1px var(--color-green) !important;
}

label.mojett-radio .mtt-stock-badge {
	margin-left: auto;
}

.mtt-stock-badge { 
	display: inline-block; 
	margin-left: 8px; 
	font-size: 11px; 
	padding: 2px 6px; 
	border-radius: var(--radius-md); 
	border: 1px solid transparent; 
	font-weight: 600; 
	vertical-align: middle; 
}

.mtt-stock-in { 
	color: #137333; 
	border-color: #ceead6; 
	background: #e6f4ea; 
}

.mtt-stock-bo { 
	color: #b06000; 
	border-color: #feefc3; 
	background: #fef7e0; 
}

.mtt-stock-out { 
	color: #c5221f; 
	border-color: #fad2cf; 
	background: #fce8e6; 
}

.single-product .stock, .single-product .mtt-stock-badge, .single-product p.stock, .mtt-stock-badge, label.mojett-radio .mtt-stock-badge {
	display: inline-block !important;
	padding: 2px 8px !important;
	border-radius: var(--radius-sm) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	vertical-align: middle !important;
	margin-left: auto !important;
	white-space: nowrap !important;
	flex-shrink: 0 !important;
}

.mtt-stock-in, .woocommerce ul.products p.stock.in-stock, .single-product .mtt-stock-in, .single-product p.stock.in-stock, label.mojett-radio .mtt-stock-badge.in-stock {
	color: #77a464 !important;
	background: #f0fbf0 !important;
	border: 1px solid #bcdcbf !important;
}

.mtt-stock-bo, .woocommerce ul.products p.stock.available-on-backorder, .woocommerce ul.products p.stock.available_on_backorder, .single-product .mtt-stock-backorder, .single-product p.stock.available-on-backorder, .single-product p.stock.available_on_backorder, label.mojett-radio .mtt-stock-badge.low-stock, label.mojett-radio .mtt-stock-badge.available-on-backorder {
	color: #ff9400 !important;
	background: #fff3e0 !important;
	border: 1px solid #ffb74d !important;
}

.mtt-stock-out, .woocommerce ul.products p.stock.out-of-stock, .single-product .mtt-stock-out, .single-product p.stock.out-of-stock, label.mojett-radio .mtt-stock-badge.out-of-stock {
	color: #ff0000 !important;
	background: #fff1f1 !important;
	border: 1px solid #f0bcbc !important;
}

.woocommerce-cart .mtt-stock-badge, .woocommerce-checkout .mtt-stock-badge, .woocommerce-mini-cart .mtt-stock-badge, #secondary .mtt-stock-badge, .widget .mtt-stock-badge, .woocommerce-cart .stock, .woocommerce-checkout .stock, .woocommerce-mini-cart .stock, #secondary .stock, .widget .stock, .woocommerce-cart .woo-custom-stock-status, .woocommerce-checkout .woo-custom-stock-status, .woocommerce-mini-cart .woo-custom-stock-status, #secondary .woo-custom-stock-status, .widget .woo-custom-stock-status {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
	font-weight: 600 !important;
}

.mtt-select-note { 
	font-size: 12px; 
	color: #5f6368; 
	margin-top: 6px; 
}

@container (max-width:350px) {
	label.mojett-radio .mtt-stock-badge {
		width: 100%;
		margin-left: 22px;
		margin-top: 3px;
	}
}

/* ==========================================================================
   SJEDNOCENÝ STYL KOŠÍKU A POKLADNY (ZELENÝ INDUSTRIÁLNÍ STYL)
   ========================================================================== */

/* 1. Celková šířka výpisu produktů a boxů na celou šířku v nemobilním zobrazení */
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-cart-form table.shop_table,
.woocommerce-checkout table.shop_table {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.woocommerce table.shop_table {
	border: none;
}

/* 2. Hlavní rámečky, boxy a kontejnery (Zelená akcentní linka vlevo) */
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-cart .cart-collaterals .cart_totals {
	background: #ffffff !important;
	border: 1px solid var(--color-slate-200) !important;
	border-radius: var(--radius-md) !important;
	box-shadow: var(--shadow-md) !important;
	padding: 20px !important;
	margin-bottom: 20px !important;
}

/* 3. Nadpisy sekcí a přehledů */
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-checkout h2#order_review_heading {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #0f172a !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	background: var(--color-slate-100) !important;
	border: 1px solid var(--color-slate-200) !important;
	padding: 8px 12px !important;
	margin-top: 0 !important;
	margin-bottom: 16px !important;
	border-radius: var(--radius-sm) !important;
}

/* 4. Tabulky položek v košíku a pokladně (Moderní karty) */
.woocommerce-cart-form table.shop_table {
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
}

/* Roztáhnutí tabulky a řádků přehledu objednávky na plnou šířku */
.woocommerce-checkout #order_review table.shop_table,
.woocommerce-cart-form table.shop_table {
	display: grid;
    width: 100% !important;
    max-width: 100% !important;
	border: none !important;
}

.woocommerce-checkout #order_review table.shop_table tr.cart_item,
.woocommerce-cart-form table.shop_table tr.cart_item {
    background: #ffffff !important;
    border: 1px solid var(--color-slate-200) !important;
    border-radius: var(--radius-md) !important;
    margin-bottom: 10px !imporant;
    box-shadow: var(--shadow-sm) !important;
    display: flex !important;
    /*width: 100% !important;*/
    max-width: 100% !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 3px 5px !important;
    transition: border-color var(--transition-base), box-shadow var(--transition-base);
	margin: 10px 10px;

}

.woocommerce-cart-form table.shop_table tr.cart_item:hover,
.woocommerce-checkout #order_review table.shop_table tr.cart_item:hover {
	border-color: var(--color-slate-400) !important;
	box-shadow: var(--shadow-md) !important;
}

.woocommerce-cart-form table.shop_table td,
.woocommerce-checkout table.shop_table td {
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
}

/* Název produktu zabere zbývající flexibilní prostor */
.woocommerce-checkout #order_review table.shop_table td.product-name,
.woocommerce-cart-form table.shop_table td.product-name {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 0 12px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: var(--color-slate-900) !important;
    line-height: 1.25 !important;
}

/* Miniaturka a cena/množství si drží pevnou pozici */
.woocommerce-cart-form table.shop_table .product-thumbnail,
.woocommerce-checkout table.shop_table .product-thumbnail {
    flex: 0 0 50px !important;
    margin-right: 2px;
}

.woocommerce-cart-form table.shop_table .product-thumbnail img,
.woocommerce-checkout table.shop_table .product-thumbnail img {
	width: 45px !important;
	height: 45px !important;
	object-fit: cover !important;
	border-radius: var(--radius-sm) !important;
	border: 1px solid var(--color-slate-200) !important;
}

.woocommerce-cart-form table.shop_table .product-price,
.woocommerce-cart-form table.shop_table .product-subtotal,
.woocommerce-checkout table.shop_table .product-total {
	font-weight: 600 !important;
	color: #000000;
	font-size: 13px !important;
	padding: 0 8px !important;
	text-align: right !important;
    flex: 0 0 auto !important;
}

/* Skrytí původních hlaviček tabulek */
.woocommerce-cart-form table.shop_table thead {
	display: none !important;
}

/* 5. Metody dopravy a platby (Zelený akcent) */
.wc_payment_methods .wc_payment_method,
.woocommerce-shipping-methods li,
#shipping_method li {
	background: #fff !important;
	border: 1px solid var(--color-slate-200) !important;
	border-radius: var(--radius-md) !important;
	padding: 12px 14px !important;
	margin-bottom: 8px !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	cursor: pointer !important;
	box-shadow: 0 2px 6px rgba(0,0,0,.03) !important;
	transition: border-color var(--transition-base), box-shadow var(--transition-base) !important;
}

.wc_payment_methods .wc_payment_method:has(input:checked),
.woocommerce-shipping-methods li:has(input:checked),
#shipping_method li:has(input:checked) {
	background: var(--color-slate-50) !important;
	border-color: var(--color-slate-400) !important;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06) !important;
}

.wc_payment_methods .wc_payment_method:hover,
.woocommerce-shipping-methods li:hover,
#shipping_method li:hover {
	border-color: var(--color-slate-400) !important;
}

/* 6. Text pro přepravu (odpovídající šedý podklad pod dopravou) */
.woocommerce-cart .woocommerce-shipping-destination {
	font-size: 12px !important;
	color: var(--color-slate-600) !important;
	background: var(--color-slate-50) !important;
	border: none !important;
	border-radius: var(--radius-sm) !important;
/*	margin: 10px 4px 14px 4px !important;*/
	padding: 8px 10px !important;
	word-break: break-word !important;
	white-space: normal !important;
}

/* 7. Formulářová pole a vstupy */
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.select2-container--default .select2-selection--single {
	height: 44px !important;
	padding: 0 14px !important;
	background: #ffffff !important;
	border: 1px solid var(--color-slate-300) !important;
	border-radius: var(--radius-sm) !important;
	font-size: 13px !important;
	color: var(--color-slate-900) !important;
	box-shadow: none !important;
}

.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus {
	border-color: var(--color-slate-500) !important;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06) !important;
	outline: none !important;
}

.woocommerce-checkout .form-row {
	margin-bottom: 5px !important;
}

/* 8. Tlačítka (Dokončení objednávky / Pokračovat) */
#place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	width: 100% !important;
	background: var(--btn-primary-bg) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: var(--btn-radius) !important;
	padding: 14px 24px !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	box-shadow: var(--shadow-green) !important;
	cursor: pointer !important;
	text-align: center !important;
	transition: var(--btn-transition) !important;
}

#place_order:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--btn-primary-bg-hover) !important;
	transform: translateY(-1px) !important;
	box-shadow: var(--shadow-green-hover) !important;
}

/* 9. Chybové a informační zprávy */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	border-radius: var(--radius-md) !important;
	border-left: 4px solid var(--color-slate-400) !important;
	background: #ffffff !important;
	box-shadow: var(--shadow-sm) !important;
	font-size: 13px !important;
}

div.woocommerce-info::before {display: none;}

/* Shipping icons */
.woocommerce-shipping-methods .shipping-icon,
#shipping_method .shipping-icon {
    display: inline-block !important;
    width: 100px !important;
    height: 30px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    vertical-align: middle !important;
    margin-right: 8px !important;
}

/* Checkout table styly */
.woocommerce-checkout table.shop_table,
.woocommerce-table--order-details {
	background: #ffffff !important;
	border: 1px solid var(--color-slate-200) !important;
	border-radius: 0px !important;
	box-shadow: var(--shadow-sm) !important;
	overflow: hidden !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
}

.woocommerce table.shop_table th {
	background-color: #ffffff !important;
	color: #000000 !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	padding: 10px 12px !important;
	border: none !important;
	border-bottom: 0px solid var(--color-slate-200) !important;
	border-radius: 0px !important;
}

.woocommerce table.shop_table td {
	/*border-top: 1px solid var(--color-slate-100) !important;*/
	padding: 10px 10px !important;
	vertical-align: middle !important;
}

.woocommerce table.shop_table td.product-name a,
.woocommerce table.shop_table td.product-name {
	text-decoration: none !important;
}

.woocommerce table.shop_table td.product-name,
.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-quantity,
.woocommerce table.shop_table td.product-subtotal {
	padding-top: 3px !important;
	padding-bottom: 3px !important;
}

.woocommerce table.shop_table td.product-thumbnail img {
	vertical-align: middle !important;
	margin: 0 auto !important;
	display: block !important;
}

.woocommerce-cart-form table.shop_table tr:hover {
	background: var(--color-slate-50) !important;
}

/* Kupónová sekce */
.woocommerce table.cart td.actions .coupon,
.woocommerce-checkout .checkout_coupon,
.woocommerce-form-coupon {
	background: #ffffff !important;
	border: 1px solid var(--color-slate-200) !important;
	border-radius: var(--radius-md) !important;
	padding: 16px !important;
	box-shadow: var(--shadow-sm) !important;
	margin-bottom: 20px !important;
}

.woocommerce table.cart td.actions .coupon .input-text,
.woocommerce-checkout .checkout_coupon input.input-text {
	width: 200px !important;
	border-radius: var(--radius-md) !important;
	height: 42px !important;
	padding: 0 14px !important;
	background: #ffffff !important;
	border: 1px solid var(--color-slate-300) !important;
	font-size: 13px !important;
	color: var(--color-slate-900) !important;
}

.woocommerce table.cart td.actions .coupon .input-text:focus,
.woocommerce-checkout .checkout_coupon input.input-text:focus {
	border-color: var(--color-slate-500) !important;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06) !important;
	border-radius: 4px;
    margin: 10px;
}

.woocommerce table.shop_table_responsive tr, .woocommerce-page table.shop_table_responsive tr {
    display: grid;
    background: #f8fafc !important;
	/*margin: 10px;*/
	padding: 10px;
    }

/* Zrušení nežádoucího šedého podbarvení u textů a cen v řádkech košíku */
.woocommerce-cart-form table.shop_table tr.cart_item td,
.woocommerce-cart-form table.shop_table tr.cart_item .product-name,
.woocommerce-cart-form table.shop_table tr.cart_item .product-price,
.woocommerce-cart-form table.shop_table tr.cart_item .product-subtotal {
	background: transparent !important;
}

/* Oprava obřího černého sloupce v souhrnu košíku (Cart Totals) */
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
	display: table-cell !important;
	width: auto !important;
	background-color: #f8fafc !important;
	color: #0f172a !important;
	border: none !important;
	min-width: 250px !important;
}

/* Vrácení čistého technického vzhledu pro řádek Dopravy v košíku */
.woocommerce-cart .cart-collaterals .cart_totals tr.shipping th {
	background-color: var(--color-slate-50) !important;
	color: var(--color-slate-900) !important;
	min-width: 100px !important;
}

.woocommerce table.cart td.actions button.button,
.woocommerce cart .button {
	padding: 8px 16px !important;
	min-height: 38px !important;
	line-height: 1.2 !important;
}

/* Cart Totals */
.woocommerce-cart .cart-collaterals {
	display: flex;
	justify-content: flex-end;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	clear: both !important;
	margin-top: 10px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals td[data-title="Doprava"],
.woocommerce-cart .cart-collaterals .cart_totals tr.shipping td {
	width: 100% !important;
	padding: 2px !important;
}

.woocommerce-cart .cart-collaterals ul#shipping_method {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
}

.woocommerce-cart .cart-collaterals ul#shipping_method li {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
}

.woocommerce-cart .cart-collaterals ul#shipping_method li label {
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}

.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart_totals,
.woocommerce-cart .woocommerce-shipping-totals,
#shipping_method {
	overflow: visible !important;
}

/* Checkout */
.woocommerce-checkout table.shop_table {
	width: 100% !important;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
	padding: 8px 6px !important;
	border: none !important;
}

.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message {
	border-radius: 0px !important;
	border-top: none;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .wpify-woo-eco-packaging,
.woocommerce-checkout .wc-block-checkout__eco-package,
.woocommerce-checkout .form-row.validate-required {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}

/* Payment box styles */
.payment_box {
	background: var(--color-slate-50);
	border-radius: var(--radius-md);
	padding: 12px;
	margin-top: 12px;
	font-size: 13px;
	color: #444;
	box-shadow: inset 0 1px 2px rgba(0,0,0,.06);
}

.wc_payment_methods .payment_box, .wc_payment_methods .payment_box iframe, .wc_payment_methods .payment_method_stripe, .wc_payment_methods .payment_box div {
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box !important;
	overflow: visible !important;
}

.wc_payment_methods .payment_method_stripe .payment_box,
.wc_payment_methods li[class*="card"] .payment_box,
.wc_payment_methods .payment_box {
	position: static !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	margin: 10px 0 0 0 !important;
	padding: 12px !important;
	float: none !important;
	clear: both !important;
	transform: none !important;
	left: auto !important;
	right: auto !important;
}

ul.wc_payment_methods.payment_methods div.payment_box {
	width: 100% !important;
	box-sizing: border-box !important;
	margin-top: 10px !important;
	padding: 12px !important;
	background: var(--color-slate-50) !important;
	border: 1px solid var(--color-slate-200) !important;
	border-radius: var(--radius-sm) !important;
}

/* Balikovna */
.wpify-woo-balikovna,
#balikovna-selected,
.wpify-woo-balikovna-container {
	position: relative !important;
	z-index: 999999 !important;
	opacity: 1 !important;
	visibility: visible !important;
}

#balikovna-selector {
	position: relative !important;
	display: block !important;
	margin: 20px 0 !important;
	padding: 14px 16px !important;
	background: #ffffff !important;
	border: 1px solid var(--color-slate-200) !important;
	border-radius: var(--radius-md) !important;
	z-index: 99 !important;
	clear: both !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	box-shadow: 0 2px 6px rgba(0,0,0,.05) !important;
	transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

#balikovna-selector:hover {
	background: #ffffff !important;
	border-color: var(--color-slate-400) !important;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06) !important;
	transform: none !important;
}

#balikovna-selected {
	margin: 8px 0 0 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	font-weight: 600 !important;
	color: var(--color-slate-900) !important;
}

#balikovna-selector img, #balikovna-selector h3 {
	display: inline-block;
	vertical-align: middle;
}

#balikovna-selector img {
	height: 38px !important;
	width: auto !important;
	margin: 0 10px 0 0 !important;
	object-fit: contain;
}

#balikovna-selector h3 {
	display: inline !important;
	margin: 0 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #222 !important;
	line-height: 1.3 !important;
	background-color: #ffffff !important;
	border: none !important;
}

#balikovna-selector p {
	margin: 8px 0 12px !important;
	color: #444 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
}

#balikovna-modal {
	display: none;
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	z-index: 9999999 !important;
	background: rgba(0, 0, 0, 0.6) !important;
	align-items: center !important;
	justify-content: center !important;
}

#balikovna-modal[style*="display: block"] {
	display: flex !important;
}

#balikovna-modal-inner {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
	margin: auto !important;
	width: min(96vw, 900px) !important;
	height: min(90vh, 900px) !important;
	background: #fff !important;
	border-radius: var(--radius-md) !important;
	overflow: hidden !important;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3) !important;
	z-index: 10000000 !important;
}

#balikovna-close {
	background: var(--color-slate-100) !important;
	border: 1px solid var(--color-slate-300) !important;
	padding: 6px 12px !important;
	border-radius: var(--radius-sm) !important;
	cursor: pointer !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	color: var(--color-slate-700) !important;
}

#balikovna-close:hover {
	background: var(--color-slate-200) !important;
}

#balikovna-iframe {
	border: 0 !important;
	width: 100% !important;
	height: calc(100% - 44px) !important;
	display: block !important;
}

/* ==========================================================================
   FORMS & INPUTS
   ========================================================================== */

.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce input[type="text"], .woocommerce input[type="email"], .woocommerce input[type="tel"], .woocommerce textarea, .select2-container--default .select2-selection--single {
	width: 100%;
	padding: 10px 12px !important;
	font-size: 13px !important;
	border: 1px solid var(--color-slate-300) !important;
	border-radius: var(--radius-md) !important;
	background: #fff;
	color: #000;
	transition: all var(--transition-base) !important;
}

.woocommerce ul#shipping_method {
	font-weight: 600;
}

.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus, .woocommerce input[type="text"]:focus, .woocommerce input[type="email"]:focus, .woocommerce input[type="tel"]:focus, .woocommerce textarea:focus {
	border-color: var(--color-slate-500) !important;
	box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.06) !important;
	outline: none !important;
}

.woocommerce form .form-row label {
	font-size: 13px !important;
	font-weight: 600;
}

.woocommerce form .form-row label .required {
	color: var(--color-green) !important;
}

.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.select2-container--default .select2-selection--single {
	height: 44px !important;
	padding: 0 14px !important;
	background: #ffffff !important;
	border: 1px solid var(--color-slate-300) !important;
	border-radius: var(--radius-sm) !important;
	font-size: 13px !important;
	color: var(--color-slate-900) !important;
	box-shadow: none !important;
}

.select2-container--default .select2-selection--single {
	display: flex !important;
	align-items: center !important;
}

.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus {
	border-color: var(--color-slate-500) !important;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06) !important;
	outline: none !important;
}

.woocommerce-checkout form .form-row label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--color-slate-700) !important;
	margin-bottom: 6px !important;
}

/* Wpify Forms */
.wpify-woo-form, .wpify-woo-form form {
	width: 100%;
	max-width: 100%;
}

.wpify-woo-form .form-row {
	margin: 0 0 20px;
	clear: both;
}

.wpify-woo-form label {
	display: block;
	margin-bottom: 6px;
	font-size: 15px;
	font-weight: 600;
	color: #222;
}

.wpify-woo-form input[type=text], .wpify-woo-form input[type=email], .wpify-woo-form input[type=tel], .wpify-woo-form input[type=number], .wpify-woo-form select, .wpify-woo-form textarea {
	width: 100%;
	max-width: 500px;
	min-height: 46px;
	padding: 10px 14px;
	border: 1px solid var(--color-border-input);
	background: #f5f5f5;
	color: #333;
	font-size: 16px;
	line-height: 1.4;
	border-radius: var(--radius-md);
	box-sizing: border-box;
	transition: var(--transition-base);
}

.wpify-woo-form textarea {
	min-height: 140px;
	resize: vertical;
}

.wpify-woo-form input:focus, .wpify-woo-form select:focus, .wpify-woo-form textarea:focus {
	background: #fff;
	border-color: var(--color-green);
	box-shadow: var(--color-slate-500);
	outline: none;
}

.wpify-woo-form abbr.required {
	color: #d30000;
	text-decoration: none;
}

.wpify-woo-form .woocommerce-error, .wpify-woo-form .woocommerce-info, .wpify-woo-form .woocommerce-message {
	border-left: 4px solid var(--color-green);
	background: #f7f7f7;
	padding: 15px;
	margin-bottom: 20px;
}

/* Stock Availability Form (CWGINSTOCK) */
.cwginstock-subscribe-form {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 150px !important; /* Mírně rozšířeno pro lepší čitelnost a vzhled */
	margin-top: 5px !important;
	padding: 8px !important;
	background: #f8f9fa !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 8px !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
	box-sizing: border-box !important;
}

/* Nadpis formuláře */
.cwginstock-subscribe-form::before {
	content: "Hlídat dostupnost" !important;
	display: block !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #334155 !important;
	margin-bottom: 8px !important;
}

/* Skrytí nepotřebných kontejnerů a záhlaví */
.cwginstock-panel-heading {
	display: none !important;
}

.cwginstock-subscribe-form .cwginstock-panel-primary,
.cwginstock-subscribe-form .panel-primary,
.cwginstock-subscribe-form .cwginstock-panel-body,
.cwginstock-subscribe-form .panel-body {
	position: static !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.cwginstock-subscribe-form .row, 
.cwginstock-subscribe-form .col-md-12,
.cwginstock-subscribe-form .form-group {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

/* Vstupní pole (Email / Text) */
.cwgstock_email,
.cwginstock-subscribe-form input[type="email"],
.cwginstock-subscribe-form input[type="text"] {
	width: 100% !important;
	height: 36px !important;
	padding: 0 10px !important;
	margin-bottom: 8px !important;
	background: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 6px !important;
	font-size: 12px !important;
	color: #1e293b !important;
	box-sizing: border-box !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* Focus stav pro vstupní pole (Modrý akcent) */
.cwgstock_email:focus,
.cwginstock-subscribe-form input[type="email"]:focus,
.cwginstock-subscribe-form input[type="text"]:focus {
	border-color: #2563eb !important; /* Modrý akcent */
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
}

/* Tlačítko pro odeslání (Modrý akcent s hover efektem) */
.cwginstock-submit,
.cwginstock-subscribe-form button[type="submit"],
.cwginstock-subscribe-form input[type="submit"] {
	width: 100% !important;
	height: 34px !important;
	padding: 0 12px !important;
	margin: 0 !important;
	background: #2563eb !important; /* Modrá barva tlačítka */
	color: #ffffff !important;
	border: none !important;
	border-radius: 6px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease !important;
}

.cwginstock-submit:hover,
.cwginstock-subscribe-form button[type="submit"]:hover,
.cwginstock-subscribe-form input[type="submit"]:hover {
	background: #1d4ed8 !important; /* Tmavší modrá při najetí */
}

/* Výstupní zprávy a hlášky */
.cwgstock_output {
	font-size: 11px !important;
	margin-top: 6px !important;
	color: #64748b !important;
}

/* ==========================================================================
   SIDEBAR & WIDGETS
   ========================================================================== */

#secondary {
	padding-top: 5px;
}

.sidebar .widget {
	border-radius: 0px !important;
	box-shadow: var(--shadow-sm) !important;
	background: #ffffff !important;
	border: none !important;
	padding: 20px !important;
	margin-bottom: 20px !important;
	transition: box-shadow var(--transition-slow), transform var(--transition-slow);
}

.sidebar .widget:hover {
	box-shadow: var(--shadow-md) !important;
	border: none !important;
}

.sidebar .widget .widget-title,
.sidebar .widget h2.widget-title,
.sidebar .widget h3.widget-title,
.sidebar .wp-block-heading {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--color-slate-900) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	margin-bottom: 14px !important;
	padding-bottom: 8px !important;
	border-bottom: 2px solid var(--color-green) !important;
	display: inline-block !important;
	width: 100% !important;
}

.sidebar select, 
.sidebar input[type="text"], 
.sidebar input[type="search"], 
.sidebar .wp-block-search__inside-wrapper, 
.sidebar .widget_categories ul, 
.sidebar .wp-block-categories-list, 
.sidebar .mojett-translate-widget select, 
.sidebar .widget button, 
.sidebar .widget .button {
	border-radius: var(--radius-md) !important;
}

#secondary .widget ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

#secondary .widget ul li {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 8px 6px !important;
	border-bottom: 1px solid var(--color-slate-100) !important;
	border-radius: var(--radius-sm) !important;
	transition: background-color var(--transition-base), transform var(--transition-fast);
}

#secondary .widget ul li:last-child {
	border-bottom: none !important;
}

#secondary .widget ul li:hover {
	background-color: var(--color-slate-50) !important;
	transform: translateX(2px) !important;
}

#secondary .widget ul li img {
	width: 50px !important;
	height: 50px !important;
	object-fit: cover !important;
	border-radius: var(--radius-md) !important;
	border: 1px solid var(--color-slate-200) !important;
	flex-shrink: 0 !important;
	transition: border-color var(--transition-base);
}

#secondary .widget ul li:hover img {
	border-color: var(--color-green) !important;
}

#secondary .widget ul li a {
	font-size: 13px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	color: var(--color-slate-800) !important;
	line-height: 1.35 !important;
	transition: color var(--transition-base);
}

#secondary .widget ul li a:hover {
	color: var(--color-green) !important;
	text-decoration: none !important;
}

/* Categories */
.wp-block-categories-list, 
.widget_categories ul, 
ul.wp-block-categories-list {
	background: var(--color-slate-50) !important;
	padding: 6px !important;
	border: 1px solid var(--color-slate-200) !important;
	border-radius: 10px !important;
	list-style: none !important;
}

.wp-block-categories-list li, 
.widget_categories ul li {
	padding: 2px 2px !important;
	border-bottom: 1px solid var(--color-slate-100) !important;
	border-radius: var(--radius-sm) !important;
	transition: all var(--transition-base);
	margin-bottom: 2px !important;
}

.wp-block-categories-list li:last-child, 
.widget_categories ul li:last-child {
	border-bottom: none !important;
	margin-bottom: 0 !important;
}

.wp-block-categories-list li a, 
.widget_categories ul li a {
	color: var(--color-slate-700) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: color var(--transition-base);
}

.widget_categories li:hover, 
.wp-block-categories-list li:hover {
	background: #ffffff !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}

.widget_categories li:hover > a, 
.wp-block-categories-list li:hover > a {
	color: var(--color-green) !important;
	background-color: transparent !important;
}

.widget_categories li:hover > .mojett-count, 
.wp-block-categories-list li:hover > .mojett-count {
	background-color: var(--color-green) !important;
	color: #ffffff !important;
}

.wp-block-categories-list li.current-cat, 
.widget_categories ul li.current-cat {
	background: #ffffff !important;
	border-left: 3px solid var(--color-green) !important;
	padding-left: 10px !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}

.wp-block-categories-list li.current-cat > a, 
.widget_categories ul li.current-cat > a {
	font-weight: 600 !important;
	color: var(--color-green) !important;
}

.widget_categories .mojett-count,
.wp-block-categories-list .mojett-count,
.widget_categories li span.count {
	float: right !important;
	background: var(--color-slate-200) !important;
	color: var(--color-slate-600) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	padding: 2px 8px !important;
	border-radius: var(--radius-lg) !important;
	transition: all var(--transition-base);
}

/* Search Widget */
.sidebar .wp-block-search__inside-wrapper {
	background: #ffffff !important;
	border: 1px solid var(--color-slate-300) !important;
	border-radius: var(--radius-md) !important;
	padding: 0 !important;
	overflow: hidden !important;
	transition: border-color var(--transition-base), box-shadow var(--transition-base);
	display: flex !important;
}

.sidebar .wp-block-search__inside-wrapper:focus-within {
	border-color: var(--color-green) !important;
	box-shadow: 0 0 0 3px rgba(34, 177, 76, 0.15) !important;
}

.sidebar .wp-block-search__input {
	background: transparent !important;
	border: none !important;
	padding: 10px 12px !important;
	font-size: 13px !important;
	color: var(--color-slate-900) !important;
	outline: none !important;
	flex: 1 !important;
}

.sidebar .wp-block-search__input::placeholder {
	color: var(--color-slate-400) !important;
}

.sidebar .wp-block-search__button {
	background: var(--color-slate-100) !important;
	border: none !important;
	padding: 0 16px !important;
	border-left: 1px solid var(--color-slate-200) !important;
	color: var(--color-slate-700) !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: background-color var(--transition-base), color var(--transition-base);
}

.sidebar .wp-block-search__button:hover {
	background: var(--color-green) !important;
	color: #ffffff !important;
}

/* Translate Widget */
.mojett-translate-widget {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin-bottom: 0 !important;
}

.mojett-translate-label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--color-slate-800) !important;
	margin-bottom: 8px !important;
	display: block !important;
}

.mojett-translate-select {
	width: 100% !important;
	height: 38px !important;
	padding: 0 12px !important;
	padding-right: 36px !important;
	background: #ffffff !important;
	border: 1px solid var(--color-slate-300) !important;
	border-radius: var(--radius-md) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--color-slate-900) !important;
	cursor: pointer !important;
	appearance: none !important;
	outline: none !important;
	background-image: linear-gradient(45deg, transparent 50%, var(--color-slate-500) 50%), linear-gradient(135deg, var(--color-slate-500) 50%, transparent 50%), linear-gradient(to right, #ffffff, #ffffff) !important;
	background-position: calc(100% - 18px) calc(50% - 2px), calc(100% - 12px) calc(50% - 2px), calc(100% - 40px) 0 !important;
	background-size: 6px 6px, 6px 6px, 1px 100% !important;
	background-repeat: no-repeat !important;
	transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

.mojett-translate-select:hover {
	border-color: var(--color-green) !important;
}

.mojett-translate-select:focus {
	border-color: var(--color-green) !important;
	box-shadow: 0 0 0 3px rgba(34, 177, 76, 0.15) !important;
}

#google_translate_element_hidden, .goog-te-gadget, .goog-te-combo {
	display: none !important;
}

/* Rand Posts Widget */
.rand-wrapper {
	display: flex;
	flex-direction: column;
	gap: 0px;
}

.rand-item {
	background: #ffffff !important;
	border: none !important;
	border-radius: var(--radius-sm) !important;
	padding: 8px 6px !important;
	margin-bottom: 2px !important;
	display: block;
	overflow: hidden;
	text-decoration: none !important;
	transition: background-color var(--transition-base), transform var(--transition-fast);
}

.rand-item:hover {
	background-color: var(--color-slate-50) !important;
}

.rand-thumb-wrap {
	float: left;
	margin-right: 12px;
	margin-bottom: 0;
}

.rand-thumb {
	width: 100px !important;
	height: 60px !important;
	object-fit: cover !important;
	border-radius: var(--radius-md) !important;
	border: 1px solid var(--color-slate-200) !important;
	flex-shrink: 0 !important;
	transition: border-color var(--transition-base);
}

.rand-item:hover .rand-thumb {
	border-color: var(--color-green) !important;
}

.rand-title {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--color-slate-800) !important;
	line-height: 1.35 !important;
	display: block;
	margin-bottom: 4px !important;
	transition: color var(--transition-base);
}

.rand-item:hover .rand-title {
	color: var(--color-green) !important;
}

.rand-excerpt {
	font-size: 12px !important;
	line-height: 1.35 !important;
	color: var(--color-slate-600) !important;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.rand-item::after {
	content: "";
	display: block;
	clear: both;
}

.widget p:empty {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	line-height: 0 !important;
}

/* ==========================================================================
   BUTTONS & ACTIONS
   ========================================================================== */

.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce .single_add_to_cart_button, .wpify-woo-form button, .wpify-woo-form input[type=submit], .wpify-woo-form .button, .wpify-woo-form .woocommerce-button, #open-balikovna-map, .mtt-filter-btn, a.buy {
	background: var(--btn-primary-bg) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--btn-radius) !important;
	padding: var(--btn-padding);
	font-weight: var(--btn-font-weight) !important;
	font-size: 15px !important;
	line-height: 1.3;
	box-shadow: var(--btn-shadow) !important;
	transition: var(--btn-transition) !important;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
}

.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce .single_add_to_cart_button:hover, .wpify-woo-form button:hover, .wpify-woo-form input[type=submit]:hover, .wpify-woo-form .button:hover, .wpify-woo-form .woocommerce-button:hover, #open-balikovna-map:hover, .mtt-filter-btn:hover, a.buy:hover {
	background: var(--btn-primary-bg-hover) !important;
	transform: translateY(-1px) !important;
	box-shadow: var(--btn-shadow-hover) !important;
}

a.buy {
	display: block;
	width: 100%;
	box-sizing: border-box;
	white-space: nowrap;
	text-align: center;
	margin-bottom: 2px;
}

.woocommerce a.added_to_cart {
	display: block;
	margin-top: 8px;
	padding: 8px 12px;
	background: var(--color-slate-50);
	border: 1px solid #ddd;
	border-radius: var(--radius-md);
	color: #555;
	text-align: center;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	transition: all var(--transition-base);
}

.woocommerce a.added_to_cart:hover {
	background: #eef8ee;
	border-color: #2fb344;
	color: #2fb344;
}

/* Badges */
.mojett-tag-badge a {
	background: #007acc;
	color: #fff !important;
	padding: 3px 8px !important;
	border-radius: var(--radius-sm);
	font-size: 11px !important;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;
}

.mojett-badges-wrap {
	margin-bottom: 0px !important;
}

.mojett-cat-badge {
	margin: 0;
}

.mojett-cat-badge a {
	background: var(--color-green);
	color: #fff !important;
	padding: 3px 8px;
	border-radius: var(--radius-sm);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none !important;
}

.mojett-cat-badge a:hover {
	background: #1d9a41;
	color: #fff !important;
}

/* ==========================================================================
   INDUSTRIAL STYLE: NOTICES & DISCOUNT BANNER
   ========================================================================== */

/* Zelené pole slevy v industriálním stylu */
.mojett-chill-notice,
.woocommerce-info {
	border-left: 4px solid var(--color-slate-400) !important;
	border-radius: 0px !important;
	padding: 14px 18px !important;
	margin: 15px 0 !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: #0f172a !important;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04) !important;
	position: relative;
}

/* Nastaví spodní mezeru pro všechny odstavce KROMĚ posledního */
.mojett-chill-notice p:not(:last-child) {
	margin-bottom: 12px; /* Zde nastavte požadovanou velikost mezery mezi odstavci */
}

/* Pro jistotu vynuluje margin pod posledním odstavcem */
.mojett-chill-notice p:last-child {
	margin-bottom: 0 !important;
}

/* Změnit e-mail / zrušit slevu - odkaz vpravo */
.mojett-chill-notice a,
.woocommerce-info a {
	color: var(--color-green) !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	border-bottom: 1px dashed var(--color-green);
	transition: all var(--transition-fast) !important;
}

.mojett-chill-notice a:hover,
.woocommerce-info a:hover {
	color: var(--color-green-dark) !important;
	border-bottom-style: solid;
	background: rgba(34, 177, 76, 0.08);
}

.mojett-top-banner {
	max-width: 1200px;
	margin: 0 auto;
	line-height: 0 !important;
}

.mojett-top-banner img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.moje-info-banner {
	background: #ffffff !important;
	border: none !important;
	border-left: 4px solid #f59e0b !important;
	border-bottom: 2px solid var(--color-slate-100) !important;
	border-radius: 0px !important;
	box-shadow: var(--shadow-sm) !important;
	padding: 14px 18px !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	text-align: left;
	font-weight: 600;
	margin: 15px 0;
	color: var(--color-slate-800) !important;
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.green-block {
	width: 100%;
	background: #E8FFEF;
	border: 1px solid #b8e7c8;
	border-radius: var(--radius-md);
	padding: 15px;
	margin: 20px 0;
	box-sizing: border-box;
}

.green-row {
	display: flex;
	flex-wrap: wrap;
}

.green-col {
	flex: 1 1 50%;
	padding: 10px;
	box-sizing: border-box;
}

.mojett-backorder-notice, .mojett-chill-notice {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	background: #ffffff !important;
	border: none !important;
	border-left: 4px solid var(--color-green) !important;
	border-bottom: 2px solid var(--color-slate-100) !important;
	border-radius: 0px !important;
	box-shadow: var(--shadow-sm) !important;
	padding: 14px 18px !important;
	margin: 15px 0 15px 0;
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: var(--color-slate-800) !important;
}

.mojett-backorder-notice__icon {
	font-size: 20px;
	line-height: 1;
}

.mojett-backorder-notice__content p {
	margin: 0;
}

/* ==========================================================================
   SEARCH & FILTERING
   ========================================================================== */

.mtt-filter-bar {
	max-width: 100% !important;
	margin: 0 0 20px 0 !important;
	padding: 16px 20px !important;
	background: #ffffff !important;
	border: none !important;
	border-left: 4px solid var(--color-green) !important;
	border-bottom: 2px solid var(--color-slate-100) !important;
	border-radius: 0px !important;
	box-shadow: var(--shadow-sm) !important;
}

.mtt-filter-row {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.mtt-filter-col, .mtt-filter-col-epocha-box, .mtt-filter-col-reset {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	flex: 1;
}

.mtt-filter-col-reset {
	flex: 0 0 auto !important;
}

.mtt-filter-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.mtt-filter-bar button, .mtt-filter-btn {
	height: 34px !important;
	padding: 0 14px !important;
	font-size: 13px !important;
	border-radius: var(--radius-md) !important;
	line-height: 34px !important;
	margin: 0 !important;
	white-space: nowrap !important;
}

.mtt-filter-reset {
	width: 42px;
	height: 42px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: var(--radius-md);
	border: 1px solid var(--color-border-input);
	background: #fafafa;
	font-size: 20px;
	font-weight: 600;
	color: #555;
	cursor: pointer;
	transition: var(--transition-fast);
}

.mtt-filter-reset:hover {
	background: #e8e8e8;
}

.mtt-filter-select, .mtt-filter-bar select, .mtt-filter-bar input[type="text"] {
	width: 100%;
	height: 34px !important;
	padding: 4px 10px !important;
	padding-right: 36px !important;
	border: 1px solid var(--color-slate-300) !important;
	border-radius: var(--radius-sm) !important;
	font-size: 13px !important;
	background: #ffffff !important;
	cursor: pointer;
	appearance: none !important;
	outline: none !important;
	background-image: linear-gradient(45deg,transparent 50%,#000 50%),linear-gradient(135deg,#000 50%,transparent 50%),linear-gradient(to right,#fff,#fff) !important;
	background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px), calc(100% - 40px) 0 !important;
	background-size: 6px 6px, 6px 6px, 1px 100% !important;
	background-repeat: no-repeat !important;
}

.mtt-filter-select:hover, .mtt-filter-bar select:hover {
	border-color: var(--color-green) !important;
}

.mtt-filter-select:focus, .mtt-filter-bar select:focus, .mtt-filter-bar input[type="text"]:focus {
	border-color: var(--color-green) !important;
	box-shadow: 0 0 0 2px var(--color-slate-500) !important;
}

.mtt-epocha-box {
	flex-basis: 100%;
	width: 100%;
	border-top: 1px solid #eee;
	padding-top: 10px;
	margin-top: 5px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}

.mtt-epocha-title {
	font-weight: 600;
	margin-right: 5px;
}

.mtt-epocha-item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 10px;
	border: 1px solid var(--color-slate-200);
	border-radius: var(--radius-sm);
	background: var(--color-slate-50);
	cursor: pointer;
	transition: var(--transition-base);
	margin: 0;
	white-space: nowrap;
}

.mtt-epocha-item:hover {
	border-color: var(--color-green);
	background: #f0fbf0;
}

.mtt-epocha-item:has(input:checked) {
	background: var(--color-green);
	border-color: var(--color-green);
	color: #fff;
}

.woocommerce-ordering {
	width: 100%;
	max-width: 320px;
	margin: 0 0 20px auto !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 0px !important;
	background: transparent !important;
	box-shadow: none !important;
}

.woocommerce-ordering select {
	width: 100% !important;
	padding: 12px 16px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--color-slate-800) !important;
	background: #ffffff !important;
	border: none !important;
	border-left: 4px solid var(--color-green) !important;
	border-bottom: 2px solid var(--color-slate-100) !important;
	border-radius: 0px !important;
	box-shadow: var(--shadow-sm) !important;
	background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 16px center !important;
	background-size: 10px auto !important;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
	transition: all var(--transition-base) !important;
}

.woocommerce-ordering select:hover, .woocommerce-ordering select:focus {
	border-color: var(--color-green) !important;
	border-left-color: var(--color-green) !important;
	outline: none;
	box-shadow: 0 4px 16px rgba(34, 177, 76, 0.1) !important;
}

/*.woocommerce-result-count {
	display: inline-flex !important;
	align-items: center !important;
	height: 44px !important;
	margin: 0 0 20px 0 !important;
	padding: 0 16px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--color-slate-600) !important;
	background: #ffffff !important;
	border: none !important;
	border-left: 4px solid var(--color-slate-400) !important;
	border-bottom: 2px solid var(--color-slate-100) !important;
	border-radius: 0px !important;
	box-shadow: var(--shadow-sm) !important;
	box-sizing: border-box;
}*/

/* Search Results */
body.search .page-header {
	grid-column: 1 / -1 !important;
	background: #ffffff !important;
	border: none !important;
	border-left: 4px solid var(--color-green) !important;
	border-bottom: 2px solid var(--color-slate-100) !important;
	border-radius: 0px !important;
	padding: 16px 20px !important;
	margin: 0 0 20px 0 !important;
	box-shadow: var(--shadow-sm) !important;
}

body.search .page-header h1.page-title {
	font-size: 22px !important;
	font-weight: 600 !important;
	color: var(--color-slate-900) !important;
	margin: 0 !important;
	letter-spacing: -0.3px !important;
	display: flex;
	align-items: center;
	gap: 10px;
}

body.search .page-header h1.page-title span {
	color: var(--color-green) !important;
	font-weight: 600;
}

body.search .site-main {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 12px !important;
	padding-left: 5px;
	padding-right: 5px;
	align-items: stretch !important;
}

body.search .site-main > article {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	background: #ffffff !important;
	border: none !important;
	border-radius: 0px !important;
	padding: 20px !important;
	margin-bottom: 20px !important;
	box-shadow: var(--shadow-sm) !important;
	transition: box-shadow var(--transition-slow), transform var(--transition-slow);
	height: 100%;
	box-sizing: border-box;
}

body.search .site-main > article:hover {
	border: none !important;
	box-shadow: var(--shadow-md) !important;
}

body.search .site-main > article .post-image,
body.search .site-main > article .wp-post-image,
body.search .site-main > article .featured-image {
	flex: 0 0 70px !important;
	max-width: 150px !important;
	width: 100% !important;
	height: auto !important;
	object-fit: contain;
	margin: 0 !important;
	align-self: flex-start !important;
	background: #fff;
	padding: 2px;
}

body.search .site-main > article .inside-article,
body.search .site-main > article > div:not(.post-image) {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 0 !important;
}

body.search .site-main > article h2.entry-title,
body.search .site-main > article h3.entry-title {
	font-size: 15px !important;
	margin-top: 0 !important;
	margin-bottom: 6px !important;
	line-height: 1.3 !important;
	font-weight: 600;
	color: var(--color-slate-800) !important;
}

body.search .site-main > article .entry-summary,
body.search .site-main > article .entry-content {
	font-size: 12px !important;
	line-height: 1.4 !important;
	margin-bottom: 4px !important;
	color: #000 !important;
}

.search-type-badge {
	display: inline-block;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	padding: 2px 6px;
	border-radius: var(--radius-sm);
	margin-bottom: 6px;
	letter-spacing: 0.5px;
	width: fit-content;
}

.search-type-badge.badge-product {
	background-color: #f0fbf0;
	color: #77a464;
	border: 1px solid #bcdcbf;
}

.search-type-badge.badge-post {
	background-color: #e6f4ea;
	content: "";
	color: var(--color-green);
	border: 1px solid #b8e7c8;
}

/* ==========================================================================
   PAGES & ARTICLES
   ========================================================================== */

.page article.page,
.archive article.post,
.search article.post,
.comments-area,
.comment-body {
	border-radius: 0px !important;
	background: #ffffff !important;
	border: none !important;
	box-shadow: var(--shadow-sm) !important;
	padding: 20px 20px !important;
	margin-bottom: 5px !important;
	transition: box-shadow var(--transition-slow), transform var(--transition-slow);
}

.page article.page:hover,
.archive article.post:hover,
.search article.post:hover,
.comments-area:hover,
.comment-body:hover {
	box-shadow: var(--shadow-md) !important;
	border: none !important;
}

.woocommerce-products-header__title.page-title,
.woocommerce .page-header h1.page-title,
.page-header h1,
h1.woocommerce-products-header__title {
	background: #ffffff !important;
	border: 1px solid var(--color-slate-300) !important;
	border-left: 4px solid var(--color-green) !important;
	border-radius: 0px !important;
	padding: 12px 16px !important;
	margin-bottom: 20px !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	color: var(--color-slate-900) !important;
	box-sizing: border-box !important;
}

.page-header h1.page-title,
.woocommerce-products-header__title.page-title,
.page article.page header.entry-header h1.entry-title {
	background: #ffffff !important;
	border: none !important;
	border-left: 4px solid var(--color-green) !important;
	border-bottom: 2px solid var(--color-slate-100) !important;
	border-radius: 0px !important;
	padding: 16px 20px !important;
	margin: 0 0 20px 0 !important;
	box-shadow: var(--shadow-sm) !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	color: var(--color-slate-900) !important;
	letter-spacing: -0.3px !important;
	transition: box-shadow var(--transition-slow), transform var(--transition-slow);
}

.page-header h1.page-title:hover,
.woocommerce-products-header__title.page-title:hover,
.page article.page header.entry-header h1.entry-title:hover {
	box-shadow: var(--shadow-md) !important;
}

.separate-containers article.page,
.separate-containers article.post {
	background: transparent !important;
	box-shadow: var(--shadow-sm) !important;
	border: none !important;
	padding: 0 !important;
	margin-bottom: 20px !important;
	transition: box-shadow var(--transition-slow), transform var(--transition-slow);
}

.separate-containers article.page:hover,
.separate-containers article.post:hover {
	box-shadow: var(--shadow-md) !important;
}

.separate-containers .inside-article {
	border: none !important;
	background: #ffffff !important;
	box-shadow: none !important;
	padding: 20px !important;
}

.separate-containers .comments-area, .separate-containers .inside-article, .separate-containers .page-header, .separate-containers .paging-navigation {
	padding: 0px;
}

.page-header, .sidebar .widget, .site-main > * {
	margin-bottom: 0;
}

.woocommerce-tabs ul.tabs li,
.woocommerce-tabs ul.tabs li a {
	border-radius: 0px !important;
	-webkit-border-radius: 0px !important;
	-moz-border-radius: 0px !important;
}

/* Pagination */
.paging-navigation,
.woocommerce-pagination,
.pagination {
	margin: 30px 0 !important;
	text-align: center !important;
}

.paging-navigation .page-numbers,
.woocommerce-pagination .page-numbers,
.pagination .page-numbers {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 40px !important;
	height: 40px !important;
	padding: 0 12px !important;
	margin: 0 4px !important;
	background: #ffffff !important;
	color: var(--color-slate-900) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	border: none !important;
	border-radius: 0px !important;
	box-shadow: var(--shadow-sm) !important;
	text-decoration: none !important;
	transition: all var(--transition-base) !important;
}

.paging-navigation .page-numbers:hover,
.woocommerce-pagination .page-numbers:hover,
.pagination .page-numbers:hover {
	background: var(--color-slate-50) !important;
	color: var(--color-green) !important;
	box-shadow: var(--shadow-md) !important;
	transform: translateY(-1px) !important;
}

.paging-navigation .page-numbers.current,
.woocommerce-pagination .page-numbers.current,
.pagination .page-numbers.current {
	background: var(--color-green) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(34, 177, 76, 0.2) !important;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

.site-footer, .site-footer *, .footer-widgets, .footer-widgets * {
	color: #fff !important;
}

.site-footer a {
	color: #fff !important;
}

.site-footer a:hover {
	color: #e8e8e8 !important;
	text-decoration: underline;
}

.site-footer svg {
	fill: #fff !important;
}

.footer-widgets-container {
	padding-top: 20px;
	padding-bottom: 5px;
	max-width: 900px !important;
	width: auto;
}

/* ==========================================================================
   ORDER DETAILS
   ========================================================================== */

.woocommerce-order .wpify-woo-qr-payment_code,
.woocommerce-order .wpify-woo-qr-payment img {
	width: 200px !important;
	max-width: 200px !important;
	height: auto !important;
	display: block;
	margin: 8px auto;
	border-radius: var(--radius-md);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.wpify-woo-qr-payment {
	text-align: center;
	background: #f9f9f9;
	padding: 10px;
	border-radius: var(--radius-md);
	border: 1px solid #eaeaea;
	max-width: auto;
	margin: 10px 0;
}

.woocommerce-order .woocommerce-notice {
	background-color: #e6f4ea;
	color: #137333;
	padding: 8px 14px;
	border-radius: var(--radius-md);
	font-weight: 600;
	margin-bottom: 12px;
	border-left: 4px solid #34a853;
}

.woocommerce-order ul.woocommerce-order-overview {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: var(--radius-md);
	padding: 10px 15px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
	margin-bottom: 15px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.woocommerce-order ul.woocommerce-order-overview li {
	border-right: 1px solid #f3f4f6;
	padding-right: 12px;
	margin-right: 0 !important;
	font-size: 0.9em;
}

.woocommerce-order ul.woocommerce-order-overview li:last-child {
	border-right: none;
}

.woocommerce-order ul.woocommerce-order-overview strong {
	color: #1f2937;
	font-size: 1em;
}

.woocommerce-order .woocommerce-customer-details, 
.woocommerce-order .woocommerce-bacs-bank-details {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: var(--radius-md);
	padding: 12px 16px;
	margin-top: 10px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.woocommerce-order h2.woocommerce-column__title,
.woocommerce-order h3 {
	color: #111827;
	font-size: 1.05rem !important;
	border-bottom: 1px solid #f3f4f6;
	padding-bottom: 4px;
	margin-bottom: 8px;
	background: var(--color-slate-100) !important;
	border: 1px solid var(--color-slate-200) !important;
	padding: 8px 12px !important;
	border-radius: var(--radius-sm) !important;
}

.woocommerce-order .wc-bacs-bank-details li,
.woocommerce-order .wc-bacs-bank-details address,
.woocommerce-order .wc-bacs-bank-details address strong,
.woocommerce-order .wc-bacs-bank-details td,
.woocommerce-order .wc-bacs-bank-details th,
.woocommerce-order .wc-bacs-bank-details span {
	font-weight: normal !important;
}

.woocommerce-order .wc-bacs-bank-details .order_details.bacs_details strong,
.woocommerce-order .wc-bacs-bank-details li strong,
.woocommerce-order .wc-bacs-bank-details .account_number,
.woocommerce-order .wc-bacs-bank-details .iban,
.woocommerce-order .wc-bacs-bank-details .bic {
	font-size: 0.95em !important;
	font-weight: normal !important;
}

.woocommerce-order table.wc-bacs-bank-details td, 
.woocommerce-order table.wc-bacs-bank-details th {
	padding: 4px 6px;
	border-bottom: 1px solid #f3f4f6;
	font-size: 0.9em;
}

.woocommerce-order .wc-bacs-bank-details-account-name,
.woocommerce-order .wc-bacs-bank-details-bank-name {
	margin-bottom: 2px;
}

/* ==========================================================================
   RESPONSIVE MEDIA QUERIES
   ========================================================================== */

@media(max-width:1024px) {
	.main-navigation .main-nav > ul > li::before, .main-navigation .main-nav > ul > li::after {
		display: none !important;
	}
}

@media(max-width:768px) {
	.alignleft {
		float: left;
		margin-right: 5px;
	}

	.menu-toggle {
		display: flex !important;
		align-items: center !important;
		gap: 10px !important;
		padding: 12px 16px !important;
	}

	.menu-toggle .gp-icon.icon-menu-bars svg {
		width: 28px !important;
		height: 28px !important;
	}

	.menu-toggle .gp-icon {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.menu-toggle .mobile-menu {
		font-size: 18px !important;
		font-weight: 600 !important;
		color: #fff !important;
		display: inline-block !important;
		line-height: 1 !important;
		padding-top: 2px;
	}

	.menu-toggle:hover .mobile-menu {
		color: var(--color-green) !important;
	}

	.woocommerce ul.products li.product {
		flex: 0 0 calc(50% - 12px) !important;
		max-width: calc(50% - 12px) !important;
	}

	/* Kartové zobrazení položek košíku na mobilu - kompaktní layout */
	.woocommerce table.shop_table {
		display: block !important;
	}

	.woocommerce table.shop_table thead {
		display: none !important;
	}

	.woocommerce table.shop_table tbody {
		display: block !important;
	}

	.woocommerce table.shop_table tr.cart_item {
		display: grid;
		grid-template-columns: 40px 1fr auto !important;
		grid-template-areas:
			"img name remove"
			"img meta remove"
			"img details remove" !important;
		align-items: center !important;
		gap: 4px 4px !important;
		padding: 8px 32px 8px 6px !important;
		background: #fff !important;
		border: 1px solid var(--color-slate-200) !important;
		border-radius: var(--radius-md) !important;
		margin-bottom: 8px !important;
		position: relative !important;
		min-height: 64px !important;
	}

	.woocommerce table.shop_table td {
		display: block !important;
		padding: 0 !important;
		border: none !important;
		background: transparent !important;
	}

	.woocommerce table.shop_table td.product-thumbnail {
		grid-area: img;
		width: 40px !important;
		min-width: 40px !important;
	}

	.woocommerce table.shop_table td.product-thumbnail img {
		width: 36px !important;
		height: 36px !important;
		border-radius: var(--radius-sm) !important;
		object-fit: cover !important;
	}

	.woocommerce table.shop_table td.product-name {
		grid-area: name;
		font-size: 12px !important;
		font-weight: 600 !important;
		line-height: 1.2 !important;
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		white-space: normal !important;
		min-width: 0;
		padding-right: 4px !important;
	}

	.woocommerce table.shop_table td.product-price {
		display: none !important;
	}

	.woocommerce table.shop_table td.product-quantity {
		grid-area: meta;
		margin-top: 2px !important;
	}

	.woocommerce table.shop_table td.product-quantity .quantity {
		display: inline-flex !important;
		align-items: center;
		background: var(--color-slate-50) !important;
		border: 1px solid var(--color-slate-300) !important;
		border-radius: var(--radius-sm) !important;
		padding: 2px 4px !important;
	}

	.woocommerce-cart .woocommerce .quantity .qty,
	.woocommerce-checkout .woocommerce .quantity .qty {
		width: 36px !important;
		height: 26px !important;
		max-height: 26px !important;
		font-size: 12px !important;
		font-weight: 400 !important;
		text-align: center !important;
		background: transparent !important;
		border: none !important;
		padding: 0 !important;
		box-shadow: none !important;
	}

	.woocommerce table.shop_table td.product-subtotal {
		grid-area: details;
		font-size: 12px !important;
		font-weight: 600 !important;
		color: var(--color-green) !important;
		margin-top: 2px !important;
	}

	/* Tlačítko odstranění (křížek) vpravo nahoře v kartě */
	.woocommerce table.shop_table .product-remove {
		grid-area: remove;
		position: absolute !important;
		top: 8px !important;
		right: 8px !important;
		z-index: 10 !important;
		margin: 0 !important;
	}

	.woocommerce table.shop_table td.product-remove a.remove {
		font-size: 14px !important;
		font-weight: 400 !important;
		color: var(--color-danger-text) !important;
		text-decoration: none !important;
		width: 24px;
		height: 24px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: #fff1f1;
		border-radius: var(--radius-sm);
		border: 1px solid #f0bcbc;
	}

	/* Skrytí štítků před hodnotami */
	.woocommerce table.shop_table td::before {
		display: none !important;
	}

	/* Checkout - širší tabulka produktů */
	.woocommerce-checkout table.shop_table {
		width: 100% !important;
		max-width: 100% !important;
	}

	.woocommerce-checkout table.shop_table td {
		padding: 12px 10px !important;
	}

	.woocommerce-checkout table.shop_table td.product-name {
		max-width: none !important;
		white-space: normal !important;
	}

	/* Rámečky souhrnu - odsazení od kraje */
	.woocommerce-cart .cart-collaterals,
	.woocommerce-cart .cart_totals,
	.woocommerce-checkout #order_review,
	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .woocommerce-shipping-fields {
		padding: 10px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Mobilní nadpisy sekcí */
	.woocommerce-cart .cart_totals h2,
	.woocommerce-checkout h3,
	.woocommerce-checkout h2#order_review_heading {
		font-size: 12px !important;
		letter-spacing: 0.5px !important;
		padding: 8px 10px !important;
	}

	/* Mobilní hlavičky tabulky (pokud jsou viditelné) */
	.woocommerce table.shop_table th {
		font-size: 10px !important;
		padding: 6px 8px !important;
		letter-spacing: 0.5px !important;
	}

	/* Skrytí packetery widgetu na mobilu když není vybraná */
	.packetery-hidden {
		display: none !important;
	}

	.packetery-widget-button-table-row.packetery-hidden {
		display: none !important;
	}

	.packetery-widget-button-table-row.packetery-hidden td,
	.packetery-widget-button-table-row.packetery-hidden th {
		display: none !important;
	}

	.mtt-filter-row {
		display: flex;
		align-items: center;
		gap: 10px;
		flex-wrap: wrap;
	}

	.mtt-filter-col {
		flex: 1 1 100%;
		margin-bottom: 6px;
	}

	.mtt-filter-col.mtt-filter-btn {
		flex: 1 1 60% !important;
		margin-bottom: 0 !important;
	}

	.mtt-filter-col.mtt-filter-reset {
		flex: 1 1 35% !important;
		margin-bottom: 0 !important;
		height: auto !important;
		padding: 6px 0 !important;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.mtt-epocha-box {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 6px !important;
	}

	.mtt-epocha-item {
		flex: 0 1 auto;
	}

	.green-col {
		flex: 1 1 100%;
	}

	.wc_payment_methods .wc_payment_method, .woocommerce-shipping-methods li, .woocommerce-cart .woocommerce-shipping-totals .woocommerce-shipping-methods li {
		padding: 14px;
		border-radius: var(--radius-md);
	}

	.wc_payment_methods .wc_payment_method label, .woocommerce-shipping-methods li label, .woocommerce-cart .woocommerce-shipping-methods li label {
		font-size: 15px !important;
		line-height: 1.3;
	}

	.wpify-woo-form input[type=text], .wpify-woo-form input[type=email], .wpify-woo-form input[type=tel], .wpify-woo-form input[type=number], .wpify-woo-form select, .wpify-woo-form textarea {
		max-width: 100%;
	}

	.wpify-woo-form label {
		font-size: 14px;
	}

	.woocommerce-shipping-methods .shipping-icon,
	#shipping_method .shipping-icon {
		display: none !important;
	}

	/*#shipping_method img,
	.woocommerce-shipping-methods img,
	.wc_payment_methods .wc_payment_method img,
	ul.wc_payment_methods.payment_methods li.wc_payment_method img {
    display: none !important;}*/
	
	.woocommerce-shipping-methods label,
	#shipping_method label {
		gap: 0 !important;
		padding-left: 0 !important;
	}

	ul.wc_payment_methods.payment_methods li.wc_payment_method {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: flex-start !important;
		padding: 10px !important;
	}

	ul.wc_payment_methods.payment_methods li.wc_payment_method label {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 8px !important;
		width: 100% !important;
		margin: 0 !important;
	}

	ul.wc_payment_methods.payment_methods div.payment_box {
		order: 10 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		margin: 10px 0 0 0 !important;
		padding: 10px !important;
		clear: both !important;
	}
}

@media(max-width:480px) {
	.woocommerce div.product div.images .flex-control-thumbs {
		grid-template-columns: repeat(3,1fr) !important;
	}
	
	.wpify-woo-form .form-row {
		margin-bottom: 16px;
	}
	
	.wpify-woo-form input[type=text], .wpify-woo-form input[type=email], .wpify-woo-form input[type=tel], .wpify-woo-form input[type=number], .wpify-woo-form select, .wpify-woo-form textarea {
		width: 100%;
		max-width: 100%;
		font-size: 16px;
	}
	
	.wpify-woo-form button, .wpify-woo-form input[type=submit], .wpify-woo-form .button, .wpify-woo-form .woocommerce-button {
		width: 100%;
		text-align: center;
	}

	/* --- Vynucení správné velikosti pole a inputu pro množství na mobilu --- */
	.woocommerce table.shop_table td.product-quantity {
		min-width: 25px !important;
		width: 40px !important;
	}

	.woocommerce table.shop_table td.product-quantity .quantity {
		display: block !important;
		width: 100% !important;
		max-width: 55px !important;
		padding: 2px !important;
		background: var(--color-slate-50) !important;
		border: 1px solid var(--color-slate-300) !important;
		border-radius: var(--radius-sm) !important;
	}

	.woocommerce-cart .woocommerce .quantity .qty,
	.woocommerce-checkout .woocommerce .quantity .qty {
		width: 100% !important;
		height: 32px !important;
		max-height: 32px !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		text-align: center !important;
		background: transparent !important;
		border: none !important;
		padding: 0 !important;
		box-shadow: none !important;
	}
}

.woocommerce table.cart td.actions .coupon,
.woocommerce-checkout .checkout_coupon,
.woocommerce-form-coupon {
	background: #ffffff !important;
	border: 1px solid var(--color-slate-200) !important;
	border-radius: var(--radius-md) !important;
	padding: 12px 16px !important;
	box-shadow: var(--shadow-sm) !important;
	margin-bottom: 15px !important;
}

.woocommerce a.added_to_cart {
	display: block;
	margin-top: 8px;
	padding: 8px 12px;
	background: var(--color-slate-50);
	border: 1px solid #ddd;
	border-radius: var(--radius-md);
	color: #555;
	text-align: center;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	transition: all var(--transition-base);
}

.woocommerce a.added_to_cart:hover {
	background: #eef8ee;
	border-color: #2fb344;
	color: #2fb344;
}

.woocommerce-message {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	background: #ffffff !important;
	border: none !important;
	border-left: 4px solid var(--color-slate-400) !important;
	border-bottom: 2px solid var(--color-slate-100) !important;
	color: var(--color-slate-800) !important;
	border-radius: 0px !important;
	padding: 14px 18px !important;
	margin: 15px 0 !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	box-shadow: var(--shadow-sm) !important;
}

.woocommerce-message::before {
	color: var(--color-green) !important;
	visibility: hidden;
}

.woocommerce-message .button {
	order: 2;
	background: var(--color-green) !important;
	color: #fff !important;
	border-radius: var(--radius-md);
	padding: 10px 16px !important;
	font-weight: 600;
	text-transform: none;
	transition: var(--transition-base);
}

.woocommerce-message .button:hover {
	background: var(--color-green-dark) !important;
	color: #fff !important;
}

.cart_totals table th {
	max-width: 90px;
}

.woocommerce table.shop_table tfoot th {
    font-weight: 600;
    display: inline;
}

.packetery-widget-button-table-row {
	display: inline-flex;
	margin-left: 10px;
	margin-right: 10px;
	border: 2px solid var(--color-slate-100);
    border-radius: var(--radius-md);
	margin-bottom: 0px !important;
	flex-direction: row;
    flex-wrap: wrap;
    align-content: stretch;
    justify-content: flex-start;
    align-items: center;
}

.packetery-widget-button-table-row td .form-row {
	margin: 0px !important;
}

/* 1. Zneviditelnění původních prvků mimo filtr */
.woocommerce-result-count,
.woocommerce-ordering {
    display: none !important;
}

/* 2. Zobrazení pouze uvnitř rámečku filtru */
.mtt-filter-bar .woocommerce-result-count,
.mtt-filter-bar .woocommerce-ordering {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Společný řádek pro výsledky a řazení */
.mtt-filter-bar .mtt-shop-loop-header-bar {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: nowrap !important; /* Na desktopu/tabletu VŽDY vedle sebe */
    margin-top: 12px !important;
    padding-top: 10px !important;
    border-top: 1px solid #eee !important;
    gap: 15px !important;
}

/* Úprava textu počtu výsledků */
.mtt-filter-bar .woocommerce-result-count {
    font-size: 0.88em !important;
    color: #555 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important; /* Text se nezalomí */
    flex-shrink: 0 !important;
}

/* Úprava bloku a výběrového pole řazení */
.mtt-filter-bar .woocommerce-ordering {
    flex-shrink: 0 !important;
    width: auto !important; /* Zruší 100% šířku z themes */
    max-width: none !important;
}

.mtt-filter-bar .woocommerce-ordering select {
    padding: 5px 10px !important;
    font-size: 0.88em !important;
    border-radius: 4px !important;
    border: 1px solid #ccc !important;
    background-color: #fff !important;
    white-space: nowrap !important;
    width: auto !important; /* Šířka přímo podle textu uvnitř */
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Zalomení POD SEBE POUZE NA MOBILU (do 600 px) */
@media (max-width: 600px) {
    .mtt-filter-bar .mtt-shop-loop-header-bar {
        flex-direction: column !important;
        align-items: stretch !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
    .mtt-filter-bar .woocommerce-result-count {
        white-space: normal !important;
        text-align: center !important;
    }
    .mtt-filter-bar .woocommerce-ordering,
    .mtt-filter-bar .woocommerce-ordering select {
        width: 100% !important;
    }
}

/* Skrytí výchozího vzhledu radio tlačítka */
label.mojett-radio input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid #ccc;
    border-radius: 50%;
    outline: none;
    cursor: pointer;
    display: inline-grid;
    place-content: center;
    margin-right: 8px;
    vertical-align: middle;
    background-color: #fff;
    transition: all 0.2s ease-in-out;
}

/* Vnitřní tečka přepínače (výchozí stav - skrytá) */
label.mojett-radio input[type="radio"]::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-green);
    transform: scale(0);
    transition: transform 0.15s ease-in-out;
}

/* Zvýraznění ohraničení při najetí myši */
label.mojett-radio input[type="radio"]:hover {
    border-color: #888;
}

/* Aktivní/zaškrtnutý stav */
label.mojett-radio input[type="radio"]:checked {
    border-color: var(--color-green);
}

/* Zvětšení vnitřní tečky při zaškrtnutí */
label.mojett-radio input[type="radio"]:checked::before {
    transform: scale(1);
}

/* Kontejner mraku štítků - flexibilní řazení */
.wp-block-tag-cloud {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important; /* Mezery mezi tlačítky */
}

/* Styl tlačítek s přirozenou šířkou podle obsahu */
.wp-block-tag-cloud a.tag-cloud-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 1px 12px !important;
    background-color: #2b2b2b !important;
    color: #e0e0e0 !important;
    border: 1px solid #444 !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    text-align: center;
    text-decoration: none !important;
    box-sizing: border-box;
    white-space: nowrap !important; /* Zabrání divnému zalamování textu uvnitř tlačítka */
    transition: background-color 0.2s, border-color 0.2s;
}

/* Hover efekt */
.wp-block-tag-cloud a.tag-cloud-link:hover {
    background-color: #3b3b3b !important;
    border-color: #666 !important;
    color: #ffffff !important;
}

.doprava-zdarma-box {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    background: #ffffff;
    border: none;
    border-left: 4px solid var(--color-green);
    border-bottom: 2px solid var(--color-slate-100);
    border-radius: 0px;
    padding: 16px 20px;
    margin-bottom: 20px;
    font-size: 13px;
    color: var(--color-slate-800);
    box-shadow: var(--shadow-sm);
    transition: box-shadow var(--transition-slow), transform var(--transition-slow);
}

.doprava-zdarma-box:hover {
    box-shadow: var(--shadow-md);
}

.doprava-item {
    flex: 1 1 260px;
    display: flex;
    align-items: center;
    background: var(--color-slate-50);
    border: 1px solid var(--color-slate-200);
    border-radius: var(--radius-sm);
    padding: 10px 14px;
    transition: background-color var(--transition-base), border-color var(--transition-base);
}

.doprava-item:hover {
    background: #ffffff;
    border-color: var(--color-green);
}

.doprava-ikona {
    font-size: 20px;
    margin-right: 12px;
    flex-shrink: 0;
    line-height: 1;
}