html, body {
	margin: 0 !important;
	padding: 0 !important;
	top: 0 !important;
}
body {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	color: #666;
	font-size: 12px;
	line-height: 20px;
	width: 100%;
}

h1, h2, h3, h4, h5, h6 {
	color: #444;
}

/* default font size */
.fa {
	font-size: 14px;
}

/* Override the bootstrap defaults */
h1 {
	font-size: 33px;
}

h2 {
	font-size: 27px;
}

h3 {
	font-size: 21px;
}

h4 {
	font-size: 15px;
}

h5 {
	font-size: 12px;
}

h6 {
	font-size: 10.2px;
}

a {
	color: #23a1d1;
}

a:hover {
	text-decoration: none;
}

legend {
	font-size: 18px;
	padding: 7px 0px
}

label {
	font-size: 12px;
	font-weight: normal;
}

select.form-control,
textarea.form-control,
input[type="text"].form-control,
input[type="password"].form-control,
input[type="datetime"].form-control,
input[type="datetime-local"].form-control,
input[type="date"].form-control,
input[type="month"].form-control,
input[type="time"].form-control,
input[type="week"].form-control,
input[type="number"].form-control,
input[type="email"].form-control,
input[type="url"].form-control,
input[type="search"].form-control,
input[type="tel"].form-control,
input[type="color"].form-control {
	font-size: 12px;
}

.input-group input,
.input-group select,
.input-group .dropdown-menu,
.input-group .popover {
	font-size: 12px;
}

.input-group .input-group-addon {
	font-size: 12px;
	height: 30px;
}

/* Fix some bootstrap issues */
span.hidden-xs,
span.hidden-sm,
span.hidden-md,
span.hidden-lg {
	display: inline;
}

.nav-tabs {
	margin-bottom: 15px;
}

div.required .control-label:before {
	content: '* ';
	color: #F00;
	font-weight: bold;
}

/* Gradent to all drop down menus */
.dropdown-menu li > a:hover {
	text-decoration: none;
	color: #ffffff;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
}

/* top */
#top {
	background-color: #EEEEEE;
	border-bottom: 1px solid #e2e2e2;
	padding: 4px 0px 3px 0;
	margin: 0 0 20px 0 !important;
	min-height: 40px;
}

#top .container {
	padding: 0 20px;
}

#top #form-currency .currency-select,
#top #form-language .language-select {
	text-align: left;
}

#top #form-currency .currency-select:hover,
#top #form-language .language-select:hover {
	text-shadow: none;
	color: #ffffff;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
}

#top .btn-link,
#top-links li,
#top-links a {
	color: #888;
	text-shadow: 0 1px 0 #FFF;
	text-decoration: none;
}

#top .btn-link:hover,
#top-links a:hover {
	color: #444;
}

#top-links .dropdown-menu a {
	text-shadow: none;
}

#top-links .dropdown-menu a:hover {
	color: #FFF;
}

#top .btn-link strong {
	font-size: 14px;
	line-height: 14px;
}

#top-links {
	padding-top: 6px;
}

#top-links a + a {
	margin-left: 15px;
}

/* logo */
#logo {
	margin: 0 0 10px 0;
}

/* search */
#search {
	margin-bottom: 10px;
}

#search .input-lg {
	height: 40px;
	line-height: 20px;
	padding: 0 10px;
}

#search .btn-lg {
	font-size: 15px;
	line-height: 18px;
	padding: 10px 35px;
	text-shadow: 0 1px 0 #FFF;
}

/* cart */
#cart {
	margin-bottom: 10px;
}

#cart > .btn {
	font-size: 12px;
	line-height: 18px;
	color: #FFF;
}

#cart.open > .btn {
	background-image: none;
	background-color: #FFFFFF;
	border: 1px solid #E6E6E6;
	color: #666;
	box-shadow: none;
	text-shadow: none;
}

#cart.open > .btn:hover {
	color: #444;
}

