@import url('https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&display=swap');

:root {
	--main-color: #0137c1;
	--main-color-focus: #286090;
	--main-color-hover: #1f90bb;
	--main-color-active: #204d74;
}
 
body {
	font-family: "Mulish", sans-serif;
	font-size: 14px;
}

h1 {
	font-size: 33px;
}
h2 {
	font-size: 29px;
}
h3 {
	font-size: 25px;
}
h4 {
	font-size: 17px;
}
h5 {
	font-size: 14px;
}
h6 {
	font-size: 10.2px;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	font-weight: 400;
}
a {
	color: var(--main-color);
}

a:focus, a:hover {
	color: var(--main-color-hover)
}

.btn {
	border: 1px solid transparent;
	border-radius: 7px;
	font-weight: 600;
	text-shadow: none;
	background-image: none;
	box-shadow: none;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.btn:focus,
.btn.focus {
	outline: 2px solid rgba(6, 72, 215, .20);
	outline-offset: 2px;
	box-shadow: none;
}

.btn:active,
.btn.active {
	box-shadow: none;
}

.btn-default {
	border-color: #d9e1ef !important;
	background-color: #fff;
	color: #1749a5;
}

.btn-default:hover,
.btn-default:focus,
.btn-default.focus {
	border-color: #9eb8ed !important;
	background-color: #eef4ff;
	color: #0648d7;
}

.btn-primary {
	border-color: var(--main-color) !important;
	background-color: var(--main-color);
	color: #fff !important;
}

.btn-primary.focus, .btn-primary:focus {
	border-color: var(--main-color-focus) !important;
	background-color: var(--main-color-focus);
	color: #fff !important;
}

.btn-primary:hover, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] {
	border-color: var(--main-color-hover) !important;
	background-color: var(--main-color-hover);
	color: #fff !important;
}

.btn-primary.active.focus, .btn-primary.active:focus, .btn-primary.active:hover, .btn-primary:active.focus, .btn-primary:active:focus, .btn-primary:active:hover, .open>.dropdown-toggle.btn-primary.focus, .open>.dropdown-toggle.btn-primary:focus, .open>.dropdown-toggle.btn-primary:hover {
	border-color: var(--main-color-active) !important;
	background-color: var(--main-color-active);
	color: #fff !important;
}

.btn-default.active, .btn-default:active, .open>.dropdown-toggle.btn-default {
	border-color: #9eb8ed !important;
	background: #e7effd;
	color: #0648d7;
}

.btn-default.active.focus, .btn-default.active:focus, .btn-default.active:hover, .btn-default:active.focus, .btn-default:active:focus, .btn-default:active:hover, .open>.dropdown-toggle.btn-default.focus, .open>.dropdown-toggle.btn-default:focus, .open>.dropdown-toggle.btn-default:hover {
	border: 1px solid transparent;
}

.btn-link {
	color: var(--main-color);
}

.btn-link:focus, .btn-link:hover {
	color: var(--main-color-hover);
}

.btn-primary.disabled.focus, .btn-primary.disabled:focus, .btn-primary.disabled:hover, .btn-primary[disabled].focus, .btn-primary[disabled]:focus, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:hover {
	background-color: var(--main-color-hover);
}

.alert {
	border: 0;
	border-radius: 0;
}

.alert-dismissable .close, .alert-dismissible .close {
	right: 0; /* Fix Opencart Bug */
}

.fa {
	font-size: 16px;
}

.dropdown-menu {
	z-index: 1001;
	padding: 0;
	border: 0;
	border-radius: 0;
}

.img-thumbnail {
	border-radius: 0;
	border: 1px solid #eee;
}

.thumbnail, .image-additional a {
	border-radius: 0;
	border: 1px solid #eee;
}

.swiper-viewport {
	border-radius: 0 !important;
	box-shadow: none !important;
	border: 1px solid #eee !important;
}

.list-group-item {
	border-radius: 0 !important;
}

.list-group a {
	border: none;
	background-color: #f5f5f5;
	padding: 10px 14px;
}

.list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover {
	border-color: initial;
}

.list-group a.active, .list-group a.active:hover, .list-group a:hover {
	border: none;
}

.table-bordered>thead>tr>td, .table-bordered>thead>tr>th {
	border-bottom-width: 1px;
}

.input-group-addon {
	border: 1px solid #eee;
}

.form-control {
	box-shadow: none;
	border: 1px solid #eee;
}

.well {
	border: none;
	border-radius: 0;
	box-shadow: none;
}

.panel-group .panel {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.panel-default>.panel-heading {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.panel-default>.panel-heading+.panel-collapse>.panel-body {
	border: 1px solid #f5f5f5;
	border-radius: 0 !important;
	box-shadow: none !important;
}

#content .panel-default {
	border: none;
	box-shadow: none;
}

.btn-group>.btn:last-child:not(:first-child), .btn-group>.dropdown-toggle:not(:first-child),
.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle) {
	border-radius: 0 !important;
}

.input-group-sm>.form-control, .input-group-sm>.input-group-addon,
.input-group-sm>.input-group-btn>.btn {
	border-radius: 0 !important;
}

.form-control, .nav-tabs>li>a {
	border-radius: 0;
}

#top {
	font-size: 13px;
	border: 0;
}

#top .fa {
	font-size: 15px;
}

#top .pull-left .btn {
	font-size: 15px;
}

#top .btn-link strong {
	font-size: 15px;
}

#top #form-currency .currency-select:hover,
#top #form-language .language-select:hover {
	text-shadow: none;
	color: var(--main-color);
	background-color: transparent;
	background-image: none;
}

#top #form-currency .currency-select, #top #form-language .language-select {
	padding: 10px 15px;
	font-size: 14px;
}

#top-links .dropdown-menu a {
	padding: 10px 15px;
	font-size: 14px;
}

#top-links .dropdown-menu a:hover, #top-links .dropdown-menu a:active, #top-links .dropdown-menu a:focus {
	color: var(--main-color);
	background-image: none;
	background-color: transparent;
}

#top .btn-link, #top-links li, #top-links a {
	text-shadow: none;
}

header + .container {
	width: 100%;
	padding: 0;
	position: sticky;
	top: 0;
	z-index: 10;
}

@media (min-width: 768px) {
	header + .container {
		text-align: center;
	}
}

#menu .btn-navbar {
	border: none;
	background: transparent;
	outline: none;
	box-shadow: none;
}

#menu .btn-navbar .fa {
	font-size: 20px;
}

#menu {
	background-image: none;
	background-color: var(--main-color);
	border: none;
	border-radius: 0;
}

#menu .nav > li > a {
	font-size: 15px;
	padding: 15px 10px 15px 25px;
	text-shadow: none;
}

#menu .dropdown-menu {
	padding: 10px 0;
	min-width: 260px;
}

#menu .dropdown-inner li {
	padding: 10px 20px;
	min-width: 200px;
}

#menu .dropdown-inner li a {
	padding: 0;
	line-height: 20px;
	font-size: 15px;
}

#menu .dropdown-inner li a:hover {
	color: var(--main-color);
	background-color: transparent;
	background-image: none;
}

#menu .see-all {
	margin: 0;
	border: 0;
	font-size: 15px;
	font-weight: 600;
}

#menu .see-all:hover, #menu .see-all:focus {
	background-color: transparent;
	background-image: none;
	color: var(--main-color);
}

@media (max-width: 767px) {
	#menu .navbar-header {
		padding-top: 6px;
		padding-bottom: 6px;
	}
}

@media (min-width: 768px) {
	.navbar-nav {
		margin-right: auto;
		margin-left: auto;
	}
	#menu .nav > li > a {
		font-size: 16px;
		padding: 18px 15px 18px 15px;
	}
	.navbar-collapse.collapse {
		display: flex !important;
	}
}

.navbar-nav {
	margin-top: 0;
	margin-bottom: 0;
}

.nav-tabs {
	border-bottom: 1px solid #eee;
}

.nav-tabs>li.active>a, .nav-tabs>li.active>a:focus, .nav-tabs>li.active>a:hover {
	border: 1px solid #eee;
	border-bottom-color: transparent;
}

#cart > .btn, #cart > .btn:hover, #cart > .btn:active {
	color: #777;
	border: none;
	background: transparent;
	outline: none;
	box-shadow: none;
	text-shadow: none;
	border: 0;
	font-size: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#cart.open > .btn {
	border: 0;
}

#cart > .btn .fa {
	font-size: 30px;
	margin-right: 10px;
}

#cart #cart-total {
	display: flex;
	align-items: center;
}

#cart .dropdown-menu {
	background-color: #fdfdfd;
	padding-top: 10px;
}

#cart .table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
	border-top: none;
}

#cart .dropdown-menu .table, #cart .dropdown-menu .table>tbody>tr>td {
	font-size: 14px;
}

#cart .dropdown-menu li p {
	font-size: 15px;
	margin: 16px 0;
}

#cart .dropdown-menu li p .fa {
	font-size: 17px;
}

#cart .dropdown-menu.pull-right .text-center {
	padding-bottom: 10px;
}

