/* ============================================================
   UNLIMIT-HOSTING — Modern Stylesheet
   Brand: DM Sans + DM Serif Display | Teal #2c6e7a
   ============================================================ */

/* ── Base ── */
body {
	font-family: 'DM Sans', 'Open Sans', sans-serif;
	font-weight: 400;
	color: #555;
	font-size: 13px;
	line-height: 1.6;
	width: 100%;
	background: #fff;
}
h1, h2, h3, h4, h5, h6 {
	color: #1a1a18;
	font-family: 'DM Sans', 'Open Sans', sans-serif;
}

/* 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: #2c6e7a;
	transition: color .15s;
}
a:hover {
	color: #235862;
	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: 13px;
}
.input-group input, .input-group select, .input-group .dropdown-menu, .input-group .popover {
	font-size: 13px;
}
.input-group .input-group-addon {
	font-size: 13px;
	height: 36px;
}
/* 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;
}

/* Dropdown menus */
.dropdown-menu li > a:hover {
	text-decoration: none;
	color: #ffffff;
	background-color: #2c6e7a;
	background-image: none;
}

/* ══════════════════════════════════════════
   UNIFIED MAIN BAR: logo | nav | utilities | minicart
══════════════════════════════════════════ */
#main-bar {
	background: #2c6e7a;
	box-shadow: 0 2px 8px rgba(44,110,122,.22);
	position: relative;
	z-index: 100;
}
.main-bar-inner {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	min-height: 58px;
	gap: 15px;
}

/* logo inside the bar - Left Column */
#logo {
	margin: 0;
	flex: 0 0 auto; /* Takes only the space it needs */
	display: flex;
	align-items: center;
	padding: 8px 18px 8px 0;
}
#logo img {
	max-height: 42px;
	width: auto;
	display: block;
	filter: brightness(1.35) drop-shadow(0 0 6px rgba(255,255,255,.2));
}
#logo h1 {
	margin: 0;
	font-family: 'DM Sans', sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: #fff;
	white-space: nowrap;
}
#logo h1 a {
	color: #fff;
	text-decoration: none;
}

/* nav-slot wraps the OpenCart #menu nav element - Center Column */
#nav-slot {
	flex: 1; /* Fills ALL remaining space between logo and cart */
	min-width: 0;
	display: flex;
	justify-content: center;
	padding: 0 20px;
}

/* Strip default block margin/shadow from #menu */
#menu {
	background: transparent;
	background-image: none;
	border: none;
	box-shadow: none;
	min-height: 0;
	margin: 0;
	width: 100%;
}
/* Ensure the nav list itself is centered and spaced evenly */
#menu .nav {
	display: flex;
	justify-content: space-evenly; /* Spreads items evenly across the gap */
	width: 100%;
}
#menu .nav > li > a {
	color: rgba(255,255,255,.88);
	text-shadow: none;
	padding: 0 16px;
	line-height: 58px;
	min-height: 0;
	font-family: 'DM Sans', sans-serif;
	font-size: 13px;
	font-weight: 500;
	background-color: transparent;
	transition: background .15s, color .15s;
	letter-spacing: .01em;
	white-space: nowrap;
}
#menu .nav > li > a:hover,
#menu .nav > li.open > a {
	background-color: rgba(255,255,255,.12);
	color: #fff;
}
#menu .dropdown-menu {
	background: #fff;
	border: 1.5px solid #e5e3dc;
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(0,0,0,.12);
	padding: 6px 0 8px;
	margin-top: 0;
}
#menu .dropdown-inner { display: table; }
#menu .dropdown-inner ul { display: table-cell; }
#menu .dropdown-inner a {
	min-width: 160px;
	display: block;
	padding: 6px 20px;
	clear: both;
	line-height: 1.4;
	color: #444;
	font-size: 13px;
	font-family: 'DM Sans', sans-serif;
	transition: background .12s, color .12s;
}
#menu .dropdown-inner li a:hover {
	color: #fff;
	background: #2c6e7a;
}
#menu .see-all {
	display: block;
	margin-top: 4px;
	border-top: 1px solid #e5e3dc;
	padding: 6px 20px;
	border-radius: 0 0 8px 8px;
	font-size: 12px;
	color: #2c6e7a;
	font-weight: 500;
	transition: background .15s, color .15s;
}
#menu .see-all:hover, #menu .see-all:focus {
	text-decoration: none;
	color: #fff;
	background-color: #2c6e7a;
	background-image: none;
}
#menu #category {
	float: left;
	padding-left: 15px;
	font-size: 15px;
	font-weight: 600;
	line-height: 58px;
	color: #fff;
	text-shadow: none;
}
#menu .btn-navbar {
	font-size: 15px;
	color: #FFF;
	padding: 6px 14px;
	float: right;
	background-color: rgba(255,255,255,.15);
	background-image: none;
	border: none;
	border-radius: 6px;
	margin: 10px 0;
	transition: background .15s;
}
#menu .btn-navbar:hover, #menu .btn-navbar:focus,
#menu .btn-navbar:active, #menu .btn-navbar.disabled,
#menu .btn-navbar[disabled] {
	color: #ffffff;
	background-color: rgba(255,255,255,.25);
}
@media (min-width: 768px) {
	#menu .dropdown:hover .dropdown-menu { display: block; }
}