#cart .dropdown-menu {
	background: #eee;
	z-index: 1001;
}

#cart .dropdown-menu {
	min-width: 100%;
	overflow-y: auto;
	max-height: 800px;
	scrollbar-width: thin;
	overflow-x: hidden;
}

@media (max-width: 478px) {
	#cart .dropdown-menu {
		width: 100%;
	}
}

#cart .dropdown-menu table {
	margin-bottom: 10px;
}

#cart .dropdown-menu li > div {
	min-width: 427px;
	padding: 0 10px;
}

@media (max-width: 478px) {
	#cart .dropdown-menu li > div {
		min-width: 100%;
	}
}

#cart .dropdown-menu li p {
	margin: 20px 0;
}

/* menu */
#menu {
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
	border-color: #1f90bb #1f90bb #145e7a;
	min-height: 40px;
}

#menu .nav > li > a {
	color: #fff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	padding: 10px 15px 10px 15px;
	min-height: 15px;
	background-color: transparent;
}

#menu .nav > li > a:hover,
#menu .nav > li.open > a {
	background-color: rgba(0, 0, 0, 0.1);
}

#menu .dropdown-menu {
	padding-bottom: 0;
}

#menu .dropdown-inner {
	display: table;
}

#menu .dropdown-inner ul {
	display: table-cell;
}

#menu .dropdown-inner a {
	min-width: 160px;
	display: block;
	padding: 3px 20px;
	clear: both;
	line-height: 20px;
	color: #333333;
	font-size: 12px;
}

#menu .dropdown-inner li a:hover {
	color: #FFFFFF;
}

#menu .see-all {
	display: block;
	margin-top: 0.5em;
	border-top: 1px solid #DDD;
	padding: 3px 20px;
	-webkit-border-radius: 0 0 4px 4px;
	-moz-border-radius: 0 0 4px 4px;
	border-radius: 0 0 3px 3px;
	font-size: 12px;
}

#menu .see-all:hover,
#menu .see-all:focus {
	text-decoration: none;
	color: #ffffff;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
}

#menu #category {
	float: left;
	padding-left: 15px;
	font-size: 16px;
	font-weight: 700;
	line-height: 40px;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}

#menu .btn-navbar {
	font-size: 15px;
	font-stretch: expanded;
	color: #FFF;
	padding: 2px 18px;
	float: right;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
	border-color: #1f90bb #1f90bb #145e7a;
}

#menu .btn-navbar:hover,
#menu .btn-navbar:focus,
#menu .btn-navbar:active,
#menu .btn-navbar.disabled,
#menu .btn-navbar[disabled] {
	color: #ffffff;
	background-color: #229ac8;
}

@media (min-width: 768px) {
	#menu .dropdown:hover .dropdown-menu {
		display: block;
	}
}

@media (max-width: 767px) {
	#menu {
		border-radius: 4px;
	}

	#menu div.dropdown-inner > ul.list-unstyled {
		display: block;
	}

	#menu div.dropdown-menu {
		margin-left: 0 !important;
		padding-bottom: 10px;
		background-color: rgba(0, 0, 0, 0.1);
	}

	#menu .dropdown-inner {
		display: block;
	}

	#menu .dropdown-inner a {
		width: 100%;
		color: #fff;
	}

	#menu .dropdown-menu a:hover,
	#menu .dropdown-menu ul li a:hover {
		background: rgba(0, 0, 0, 0.1);
	}

	#menu .see-all {
		margin-top: 0;
		border: none;
		border-radius: 0;
		color: #fff;
	}
}

/* content */
#content {
	min-height: 600px;
}

#product-category #content,
#product-product #tab-description,
#information-information #content {
	font-size: 13px;
}

/* footer */
footer {
	margin-top: 30px;
	padding-top: 30px;
	background-color: #303030;
	border-top: 1px solid #ddd;
	color: #e2e2e2;
}