#search {
	width: 100%;
}

#search .btn {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 3;
	background: none;
	height: 48px;
	width: 80px;
	padding: 0 0 4px;
	text-align: center;
	border: 0;
}
#search .form-control {
	height: 48px;
	line-height: 20px;
	padding: 0 20px;
	box-shadow: none;
	font-size: 15px;
	border-radius: 0;
	border: 0;
	background-color: #f6f6f6;
}

#search .fa {
	font-size: 21px;
}

#logo img {
	max-height: 50px;
	width: auto;
}

@media (max-width: 767px) {
	#logo a img {
		margin-right: auto;
		margin-left: auto;
	}
}

#search, #cart, #logo {
	margin-bottom: 15px;
}

.breadcrumb {
	border-radius: 0;
	border: 1px solid transparent;
}
.breadcrumb > li {
	text-shadow: none;
}

.breadcrumb > li:after {
	border-bottom: 0;
	transform: none;
	-webkit-transform: none;
	-moz-transform: none;
	-o-transform: none;
}

.breadcrumb > li:last-child::after {
	display: none !important;
}

.product-thumb {
	border: 1px solid #eee;
}

.product-thumb .image {
	background-color: white;
}

.product-thumb .button-group, .product-thumb .button-group button + button {
	border: 0;
}

.product-list .product-thumb .button-group {
	border: 0;
}

@media screen and (min-width: 769px) {
	#account-login .row {
		display: flex;
		flex-flow: row wrap;
	}

	#account-login .row .well {
		height: 100%;
	}
}

footer {
	font-family: "Mulish", sans-serif;
	border-top: 0;
	font-size: 15px;
	padding-top: 30px;
	padding-bottom: 20px;
	margin-top: 20px;
}

footer h5 {
	font-size: 18px;
	font-family: "Mulish", sans-serif;
}

footer hr {
	border-bottom: 1px solid #505050;
}

/* =========================================================
   E-kasetes 1.0.1 - full-width navigation and 3-level menu
   ========================================================= */
.ek-main-menu-bar {
	position: relative;
	z-index: 1000;
	width: 100%;
	background: var(--main-color);
	margin-bottom: 20px;
}

.ek-main-menu-bar .container {
	padding-right: 15px;
	padding-left: 15px;
}

.ek-main-menu-bar #menu {
	min-height: 50px;
	margin: 0;
	background: transparent;
}

.ek-main-menu-bar #menu .navbar-collapse {
	padding-right: 0;
	padding-left: 0;
}

.ek-main-nav {
	display: flex;
	width: 100%;
	margin: 0;
	align-items: stretch;
}

.ek-main-nav > li {
	float: none;
}

.ek-main-nav > li > a,
.ek-categories-toggle {
	display: flex;
	min-height: 50px;
	align-items: center;
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.ek-main-nav > li > a {
	padding: 15px 18px !important;
}

.ek-main-nav > li > a:hover,
.ek-main-nav > li > a:focus,
.ek-categories-toggle:hover,
.ek-categories-toggle:focus,
.ek-categories-menu.is-open > .ek-categories-toggle {
	background: rgba(0, 0, 0, .13);
	color: #fff;
	outline: 0;
	background-color: #001b66;
}

.ek-categories-menu {
	position: relative;
	width: 270px;
	min-width: 270px;
}

.ek-categories-toggle {
	width: 100%;
	padding: 15px 18px;
	gap: 12px;
	text-align: left;
	background-color: #001b66;
}

.ek-categories-toggle .fa-bars {
	font-size: 20px;
}

.ek-categories-arrow {
	margin-left: auto;
	transition: transform .18s ease;
}

.ek-categories-menu.is-open .ek-categories-arrow {
	transform: rotate(180deg);
}

.ek-categories-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	display: none;
	width: 270px;
	margin: 0;
	border: 1px solid #e6e8ec;
	border-top: 0;
	background: #fff;
	box-shadow: 0 8px 22px rgba(20, 35, 60, .16);
}

.ek-categories-menu.is-open > .ek-categories-dropdown {
	display: block;
}

.ek-category-level-1 {
	position: static;
	border-bottom: 1px solid #eceef2;
}

.ek-category-level-1:last-child {
	border-bottom: 0;
}

.ek-category-level-1 > a {
	display: flex;
	min-height: 49px;
	padding: 13px 16px;
	align-items: center;
	gap: 10px;
	background: #fff;
	color: #394454;
	font-size: 14px;
	line-height: 22px;
	text-decoration: none;
}

.ek-category-level-1 > a .fa-angle-right {
	margin-left: auto;
}

.ek-category-name {
	min-width: 0;
	flex: 1 1 auto;
}

.ek-category-thumb {
	display: inline-flex;
	width: var(--ek-category-image-width, 28px);
	height: var(--ek-category-image-height, 28px);
	flex: 0 0 var(--ek-category-image-width, 28px);
	align-items: center;
	justify-content: center;
}

.ek-category-thumb img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.ek-category-level-1:hover > a,
.ek-category-level-1:focus-within > a {
	background: #f5f7fb;
	color: var(--main-color);
}

.ek-category-flyout {
	position: absolute;
	top: 0;
	left: 100%;
	display: none;
	width: 620px;
	min-height: 100%;
	padding: 22px 24px 24px;
	border: 1px solid #e6e8ec;
	background: #fff;
	box-shadow: 8px 8px 22px rgba(20, 35, 60, .16);
}

.ek-category-level-1:hover > .ek-category-flyout,
.ek-category-level-1:focus-within > .ek-category-flyout {
	display: block;
}

.ek-category-flyout-title {
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid #e7eaf0;
}

.ek-category-flyout-title a {
	color: #27344a;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
}

.ek-category-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px 32px;
}

.ek-category-level-2-link {
	display: block;
	margin-bottom: 7px;
	color: #26354f;
	font-size: 15px;
	font-weight: 700;
	line-height: 21px;
	text-decoration: none;
}

.ek-category-level-3 {
	margin: 0;
}

.ek-category-level-3 li {
	margin: 0 0 5px;
}

.ek-category-level-3 a {
	display: block;
	color: #657084;
	font-size: 13px;
	line-height: 19px;
	text-decoration: none;
}

.ek-category-flyout a:hover,
.ek-category-flyout a:focus {
	color: var(--main-color);
}

.ek-mobile-menu-title {
	margin-left: 9px;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
}

@media (max-width: 1199px) and (min-width: 768px) {
	.ek-main-nav > li > a {
		padding-right: 11px !important;
		padding-left: 11px !important;
		font-size: 12px;
	}

	.ek-categories-menu {
		width: 230px;
		min-width: 230px;
	}

	.ek-categories-dropdown {
		width: 230px;
	}

	.ek-category-flyout {
		width: 520px;
	}
}

@media (max-width: 991px) and (min-width: 768px) {
	.ek-horizontal-category:nth-child(n+5) {
		display: none;
	}

	.ek-category-flyout {
		width: 470px;
	}
}

@media (max-width: 767px) {
	.ek-main-menu-bar #menu .navbar-header {
		padding: 0;
	}

	.ek-main-menu-bar #menu .navbar-toggle {
		position: relative;
		float: none;
		display: flex;
		width: 100%;
		min-height: 50px;
		margin: 0;
		padding: 13px 15px;
		align-items: center;
		color: #fff;
		text-align: left;
	}

	.ek-main-menu-bar #menu .navbar-collapse {
		border: 0;
		box-shadow: none;
	}

	.ek-main-nav {
		display: block;
	}

	.ek-categories-menu {
		width: 100%;
		min-width: 0;
	}

	.ek-categories-toggle {
		display: none;
	}

	.ek-categories-dropdown,
	.ek-categories-menu.is-open > .ek-categories-dropdown {
		position: static;
		display: block;
		width: 100%;
		border: 0;
		box-shadow: none;
	}

	.ek-category-level-1 > a {
		padding-right: 18px;
		padding-left: 18px;
	}

	.ek-category-flyout,
	.ek-category-level-1:hover > .ek-category-flyout,
	.ek-category-level-1:focus-within > .ek-category-flyout {
		position: static;
		display: none;
		width: 100%;
		min-height: 0;
		padding: 14px 18px 18px 34px;
		border: 0;
		border-top: 1px solid #eceef2;
		background: #f8f9fb;
		box-shadow: none;
	}

	.ek-category-level-1.is-expanded > .ek-category-flyout {
		display: block;
	}

	.ek-category-level-1.is-expanded > a .fa-angle-right {
		transform: rotate(90deg);
	}

	.ek-category-flyout-title {
		display: none;
	}

	.ek-category-columns {
		display: block;
	}

	.ek-category-level-2 {
		margin-bottom: 14px;
	}

	.ek-category-level-2:last-child {
		margin-bottom: 0;
	}

	.ek-category-level-3 {
		padding-left: 13px;
	}

	.ek-horizontal-category {
		border-top: 1px solid rgba(255, 255, 255, .15);
	}

	.ek-main-nav > .ek-horizontal-category > a {
		min-height: 44px;
		padding: 12px 18px !important;
	}
}