/* Utilities + Cart wrapper - Right Column */
#right-slot {
	flex: 0 0 auto; /* Takes only the space it needs */
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

/* Merged Utility Slot */
#utility-slot {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 0 10px;
	position: relative;
	z-index: 50;
}
.utility-left {
	display: flex;
	align-items: center;
	gap: 5px;
}

/* Target only the main buttons, not the dropdown contents */
#utility-slot #form-currency .btn-link.dropdown-toggle,
#utility-slot #form-language .btn-link.dropdown-toggle {
	text-align: left;
	font-size: 12px;
	color: rgba(255,255,255,.88);
	padding: 4px 8px;
	border-radius: 6px;
	background: transparent;
	border: none;
	transition: background .15s, color .15s;
}
#utility-slot #form-currency .btn-link.dropdown-toggle:hover,
#utility-slot #form-language .btn-link.dropdown-toggle:hover {
	color: #fff;
	background-color: rgba(255,255,255,.12);
}

/* Force hide the text ONLY on the top bar toggle buttons */
#utility-slot #form-currency .dropdown-toggle span,
#utility-slot #form-language .dropdown-toggle span {
	display: none !important;
}

/* Make dropdown text visible (Dark Grey) */
#utility-slot .dropdown-menu .currency-select,
#utility-slot .dropdown-menu .language-select,
#utility-slot .dropdown-menu .btn-link {
	color: #555 !important;
	text-align: left;
	font-size: 12px;
	padding: 6px 12px;
	background: transparent;
	border: none;
	width: 100%;
}
#utility-slot .dropdown-menu .currency-select:hover,
#utility-slot .dropdown-menu .language-select:hover,
#utility-slot .dropdown-menu .btn-link:hover {
	color: #fff !important;
	background-color: #2c6e7a !important;
}

#utility-slot .btn-link,
#top-links li,
#top-links a {
	color: rgba(255,255,255,.88);
	text-shadow: none;
	text-decoration: none;
	font-size: 12px;
	font-family: 'DM Sans', sans-serif;
}
#utility-slot .btn-link:hover,
#top-links a:hover {
	color: #fff;
}
#top-links {
	padding: 0;
}
#top-links .list-inline {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 5px;
}
#top-links .list-inline > li {
	padding: 0;
}
#top-links .list-inline > li > a,
#top-links .list-inline > li > .dropdown > a {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 6px 10px;
	border-radius: 6px;
	color: rgba(255,255,255,.88);
	transition: background .15s, color .15s;
	white-space: nowrap;
}
#top-links .list-inline > li > a:hover,
#top-links .list-inline > li > .dropdown-toggle:hover {
	background: rgba(255,255,255,.12);
	color: #fff;
}
#top-links .dropdown-menu a {
	text-shadow: none;
	font-size: 12px;
	color: #555 !important;
}
#top-links .dropdown-menu a:hover {
	color: #FFF !important;
	background-color: #2c6e7a;
}

