:root {
  --hw57-black: #050505;
  --hw57-panel: #101010;
  --hw57-panel-soft: #171717;
  --hw57-menu: #202020;
  --hw57-menu-soft: #2a2a2a;
  --hw57-border: #2a2417;
  --hw57-gold: #c79a35;
  --hw57-gold-light: #f1d27a;
  --hw57-text: #f7f1df;
  --hw57-muted: #c9c0aa;
}

html,
body {
  background: var(--hw57-black) !important;
  color: var(--hw57-text) !important;
}

#header,
#header .header-top,
#header .header-nav,
#wrapper,
#footer,
.footer-container,
.breadcrumb {
  background: var(--hw57-black) !important;
  color: var(--hw57-text) !important;
}

#header {
  border-bottom: 1px solid var(--hw57-border);
}

#header a,
#footer a,
.breadcrumb a,
a {
  color: var(--hw57-gold-light);
}

#header a:hover,
#footer a:hover,
.breadcrumb a:hover,
a:hover {
  color: #ffffff;
}

.h1,
.h2,
.h3,
h1,
h2,
h3,
h4,
.product-title a,
.page-title {
  color: var(--hw57-text) !important;
}

p,
label,
.label,
.product-description,
.product-information,
.tabs .tab-pane,
.block-category,
.category-description,
.cart-summary-line,
.cart-grid-body,
.cart-grid-right,
.account-list a,
.page-content,
.page-cms {
  color: var(--hw57-muted) !important;
}

.card,
.product-miniature .thumbnail-container,
.featured-products .product-miniature,
.products .product-miniature,
.product-cover,
.product-images > li.thumb-container .thumb,
.product-variants > .product-variants-item select,
.product-additional-info,
.tabs,
.cart-summary,
.cart-grid-right .card,
.checkout-step,
.block-categories,
.contact-form,
.page-authentication #content,
.page-customer-account #content,
.modal-content {
  background: var(--hw57-panel) !important;
  border-color: var(--hw57-border) !important;
  color: var(--hw57-text) !important;
}

.product-miniature .product-description,
.product-miniature .highlighted-informations,
.product-miniature .variant-links {
  background: var(--hw57-panel) !important;
  color: var(--hw57-text) !important;
}

.product-miniature .product-description::after {
  display: none !important;
}

.product-miniature .product-title a,
.product-price,
.current-price,
.price,
.cart-summary-line .value,
.cart-summary-line.cart-total .value,
.cart-summary-line.cart-total .label,
.cart-summary-totals .value,
.cart-summary-totals .label,
.cart-summary-line .price {
  color: var(--hw57-gold-light) !important;
}

.btn-primary,
.btn-primary:active,
.btn-primary:focus,
.btn-primary.disabled,
.btn-primary:disabled,
.add-to-cart,
.cart-detailed-actions .btn,
.checkout a.btn-primary {
  background: linear-gradient(135deg, var(--hw57-gold-light), var(--hw57-gold)) !important;
  border-color: var(--hw57-gold) !important;
  color: #080808 !important;
  font-weight: 700;
  box-shadow: 0 0 18px rgba(199, 154, 53, 0.25);
}

.btn-primary:hover,
.add-to-cart:hover,
.cart-detailed-actions .btn:hover {
  background: #f4d987 !important;
  border-color: #f4d987 !important;
  color: #000000 !important;
}

.btn-secondary,
.btn-tertiary {
  background: var(--hw57-panel-soft) !important;
  border-color: var(--hw57-border) !important;
  color: var(--hw57-text) !important;
}

.form-control,
.custom-select,
input,
select,
textarea {
  background-color: #0c0c0c !important;
  border-color: #3a3120 !important;
  color: var(--hw57-text) !important;
}

.blockcart,
#_desktop_cart .blockcart,
#_mobile_cart .blockcart,
.blockcart.cart-preview,
.blockcart.cart-preview.active {
  background: var(--hw57-black) !important;
  color: var(--hw57-gold-light) !important;
  border-left: 1px solid var(--hw57-border);
  border-right: 1px solid var(--hw57-border);
}

.blockcart a,
.blockcart i,
.blockcart .cart-products-count {
  color: var(--hw57-gold-light) !important;
}

.product-flags li.product-flag,
.product-flags .product-flag,
.product-miniature .product-flags li.product-flag {
  background: var(--hw57-gold) !important;
  color: #050505 !important;
  font-weight: 700;
}