/* Header v1.0.2 */
#ek-topbar {
	min-height: 34px;
	border-bottom: 1px solid #e8edf5;
	background: #f7f9fc;
	font-size: 12px;
}
.ek-topbar-inner { display: flex; min-height: 34px; align-items: center; justify-content: space-between; gap: 22px; }
.ek-topbar-contact, .ek-topbar-links { display: flex; align-items: center; gap: 18px; min-width: 0; }
.ek-topbar-contact a[href^="tel:"] { font-size: 16px; font-weight: 600; }
.ek-topbar-contact a, .ek-topbar-links > a { display: inline-flex; align-items: center; gap: 6px; color: #49556a; white-space: nowrap; text-decoration: none; }
.ek-topbar-contact a:hover, .ek-topbar-links > a:hover { color: var(--main-color); }
.ek-topbar-contact .fa, .ek-topbar-links .fa { color: var(--main-color); font-size: 13px; }
.ek-topbar-address { overflow: hidden; max-width: 285px; text-overflow: ellipsis; }
.ek-topbar-language, .ek-topbar-currency { display: inline-flex; align-items: center; }
.ek-language-switcher { display: inline-flex; align-items: center; gap: 7px; margin: 0; }
.ek-language-switcher .language-select { padding: 0; border: 0; background: transparent; color: #657084; font: inherit; font-weight: 600; line-height: 1; cursor: pointer; }
.ek-language-switcher .language-select:hover,
.ek-language-switcher .language-select:focus,
.ek-language-switcher .language-select.is-active { color: var(--main-color); outline: none; }
.ek-language-separator { color: #a7afbc; }
#ek-topbar .pull-left { float: none !important; }

#ek-header { background: #fff; }
.ek-header-inner { display: grid; grid-template-columns: minmax(190px, 280px) minmax(260px, 1fr) auto; min-height: 104px; align-items: center; gap: 42px; }
#ek-header #logo { margin: 0; }
#ek-header #logo img { max-width: 100%; max-height: 70px; }
.ek-header-search { width: 100%; }
#ek-header #search { width: 100%; margin: 0; }
#ek-header #search .form-control { height: 48px; padding: 10px 16px; border: 1px solid #e2e7f0; background: #fff; box-shadow: none; }
#ek-header #search .btn { width: 52px; height: 48px; border: 0 !important; background: var(--main-color); color: #fff; }
#ek-header #search .btn:hover { background: var(--main-color-hover); }
.ek-header-actions { display: flex; align-items: center; gap: 28px; }
.ek-account { position: relative; }
.ek-account-toggle { display: flex; align-items: center; gap: 8px; color: #273650; font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.ek-account-toggle:hover, .ek-account-toggle:focus { color: var(--main-color); text-decoration: none; }
.ek-account-toggle .fa { color: var(--main-color); font-size: 22px; }
.ek-account .dropdown-menu { margin-top: 12px; min-width: 180px; box-shadow: 0 8px 24px rgba(20,35,60,.14); }
.ek-account .dropdown-menu a { padding: 9px 14px; }
.ek-header-cart { min-width: 190px; }
#ek-header #cart { margin: 0; }
#ek-header .ek-cart-toggle { position: relative; display: flex; width: 100%; min-height: 54px; padding: 4px 30px 4px 0; align-items: center; gap: 11px; border: 0; background: transparent; color: #273650; text-align: left; }
#ek-header .ek-cart-toggle:focus { outline: none; }
.ek-cart-icon { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; color: var(--main-color); }
.ek-cart-icon .fa { font-size: 27px; }
.ek-cart-copy { display: flex; min-width: 0; flex-direction: column; line-height: 1.25; }
.ek-cart-copy strong { font-size: 13px; font-weight: 700; }
.ek-cart-copy #cart-total { margin-top: 3px; color: #758096; font-size: 12px; white-space: nowrap; }
.ek-cart-badge { position: absolute; top: 2px; right: 4px; min-width: 20px; height: 20px; padding: 0 5px; border: 2px solid #fff; border-radius: 11px; background: var(--main-color); color: #fff; font-size: 9px; font-weight: 700; line-height: 16px; text-align: center; white-space: nowrap; }
#ek-header #cart.open .ek-cart-toggle, #ek-header #cart.open .ek-cart-toggle:hover { background: transparent; color: var(--main-color); box-shadow: none; }
#ek-header .ek-cart-dropdown { width: 430px; max-width: calc(100vw - 30px); margin-top: 13px; padding: 14px; border: 1px solid #e4e8ef; background: #fff; box-shadow: 0 10px 30px rgba(20,35,60,.16); }
.ek-cart-products { max-height: 320px; overflow-y: auto; }
.ek-cart-dropdown .table { margin-bottom: 12px; }
.ek-cart-dropdown .img-thumbnail { max-width: 54px; }
.ek-cart-buttons { display: flex; justify-content: flex-end; gap: 8px; }
.ek-cart-buttons .btn { padding: 9px 13px; }
.ek-cart-empty p { margin: 12px 0; color: #6b7588; }

@media (max-width: 1199px) {
	.ek-topbar-contact { gap: 12px; }
	.ek-topbar-address { display: none !important; }
	.ek-topbar-links { gap: 12px; }
	.ek-header-inner { grid-template-columns: 230px minmax(230px,1fr) auto; gap: 24px; }
	.ek-header-actions { gap: 18px; }
	.ek-header-cart { min-width: 170px; }
}
@media (max-width: 991px) {
	.ek-topbar-links > a { display: none; }
	.ek-topbar-links > a:last-of-type { display: inline-flex; }
	.ek-header-inner { grid-template-columns: 190px minmax(210px,1fr) auto; min-height: 90px; gap: 18px; }
	.ek-account-toggle span { display: none; }
	.ek-header-actions { gap: 8px; }
	.ek-header-cart { min-width: 145px; }
	.ek-cart-copy strong { display: none; }
}
@media (max-width: 767px) {
	#ek-topbar { min-height: 38px; }
	.ek-topbar-inner { min-height: 38px; }
	.ek-topbar-contact a:not(:first-child), .ek-topbar-links > a { display: none !important; }
	.ek-topbar-contact a:first-child span { display: none; }
	.ek-topbar-links { margin-left: auto; }
	.ek-header-inner { display: grid; grid-template-columns: 1fr auto; min-height: 0; padding: 14px 0; gap: 12px; }
	#ek-header #logo { max-width: 210px; }
	.ek-header-search { grid-column: 1 / -1; grid-row: 2; }
	.ek-header-actions { grid-column: 2; grid-row: 1; }
	.ek-account-toggle .fa { font-size: 20px; }
	.ek-header-cart { min-width: 46px; }
	.ek-cart-copy { display: none; }
	#ek-header .ek-cart-toggle { min-height: 42px; padding: 0 7px; }
	.ek-cart-badge { top: -2px; right: -5px; }
	#ek-header .ek-cart-dropdown { position: fixed; top: 92px; right: 10px; left: 10px; width: auto; max-width: none; }
}


/* Header and vertical category refinements v1.0.11 */
.ek-language-switcher {
	gap: 4px;
}

.ek-language-switcher .language-select {
	min-width: 28px;
	height: 25px;
	padding: 0 7px;
	border-radius: 4px;
	transition: background-color .18s ease, color .18s ease;
}

.ek-language-switcher .language-select:hover,
.ek-language-switcher .language-select:focus {
	background: rgba(0, 61, 204, .08);
	color: var(--main-color);
}

.ek-language-switcher .language-select.is-active,
.ek-language-switcher .language-select.is-active:hover,
.ek-language-switcher .language-select.is-active:focus {
	background: var(--main-color);
	color: #fff;
}

.ek-language-separator {
	margin: 0 1px;
}

.ek-header-cart {
	min-width: 145px;
}

#ek-header .ek-cart-toggle {
	width: auto;
	min-width: 132px;
	padding-right: 22px;
}

.ek-cart-badge {
	top: 1px;
	right: 0;
}

.ek-category-level-1 > a {
	min-height: calc(var(--ek-category-image-height, 28px) + 16px);
}

.ek-categories-dropdown:not(.has-category-images) .ek-category-level-1 > a {
	min-height: 50px;
}

@media (max-width: 1199px) {
	.ek-header-cart {
		min-width: 135px;
	}

	#ek-header .ek-cart-toggle {
		min-width: 124px;
	}
}

@media (max-width: 991px) {
	.ek-header-cart {
		min-width: 118px;
	}

	#ek-header .ek-cart-toggle {
		min-width: 108px;
	}
}

@media (max-width: 767px) {
	.ek-header-cart,
	#ek-header .ek-cart-toggle {
		min-width: 46px;
	}
}

/* Menu refinements v1.0.11 */
/*
 * Do not make the desktop category list a scroll container. Any overflow
 * other than visible clips the absolutely positioned mega-menu flyout and
 * also creates a horizontal scrollbar. The menu therefore grows naturally
 * on desktop; mobile keeps its own accordion behaviour below.
 */
.ek-categories-dropdown {
	max-height: none;
	overflow: visible;
}

.ek-category-level-1.is-active > a,
.ek-category-level-2.is-active > .ek-category-level-2-link,
.ek-category-level-3 li.is-active > a {
	color: var(--main-color);
	font-weight: 700;
}

.ek-category-columns {
	grid-template-columns: repeat(var(--ek-mega-columns, 2), minmax(0, 1fr));
}

.ek-category-view-all {
	display: inline-block;
	margin-top: 5px;
	color: var(--main-color);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}

@media (max-width: 767px) {
	.ek-categories-dropdown {
		max-height: none;
		overflow: visible;
	}

	.ek-category-columns { grid-template-columns: 1fr; }
}

/* =========================================================
   Product cards — E-kasetės Theme 1.0.13
   Applied to category, search, manufacturer and product modules.
   ========================================================= */
.product-layout {
	position: relative;
}

.product-layout .product-thumb {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	margin-bottom: 24px;
	overflow: hidden;
	background: #fff;
	border: 1px solid #e5eaf2;
	border-radius: 10px;
	box-shadow: 0 2px 8px rgba(17, 45, 99, 0.04);
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

@media (hover: hover) and (pointer: fine) {
	.product-layout .product-thumb:hover {
		z-index: 4;
		transform: translateY(-4px);
		border-color: #cbd8ef;
		box-shadow: 0 12px 28px rgba(17, 45, 99, 0.14);
	}
}

.product-layout .product-thumb .image {
	position: relative;
	padding: 14px 14px 4px;
	background: #fff;
}

.product-layout .product-thumb .image a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 190px;
}

.product-layout .product-thumb .image a:hover {
	opacity: 1;
}

.product-layout .product-thumb .image img {
	max-width: 100%;
	max-height: 210px;
	width: auto;
	height: auto;
	transition: transform .25s ease;
}

@media (hover: hover) and (pointer: fine) {
	.product-layout .product-thumb:hover .image img {
		transform: scale(1.025);
	}
}

.product-layout .product-thumb .caption {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
	padding: 10px 16px 8px;
	text-align: left;
}

.product-layout .product-thumb h4 {
	margin: 0 0 10px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
}

.product-layout .product-thumb h4 a {
	display: -webkit-box;
	overflow: hidden;
	color: #173f91;
	text-decoration: none;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.product-layout .product-thumb h4 a:hover {
	color: #0648d7;
}

.product-layout .product-thumb .caption > p:not(.price) {
	margin-bottom: 10px;
	color: #707b8e;
	font-size: 12px;
	line-height: 1.45;
}

.product-layout .product-thumb .rating {
	padding: 0 0 8px;
}

.product-layout .product-thumb .price {
	margin-top: auto;
	margin-bottom: 4px;
	color: #0648d7;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}

.product-layout .product-thumb .price-new {
	color: #0648d7;
	font-weight: 700;
}

.product-layout .product-thumb .price-old {
	margin-left: 8px;
	color: #9aa4b5;
	font-size: 13px;
	font-weight: 400;
}

.product-layout .product-thumb .price-tax {
	margin-top: 2px;
	color: #9aa4b5;
	font-size: 11px;
	font-weight: 400;
}

.product-layout .product-thumb .button-group {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding: 10px 14px 14px;
	overflow: visible;
	background: transparent;
	border: 0;
}

.product-layout .product-thumb .button-group button,
.product-layout .product-thumb .button-group button + button {
	float: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	background: #fff;
	border: 1px solid #d9e1ef;
	border-radius: 8px;
	color: #1749a5;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	text-transform: none;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.product-layout .product-thumb .button-group button:first-child {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	padding: 0 12px;
	background: #0648d7;
	border-color: #0648d7;
	color: #fff;
	font-size: 13px;
	box-shadow: 0 4px 10px rgba(6, 72, 215, 0.18);
}

.product-layout .product-thumb .button-group button:first-child span {
	display: inline !important;
	margin-left: 7px;
	white-space: nowrap;
}

.product-layout .product-thumb .button-group button:hover {
	background: #eef4ff;
	border-color: #9eb8ed;
	color: #0648d7;
	text-decoration: none;
	transform: translateY(-1px);
}

.product-layout .product-thumb .button-group button:first-child:hover {
	background: #003dbd;
	border-color: #003dbd;
	color: #fff;
}

.product-layout .product-thumb .button-group button:focus {
	outline: 2px solid rgba(6, 72, 215, .25);
	outline-offset: 2px;
}

/* List mode keeps the same visual language without forcing card proportions. */
.product-list .product-thumb {
	display: grid;
	grid-template-columns: minmax(190px, 28%) 1fr auto;
	align-items: stretch;
}

.product-list .product-thumb .image {
	float: none;
	padding: 14px;
}

.product-list .product-thumb .caption {
	margin-left: 0;
	padding: 18px 18px 14px;
}

.product-list .product-thumb .button-group {
	flex-direction: column;
	justify-content: center;
	min-width: 150px;
	padding: 18px 16px;
	border-left: 1px solid #edf0f5;
}

.product-list .product-thumb .button-group button,
.product-list .product-thumb .button-group button + button,
.product-list .product-thumb .button-group button:first-child {
	flex: 0 0 auto;
	width: 100%;
}

@media (max-width: 1199px) {
	.product-layout .product-thumb .button-group {
		gap: 6px;
		padding-left: 10px;
		padding-right: 10px;
	}

	.product-layout .product-thumb .button-group button,
	.product-layout .product-thumb .button-group button + button {
		width: 38px;
		height: 40px;
	}

	.product-layout .product-thumb .button-group button:first-child {
		width: auto;
		font-size: 12px;
	}
}

@media (max-width: 991px) {
	.product-list .product-thumb {
		grid-template-columns: 190px 1fr;
	}

	.product-list .product-thumb .button-group {
		grid-column: 1 / -1;
		flex-direction: row;
		min-width: 0;
		border-top: 1px solid #edf0f5;
		border-left: 0;
	}

	.product-list .product-thumb .button-group button,
	.product-list .product-thumb .button-group button + button {
		width: 42px;
	}

	.product-list .product-thumb .button-group button:first-child {
		flex: 1 1 auto;
		width: auto;
	}
}

@media (max-width: 767px) {
	.product-layout .product-thumb {
		margin-bottom: 16px;
		border-radius: 8px;
	}

	.product-layout .product-thumb .image a {
		min-height: 160px;
	}

	.product-layout .product-thumb .caption {
		padding: 8px 12px 6px;
	}

	.product-layout .product-thumb .button-group {
		padding: 9px 10px 12px;
	}

	.product-list .product-thumb {
		display: flex;
		flex-direction: column;
	}

	.product-list .product-thumb .caption {
		padding: 10px 12px 6px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.product-layout .product-thumb,
	.product-layout .product-thumb .image img,
	.product-layout .product-thumb .button-group button {
		transition: none;
	}

	.product-layout .product-thumb:hover,
	.product-layout .product-thumb:hover .image img,
	.product-layout .product-thumb .button-group button:hover {
		transform: none;
	}
}


/* Product card settings --------------------------------------------------- */
.product-layout { padding-left: 8px; padding-right: 8px; margin-bottom: 16px; }
body.ek-card-spacing-normal .product-layout { padding-left: 10px; padding-right: 10px; margin-bottom: 20px; }
body.ek-card-spacing-comfortable .product-layout { padding-left: 15px; padding-right: 15px; margin-bottom: 24px; }

.ek-product-meta { display:flex; flex-wrap:wrap; gap:4px 8px; min-height:18px; margin:0 0 6px; color:#7a8699; font-size:11px; line-height:1.35; }
.ek-product-model::before { content:'•'; margin-right:8px; color:#b2bac7; }
body.ek-card-hide-model .ek-product-model,
body.ek-card-hide-manufacturer .ek-product-manufacturer,
body.ek-card-hide-rating .ek-product-rating,
body.ek-card-hide-tax .ek-product-tax,
body.ek-card-hide-wishlist .ek-product-wishlist,
body.ek-card-hide-compare .ek-product-compare,
body.ek-card-hide-cart .ek-product-cart,
body.ek-card-hide-discount .ek-product-discount { display:none !important; }
body.ek-card-hide-model.ek-card-hide-manufacturer .ek-product-meta { display:none; }
body.ek-card-hide-model .ek-product-manufacturer + .ek-product-model::before,
body.ek-card-hide-manufacturer .ek-product-model::before { content:none; margin:0; }

.ek-product-discount { position:absolute; z-index:3; top:4px; left:4px; display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border-radius:50%; background:#df2940; color:#fff; font-size:13px; font-weight:700; line-height:1; white-space:nowrap; box-shadow:0 4px 12px rgba(223,41,64,.22); pointer-events:none; transition:transform .18s ease, box-shadow .18s ease; }
@media (hover:hover) and (pointer:fine) {
  .product-layout .product-thumb:hover .ek-product-discount { transform:scale(1.06); box-shadow:0 6px 16px rgba(223,41,64,.28); }
}
.product-layout .product-thumb .image { position:relative; }

body.ek-card-image-hover-none .product-thumb:hover .image img { transform:none; }
body.ek-card-image-hover-fade .product-thumb:hover .image img { transform:none; opacity:.86; }
body.ek-card-hover-none .product-thumb:hover { transform:none; box-shadow:none; border-color:#e2e7f0; }
body.ek-card-hover-lift .product-thumb:hover { transform:translateY(-4px); box-shadow:none; }
body.ek-card-hover-lift-shadow .product-thumb:hover { transform:translateY(-4px); box-shadow:0 12px 28px rgba(17,45,99,.14); }

.product-layout .product-thumb .button-group button,
.product-layout .product-thumb .button-group button + button { height:var(--ek-card-button-height, 44px); }
.product-layout .product-thumb .button-group button:hover:not(:first-child) { background:#0648d7; border-color:#0648d7; color:#fff; }

@media (max-width:767px) {
  .product-layout { padding-left:8px; padding-right:8px; margin-bottom:16px; }
}
\n\n

/* E-kasetes footer ------------------------------------------------------- */
.ek-footer {
	margin-top: 34px;
	color: #35456b;
	background:
		linear-gradient(110deg, rgba(238, 244, 255, .88), rgba(255, 255, 255, .98) 52%, rgba(241, 246, 255, .9));
	border-top: 1px solid #e1e8f4;
	font-size: 12px;
}

.ek-footer .container {
	width: 100%;
	max-width: 1180px;
}

.ek-footer-main {
	padding: 20px 0 12px;
}

.ek-footer-grid {
	display: flex;
	flex-wrap: wrap;
	margin-left: 0;
	margin-right: 0;
}

.ek-footer-column {
	min-height: 112px;
	padding: 0 36px 8px;
	border-right: 1px solid #e5eaf3;
}

.ek-footer-column:first-child {
	padding-left: 16px;
}

.ek-footer-column:last-child {
	padding-right: 16px;
	border-right: 0;
}

.ek-footer h5 {
	margin: 0 0 8px;
	color: #0c2668;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .025em;
	text-transform: uppercase;
}

.ek-footer ul {
	margin: 0;
}

.ek-footer li {
	margin: 0 0 3px;
	font-size: 11px;
	line-height: 1.35;
}

.ek-footer a {
	color: #35456b;
	transition: color .16s ease;
}

.ek-footer a:hover,
.ek-footer a:focus {
	color: #0648d7;
	text-decoration: none;
}

.ek-footer-contact li {
	display: flex;
	align-items: flex-start;
	gap: 7px;
}

.ek-footer-contact li i {
	flex: 0 0 12px;
	margin-top: 2px;
	color: #244b9d;
	font-size: 12px;
	text-align: center;
}

.ek-footer-contact li span {
	white-space: pre-line;
}

.ek-footer-bottom {
	border-top: 1px solid #e2e8f2;
	background: rgba(255, 255, 255, .64);
}

.ek-footer-bottom-row {
	min-height: 36px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 5px 16px;
}

.ek-footer-legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	color: #4d5d7c;
	font-size: 10px;
	line-height: 1.35;
}

.ek-footer-legal span {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
}

.ek-footer-legal span + span::before {
	content: '';
	width: 1px;
	height: 11px;
	margin: 0 12px;
	background: #bfc9da;
}

.ek-footer-copyright i {
	margin-right: 4px;
	font-size: 10px;
}

.ek-footer-payments {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 11px;
	color: #14275d;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	white-space: nowrap;
}

.ek-footer-payment-logos {
	display: flex;
	align-items: center;
	gap: 8px;
}

.ek-payment-logo {
	height: 26px;
	min-width: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 7px;
	border: 1px solid #e5eaf2;
	border-radius: 3px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 1px 4px rgba(25, 50, 100, .05);
}

.ek-payment-logo img {
	display: block;
	width: auto;
	max-width: 58px;
	height: 20px;
	object-fit: contain;
}

.ek-payment-logo-text {
	color: #172a62;
	font-size: 11px;
	font-weight: 700;
	text-transform: none;
}

@media (max-width: 991px) {
	.ek-footer-column {
		padding-left: 22px;
		padding-right: 22px;
	}

	.ek-footer-bottom-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.ek-footer-payments {
		justify-content: flex-start;
	}
}

@media (max-width: 767px) {
	.ek-footer {
		margin-top: 26px;
	}

	.ek-footer-main {
		padding: 20px 0 4px;
	}

	.ek-footer-column,
	.ek-footer-column:first-child,
	.ek-footer-column:last-child {
		min-height: 0;
		margin-bottom: 18px;
		padding-left: 15px;
		padding-right: 15px;
		border-right: 0;
	}

	.ek-footer-bottom-row {
		padding-left: 0;
		padding-right: 0;
	}

	.ek-footer-legal {
		gap: 5px 12px;
	}

	.ek-footer-legal span {
		white-space: normal;
	}

	.ek-footer-legal span + span::before {
		display: none;
	}

	.ek-footer-payments {
		align-items: flex-start;
		flex-direction: column;
		gap: 6px;
		white-space: normal;
	}
}

@media (max-width: 479px) {
	.ek-footer-column {
		width: 100%;
	}

	.ek-footer-payment-logos {
		flex-wrap: wrap;
	}
}


/* Product page ------------------------------------------------------------ */
#product-product .breadcrumb {
	margin-bottom: 20px;
}

#product-product #content > .ek-product-main {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
	align-items: start;
	gap: 28px;
	margin: 0;
}

#product-product .ek-product-main > [class*="col-"] {
	float: none;
	width: auto;
	min-height: 0;
	padding: 0;
}

#product-product .ek-product-gallery-column {
	display: contents;
}

#product-product .thumbnails {
	grid-column: 1;
	grid-row: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
}

#product-product .thumbnails > li {
	margin: 0;
}

#product-product .thumbnails .ek-product-main-image {
	position: relative;
	flex: 0 0 100%;
	width: 100%;
}

#product-product .thumbnails .ek-product-main-image > .thumbnail {
	min-height: 420px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 22px;
	overflow: hidden;
	border: 1px solid #dce4f1;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 5px 18px rgba(21, 54, 112, .06);
}

#product-product .thumbnails .ek-product-main-image img {
	max-height: 430px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	transition: transform .25s ease;
}

