/* ============================================
   YOOTHEME CUSTOM STYLES - OPTIMIZED
   ============================================ */

/* Typography */
h1, h3 {
	font-size: 14px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	margin-top: 15px !important;
}

h4 {
	font-size: 14px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	text-align: center;
	margin: 0 !important;
}

.uk-breadcrumb span {
	text-transform: none !important;
}

/* Layout */
.row-fluid {
	margin-right: 0;
	margin-left: 0;
}

.row-fluid [class*="sblock"] {
	padding-left: 0;
}

/* Navigation */
.uk-navbar-item {
	height: 40px;
}

.uk-navbar-toggle {
	min-height: 40px;
	padding: 10px 16px;
	border: 1px solid #036ce5;
	border-radius: 8px;
	color: #036ce5;
}

.uk-navbar-toggle:hover {
	border-color: #1e4592;
	color: #1e4592;
}

.uk-navbar-nav > li > a {
	min-height: 40px !important;
	padding: 15px;
	border-radius: 8px;
}

.uk-navbar-dropdown-nav > li > a,
.uk-link,
a {
	color: #000;
}

/* Buttons */
.btn, .uk-button {
	border-radius: 8px;
}

/* Forms & Filters */
.jp-form-search .jshop_filters,
.jp-form-search .row-fluid .sblock0 {
	width: 100%;
}

.jshop_filters .fblock {
	padding-bottom: 0;
	margin-bottom: 0;
}

.jshop_filters .input-group input {
	height: 40px;
}

.filter_item .input-group input[type="text"] {
	height: 40px;
	border: 1px solid #d1d6df;
	border-radius: 8px 0 0 8px;
	background: none;
}

.filter_item .input-group input[type="text"]:hover {
	border-color: #1e4592;
}

.filter_item .btn-primary {
	background: #2855af;
	color: #fff;
	line-height: 40px;
}

.filter_item .btn-primary:hover {
	background: #1e4592;
	color: #fff;
}

.filter_active_vals_clear .val {
	display: none;
}

.filter_active_vals__close {
	position: absolute;
	right: 130px;
	bottom: 10px;
}

/* Cart */
.cart, .jp-cart {
	border: none;
}

.wt_jshopping_cart, .jp-vhod-none {
	border: 1px solid #036ce5;
	padding: 15px;
	line-height: 0;
	font-size: 16px;
	background: none;
}

.wt_jshopping_cart:hover, .jp-vhod-none:hover {
	border-color: #1e4592;
}

.jp-cart .d-inline-flex {
	display: block !important;
}

.jp_single_price {
	font-weight: 700;
	margin-top: 5px;
}

/* Product Lists */
.list_product_ps3 {
	margin-top: 0;
	border: 0;
}

.list_product_ps3 .image {
	text-align: left;
}

.list_product_ps3 img.jshop_img {
	width: 56px;
}

.list_product_ps3 .block_product {
	padding: 10px 0 !important;
	border-bottom: 1px solid #d1d6df;
}

.list_product_ps3 .block_product .image {
	height: 56px;
}

.list_product_ps3 .block_product .name a,
.list_product_ps3 .block_product .name span {
	font-size: 14px;
	color: #091739;
}

.list_product_ps3 .block_product .jshop_price {
	color: #091739;
	font-weight: 700;
	font-size: 15px;
	line-height: 20px;
}

.list_product_ps3 .block_product .btbuyproduct form {
	display: flex;
	justify-content: flex-end;
}

.jshop_list_product .block_product:hover {
	border-radius: 0;
	box-shadow: none;
}

/* Quantity Controls - Common Styles */
.jshop .prod_qty_input input {
	width: 40px;
	height: 40px;
}

/* Quantity Controls - Product List */
.block_product .qty_button {
	min-width: 40px;
	min-height: 40px;
	padding: 0;
	border: none;
	cursor: pointer;
	user-select: none;
	position: relative;
}

.block_product .qty_button[value="-"] {
	background: transparent;
}