footer hr {
	border-top: none;
	border-bottom: 1px solid #666;
}

footer a {
	color: #ccc;
}

footer a:hover {
	color: #fff;
}

footer h5 {
	font-family: 'Open Sans', sans-serif;
	font-size: 13px;
	font-weight: bold;
	color: #fff;
}

/* alert */
.alert {
	padding: 8px 14px 8px 14px;
}

/* breadcrumb */
.breadcrumb {
	margin: 0 0 20px 0;
	padding: 8px 0;
	border: 1px solid #ddd;
}

.breadcrumb i {
	font-size: 15px;
}

.breadcrumb > li {
	text-shadow: 0 1px 0 #FFF;
	padding: 0 20px;
	position: relative;
	white-space: nowrap;
}

.breadcrumb > li + li:before {
	content: '';
	padding: 0;
}

.breadcrumb > li:after {
	content: '';
	display: block;
	position: absolute;
	top: -3px;
	right: -5px;
	width: 26px;
	height: 26px;
	border-right: 1px solid #DDD;
	border-bottom: 1px solid #DDD;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

html[dir=rtl] .breadcrumb > li::after {
	top: -3px;
	left: -5px;
	width: 26px;
	height: 26px;
	border-left: 1px solid #DDD;
	border-top: 1px solid #DDD;
	right: unset;
	border-right: unset;
	border-bottom: unset;
}

.pagination {
	margin: 0;
}

/* buttons */
.buttons {
	margin: 1em 0;
}

.btn {
	padding: 7.5px 12px;
	font-size: 12px;
	border: 1px solid #cccccc;
	border-radius: 4px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05);
}

.btn-xs {
	font-size: 9px;
}

.btn-sm {
	font-size: 10.2px;
}

.btn-lg {
	padding: 10px 16px;
	font-size: 15px;
}

.btn-group > .btn,
.btn-group > .dropdown-menu,
.btn-group > .popover {
	font-size: 12px;
}

.btn-group > .btn-xs {
	font-size: 9px;
}

.btn-group > .btn-sm {
	font-size: 10.2px;
}

.btn-group > .btn-lg {
	font-size: 15px;
}

.btn-default {
	color: #777;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
	background-color: #e7e7e7;
	background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
	background-repeat: repeat-x;
	border-color: #dddddd #dddddd #b3b3b3 #b7b7b7;
}