#product-product .thumbnails .ek-product-main-image > .thumbnail:hover img {
	transform: scale(1.02);
}

#product-product .thumbnails .image-additional {
	flex: 0 0 72px;
	width: 72px;
}

#product-product .thumbnails .image-additional .thumbnail {
	height: 72px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 5px;
	overflow: hidden;
	border: 1px solid #dce4f1;
	border-radius: 8px;
	background: #fff;
}

#product-product .thumbnails .image-additional .thumbnail:hover {
	border-color: #0a4bd8;
}

#product-product .thumbnails .image-additional img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.ek-product-page-discount {
	position: absolute;
	z-index: 3;
	top: 10px;
	left: 10px;
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #df2940;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 5px 15px rgba(223, 41, 64, .24);
	pointer-events: none;
}

#product-product .ek-product-summary {
	grid-column: 2;
	grid-row: 1;
	position: relative;
	padding: 24px !important;
	border: 1px solid #dce4f1;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(21, 54, 112, .07);
}

#product-product .ek-product-summary-actions {
	position: absolute;
	top: 18px;
	right: 18px;
	display: flex;
	gap: 7px;
}

#product-product .ek-product-summary-actions .btn {
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid #d7e0ef;
	border-radius: 8px;
	background: #fff;
	color: #1046ad;
}

