/* Dark theme — black site background */
:root {
	--bg: #000000;
	--bg-elevated: #111111;
	--bg-panel: #1a1a1a;
	--bg-input: #0d0d0d;
	--border: #2a2a2a;
	--text: #e6e6e6;
	--text-muted: #a0a0a0;
	--text-heading: #f2f2f2;
	--accent: #23a1d1;
	--accent-hover: #1f90bb;
}

html {
	background-color: var(--bg);
}

body {
	background-color: var(--bg) !important;
	color: var(--text) !important;
}

h1, h2, h3, h4, h5, h6,
#logo h1,
#logo h1 a,
#content h1,
#content h2,
#content h3 {
	color: var(--text-heading) !important;
}

a {
	color: var(--accent);
}

a:hover,
a:focus {
	color: #4fc3e8;
}

p,
li,
label,
.help-block,
.text-muted {
	color: var(--text-muted);
}

/* Login page field labels */
#account-login label.control-label,
#account-login .form-group > label {
	color: #d0d0d0 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}

/* Login / register modal field labels */
#login-modal .form-group label,
#register-modal .form-group label {
	color: #d0d0d0 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}

#login-modal .modal-content,
#register-modal .modal-content,
.modal-content {
	background: var(--bg-panel) !important;
	color: var(--text) !important;
	border-color: var(--border) !important;
}

#login-modal .modal-header h3,
#register-modal .modal-header h3,
#order-track-modal .modal-header h3 {
	color: var(--text-heading) !important;
}

#login-modal .form-control,
#register-modal .form-control,
#order-track-modal .form-control {
	background-color: var(--bg-input) !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
}

#login-modal .close-btn,
#register-modal .close-btn,
#order-track-modal .close-btn {
	color: var(--text-muted) !important;
}

#login-modal .close-btn:hover,
#register-modal .close-btn:hover,
#order-track-modal .close-btn:hover {
	color: var(--text-heading) !important;
}

/* Top bar */
#top {
	background-color: var(--bg-elevated) !important;
	border-bottom: 1px solid var(--border) !important;
}

#top .btn-link,
#top-links li,
#top-links a {
	color: var(--text-muted) !important;
	text-shadow: none !important;
}

#top .btn-link:hover,
#top-links a:hover {
	color: var(--text-heading) !important;
}

/* Header / search / cart */
header {
	background-color: var(--bg);
}

#search .form-control,
#search .input-lg {
	background-color: var(--bg-input) !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
}

#search .btn-lg {
	text-shadow: none !important;
}

#search .header-search__track .btn {
	background-color: var(--bg-elevated) !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
	text-shadow: none !important;
}

#search .header-search__track .btn:hover {
	border-color: var(--accent) !important;
	color: var(--text-heading) !important;
}

#cart > .btn {
	color: #fff !important;
}

#cart.open > .btn {
	background-color: var(--bg-panel) !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
}

#cart .dropdown-menu {
	background: var(--bg-panel) !important;
	border-color: var(--border) !important;
	color: var(--text);
}

#cart .dropdown-menu a,
#cart .dropdown-menu td,
#cart .dropdown-menu p {
	color: var(--text) !important;
}

.dropdown-menu {
	background-color: var(--bg-panel) !important;
	border-color: var(--border) !important;
}

.dropdown-menu > li > a {
	color: var(--text) !important;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
	background-color: var(--accent) !important;
	color: #fff !important;
}

/* Content panels / well / breadcrumbs */
.breadcrumb {
	background-color: transparent !important;
}

.breadcrumb > li a,
.breadcrumb > li {
	color: var(--text-muted) !important;
}

.panel,
.panel-default,
.well,
.thumbnail,
.list-group-item {
	background-color: var(--bg-panel) !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
}

.panel-heading,
.panel-footer,
.panel-default > .panel-heading {
	background-color: var(--bg-elevated) !important;
	border-color: var(--border) !important;
	color: var(--text-heading) !important;
}

.list-group-item {
	color: var(--text) !important;
}

.table,
.table > thead > tr > th,
.table > tbody > tr > td,
.table-bordered,
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > td {
	border-color: var(--border) !important;
	color: var(--text) !important;
	background-color: transparent !important;
}

.table-hover > tbody > tr:hover > td,
.table-striped > tbody > tr:nth-of-type(odd) {
	background-color: var(--bg-elevated) !important;
}

/* Forms */
.form-control,
select.form-control,
textarea.form-control,
input[type="text"].form-control,
input[type="password"].form-control,
input[type="email"].form-control,
input[type="tel"].form-control,
input[type="search"].form-control,
input[type="number"].form-control {
	background-color: var(--bg-input) !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
}