/* minicart sits at the far right of the bar */
#cart {
	margin: 0;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	padding: 0 0 0 12px;
	position: relative;
	z-index: 50;
}
#cart > .btn {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-family: 'DM Sans', sans-serif;
	font-weight: 500;
	line-height: 1;
	color: #fff;
	background: rgba(255,255,255,.15);
	border: 1.5px solid rgba(255,255,255,.25);
	border-radius: 8px;
	padding: 9px 16px;
	text-shadow: none;
	box-shadow: none;
	transition: background .15s;
	white-space: nowrap;
}
#cart > .btn:hover {
	background: rgba(255,255,255,.25);
}
#cart.open > .btn {
	background: rgba(0,0,0,.15);
	border-color: rgba(255,255,255,.3);
	color: #fff;
	box-shadow: none;
	text-shadow: none;
}
#cart .dropdown-menu {
	background: #fff;
	border: 1.5px solid #e5e3dc;
	border-radius: 12px;
	box-shadow: 0 8px 32px rgba(0,0,0,.12);
	z-index: 1001;
	padding: 8px 0;
}
#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; }

/* Mobile: stack nav below logo+cart row */
@media (max-width: 767px) {
	.main-bar-inner { flex-wrap: wrap; }
	#logo { border-right: none; padding-right: 0; flex: 1; }
	#right-slot { flex: 0 0 auto; }
	#nav-slot { width: 100%; order: 3; border-top: 1px solid rgba(255,255,255,.15); flex: 0 0 100%; }
	#menu { border-radius: 0; }
	#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,.15);
		border: none;
		border-radius: 0;
		box-shadow: none;
	}
	#menu .dropdown-inner { display: block; }
	#menu .dropdown-inner a { width: 100%; color: #fff; }
	#menu .dropdown-inner a:hover { background: rgba(255,255,255,.15); color: #fff; }
	#menu .nav > li > a { line-height: 44px; }
	#menu #category { line-height: 44px; }
}

/* ══════════════════════════════════════════
   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: #1a1a18;
	border-top: none;
	color: #aaa;
}
footer hr {
	border-top: none;
	border-bottom: 1px solid #333;
}
footer a {
	color: #bbb;
	transition: color .15s;
}
footer a:hover {
	color: #fff;
}
footer h5 {
	font-family: 'DM Sans', sans-serif;
	font-size: 12px;
	font-weight: 600;
	color: #fff;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* ── Alert ── */
.alert {
	padding: 8px 14px 8px 14px;
	border-radius: 8px;
}
.alert > .close {
	position: relative;
	top: -2px;
	right: 0px;
	color: inherit;
}