.btn-primary {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
	border-color: #1f90bb #1f90bb #145e7a;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary.active,
.btn-primary.disabled,
.btn-primary[disabled] {
	background-color: #1f90bb;
	background-position: 0 -15px;
}

.btn-warning {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #faa732;
	background-image: linear-gradient(to bottom, #fbb450, #f89406);
	background-repeat: repeat-x;
	border-color: #f89406 #f89406 #ad6704;
}

.btn-warning:hover,
.btn-warning:active,
.btn-warning.active,
.btn-warning.disabled,
.btn-warning[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}

.btn-danger {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #da4f49;
	background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
	background-repeat: repeat-x;
	border-color: #bd362f #bd362f #802420;
}

.btn-danger:hover,
.btn-danger:active,
.btn-danger.active,
.btn-danger.disabled,
.btn-danger[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}

.btn-success {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #5bb75b;
	background-image: linear-gradient(to bottom, #62c462, #51a351);
	background-repeat: repeat-x;
	border-color: #51a351 #51a351 #387038;
}

.btn-success:hover,
.btn-success:active,
.btn-success.active,
.btn-success.disabled,
.btn-success[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}

.btn-info {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #df5c39;
	background-image: linear-gradient(to bottom, #e06342, #dc512c);
	background-repeat: repeat-x;
	border-color: #dc512c #dc512c #a2371a;
}

.btn-info:hover,
.btn-info:active,
.btn-info.active,
.btn-info.disabled,
.btn-info[disabled] {
	background-image: none;
	background-color: #df5c39;
}

.btn-link {
	border-color: rgba(0, 0, 0, 0);
	cursor: pointer;
	color: #23A1D1;
	border-radius: 0;
}

.btn-link,
.btn-link:active,
.btn-link[disabled] {
	background-color: rgba(0, 0, 0, 0);
	background-image: none;
	box-shadow: none;
}

.btn-inverse {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #363636;
	background-image: linear-gradient(to bottom, #444444, #222222);
	background-repeat: repeat-x;
	border-color: #222222 #222222 #000000;
}

.btn-inverse:hover,
.btn-inverse:active,
.btn-inverse.active,
.btn-inverse.disabled,
.btn-inverse[disabled] {
	background-color: #222222;
	background-image: linear-gradient(to bottom, #333333, #111111);
}

/* list group */
.list-group a {
	border: 1px solid #DDDDDD;
	color: #888888;
	padding: 8px 12px;
}

.list-group a.active,
.list-group a.active:hover,
.list-group a:hover {
	color: #444444;
	background: #eeeeee;
	border: 1px solid #DDDDDD;
	text-shadow: 0 1px 0 #FFF;
}

/* carousel */
.carousel-caption {
	color: #FFFFFF;
	text-shadow: 0 1px 0 #000000;
}

.carousel-control .icon-prev:before {
	content: '\f053';
	font-family: FontAwesome;
}

.carousel-control .icon-next:before {
	content: '\f054';
	font-family: FontAwesome;
}

/* product list */
.product-thumb {
	border: 1px solid #ddd;
	margin-bottom: 20px;
	overflow: auto;
}

.product-thumb .image {
	text-align: center;
}

.product-thumb .image a {
	display: block;
}

.product-thumb .image a:hover {
	opacity: 0.8;
}

.product-thumb .image img {
	margin-left: auto;
	margin-right: auto;
}

.product-grid .product-thumb .image {
	float: none;
}

@media (min-width: 767px) {
	.product-list .product-thumb .image {
		float: left;
		padding: 0 15px;
	}
}

.product-thumb h4 {
	font-weight: bold;
}

.product-thumb .caption {
	padding: 0 20px;
	min-height: 180px;
}

.product-list .product-thumb .caption {
	margin-left: 230px;
}

@media (max-width: 1200px) {
	.product-grid .product-thumb .caption {
		min-height: 210px;
		padding: 0 10px;
	}
}

@media (max-width: 767px) {
	.product-list .product-thumb .caption {
		min-height: 0;
		margin-left: 0;
		padding: 0 10px;
	}

	.product-grid .product-thumb .caption {
		min-height: 0;
	}
}

.product-thumb .rating {
	padding-bottom: 10px;
}

.rating .fa-stack {
	font-size: 8px;
}

.rating .fa-star-o {
	color: #999;
	font-size: 15px;
}

.rating .fa-star {
	color: #FC0;
	font-size: 15px;
}

.rating .fa-star + .fa-star-o {
	color: #E69500;
}

h2.price {
	margin: 0;
}

.product-thumb .price {
	color: #444;
}

.product-thumb .price-new {
	font-weight: 600;
}

.product-thumb .price-old {
	color: #999;
	text-decoration: line-through;
	margin-left: 10px;
}

.product-thumb .price-tax {
	color: #999;
	font-size: 12px;
	display: block;
}

.product-thumb .button-group {
	border-top: 1px solid #ddd;
	background-color: #eee;
	overflow: auto;
}

.product-list .product-thumb .button-group {
	border-left: 1px solid #ddd;
}

@media (max-width: 768px) {
	.product-list .product-thumb .button-group {
		border-left: none;
	}
}

.product-thumb .button-group button {
	width: 60%;
	border: none;
	display: inline-block;
	float: left;
	background-color: #eee;
	color: #888;
	line-height: 38px;
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
}

.product-thumb .button-group button + button {
	width: 20%;
	border-left: 1px solid #ddd;
}

.product-thumb .button-group button:hover {
	color: #444;
	background-color: #ddd;
	text-decoration: none;
	cursor: pointer;
}

@media (max-width: 1200px) {
	.product-thumb .button-group button,
	.product-thumb .button-group button + button {
		width: 33.33%;
	}
}

@media (max-width: 767px) {
	.product-thumb .button-group button,
	.product-thumb .button-group button + button {
		width: 33.33%;
	}
}

.thumbnails {
	overflow: auto;
	clear: both;
	list-style: none;
	padding: 0;
	margin: 0;
}

.thumbnails > li {
	margin-left: 20px;
}

.thumbnails {
	margin-left: -20px;
}

.thumbnails > img {
	width: 100%;
}

.image-additional a {
	margin-bottom: 20px;
	padding: 5px;
	display: block;
	border: 1px solid #ddd;
}

.image-additional {
	max-width: 78px;
}

.thumbnails .image-additional {
	float: left;
	margin-left: 20px;
}

@media (min-width: 1200px) {
	#content .col-lg-2:nth-child(6n+1),
	#content .col-lg-3:nth-child(4n+1),
	#content .col-lg-4:nth-child(3n+1),
	#content .col-lg-6:nth-child(2n+1) {
		clear: left;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	#content .col-md-2:nth-child(6n+1),
	#content .col-md-3:nth-child(4n+1),
	#content .col-md-4:nth-child(3n+1),
	#content .col-md-6:nth-child(2n+1) {
		clear: left;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	#content .col-sm-2:nth-child(6n+1),
	#content .col-sm-3:nth-child(4n+1),
	#content .col-sm-4:nth-child(3n+1),
	#content .col-sm-6:nth-child(2n+1) {
		clear: left;
	}
}

/* fixed colum left + content + right*/
@media (min-width: 768px) {
	#column-left .product-layout .col-md-3 {
		width: 100%;
	}

	#column-left + #content .product-layout .col-md-3 {
		width: 50%;
	}

	#column-left + #content + #column-right .product-layout .col-md-3 {
		width: 100%;
	}

	#content + #column-right .product-layout .col-md-3 {
		width: 100%;
	}
}

/* fixed product layouts used in left and right columns */
#column-left .product-layout,
#column-right .product-layout {
	width: 100%;
}