#product-product .ek-product-summary-actions .btn:hover {
	border-color: #0648d7;
	background: #0648d7;
	color: #fff;
}

#product-product .ek-product-title {
	margin: 0 86px 16px 0;
	color: #15295e;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.25;
}

#product-product .ek-product-details {
	margin: 0 0 18px;
	padding: 14px 0;
	border-top: 1px solid #edf1f7;
	border-bottom: 1px solid #edf1f7;
	color: #687692;
	font-size: 13px;
	line-height: 1.65;
}

#product-product .ek-product-details a {
	color: #0648d7;
}

#product-product .ek-product-price-block {
	margin: 0 0 18px;
}

#product-product .ek-product-price-block h2 {
	margin: 0;
	color: #0648d7;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.15;
}

#product-product .ek-product-price-block > li:first-child > span[style*="line-through"] {
	display: inline-block;
	margin: 0 0 4px;
	color: #9aa5b8;
	font-size: 15px;
}

#product-product .ek-product-price-block li {
	color: #687692;
	font-size: 13px;
}

#product-product #product {
	margin-top: 10px;
}

#product-product #product .form-control {
	height: 44px;
	border-color: #d7e0ef;
	border-radius: 7px;
	box-shadow: none;
}

#product-product #product .form-control:focus {
	border-color: #2766df;
	box-shadow: 0 0 0 3px rgba(39, 102, 223, .11);
}

#product-product .ek-product-purchase {
	margin: 20px 0 0;
}