/* ── Breadcrumb ── */
.breadcrumb {
	margin: 0 0 20px 0;
	padding: 8px 0;
	border: 1px solid #e5e3dc;
	border-radius: 8px;
	background: #faf8f4;
}
.breadcrumb i {
	font-size: 15px;
}
.breadcrumb > li {
	text-shadow: none;
	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: 8px 16px;
	font-size: 13px;
	font-family: 'DM Sans', sans-serif;
	border: 1.5px solid #e5e3dc;
	border-radius: 8px;
	box-shadow: none;
	text-shadow: none;
	transition: background .15s, border-color .15s, color .15s;
}
.btn-xs { font-size: 10px; }
.btn-sm { font-size: 11px; }
.btn-lg { padding: 10px 20px; font-size: 15px; }
.btn-group > .btn,
.btn-group > .dropdown-menu,
.btn-group > .popover { font-size: 13px; }
.btn-group > .btn-xs { font-size: 10px; }
.btn-group > .btn-sm { font-size: 11px; }
.btn-group > .btn-lg { font-size: 15px; }
.btn-default {
	color: #555;
	background-color: #f5f4f1;
	background-image: none;
	border-color: #e5e3dc;
}
.btn-default:hover {
	background-color: #eae8e2;
	color: #333;
}
.btn-primary {
	color: #ffffff;
	background-color: #2c6e7a;
	background-image: none;
	border-color: #2c6e7a;
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary.active,
.btn-primary.disabled,
.btn-primary[disabled] {
	background-color: #235862;
	border-color: #235862;
	color: #fff;
}
.btn-warning {
	color: #ffffff;
	background-color: #e0893d;
	background-image: none;
	border-color: #d07830;
}
.btn-warning:hover,
.btn-warning:active,
.btn-warning.active,
.btn-warning.disabled,
.btn-warning[disabled] {
	background-color: #c97020;
}
.btn-danger {
	color: #ffffff;
	background-color: #c0392b;
	background-image: none;
	border-color: #a93226;
}
.btn-danger:hover,
.btn-danger:active,
.btn-danger.active,
.btn-danger.disabled,
.btn-danger[disabled] {
	background-color: #962d22;
}
.btn-success {
	color: #ffffff;
	background-color: #27ae60;
	background-image: none;
	border-color: #219a52;
}
.btn-success:hover,
.btn-success:active,
.btn-success.active,
.btn-success.disabled,
.btn-success[disabled] {
	background-color: #1e8a4a;
}
.btn-info {
	color: #ffffff;
	background-color: #2c6e7a;
	background-image: none;
	border-color: #235862;
}
.btn-info:hover,
.btn-info:active,
.btn-info.active,
.btn-info.disabled,
.btn-info[disabled] {
	background-color: #235862;
}
.btn-link {
	border-color: rgba(0,0,0,0);
	cursor: pointer;
	color: #2c6e7a;
	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;
	background-color: #1a1a18;
	background-image: none;
	border-color: #000;
}
.btn-inverse:hover,
.btn-inverse:active,
.btn-inverse.active,
.btn-inverse.disabled,
.btn-inverse[disabled] {
	background-color: #333;
}

/* ── List group ── */
.list-group a {
	border: 1px solid #e5e3dc;
	color: #777;
	padding: 8px 12px;
	border-radius: 6px;
}
.list-group a.active,
.list-group a.active:hover,
.list-group a:hover {
	color: #2c6e7a;
	background: rgba(44,110,122,.07);
	border: 1px solid rgba(44,110,122,.3);
	text-shadow: none;
}

/* ── 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: 1.5px solid #e5e3dc;
	border-radius: 12px;
	margin-bottom: 20px;
	overflow: auto;
	transition: border-color .2s, box-shadow .2s;
}
.product-thumb:hover {
	border-color: #2c6e7a;
	box-shadow: 0 4px 16px rgba(44,110,122,.1);
}
.product-thumb .image {
	text-align: center;
}
.product-thumb .image a {
	display: block;
}
.product-thumb .image a:hover {
	opacity: 0.85;
}
.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: 600;
}
.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: #1a1a18;
}
.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 #e5e3dc;
	background-color: #faf8f4;
	overflow: auto;
}
.product-list .product-thumb .button-group {
	border-left: 1px solid #e5e3dc;
}
@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: #faf8f4;
	color: #777;
	line-height: 38px;
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
	font-size: 12px;
	font-family: 'DM Sans', sans-serif;
	transition: background .15s, color .15s;
}
.product-thumb .button-group button + button {
	width: 20%;
	border-left: 1px solid #e5e3dc;
}
.product-thumb .button-group button:hover {
	color: #2c6e7a;
	background-color: rgba(44,110,122,.07);
	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 #e5e3dc;
	border-radius: 6px;
}
.image-additional { max-width: 78px; }
.thumbnails .image-additional {
	float: left;
	margin-left: 20px;
}

/* ── Grid column clears ── */
@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 column 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%; }
}
#column-left .product-layout, #column-right .product-layout { width: 100%; }