/* fixed mobile cart quantity input */
.input-group .form-control[name^=quantity] {
	min-width: 50px;
}

/* Missing focus and border color to overwrite bootstrap */
.btn-info:hover,
.btn-info:active,
.btn-info.active,
.btn-info.disabled,
.btn-info[disabled] {
	background-image: none;
	background-color: #df5c39;
}

html[dir=rtl] .checkbox input[type="checkbox"],
html[dir=rtl] .checkbox-inline input[type="checkbox"],
html[dir=rtl] .radio input[type="radio"],
html[dir=rtl] .radio-inline input[type="radio"] {
	position: absolute;
	margin-top: 4px\9;
	margin-right: -20px;
	margin-left: unset;
}

html[dir=rtl] .input-group-btn:last-child > .btn {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
}

html[dir=rtl] .input-group .form-control:first-child {
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
	border-top-left-radius: unset;
	border-bottom-left-radius: unset;
}

html[dir=rtl] .container .row:first-child .col-sm-4,
html[dir=rtl] .container .row:first-child .col-sm-5 {
	float: right;
}

html[dir=rtl] #cart .dropdown-menu {
	left: 0;
	right: auto;
}

@media (min-width: 768px) {
	html[dir=rtl] .navbar-nav {
		float: right;
		margin: 0;
	}

	html[dir=rtl] .navbar-nav > li {
		float: right;
	}
}

.main-image-box {
	border: 1px solid #ddd;
	margin-bottom: 10px;
	height: auto;
	/* Changed from fixed 400px to allow full width scaling */
	min-height: 400px;
	/* Keeps layout stable while loading */
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
}