#carousel,
.carousel,
.banner,
#custom-text {
  display: none !important;
}

.block_newsletter,
#blockEmailSubscription_displayFooterBefore,
#blockEmailSubscription_displayFooterBefore .block_newsletter,
.block_newsletter form,
.block_newsletter .row {
  background: var(--hw57-panel) !important;
  color: var(--hw57-text) !important;
}

#left-column .block,
#left-column .links,
#left-column .block-categories,
#search_filters,
#search_filters_brands,
#search_filters_suppliers,
.category-top-menu,
.facets-title,
.facet,
.facet .facet-label a,
.facet .facet-label {
  background: var(--hw57-panel) !important;
  color: var(--hw57-text) !important;
  border-color: var(--hw57-border) !important;
}

.tabs .nav-tabs {
  border-bottom-color: var(--hw57-border) !important;
}

.tabs .nav-tabs .nav-link,
.tabs .nav-tabs .nav-link.active {
  color: var(--hw57-text) !important;
  background: transparent !important;
  border-color: transparent !important;
}

.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover {
  background: var(--hw57-panel-soft) !important;
  border-bottom-color: var(--hw57-gold) !important;
  color: var(--hw57-gold-light) !important;
}

.tabs .tab-content,
.tabs .tab-pane,
.product-comments,
#product-comments-list-header,
#product-comments-list,
#product-comments-list-footer,
.product-comment-list-item,
.product-comment-list-empty,
.product-comment-list-empty h4,
.product-comment-list-empty p {
  background: var(--hw57-panel) !important;
  color: var(--hw57-muted) !important;
  border-color: var(--hw57-border) !important;
}

#blockcart-modal .modal-header,
#blockcart-modal .modal-body,
#blockcart-modal .modal-footer,
.modal-header,
.modal-body,
.modal-footer {
  background: var(--hw57-panel) !important;
  color: var(--hw57-text) !important;
  border-color: var(--hw57-border) !important;
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--hw57-gold);
}

.custom-checkbox input[type="checkbox"] + span,
.custom-radio input[type="radio"] + span {
  background: #1b1b1b !important;
  border: 1px solid #8a7650 !important;
}

.custom-checkbox input[type="checkbox"]:checked + span,
.custom-radio input[type="radio"]:checked + span {
  background: var(--hw57-gold) !important;
  border-color: var(--hw57-gold-light) !important;
}

/* Mobile navigation refinement */
#mobile_top_menu_wrapper,
#mobile_top_menu_wrapper .top-menu,
#mobile_top_menu_wrapper .top-menu .sub-menu,
#mobile_top_menu_wrapper .js-top-menu-bottom,
#mobile_top_menu_wrapper .dropdown-menu {
  background: var(--hw57-menu) !important;
  color: var(--hw57-text) !important;
  border-color: var(--hw57-border) !important;
}

#mobile_top_menu_wrapper {
  border-top: 1px solid var(--hw57-border) !important;
  border-bottom: 1px solid var(--hw57-border) !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.45) !important;
}

#mobile_top_menu_wrapper a,
#mobile_top_menu_wrapper .top-menu a,
#mobile_top_menu_wrapper .top-menu .sub-menu a {
  color: var(--hw57-text) !important;
  background: transparent !important;
}

#mobile_top_menu_wrapper a:hover,
#mobile_top_menu_wrapper a:focus,
#mobile_top_menu_wrapper .top-menu a:hover,
#mobile_top_menu_wrapper .top-menu a:focus {
  color: var(--hw57-gold-light) !important;
  background: var(--hw57-menu-soft) !important;
}

#mobile_top_menu_wrapper .top-menu li,
#mobile_top_menu_wrapper .top-menu .category {
  border-bottom: 1px solid rgba(199, 154, 53, 0.22) !important;
}

#mobile_top_menu_wrapper .navbar-toggler,
#header .header-top .menu-icon,
#header .header-top .material-icons,
#header .header-nav .material-icons {
  color: var(--hw57-gold-light) !important;
}

#mobile_top_menu_wrapper .top-menu .collapse-icons .add,
#mobile_top_menu_wrapper .top-menu .collapse-icons .remove {
  color: var(--hw57-gold-light) !important;
}