#product-product .ek-product-purchase > .control-label {
	display: block;
	margin-bottom: 7px;
	color: #263b6d;
	font-weight: 600;
}

#product-product .ek-product-purchase-row {
	display: flex;
	align-items: stretch;
	gap: 12px;
}

#product-product .ek-product-quantity {
	flex: 0 0 132px;
	display: grid;
	grid-template-columns: 38px 1fr 38px;
	overflow: hidden;
	border: 1px solid #d7e0ef;
	border-radius: 8px;
	background: #fff;
}

#product-product .ek-product-quantity .form-control {
	height: 50px;
	padding: 0 4px;
	border: 0;
	border-radius: 0;
	text-align: center;
	font-weight: 600;
}

#product-product .ek-qty-button {
	padding: 0;
	border: 0;
	background: #f4f7fc;
	color: #174aa9;
	font-size: 11px;
}

#product-product .ek-qty-button:hover {
	background: #e8effb;
}

#product-product #button-cart {
	flex: 1 1 auto;
	min-height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	margin: 0;
	border: 0;
	border-radius: 8px;
	background: #0648d7;
	font-size: 16px;
	font-weight: 600;
	box-shadow: 0 7px 16px rgba(6, 72, 215, .18);
}

#product-product #button-cart:hover,
#product-product #button-cart:focus {
	background: #073eb4;
}

#product-product .ek-product-rating {
	margin-top: 18px;
	color: #7f8da7;
}

#product-product .ek-product-rating .fa-star {
	color: #f6b81a;
}

#product-product .ek-product-tabs {
	grid-column: 1 / -1;
	grid-row: 2;
	margin: 8px 0 0;
	border-bottom: 1px solid #dce4f1;
}

#product-product .ek-product-tabs > li > a {
	margin: 0 28px 0 0;
	padding: 15px 1px 12px;
	border: 0;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	background: transparent;
	color: #6f7d98;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
}

#product-product .ek-product-tabs > li.active > a,
#product-product .ek-product-tabs > li.active > a:hover,
#product-product .ek-product-tabs > li.active > a:focus,
#product-product .ek-product-tabs > li > a:hover {
	border: 0;
	border-bottom: 3px solid #0648d7;
	background: transparent;
	color: #0e326f;
}

#product-product .ek-product-tab-content {
	grid-column: 1 / -1;
	grid-row: 3;
	padding: 22px 0 8px;
	color: #4f5e79;
	font-size: 14px;
	line-height: 1.7;
}

#product-product .ek-product-tab-content img {
	max-width: 100%;
	height: auto;
}

#product-product .ek-product-specification {
	border: 0;
}

#product-product .ek-product-specification thead td {
	padding: 14px 12px 8px;
	border: 0;
	border-bottom: 2px solid #e2e8f2;
	color: #163675;
}

#product-product .ek-product-specification tbody td {
	padding: 11px 12px;
	border: 0;
	border-bottom: 1px solid #e8edf5;
}

#product-product .ek-product-specification tbody td:first-child {
	width: 38%;
	color: #31466f;
	font-weight: 600;
}

#product-product .ek-product-related-title {
	margin: 30px 0 18px;
	color: #172f68;
	font-size: 22px;
	font-weight: 600;
}

#product-product .ek-product-related-grid {
	margin-left: -8px;
	margin-right: -8px;
}

.ek-mobile-buybar {
	display: none;
}

@media (max-width: 991px) {
	#product-product #content > .ek-product-main {
		grid-template-columns: minmax(0, 1fr) minmax(300px, .88fr);
		gap: 18px;
	}

	#product-product .thumbnails .ek-product-main-image > .thumbnail {
		min-height: 330px;
	}

	#product-product .ek-product-summary {
		padding: 20px !important;
	}

	#product-product .ek-product-title {
		font-size: 24px;
	}

	#product-product .ek-product-purchase-row {
		flex-direction: column;
	}

	#product-product .ek-product-quantity {
		flex-basis: 50px;
		width: 132px;
	}
}

@media (max-width: 767px) {
	#product-product #content > .ek-product-main {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	#product-product .ek-product-gallery-column {
		display: block;
		width: 100%;
		order: 1;
	}

	#product-product .ek-product-summary {
		width: 100%;
		order: 2;
		padding: 18px !important;
	}

	#product-product .ek-product-tabs {
		order: 3;
		width: 100%;
		display: flex;
		overflow-x: auto;
		white-space: nowrap;
	}

	#product-product .ek-product-tab-content {
		order: 4;
		width: 100%;
		padding-top: 18px;
	}

	#product-product .thumbnails {
		display: flex;
	}

	#product-product .thumbnails .ek-product-main-image > .thumbnail {
		min-height: 300px;
		padding: 14px;
	}

	#product-product .ek-product-title {
		margin-right: 76px;
		font-size: 22px;
	}

	#product-product .ek-product-price-block h2 {
		font-size: 30px;
	}

	#product-product .ek-product-purchase-row {
		flex-direction: row;
	}

	#product-product .ek-product-quantity {
		flex: 0 0 120px;
	}

	#product-product .ek-product-tabs > li {
		float: none;
	}

	#product-product .ek-product-tabs > li > a {
		margin-right: 22px;
	}

	.ek-mobile-buybar {
		position: fixed;
		z-index: 1040;
		right: 0;
		bottom: 0;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
		padding: 10px 14px;
		border-top: 1px solid #d8e1ef;
		background: rgba(255, 255, 255, .97);
		box-shadow: 0 -7px 24px rgba(20, 48, 100, .13);
		transform: translateY(110%);
		transition: transform .22s ease;
	}

	.ek-mobile-buybar.is-visible {
		transform: translateY(0);
	}

	.ek-mobile-buybar-price {
		color: #0648d7;
		font-size: 18px;
		white-space: nowrap;
	}

	.ek-mobile-buybar-button {
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 7px;
		padding: 0 20px;
		border-radius: 7px;
		font-weight: 600;
	}

	body.ek-mobile-buybar-visible {
		padding-bottom: 66px;
	}
}

@media (max-width: 479px) {
	#product-product .ek-product-purchase-row {
		flex-direction: column;
	}

	#product-product .ek-product-quantity {
		flex-basis: 48px;
		width: 126px;
	}

	#product-product .thumbnails .ek-product-main-image > .thumbnail {
		min-height: 260px;
	}

	.ek-product-page-discount {
		top: 7px;
		left: 7px;
		width: 46px;
		height: 46px;
		font-size: 13px;
	}
}


/* Product page compatibility and final colour corrections ---------------- */
#product-product #button-cart,
#product-product #button-cart:hover,
#product-product #button-cart:focus,
#product-product #button-cart:active,
#product-product #button-cart i,
#product-product #button-cart span {
	color: #fff !important;
}

#product-product #button-cart {
	background-color: #0648d7 !important;
	border-color: #0648d7 !important;
}

#product-product #button-cart:hover,
#product-product #button-cart:focus,
#product-product #button-cart:active {
	background-color: #073eb4 !important;
	border-color: #073eb4 !important;
}

#product-product .ek-product-module-anchor {
	display: none;
}

/*
 * Custom Banner and similar legacy product-page modules append raw responsive
 * images immediately after #product. Keep those outputs visible and aligned
 * with the new summary card without requiring changes to the module itself.
 */
#product-product .ek-product-summary > img.img-responsive,
#product-product .ek-product-summary > a > img.img-responsive {
	display: block;
	width: 100%;
	height: auto;
	margin-top: 14px;
	border-radius: 8px;
}

#product-product .ek-product-summary > a {
	display: block;
	text-decoration: none;
}

#product-product .ek-product-summary > a + img.img-responsive,
#product-product .ek-product-summary > img.img-responsive + img.img-responsive,
#product-product .ek-product-summary > a + a {
	margin-top: 10px;
}


/* =========================================================
   Theme controls — v1.0.24
   One visual language for native OC controls and AG modules.
   ========================================================= */
.btn-danger {
	border-color: #df2940 !important;
	background: #df2940;
	color: #fff !important;
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-danger.active {
	border-color: #c72137 !important;
	background: #c72137;
	color: #fff !important;
}

.btn-success {
	border-color: #2f9d67 !important;
	background: #2f9d67;
	color: #fff !important;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active {
	border-color: #278557 !important;
	background: #278557;
	color: #fff !important;
}

.btn-warning {
	color: #fff !important;
}

.btn .fa {
	color: inherit;
}

#search .btn,
#ek-header #search .btn {
	border-radius: 0 7px 7px 0;
}

/* Product-card action colours are theme tokens, not isolated module colours. */
.product-layout .product-thumb .button-group button:first-child {
	border-color: var(--main-color);
	background: var(--main-color);
	color: #fff;
}

.product-layout .product-thumb .button-group button:first-child:hover,
.product-layout .product-thumb .button-group button:first-child:focus {
	border-color: var(--main-color-hover);
	background: var(--main-color-hover);
	color: #fff;
}

.product-layout .product-thumb .button-group button:not(:first-child) {
	color: #1749a5;
}