.block_product .qty_button[value="+"] {
	border-radius: 8px;
	background: rgb(3, 108, 229);
	color: #fff;
	transition: all 0.25s ease;
}

.block_product .inputbox.qty_input {
	width: 64px;
	height: 36px;
	padding: 0;
	border: none;
	background: transparent;
	outline: none;
	color: rgb(9, 23, 57);
	text-align: center;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.block_product .prod_qty_input {
	display: flex;
}

.block_product .prod_qty_input:not(:has(.qty_button[value="-"].invisible)) {
	display: flex;
	align-items: center;
	height: 40px;
	border-radius: 8px;
	box-shadow: rgb(203 208 219) 0 0 0 1pt inset;
}

/* Quantity Controls - Product Page & Modal */
.productfull .prod_buttons.btbuyproduct .prod_qty_input,
.modal-body .prod_buttons.btbuyproduct .prod_qty_input,
form[name="product"] .prod_buttons.btbuyproduct .prod_qty_input {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 40px !important;
	border-radius: 8px !important;
	box-shadow: rgb(203 208 219) 0 0 0 1pt inset !important;
	background: #fff !important;
	padding: 0 !important;
	padding-left: 0 !important;
	border: none !important;
	margin: 0 !important;
	width: auto !important;
	vertical-align: middle !important;
}

.productfull .prod_buttons.btbuyproduct .qty_button,
.modal-body .prod_buttons.btbuyproduct .qty_button,
form[name="product"] .prod_buttons.btbuyproduct .qty_button {
	min-width: 40px !important;
	width: 40px !important;
	min-height: 40px !important;
	height: 40px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	cursor: pointer !important;
	user-select: none !important;
	position: relative !important;
	font-size: 18px !important;
	font-weight: bold !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
	vertical-align: middle !important;
}

.productfull .prod_buttons.btbuyproduct .qty_button_minus,
.modal-body .prod_buttons.btbuyproduct .qty_button_minus,
form[name="product"] .prod_buttons.btbuyproduct .qty_button_minus {
	background: transparent !important;
	color: #666 !important;
	border-radius: 8px 0 0 8px !important;
}

.productfull .prod_buttons.btbuyproduct .qty_button_plus,
.modal-body .prod_buttons.btbuyproduct .qty_button_plus,
form[name="product"] .prod_buttons.btbuyproduct .qty_button_plus {
	background: rgb(3, 108, 229) !important;
	color: #fff !important;
	border-radius: 0 8px 8px 0 !important;
	transition: all 0.25s ease !important;
}

.productfull .prod_buttons.btbuyproduct .qty_button_plus:hover,
.modal-body .prod_buttons.btbuyproduct .qty_button_plus:hover,
form[name="product"] .prod_buttons.btbuyproduct .qty_button_plus:hover {
	background: rgb(2, 88, 189) !important;
}

.productfull .prod_buttons.btbuyproduct .qty_input,
.modal-body .prod_buttons.btbuyproduct .qty_input,
form[name="product"] .prod_buttons.btbuyproduct .qty_input,
.productfull .prod_buttons.btbuyproduct input.qty_input,
.modal-body .prod_buttons.btbuyproduct input.qty_input,
form[name="product"] .prod_buttons.btbuyproduct input.qty_input {
	width: 64px !important;
	height: 36px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: transparent !important;
	outline: none !important;
	color: rgb(9, 23, 57) !important;
	text-align: center !important;
	text-overflow: ellipsis !important;
	overflow: hidden !important;
	white-space: nowrap !important;
	font-size: inherit !important;
	line-height: 36px !important;
	box-sizing: border-box !important;
	vertical-align: middle !important;
}

/* Grid Layouts */
.cart_jp {
	display: grid;
	grid-auto-columns: 1fr;
	grid-template-columns: 0.3fr 3.4fr 0.1fr 0.2fr;
	grid-template-rows: repeat(3, 1fr);
	gap: 0;
	grid-template-areas:
		"jp_jshop_img jp_product_name jp_remove block_product"
		"jp_jshop_img jp_single_price jp_remove block_product"
		"jp_jshop_img jp_total_price jp_remove block_product";
}

.jp_jshop_img { grid-area: jp_jshop_img; }
.jp_product_name { grid-area: jp_product_name; }
.jp_single_price { grid-area: jp_single_price; }
.jp_total_price { grid-area: jp_total_price; }
.jp_remove { grid-area: jp_remove; }

/* Sections & Panels */
.uk-section {
	padding-top: 30px;
	padding-bottom: 30px;
}

.uk-section-default .uk-panel {
	-moz-columns: 4;
	-webkit-columns: 4;
	columns: 4;
}

.uk-section-default .uk-panel div {
	padding: 5px;
	border: 1px solid #d1d6df;
	border-radius: 8px;
	font-size: 12px;
}

.uk-section-default .uk-panel .jshop_menu_level_1 {
	background: #f4dfe0;
}

.jshop_menu_level_0,
.jshop_menu_level_0_a {
	margin-top: 0;
}

/* Modals */
.modal-content {
	border: none;
}

.modal-header {
	padding: 1rem 1rem 0 1rem;
	border-bottom: none;
}

.modal-body {
	padding: 0 1rem 1rem 1rem;
}

#productImageModal .modal-content {
	border: none;
	background: transparent;
}