@media (max-width: 767px) {
  #header,
  #header .header-top,
  #header .header-nav {
    background: var(--hw57-black) !important;
  }

  #header .header-nav .top-logo,
  #header .header-top {
    border-bottom: 1px solid var(--hw57-border) !important;
  }

  #mobile_top_menu_wrapper {
    padding: 0.75rem 1rem !important;
  }

  #mobile_top_menu_wrapper .top-menu a {
    display: block !important;
    padding: 0.8rem 0.65rem !important;
    line-height: 1.35 !important;
  }
}

@media (min-width: 768px) {
  #header .header-top .menu,
  #header .header-top .menu > ul,
  .top-menu,
  .top-menu a[data-depth="0"] {
    background: transparent !important;
  }

  .top-menu .sub-menu,
  .top-menu .popover {
    background: var(--hw57-black) !important;
    border-color: var(--hw57-border) !important;
  }

  #header .top-menu a[data-depth="0"],
  #header .top-menu a[data-depth="0"]:visited,
  #header .top-menu a[data-depth="0"]:active,
  #header .top-menu a[data-depth="0"]:focus,
  #header .top-menu a[data-depth="0"]:hover,
  #header .top-menu .current a[data-depth="0"],
  #header .top-menu .sfHover a[data-depth="0"] {
    color: var(--hw57-gold-light) !important;
    background: transparent !important;
  }

  #header .top-menu a[data-depth="0"]:hover,
  #header .top-menu a[data-depth="0"]:focus,
  #header .top-menu .current a[data-depth="0"] {
    color: #ffffff !important;
  }
}

.footer-container,
#footer,
#footer .footer-container,
#footer .links,
#footer .block-contact,
#footer .block-contact-rich,
#footer_account_list,
#block_myaccount_infos {
  background: var(--hw57-black) !important;
  color: var(--hw57-muted) !important;
}

.footer-container .h3,
.footer-container .h4,
.footer-container .title,
.footer-container .title span,
#footer .h3,
#footer .h4,
#footer .links .h3,
#footer .links .h4,
#footer .block-contact .h4,
#footer .block-contact-rich .h4,
#block_myaccount_infos .myaccount-title a {
  color: var(--hw57-text) !important;
  opacity: 1 !important;
}

.footer-container li a,
#footer a,
#footer .links ul > li a,
#footer_account_list li a,
#block_myaccount_infos li a {
  color: var(--hw57-gold-light) !important;
}

.footer-container li a:hover,
#footer a:hover,
#footer .links ul > li a:hover,
#footer_account_list li a:hover,
#block_myaccount_infos li a:hover {
  color: #ffffff !important;
}

#footer .block-contact,
#footer .block-contact p,
#footer .block-contact div,
#footer .block-contact-rich,
#footer .block-contact-rich p,
#footer .block-contact-rich div {
  color: var(--hw57-muted) !important;
}

/* Order confirmation and bank transfer details */
.page-order-confirmation #content,
.page-order-confirmation .card,
.page-order-confirmation .box,
.page-order-confirmation section,
.page-order-confirmation .order-confirmation-table,
.page-order-confirmation .order-line,
.page-order-confirmation #order-items,
.page-order-confirmation #order-details,
.page-order-confirmation #content-hook_order_confirmation,
.page-order-confirmation #content-hook_payment_return {
  background: var(--hw57-panel) !important;
  color: var(--hw57-text) !important;
  border-color: var(--hw57-border) !important;
}

.page-order-confirmation table,
.page-order-confirmation table tbody,
.page-order-confirmation table tr,
.page-order-confirmation table th,
.page-order-confirmation table td,
.page-order-confirmation .table,
.page-order-confirmation .table tbody,
.page-order-confirmation .table tr,
.page-order-confirmation .table th,
.page-order-confirmation .table td {
  background: var(--hw57-panel-soft) !important;
  color: var(--hw57-text) !important;
  border-color: var(--hw57-border) !important;
}

.page-order-confirmation table th,
.page-order-confirmation .table th,
.page-order-confirmation strong,
.page-order-confirmation .h1,
.page-order-confirmation .h2,
.page-order-confirmation .h3,
.page-order-confirmation h1,
.page-order-confirmation h2,
.page-order-confirmation h3 {
  color: var(--hw57-text) !important;
}

.page-order-confirmation table td,
.page-order-confirmation .table td,
.page-order-confirmation p,
.page-order-confirmation span,
.page-order-confirmation li,
.page-order-confirmation label {
  color: var(--hw57-muted) !important;
}