.form-control:focus {
	border-color: var(--accent) !important;
	box-shadow: none !important;
}

.input-group-addon {
	background-color: var(--bg-elevated) !important;
	border-color: var(--border) !important;
	color: var(--text-muted) !important;
}

/* Buttons — keep primary cyan, tone down default */
.btn-default {
	background-color: var(--bg-panel) !important;
	background-image: none !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
	text-shadow: none !important;
}

.btn-default:hover,
.btn-default:focus,
.btn-default:active {
	background-color: #222 !important;
	border-color: #3a3a3a !important;
	color: #fff !important;
}

.btn-primary {
	background-color: var(--accent) !important;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb) !important;
	border-color: #1f90bb #1f90bb #145e7a !important;
	color: #fff !important;
	text-shadow: none !important;
}

/* Product cards (latest / featured / category) */
.product-thumb,
.product-layout .product-thumb,
.product-thumb.transition {
	background-color: var(--bg-panel) !important;
	border: 1px solid var(--border) !important;
	color: var(--text) !important;
}

.product-thumb .caption,
.product-layout .product-thumb .caption {
	background-color: transparent !important;
	color: var(--text) !important;
}

.product-thumb .caption h4 a,
.product-layout .product-thumb .caption h4 a {
	color: var(--text-heading) !important;
}

.product-thumb .price,
.product-layout .product-thumb .price,
.product-layout .product-thumb .price * {
	color: var(--text-heading) !important;
}

.product-thumb .price-old,
.price-old {
	color: var(--text-muted) !important;
}

.product-thumb .button-group,
.product-layout .product-thumb .button-group {
	background-color: var(--bg-elevated) !important;
	border-top: 1px solid var(--border) !important;
}

.product-thumb .button-group button,
.product-layout .product-thumb .button-group button {
	background-color: transparent !important;
	border-color: transparent !important;
	color: var(--text) !important;
	text-shadow: none !important;
}

.product-layout .product-thumb .button-group button:first-child {
	background-color: var(--accent) !important;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb) !important;
	border-color: #1f90bb #1f90bb #145e7a !important;
	color: #fff !important;
	border-radius: 4px !important;
}

.product-layout .product-thumb .rating-inline .rating-count {
	color: var(--text-muted) !important;
}

.product-layout .product-thumb .image {
	background-color: #0a0a0a !important;
	border-radius: 5px !important;
	overflow: hidden !important;
}

.product-thumb .image img,
.product-layout .product-thumb .image img {
	filter: brightness(0.55);
	transition: filter 0.25s ease;
}

.product-thumb .image a,
.product-thumb .image a:hover,
.product-thumb .image a:focus,
.product-layout .product-thumb .image a,
.product-layout .product-thumb .image a:hover,
.product-layout .product-thumb .image a:focus {
	opacity: 1 !important;
}

.product-thumb:hover .image img,
.product-layout .product-thumb:hover .image img {
	filter: brightness(1);
}

/* Category / product page extras */
.product-info,
#product,
.nav-tabs {
	border-color: var(--border) !important;
}

.nav-tabs > li > a {
	color: var(--text-muted) !important;
	background-color: transparent !important;
	border-color: transparent !important;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
	background-color: var(--bg-panel) !important;
	border-color: var(--border) var(--border) transparent !important;
	color: var(--text-heading) !important;
}

/* Footer already dark-ish in OC default — keep consistent */
footer {
	background-color: #0a0a0a !important;
	border-top: 1px solid var(--border) !important;
	margin-top: 30px;
}

footer h5 {
	color: var(--text-heading) !important;
}

footer a {
	color: var(--text-muted) !important;
}

footer a:hover {
	color: var(--accent) !important;
}

#powered {
	border-top: 1px solid var(--border) !important;
	color: var(--text-muted) !important;
	background: var(--bg) !important;
}

#powered a {
	color: var(--accent) !important;
}

/* Modals (city / login / register / order track) */
#city-change-modal .modal-content,
#login-modal .modal-content,
#register-modal .modal-content,
#order-track-modal .modal-content,
#product-quickview-modal .modal-content,
#checkout-modal .modal-content,
.modal-content {
	background: var(--bg-panel) !important;
	color: var(--text) !important;
	border-color: var(--border) !important;
}

#city-change-modal .modal-header,
#login-modal .modal-header,
#register-modal .modal-header,
#order-track-modal .modal-header,
.modal-header {
	border-bottom-color: var(--border) !important;
	color: var(--text-heading) !important;
}