.product-layout .product-thumb .button-group button:not(:first-child):hover,
.product-layout .product-thumb .button-group button:not(:first-child):focus {
	color: #0648d7;
}

/* AG modules intentionally use native Bootstrap button classes. */
.agpc .btn-primary,
.agpc .btn-primary:hover,
.agpc .btn-primary:focus,
.agpc .btn-primary:active {
	color: #fff !important;
}

.agpc .btn-default {
	color: #1749a5 !important;
}

/* Mobile audit — controls, cards and forms */
@media (max-width: 767px) {
	.btn:not(.btn-xs) {
		min-height: 42px;
	}

	.btn-lg {
		min-height: 46px;
	}

	.form-control {
		min-height: 42px;
	}

	select.form-control {
		padding-top: 8px;
		padding-bottom: 8px;
	}

	.input-group-btn > .btn {
		min-height: 42px;
	}

	#ek-header #search .form-control,
	#ek-header #search .btn {
		height: 44px;
		min-height: 44px;
	}

	.product-layout .product-thumb h4 {
		margin-bottom: 7px;
		font-size: 14px;
		line-height: 1.4;
	}

	.product-layout .product-thumb .caption > p:not(.price) {
		font-size: 12px;
		line-height: 1.4;
	}

	.product-layout .product-thumb .price {
		font-size: 15px;
	}

	.product-layout .product-thumb .button-group {
		gap: 7px;
	}

	.product-layout .product-thumb .button-group button,
	.product-layout .product-thumb .button-group button + button {
		width: 42px;
		height: 42px;
		min-height: 42px;
	}

	.product-layout .product-thumb .button-group button:first-child {
		min-height: 42px;
	}

	/* Horizontal controls must not force page overflow. */
	.btn-group,
	.input-group,
	.form-group {
		max-width: 100%;
	}

	.table-responsive {
		border: 0;
	}

	.pagination {
		display: flex;
		flex-wrap: wrap;
		gap: 3px;
	}

	.pagination > li > a,
	.pagination > li > span {
		min-width: 38px;
		min-height: 38px;
		padding: 8px 10px;
		text-align: center;
	}
}

@media (max-width: 479px) {
	.product-layout .product-thumb .button-group {
		padding-left: 8px;
		padding-right: 8px;
	}

	.product-layout .product-thumb .button-group button,
	.product-layout .product-thumb .button-group button + button {
		width: 40px;
	}

	.product-layout .product-thumb .button-group button:first-child {
		width: auto;
		padding-left: 9px;
		padding-right: 9px;
	}

	.ek-mobile-buybar {
		gap: 8px;
		padding-left: 10px;
		padding-right: 10px;
	}

	.ek-mobile-buybar-button {
		padding-left: 14px;
		padding-right: 14px;
	}
}


/* =========================================================
   Product cards + mobile buttons — v1.0.25
   ========================================================= */

/* Card height is equalised on the whole card by theme.js. Never fix the
   caption height: product-option extensions may inject controls into it. */
.product-layout .product-thumb .caption {
	height: auto !important;
}

.product-layout .product-thumb {
	min-height: 0;
}

/* Third-party product option widgets must remain in normal document flow
   above the action row. */
.product-layout .product-thumb .button-group {
	position: relative;
	z-index: 1;
	flex: 0 0 auto;
}

@media (max-width: 767px) {
	/* min-height alone leaves Bootstrap's line box visually too high on some
	   mobile browsers. Flex centring keeps text/icons vertically centred. */
	.btn:not(.btn-link),
	button.btn,
	a.btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		line-height: 1.2;
	}

	.btn .fa,
	.btn .glyphicon {
		line-height: 1;
	}

	.btn-block {
		display: flex;
		width: 100%;
	}

	/* Native product-card buttons already use flex; keep identical centring
	   even if another stylesheet changes their line-height. */
	.product-layout .product-thumb .button-group button,
	.product-layout .product-thumb .button-group button + button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		line-height: 1 !important;
	}
}

/* v1.0.28 */
body.ek-card-hide-name .product-thumb .caption h4 {display:none!important;}
body.ek-card-hide-description .product-thumb .caption > p:not(.price) {display:none!important;}
.product-thumb .caption h4, .product-thumb .caption h4 a {font-size:16px;line-height:1.35;font-weight:600;}
/* Contact page v1.0.28 */
.ek-contact-page .ek-contact-heading{margin:0 0 24px;text-align:left}.ek-contact-page .ek-contact-heading h1{margin:0 0 6px;font-weight:700}.ek-contact-page .ek-contact-heading p{margin:0;color:#596579}.ek-contact-info-panel{background:#f7faff;border:1px solid #e3edfb;border-radius:16px;padding:22px;margin-bottom:22px}.ek-contact-info-row{display:flex;flex-wrap:wrap}.ek-contact-left,.ek-contact-right{display:flex;flex-direction:column}.ek-contact-section{background:#fff;border:1px solid #dce8f8;border-radius:13px;padding:22px}.ek-contact-section h2,.ek-contact-section h3{margin-top:0;color:#102a83;font-weight:700}.ek-contact-store{height:100%}.ek-contact-line{display:flex;gap:12px;margin:14px 0;align-items:flex-start}.ek-contact-line i{width:24px;text-align:center;color:#1457e6;font-size:18px}.ek-contact-hours{border-top:1px solid #e3edfb;margin-top:20px;padding-top:18px}.ek-contact-hours h3{font-size:20px}.ek-contact-map-wrap{background:#fff;border:1px solid #dce8f8;border-radius:13px;padding:8px;margin-bottom:16px}.ek-contact-map{border:0;width:100%;height:326px;border-radius:9px;display:block}.ek-contact-company{margin-top:0}.ek-contact-requisites{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px}.ek-contact-requisites .ek-r{display:grid;grid-template-columns:115px 1fr;gap:12px}.ek-contact-form-panel{background:#f7faff;border:1px solid #e3edfb;border-radius:16px;padding:22px;margin:0 0 22px}.ek-contact-form-panel legend{color:#102a83;font-weight:700}.ek-contact-card{background:#f7faff;border:1px solid #e3edfb;border-radius:14px;padding:22px;margin-bottom:16px}@media(max-width:991px){.ek-contact-info-row{display:block}.ek-contact-store{height:auto;margin-bottom:16px}}@media(max-width:767px){.ek-contact-info-panel,.ek-contact-section,.ek-contact-form-panel{padding:16px}.ek-contact-requisites{grid-template-columns:1fr}.ek-contact-requisites .ek-r{grid-template-columns:105px 1fr}.ek-contact-map{height:300px}}

/* =========================================================
   Product grid alignment — v1.0.29
   Listing pages wrap caption + actions in .ek-product-body.
   Make that wrapper consume the remaining card height so the
   action row stays aligned to the bottom regardless of content.
   ========================================================= */
.product-grid .product-thumb > .ek-product-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
}

.product-grid .product-thumb > .ek-product-body > .caption {
	flex: 1 1 auto;
}

.product-grid .product-thumb > .ek-product-body > .button-group {
	flex: 0 0 auto;
	margin-top: auto;
}

/* List view uses its own grid layout; the body must remain a normal
   content wrapper there and must not inherit grid-card stretching. */
.product-list .product-thumb > .ek-product-body {
	display: contents;
}

/* =========================================================
   Out-of-stock / order button — v1.0.33
   quantity <= 0 keeps the existing order-state behaviour, but is
   visually separated from the normal primary Add to Cart action.
   ========================================================= */
body.ek-disable-oos-cart .ek-out-of-stock,
body.ek-disable-oos-cart .ek-out-of-stock:hover,
body.ek-disable-oos-cart .ek-out-of-stock:focus,
body.ek-disable-oos-cart .ek-out-of-stock:active,
body.ek-disable-oos-cart #product-product #button-cart.ek-out-of-stock,
body.ek-disable-oos-cart #product-product #button-cart.ek-out-of-stock:hover,
body.ek-disable-oos-cart #product-product #button-cart.ek-out-of-stock:focus,
body.ek-disable-oos-cart #product-product #button-cart.ek-out-of-stock:active {
	background: #8b95a5 !important;
	border-color: #8b95a5 !important;
	color: #fff !important;
	box-shadow: none !important;
	cursor: pointer !important;
	opacity: 1 !important;
}

/* =========================================================
   Product card height — v1.0.49
   The legacy JS equal-height engine is disabled in theme.js.
   Flex rows now determine each row's natural height from its
   tallest real card, avoiding oversized inline min-height values.
   Related products use the same product-grid/card structure too.
   ========================================================= */

/* =========================================================
   Shopping cart — v1.0.49
   Native OpenCart cart POST remains the source of truth.
   +/- only changes the quantity field and submits the native
   cart form, so totals, extensions and header mini-cart are
   rebuilt by OpenCart after the page reload.
   ========================================================= */
#checkout-cart #content > h1 {
	margin: 0 0 18px;
	font-size: 27px;
	font-weight: 700;
	color: #252b35;
}