.page-order-confirmation .price,
.page-order-confirmation .value,
.page-order-confirmation .order-confirmation-table .price,
.page-order-confirmation .order-line .price,
.page-order-confirmation .total-value,
.page-order-confirmation td:last-child,
.page-order-confirmation .table td:last-child {
  color: var(--hw57-gold-light) !important;
}

.page-order-confirmation .cart-summary-line.cart-total,
.page-order-confirmation .cart-summary-line.cart-total span,
.page-order-confirmation .cart-summary-line.cart-total .label,
.page-order-confirmation .cart-summary-line.cart-total .value,
.page-order-confirmation .order-total,
.page-order-confirmation .order-total span {
  background: #171717 !important;
  color: var(--hw57-gold-light) !important;
  border-color: var(--hw57-border) !important;
}

.page-order-confirmation input,
.page-order-confirmation select,
.page-order-confirmation textarea {
  background: #0c0c0c !important;
  color: var(--hw57-text) !important;
  border-color: var(--hw57-border) !important;
}

.page-order-confirmation .btn,
.page-order-confirmation .btn-primary {
  color: #080808 !important;
}

/* Bank transfer module fallback: override stubborn white table cells. */
.page-order-confirmation #content-hook_payment_return table,
.page-order-confirmation #content-hook_payment_return tbody,
.page-order-confirmation #content-hook_payment_return tr,
.page-order-confirmation #content-hook_payment_return th,
.page-order-confirmation #content-hook_payment_return td,
.page-order-confirmation #content-hook_payment_return table[style],
.page-order-confirmation #content-hook_payment_return tr[style],
.page-order-confirmation #content-hook_payment_return th[style],
.page-order-confirmation #content-hook_payment_return td[style],
.page-order-confirmation #content-hook_payment_return .table,
.page-order-confirmation #content-hook_payment_return .table tbody,
.page-order-confirmation #content-hook_payment_return .table tr,
.page-order-confirmation #content-hook_payment_return .table th,
.page-order-confirmation #content-hook_payment_return .table td {
  background: #171717 !important;
  background-color: #171717 !important;
  border-color: #4a3920 !important;
  color: var(--hw57-text) !important;
}

.page-order-confirmation #content-hook_payment_return td,
.page-order-confirmation #content-hook_payment_return td *,
.page-order-confirmation #content-hook_payment_return th,
.page-order-confirmation #content-hook_payment_return th *,
.page-order-confirmation #content-hook_payment_return table span,
.page-order-confirmation #content-hook_payment_return table strong {
  color: var(--hw57-text) !important;
  text-shadow: none !important;
}

.page-order-confirmation #content-hook_payment_return td:last-child,
.page-order-confirmation #content-hook_payment_return td:last-child *,
.page-order-confirmation #content-hook_payment_return .price,
.page-order-confirmation #content-hook_payment_return .amount {
  color: var(--hw57-gold-light) !important;
}

/* PrestaShop bank wire renders account data as a definition list in many versions. */
.page-order-confirmation #content-hook_payment_return dl,
.page-order-confirmation #content-hook_payment_return dt,
.page-order-confirmation #content-hook_payment_return dd,
.page-order-confirmation #content-hook_payment_return .definition-list,
.page-order-confirmation #content-hook_payment_return .definition-list dl,
.page-order-confirmation #content-hook_payment_return .definition-list dt,
.page-order-confirmation #content-hook_payment_return .definition-list dd,
.page-order-confirmation .definition-list,
.page-order-confirmation .definition-list dl,
.page-order-confirmation .definition-list dt,
.page-order-confirmation .definition-list dd {
  background: #171717 !important;
  background-color: #171717 !important;
  border-color: #4a3920 !important;
  color: var(--hw57-text) !important;
}

.page-order-confirmation #content-hook_payment_return dt,
.page-order-confirmation .definition-list dt {
  color: var(--hw57-muted) !important;
  font-weight: 700 !important;
}

.page-order-confirmation #content-hook_payment_return dd,
.page-order-confirmation #content-hook_payment_return dd *,
.page-order-confirmation .definition-list dd,
.page-order-confirmation .definition-list dd * {
  color: var(--hw57-gold-light) !important;
}

.page-order-confirmation #content-hook_payment_return dl {
  border: 1px solid #4a3920 !important;
}

.page-order-confirmation #content-hook_payment_return dt,
.page-order-confirmation #content-hook_payment_return dd {
  border-bottom: 1px solid #4a3920 !important;
  padding: 0.55rem 0.75rem !important;
}