#productImageModal .modal-body {
	padding: 0;
	background: transparent;
}

#productImageModal .modal-header {
	padding: 0.5rem;
	border: none;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1056;
}

#productImageModal .btn-close {
	padding: 0.5rem;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.8);
	opacity: 1;
}

#productImageModal .btn-close:hover {
	background-color: rgba(255, 255, 255, 1);
}

#productImageModalImg {
	width: auto;
	height: auto;
	max-width: 90vw;
	max-height: 90vh;
	border-radius: 4px;
}

#productImageModal .modal-backdrop {
	background-color: rgba(0, 0, 0, 0.85);
}

.product-image-modal {
	display: inline-block;
	cursor: pointer;
}

.product-image-modal:hover {
	opacity: 0.9;
}

/* Shopping Cart */
.jshop-cart-new .jp_jshop_img {
	width: 60px;
}

.jshop-cart-new .jp_product_name,
.jshop-cart-new .jp_single_price,
.jshop-cart-new .jp_total_price {
	font-size: 12px;
}

.jshop-cart-new .jp_remove {
	width: 18px;
}

.jshop-cart-new .modalBlock3 {
	padding: 10px 0 !important;
	border-bottom: 1px solid #d1d6df;
}

.jp_remove {
	margin-top: 8px;
}

/* Product Display */
.jshop_oiproduct .prod_qty,
.jshop_oiproduct .prod_qty_input,
.modal-title {
	display: none;
}

.jshop_oiproduct .prod_buttons,
.productfull .prod_buttons.btbuyproduct,
.modal-body .prod_buttons.btbuyproduct {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 15px;
}

.productfull .prod_buttons .buttons {
	padding-left: 0;
}

/* Menu */
.jp-js-cat .jshop_menu_level_0 {
	padding: 5px 10px;
	font-size: 12px;
	border-bottom: 1px solid #d1d6df;
}

.jp-js-cat .jshop_menu_level_0_a,
.jp-js-cat .jshop_menu_level_1,
.jp-js-cat .jshop_menu_level_1_a {
	font-size: 12px;
}

.jshop_menu_level_0_a {
	background: #F3DFE0;
	padding: 5px 10px;
}

.jshop_menu_level_1,
.jshop_menu_level_1_a {
	margin-left: 20px;
	background: #F3DFE0;
	padding: 5px 10px;
}

/* Utilities */
.item-136 img,
.item-121 img {
	width: 16px;
	margin-right: 0 !important;
}

input[type="submit"].invisible {
	display: none !important;
}

.text_zoom {
	display: none;
}

.jshop .products_row .sblock {
	margin: 10px 15px 0 15px;
}

.jp-mob {
	position: absolute;
	top: 35px;
	left: 0;
	width: 100%;
	margin-top: 20px;
}