#main-image {
	width: 100%;
	/* Force image to take full width of container */
	height: auto;
	/* Allow height to adjust proportionally */
	object-fit: contain;
	padding: 0;
	/* Removed padding to maximize space */
	display: block;
}

.thumbnails.list-inline {
	padding-left: 0;
	margin-left: 0;
	text-align: center;
}

.thumbnails.list-inline > li {
	padding: 0 2px;
	/* Very small horizontal padding (gap) */
	margin: 0 !important;
	/* Forces zero margin to remove wide gaps */
	vertical-align: top;
	display: inline-block;
	float: none;
}

.thumbnail-item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 100px;
	border: 1px dashed #ddd;
	padding: 4px 4px 4px 4px;
	transition: border-color .2s ease-in-out;
}

.thumbnail-item.active {
	border-color: #337ab7;
}

.thumbnail-item img {
	max-width: 100%;
	max-height: 100%;
	object-fit: cover;
}

/* --- CUSTOM FANCYBOX POPUP STYLING --- */

/* 1. The Main Popup Image Frame and Style */
/* We target the container that Fancybox creates for the image */
.fancybox__content {
	/* Create the frame */
	border: 1px solid #ddd;
	padding: 15px;
	/* Creates a nice white border around the image */
	background: #fff;

	/* Optional: give it a subtle shadow to lift it off the page */
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
}

/* Allow popup image to zoom */
.fancybox__image {
	object-fit: unset !important;
	/* Removes constraint that prevents zooming */
	max-width: none !important;
	/* Allows image to exceed container width when zoomed */
	max-height: none !important;
	/* Allows image to exceed container height when zoomed */
}

.fancybox__toolbar,
.fancybox__navigation,
.fancybox__footer {
	z-index: 99999 !important;
}


/* 2. The Popup Thumbnail Bar Styling */
/* This styles the individual thumbnail "frames" in the popup's bottom bar */
.fancybox__thumb {
	width: 100px !important;
	/* Use !important to override defaults if needed */
	height: 100px !important;
	border: 1px dashed #ddd !important;
	padding: 4px !important;
	opacity: 0.7;
	/* Make inactive thumbnails slightly faded */
	transition: opacity 0.2s ease-in-out;
}

.fancybox__thumb:hover {
	opacity: 1;
	/* Make thumbnails fully visible on hover */
}

/* This styles the currently selected thumbnail in the popup */
.fancybox__thumb.is-active {
	border-color: #337ab7 !important;
	border-style: solid !important;
	/* A solid border looks better for the active state */
	opacity: 1;
}

/* 
  This styles the image INSIDE the thumbnail frame.
  It is the equivalent of your .thumbnail-item img style.
*/
.fancybox__thumb img {
	/* This will zoom-to-fill the thumbnail frame, as you requested */
	object-fit: cover;
}

/* Container & Card Style for Review Section*/
.table-striped.table-bordered {
	background: #f9fbff;
	border-radius: 15px;
	border: 1.8px solid #3a7bd5;
	box-shadow: 0 6px 16px rgba(58, 123, 213, 0.15);
	margin-bottom: 24px;
	padding: 20px;
	transition: box-shadow 0.3s ease;
}

.table-striped.table-bordered:hover {
	box-shadow: 0 12px 32px rgba(58, 123, 213, 0.3);
}