#city-change-modal .modal-footer,
#login-modal .modal-footer,
#register-modal .modal-footer,
#order-track-modal .modal-footer,
.modal-footer {
	border-top-color: var(--border) !important;
	background: var(--bg-elevated) !important;
}

#city-change-modal .modal-title,
#login-modal .modal-title,
#register-modal .modal-title,
#order-track-modal .modal-title,
.modal-title {
	color: var(--text-heading) !important;
}

#city-change-modal input,
#login-modal input,
#register-modal input,
#order-track-modal input {
	background-color: var(--bg-input) !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
}

#order-track-modal .order-track-phone__prefix {
	background: var(--bg-elevated) !important;
	border-color: var(--border) !important;
	color: var(--text-heading) !important;
}

#order-track-modal .order-track-item {
	background: var(--bg-elevated) !important;
	border-color: var(--border) !important;
}

#order-track-modal .order-track-item__title {
	color: var(--text-heading) !important;
}

#order-track-modal .order-track-item__status {
	color: var(--accent) !important;
}

#order-track-modal .order-track-item__total {
	color: var(--text-muted) !important;
}

#product-quickview-modal .close-btn {
	color: #bdbdbd !important;
}
#product-quickview-modal .close-btn:hover {
	color: #e8e8e8 !important;
}
#product-quickview-modal,
#product-quickview-modal .modal-content,
#product-quickview-modal .modal-content *:not(a):not(.btn):not(.btn *) {
	color: #cfcfcf !important;
}
#product-quickview-modal a:not(.btn) {
	color: var(--accent) !important;
}
#product-quickview-modal .product-quickview__main-image,
#product-quickview-modal .product-quickview__thumb {
	background: var(--bg-elevated) !important;
}
#product-quickview-modal .product-quickview__desc,
#product-quickview-modal .product-quickview__attrs,
#product-quickview-modal .table,
#product-quickview-modal .table td,
#product-quickview-modal .table th {
	border-color: var(--border) !important;
}
#product-quickview-modal .form-control {
	background-color: var(--bg-input) !important;
	border-color: var(--border) !important;
	color: #cfcfcf !important;
}
#product-quickview-modal .product-quickview__price-old {
	color: #9a9a9a !important;
}
#product-quickview-modal .alert-info {
	background: #1a2a33 !important;
	border-color: #2a4050 !important;
	color: #cfcfcf !important;
}

#checkout-modal .close-btn { color: #bdbdbd !important; }
#checkout-modal h3,
#checkout-modal .checkout-modal__total,
#checkout-modal .checkout-modal__shipping-label,
#checkout-modal .form-group label,
#checkout-modal .checkout-modal__products li,
#checkout-modal .checkout-modal__note,
#checkout-modal .checkout-modal__hint,
#checkout-modal .checkout-modal__shipping {
	color: #cfcfcf !important;
}
#checkout-modal .checkout-modal__shipping {
	background: var(--bg-elevated) !important;
}
#checkout-modal .checkout-modal__products {
	border-bottom-color: var(--border) !important;
}
#checkout-modal .form-control {
	background-color: var(--bg-input) !important;
	border-color: var(--border) !important;
	color: #cfcfcf !important;
}

.close {
	color: #fff !important;
	opacity: 0.7;
	text-shadow: none !important;
}

.close:hover {
	opacity: 1;
	color: #fff !important;
}

/* Alerts */
.alert {
	border-color: var(--border) !important;
}

.alert-success {
	background-color: #14331f !important;
	color: #b8e6c4 !important;
}

.alert-danger,
#login-error-message {
	background-color: #3a1518 !important;
	color: #f5c2c7 !important;
	border-color: #5c2428 !important;
}

.alert-info {
	background-color: #132a33 !important;
	color: #b8e0ef !important;
}

.alert-warning {
	background-color: #33280f !important;
	color: #f0e0b0 !important;
}

/* Pagination */
.pagination > li > a,
.pagination > li > span {
	background-color: var(--bg-panel) !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
}

.pagination > .active > a,
.pagination > .active > span {
	background-color: var(--accent) !important;
	border-color: var(--accent) !important;
	color: #fff !important;
}

/* Swiper / banners */
.swiper-viewport {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

/* Simple checkout / account pages */
.simplecheckout,
.simplecheckout-block,
.simpleregister,
#account-account,
#checkout-cart,
#checkout-checkout {
	color: var(--text);
}

.simplecheckout-block,
.simplecheckout-cart,
.simplecheckout table {
	background-color: var(--bg-panel);
	border-color: var(--border);
}