/* ── Fixed mobile cart quantity input ── */
.input-group .form-control[name^=quantity] { min-width: 50px; }

/* ── RTL fixes ── */
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; }
}

/* Center category page content */
#content .row {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
}

/* --- NEW: Always Show Mobile Navigation --- */
@media (max-width: 767px) {
  /* 1. Hide the dark "Categories" bar and 3-line hamburger button */
  #menu .navbar-header {
    display: none !important;
  }

  /* 2. Force the hidden link container to always be open */
  #menu .navbar-collapse {
    display: block !important; 
    height: auto !important;
    visibility: visible !important;
    overflow: visible !important;
    padding: 5px 0;
    border: none !important;
    box-shadow: none !important;
  }

  /* 3. Force a single line and strictly prevent wrapping */
  #menu .nav {
    display: flex !important;
    flex-wrap: nowrap !important; /* The magic rule that stops the stacking */
    justify-content: center;
    padding: 0 !important;
    margin: 0 !important;
    width: 100%;
  }

  /* 4. Squeeze the links slightly so they physically fit on narrow screens */
  #menu .nav > li {
    display: inline-block;
    float: none;
  }

  #menu .nav > li > a {
    padding: 8px 4px !important; /* Shrunk the side padding to make room */
    font-size: 12px !important; /* Dropped by 1px to guarantee it fits */
    text-align: center;
    background: transparent !important; 
    white-space: nowrap !important; /* Prevents the words themselves from breaking */
  }

/* --- NEW: Mobile Utility Bar (Language/Currency/Account) --- */
  #utility-slot {
    flex: 0 0 100%;
    order: 2; /* Slips it perfectly between the Logo (1) and Nav (3) */
    display: flex !important;
    justify-content: space-between; /* Pushes Lang/Currency left, Account/Phone right */
    align-items: center;
    padding: 8px 20px;
    background: rgba(0, 0, 0, 0.1); /* Adds a subtle dark tint to separate the row */
  }

/* 1. Makes Currency and Language drop straight down from the left */
  .utility-left .dropdown-menu {
    left: 0 !important;
    right: auto !important;
  }

  /* 2. Makes the Account menu drop inward from the right */
  #top-links .dropdown-menu {
    right: 0 !important;
    left: auto !important;
  }
}

/* --- Kills the horizontal scrollbar that breakout hacks sometimes cause --- */
body {
  overflow-x: hidden; 
}

/* --- Forces Header & Footer to break out of rogue containers edge-to-edge --- */
#main-bar, footer {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}

/* --- MOBILE MINI-CART FIX & OVERLAP PREVENTION --- */
@media (max-width: 767px) {
    
    /* 1. Elevate the parent header so it isn't trapped under the translucent bar */
    header {
        position: relative !important;
        z-index: 99998 !important;
    }

    /* 2. Elevate the cart button wrapper itself */
    #cart {
        position: relative !important;
        z-index: 99999 !important;
    }

    /* 3. The Un-squish and Dropdown styling (from before) */
    #cart .dropdown-menu {
        min-width: 300px !important;
        width: 92vw !important; 
        max-width: 360px !important;
        right: 0 !important; 
        left: auto !important;
        z-index: 100000 !important; /* Ultimate top layer */
        box-shadow: 0px 5px 25px rgba(0,0,0,0.3) !important; /* Made the shadow slightly darker to help it pop more */
    }
    
    #cart .dropdown-menu .table > tbody > tr > td {
        white-space: normal !important;
        padding: 8px 5px !important;
        vertical-align: middle !important;
    }

    #cart .dropdown-menu .table > tbody > tr > td.text-center:last-child {
        width: 40px !important;
    }
}