/* Table cell styling */
.table-striped.table-bordered td {
	border: none;
	color: #324d78;
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.table-striped.table-bordered strong {
	color: #1d3f8f;
	font-size: 1.3em;
	letter-spacing: 0.5px;
}

/* Date styling */
.text-right {
	color: #3a7bd5;
	font-weight: 600;
	font-size: 0.95em;
}

/* Review text */
.table-striped.table-bordered p {
	color: #4a5d7a;
	font-size: 1em;
	line-height: 1.5;
	margin-top: 14px;
}

/* Stars with glowing effect */
.fa-star,
.fa-star-o {
	color: #3a7bd5;
	font-size: 1.25em;
	margin-right: 4px;
	transition: color 0.3s ease;
}

.fa-star {
	text-shadow: 0 0 8px #a2b9ff;
}

/* Row Controls (Pagination etc.) */
.row .col-sm-6 {
	margin-top: 18px;
}

.text-left,
.text-right {
	color: #2c5298;
	font-weight: 600;
}

/* Hover effect on star rating */
.table-striped.table-bordered tr:hover .fa-star,
.table-striped.table-bordered tr:hover .fa-star-o {
	color: #1a3e81;
	text-shadow: 0 0 12px #2c5298;
}

/* Verified Badge */
.verified-badge {
	background-color: #2c5298;
	color: #ffffff;
	font-size: 0.75em;
	padding: 4px 10px;
	border-radius: 12px;
	margin-left: 12px;
	font-weight: 600;
	vertical-align: middle;
}

/* Sharp and prominent yellow stars */
.fa-star,
.fa-star-o {
	color: #ffcc00;
	/* Classic yellow gold */
	font-size: 1.4em;
	/* Slightly larger for visibility */
	margin-right: 4px;
	text-shadow: none;
	/* Remove glow for sharpness */
	transition: color 0.3s ease;
}

/* Slightly brighter color on hover */
.table-striped.table-bordered tr:hover .fa-star,
.table-striped.table-bordered tr:hover .fa-star-o {
	color: #ffd633;
	/* Brighter yellow */
	text-shadow: none;
	/* Keep sharp on hover */
}

/* End Review Section */

/* Start Review Stars Section */
.star-rating {
	font-size: 1.5em;
	color: #ddd;
	cursor: pointer;
	user-select: none;
}

.star-rating .star {
	color: #ddd;
	transition: color 0.2s;
}

.star-rating .star.hover,
.star-rating .star.selected {
	color: #ffcc00;
	/* golden yellow */
}

.star-rating-row {
	display: flex;
	align-items: center;
	gap: 12px;
	/* space between label and stars */
}

.rating-label {
	font-size: 1em;
	color: #888;
	width: 40px;
	text-align: center;
}

.rating-bad {
	order: 1;
	margin-right: 8px;
}

.star-rating {
	order: 2;
	display: flex;
	gap: 4px;
}

.star-rating .star {
	font-size: 1.5em;
	/* Make stars larger */
	color: #ddd;
	cursor: pointer;
	transition: color 0.2s;
}

.star-rating .star.hover,
.star-rating .star.selected {
	color: #ffcc00;
	/* Golden-yellow color */
}

.rating-good {
	order: 3;
	margin-left: 8px;
}






/* =========================================
   1. MAIN PANEL CONTAINER (Invisible Wrapper)
   ========================================= */
.product-summary-panel {
    margin-top: 12px;
    background: transparent; 
    border: none;
    box-shadow: none;
    padding-bottom: 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* =========================================
   2. META LIST (Brand, Code, etc.)
   ========================================= */
.product-summary-panel .summary-meta {
    margin: 0;
    padding: 0;
}

.product-summary-panel .summary-meta li {
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 16px;
    font-size: 12px;
    position: relative;
    margin: 0 4px 10px 4px;  /* <--- Increase 12px to make the gap bigger */
    border-radius: 6px;
    background: #f8fafc; /* These remain as "floating pills" */
    border-left: 3px solid #3b82f6;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    transition: all 0.2s ease;
}

/* Row Colors */
.product-summary-panel .summary-meta li:nth-child(1) { border-left-color: #3b82f6; } /* Brand - Blue */
.product-summary-panel .summary-meta li:nth-child(2) { border-left-color: #10b981; } /* Code - Green */
.product-summary-panel .summary-meta li:nth-child(3) { border-left-color: #f59e0b; } /* Points - Orange */
.product-summary-panel .summary-meta li:nth-child(4) { border-left-color: #8b5cf6; } /* Stock - Purple */

.product-summary-panel .summary-meta li:hover {
    transform: translateX(2px);
    border-left-width: 5px;
}

.product-summary-panel .summary-meta .meta-label {
    font-weight: 700;
    color: #475569;
    font-size: 10px;
    text-transform: uppercase;
}

.product-summary-panel .summary-meta a {
    color: #111;
    text-decoration: none;
}

/* =========================================
   3. PRICE & BADGE SECTION (The Main Card)
   ========================================= */
.product-summary-panel .summary-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    background: #fff; /* The white background stays HERE only */
    margin: 12px 4px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #28B1D7; 
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); /* Shadow stays HERE only */
    gap: 16px;
}

.product-summary-panel .summary-pricing {
    flex: 2;
}

/* Old Price */
.product-summary-panel .price-old {
    font-size: 15px;
    color: #ef4444; 
    text-decoration: line-through;
    font-weight: 600;
    display: block;
    margin-bottom: 2px;
}

/* Current Price */
.product-summary-panel .price-current {
    font-size: 30px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1;
    margin: 0 0 12px 0;
    letter-spacing: -1px;
}

/* Tax & Rewards */
.product-summary-panel .price-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    border-top: 1px solid #f1f5f9;
    padding-top: 8px;
    font-size: 11px;
    color: #64748b;
    font-weight: 500;
}

.product-summary-panel .price-meta span {
    display: block;
}

/* Start: Badge Responsive  */
/* Badge - Large Size Preserved but now Responsive */
.product-summary-panel .summary-badge {
    flex-shrink: 1; /* Allow it to shrink if needed */
    width: 35%; /* Make it fluid based on available space */
    max-width: 150px; /* Don't let it get bigger than 150px */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 10px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
    box-sizing: border-box; /* Prevent padding from breaking width */
}

.product-summary-panel .summary-badge img {
    max-width: 100%; /* Ensure image never breaks container */
    max-height: 100px; /* Limit height to keep it proportional */
    width: auto;
    height: auto;
    margin-bottom: 8px;
    object-fit: contain; /* Keeps image looking sharp when scaled */
}
/*  Badge Responsive  */

.product-summary-panel .summary-badge .badge-caption {
    font-size: 11px; 
    font-weight: 800;
    color: #334155;
    text-transform: uppercase;
    text-align: center;
    line-height: 1.2;
}

/* =========================================
   4. QTY PANEL
   ========================================= */
.qty-panel {
    margin: 12px 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.qty-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
}

.qty-label {
    font-size: 12px;
    font-weight: 800;
    color: #1e293b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.qty-input {
    width: 60px;
    height: 36px;
    border: 2px solid #cbd5e1;
    border-radius: 6px;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    color: #333;
    background: #fff;
    transition: border-color 0.2s;
}

.qty-input:focus {
    border-color: #28B1D7;
    outline: none;
}

/* =========================================
   5. ADD TO CART BUTTON
   ========================================= */
.qty-add-btn {
    background: #28B1D7;
    color: white;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 12px;
    border-radius: 8px;
    border: none;
    width: 100%;
    box-shadow: 0 4px 6px rgba(40, 177, 215, 0.25);
    cursor: pointer;
    transition: all 0.2s ease;
}

.qty-add-btn:hover {
    background: #1e9ac0;
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(40, 177, 215, 0.35);
}
/* Explanation: Removes the default browser black outline when links and buttons are clicked */
a:focus, button:focus, a:active, button:active, input:focus, .btn:focus, .btn:active {
    outline: none !important;
    box-shadow: none !important;
}
/* Feature: Increase Desktop Canvas Width by ~1 inch total */
@media (min-width: 1200px) {
    .container {
        width: 1270px !important;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .container {
        width: 1040px !important;
    }
}