.ek-cart-table-wrap {
	margin-bottom: 12px;
	border: 1px solid #dce5f1;
	border-radius: 9px;
	background: #fff;
	overflow: hidden;
}

.ek-cart-table {
	margin: 0;
	border: 0;
}

.ek-cart-table > thead > tr > td {
	padding: 12px 14px;
	border: 0;
	border-right: 1px solid #e4eaf2;
	border-bottom: 1px solid #dce5f1;
	background: #f7f9fc;
	color: #3d4654;
	font-size: 13px;
	font-weight: 700;
	vertical-align: middle;
}

.ek-cart-table > thead > tr > td:last-child {
	border-right: 0;
}

.ek-cart-table > tbody > tr > td {
	padding: 14px;
	border: 0;
	border-right: 1px solid #e7ecf3;
	border-bottom: 1px solid #e7ecf3;
	vertical-align: middle;
}

.ek-cart-table > tbody > tr:last-child > td {
	border-bottom: 0;
}

.ek-cart-table > tbody > tr > td:last-child {
	border-right: 0;
}

.ek-cart-image {
	width: 92px;
}

.ek-cart-image .img-thumbnail {
	width: 70px;
	max-width: 70px;
	padding: 4px;
	border-color: #dce5f1;
	border-radius: 6px;
}

.ek-cart-product-name {
	display: inline-block;
	margin-bottom: 5px;
	color: var(--main-color);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

.ek-cart-product-model,
.ek-cart-option {
	display: block;
	color: #626d7d;
	font-size: 12px;
	line-height: 1.45;
}

.ek-cart-quantity-col {
	width: 220px;
}

.ek-cart-price-col,
.ek-cart-total-col {
	width: 120px;
}

.ek-cart-qty-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.ek-cart-qty {
	display: inline-flex;
	height: 38px;
	border: 1px solid #d6dfeb;
	border-radius: 6px;
	background: #fff;
	overflow: hidden;
}

.ek-cart-qty-btn {
	display: inline-flex;
	width: 38px;
	height: 36px;
	padding: 0;
	align-items: center;
	justify-content: center;
	border: 0;
	background: #f7f9fc;
	color: #174fae;
	cursor: pointer;
}

.ek-cart-qty-btn:hover,
.ek-cart-qty-btn:focus {
	background: #edf3fc;
	color: var(--main-color);
	outline: 0;
}

.ek-cart-qty-input {
	width: 48px !important;
	height: 36px;
	padding: 6px 4px;
	border: 0;
	border-right: 1px solid #e1e7ef;
	border-left: 1px solid #e1e7ef;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	text-align: center;
}

.ek-cart-qty-input:focus {
	border-color: #e1e7ef;
	box-shadow: none;
}

.ek-cart-remove {
	padding: 7px;
	border: 0;
	background: transparent;
	color: #7c8592;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

.ek-cart-remove:hover,
.ek-cart-remove:focus {
	color: #d83a4a;
	outline: 0;
}

.ek-cart-price,
.ek-cart-line-total {
	font-weight: 600;
	white-space: nowrap;
}

.ek-cart-line-total {
	color: #283443;
}

.ek-cart-qty-disabled {
	align-items: center;
	justify-content: center;
	min-width: 48px;
	background: #f7f9fc;
}

.ek-cart-qty-static {
	padding: 0 15px;
	color: #626d7d;
	line-height: 36px;
}

#checkout-cart .ek-cart-modules {
	margin: 12px 0;
}

#checkout-cart .ek-cart-modules .panel {
	margin-bottom: 10px;
	border-color: #dce5f1;
	border-radius: 8px;
	box-shadow: none;
	overflow: hidden;
}

#checkout-cart .ek-cart-modules .panel-heading {
	padding: 13px 16px;
	border-color: #e3e9f1;
	background: #f8fafc;
}

#checkout-cart .ek-cart-modules .panel-title a {
	display: block;
	color: #344052;
	font-weight: 600;
}

#checkout-cart .ek-cart-modules .panel-body {
	border-top-color: #e3e9f1;
}

.ek-cart-totals-row {
	margin-top: 12px;
}

.ek-cart-totals {
	margin-bottom: 0;
	border-color: #dce5f1;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}

.ek-cart-totals > tbody > tr > td {
	padding: 11px 14px;
	border-color: #e4eaf2;
}

.ek-cart-totals > tbody > tr:last-child > td {
	background: #edf6ff;
	color: var(--main-color);
	font-size: 17px;
	font-weight: 700;
}

.ek-cart-totals > tbody > tr:last-child > td:last-child {
	font-size: 22px;
}

.ek-cart-footer-actions {
	margin-top: 18px;
	padding-top: 0;
}

.ek-cart-continue,
.ek-cart-checkout {
	min-height: 42px;
	padding: 10px 18px;
	border-radius: 5px;
	font-weight: 600;
}

.ek-cart-continue .fa {
	margin-right: 8px;
}

.ek-cart-checkout .fa {
	margin-left: 8px;
}

@media (max-width: 767px) {
	.ek-cart-table-wrap {
		border-radius: 7px;
	}

	.ek-cart-table {
		min-width: 680px;
	}

	.ek-cart-image {
		width: 78px;
	}

	.ek-cart-image .img-thumbnail {
		width: 58px;
	}

	.ek-cart-quantity-col {
		width: 190px;
	}

	.ek-cart-totals-row .col-sm-7 {
		width: 100%;
	}

	.ek-cart-footer-actions .pull-left,
	.ek-cart-footer-actions .pull-right {
		float: none !important;
	}

	.ek-cart-footer-actions .btn {
		width: 100%;
		margin-bottom: 10px;
	}
}

/* =========================================================
   Shopping cart refinements — v1.0.49
   Coupon is always expanded; native OpenCart coupon AJAX is
   preserved. Totals span the full available cart width.
   ========================================================= */
#checkout-cart .ek-cart-modules {
	margin: 12px 0;
}

#checkout-cart .ek-cart-coupon {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 14px 16px;
	border: 1px solid #dce5f1;
	border-radius: 8px;
	background: #f8fafc;
}

#checkout-cart .ek-cart-coupon-title {
	flex: 0 0 auto;
	color: #344052;
	font-weight: 600;
	white-space: nowrap;
}

#checkout-cart .ek-cart-coupon-title .fa {
	margin-right: 9px;
	color: var(--main-color);
	font-size: 18px;
}

#checkout-cart .ek-cart-coupon-input {
	flex: 1 1 auto;
	max-width: none;
}

#checkout-cart .ek-cart-coupon-input .form-control,
#checkout-cart .ek-cart-coupon-input .btn {
	height: 40px;
}

#checkout-cart .ek-cart-coupon-input .btn {
	min-width: 110px;
	padding-left: 20px;
	padding-right: 20px;
	font-weight: 600;
}

#checkout-cart .ek-cart-totals-row > .col-xs-12 {
	float: none;
	width: 100%;
}

#checkout-cart .ek-cart-totals {
	width: 100%;
}

#checkout-cart .ek-cart-totals > tbody > tr > td:first-child {
	width: 78%;
}

#checkout-cart .ek-cart-totals > tbody > tr > td:last-child {
	width: 22%;
}

@media (max-width: 767px) {
	#checkout-cart .ek-cart-coupon {
		display: block;
		padding: 12px;
	}

	#checkout-cart .ek-cart-coupon-title {
		margin-bottom: 10px;
		white-space: normal;
	}

	#checkout-cart .ek-cart-coupon-input {
		width: 100%;
	}

	#checkout-cart .ek-cart-coupon-input .btn {
		min-width: 88px;
		padding-left: 12px;
		padding-right: 12px;
	}

	#checkout-cart .ek-cart-totals > tbody > tr > td:first-child {
		width: 68%;
	}

	#checkout-cart .ek-cart-totals > tbody > tr > td:last-child {
		width: 32%;
	}
}

/* =========================================================
   Shopping cart totals borders — v1.0.49
   Do not depend on Bootstrap .table-bordered. The cart totals
   component owns its complete border styling.
   ========================================================= */
#checkout-cart .ek-cart-totals {
	width: 100%;
	border: 1px solid #dce5f1;
	border-collapse: collapse;
}

#checkout-cart .ek-cart-totals > tbody > tr > td {
	border: 1px solid #dce5f1;
}

/* =========================================================
   Shopping cart totals wrapper — v1.0.49
   Outer rounded border belongs to the wrapper. The table only
   draws internal separators, avoiding border-collapse/radius
   clipping in browsers.
   ========================================================= */
#checkout-cart .ek-cart-totals-wrap {
	border: 1px solid #dce5f1;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

#checkout-cart .ek-cart-totals {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	border-radius: 0;
	overflow: visible;
}

#checkout-cart .ek-cart-totals > tbody > tr > td {
	border: 0;
	border-right: 1px solid #dce5f1;
	border-bottom: 1px solid #dce5f1;
}

#checkout-cart .ek-cart-totals > tbody > tr > td:last-child {
	border-right: 0;
}

#checkout-cart .ek-cart-totals > tbody > tr:last-child > td {
	border-bottom: 0;
}