/* Media Queries */
@media (min-width: 960px) {
	.uk-navbar-left {
		width: 90% !important;
		gap: 30px;
	}
	
	.uk-navbar-right {
		width: 15% !important;
		gap: 30px;
	}
	
	.jp-form-search {
		width: 50%;
	}
}

@media (min-width: 800px) and (max-width: 959px) {
	.list_product_ps3 .block_product .name {
		margin-left: 10px;
	}
	
	.list_product_ps3 .block_product .name a,
	.list_product_ps3 .block_product .name span {
		font-size: 12px;
	}
	
	.list_product_ps3 .image {
		width: 5%;
	}
	
	.list_product_ps3 .name {
		width: 70%;
	}
	
	.list_product_ps3 .price {
		width: 8%;
	}
	
	.list_product_ps3 .block_buttons {
		width: 15%;
	}
}

@media (min-width: 100px) and (max-width: 959px) {
	.jshop h1, .jshop h3 {
		background: #daf1fe;
		padding: 15px;
	}
	
	.wt_jshopping_cart {
		padding: 0 10px;
		width: 40px;
		height: 40px;
		border-radius: 8px;
	}
	
	.wt_jshopping_cart i {
		font-size: 15px;
	}
	
	.tm-top {
		display: none;
	}
	
	.uk-navbar-container, .uk-navbar-sticky {
		height: 130px;
	}
	
	.jp-vhod-none {
		width: 40px;
		height: 40px;
		border-radius: 8px;
	}
}

@media (min-width: 100px) and (max-width: 549px) {
	.filter_item .btn-primary {
		padding: 0 10px;
	}
	
	.item-136 a {
		font-size: 0 !important;
		background: #efefef;
		border-radius: 8px;
	}
	
	.uk-navbar-nav > li > a {
		min-height: 40px;
		padding: 5px;
	}
	
	.jshop_list_category .sblock4 {
		margin: 10px 15px;
	}
}

@media (max-width: 799px) {
	.jp-modalBlock {
		display: grid;
		grid-auto-columns: 1fr;
		grid-template-columns: repeat(8, 1fr);
		grid-template-rows: 1.3fr 0.7fr;
		gap: 0;
		grid-template-areas:
			"image image name name name name name name"
			"price price price . . . block_buttons block_buttons";
	}
	
	.image { grid-area: image; }
	.name { grid-area: name; }
	.price { grid-area: price; }
	.block_buttons { grid-area: block_buttons; }
	
	.cart_jp {
		display: grid;
		grid-auto-columns: 1fr;
		grid-template-columns: 1.3fr 1.9fr 0.5fr 0.3fr;
		grid-template-rows: 1fr 1fr 0.5fr 0.5fr;
		gap: 0;
		grid-template-areas:
			"jp_jshop_img jp_product_name jp_product_name jp_product_name"
			"jp_jshop_img jp_product_name jp_product_name jp_product_name"
			"jp_single_price jp_single_price jp_remove block_product"
			"jp_total_price jp_total_price jp_remove block_product";
	}
	
	.list_product_ps3 .block_product .name a,
	.list_product_ps3 .block_product .name span {
		font-size: 12px;
	}
	
	.list_product_ps3 .image,
	.list_product_ps3 .name,
	.list_product_ps3 .price,
	.list_product_ps3 .block_buttons {
		width: 100%;
	}
	
	.list_product_ps3 .image,
	.list_product_ps3 .name,
	.list_product_ps3 .price .jshop_price {
		text-align: left;
	}
	
	.jshop_list_product .image_block {
		min-height: 56px;
	}
	
	.jshop-cart-new .cart_buttons a {
		font-size: 10px;
	}
	
	.list_product_ps3 .name {
		padding-top: 0;
		padding-bottom: 0;
	}
	
	.list_product_ps3 .price {
		margin-top: 20px;
	}
}

@media (max-width: 399px) {
	.uk-logo {
		font-size: 12px !important;
	}
	
	.uk-navbar-center:not(:only-child) {
		left: 45%;
	}
}
