/*
 * Ricky Fin's Reef - PrestaShop child theme of "classic".
 * Mirrors the Reef Hub web app: deep purple surfaces (#090615 / #120d26), electric lime accents (#84cc16),
 * Plus Jakarta Sans for text and JetBrains Mono for numbers. Only colours, type and radii are changed;
 * layout and behaviour come from the parent theme.
 */
:root {
  --rf-bg: #0b0914;
  --rf-bg-deep: #090615;
  --rf-surface: #120d26;
  --rf-surface-2: #160f2f;
  --rf-border: rgba(88, 28, 135, 0.55); /* purple-900 */
  --rf-border-strong: rgba(147, 51, 234, 0.6);
  --rf-text: #f1f5f9;
  --rf-text-muted: #c4b5fd; /* purple-300 */
  --rf-text-dim: #94a3b8;
  --rf-lime: #84cc16;
  --rf-lime-hover: #a3e635;
  --rf-lime-soft: rgba(132, 204, 22, 0.15);
  --rf-purple: #7e22ce;
  --rf-purple-deep: #2e1065;
  --rf-danger: #fb7185;
  --rf-radius: 14px;
  --rf-radius-sm: 10px;
}

html, body, body#index, #wrapper, #content-wrapper, #main { background-color: var(--rf-bg) !important; }
body {
  color: var(--rf-text);
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .product-title, .page-header h1 { color: #fff; font-weight: 800; }
a { color: var(--rf-lime); }
a:hover, a:focus { color: var(--rf-lime-hover); }
.text-muted, .text-secondary, small, .small { color: var(--rf-text-dim) !important; }
code, kbd, pre, .price, .product-price, .current-price-value, .regular-price, .cart-total .value, .order-line .price, .product-flags .product-flag {
  font-family: 'JetBrains Mono', monospace;
}

/* ---------- header ---------- */
#header { background: var(--rf-bg-deep); color: var(--rf-text); box-shadow: none; border-bottom: 1px solid var(--rf-border); }
#header .header-nav { background: var(--rf-bg-deep); border-bottom: 1px solid var(--rf-border); color: var(--rf-text-muted); max-height: none; }
#header .header-nav a, #header .header-nav .language-selector, #header .header-nav .currency-selector,
#header .header-nav .user-info, #header .header-nav .blockcart .cart-products-count { color: var(--rf-text-muted); }
#header .header-top { background: var(--rf-bg-deep); padding-bottom: 0.75rem; }
#header .header-top a[data-depth="0"] { color: var(--rf-text); font-weight: 700; text-transform: none; letter-spacing: 0; }
#header .header-top a[data-depth="0"]:hover, #header .header-top .top-menu li.current > a[data-depth="0"] { color: var(--rf-lime); }
#header .top-menu .sub-menu { background: var(--rf-surface); border: 1px solid var(--rf-border); border-radius: var(--rf-radius-sm); }
#header .top-menu .sub-menu a { color: var(--rf-text); }
#header .top-menu .sub-menu a:hover { color: var(--rf-lime); }
#header #_desktop_logo img, #header .logo { max-height: 60px; border-radius: 12px; background: #fff; padding: 2px; }
#header .blockcart { background: var(--rf-surface); border: 1px solid var(--rf-border); border-radius: var(--rf-radius-sm); }
#header .blockcart.active a, #header .blockcart .header i { color: var(--rf-lime); }
#header .blockcart .cart-products-count { color: var(--rf-text); }
#header .search-widget form input[type="text"] { background: var(--rf-bg-deep); border: 1px solid var(--rf-border); color: var(--rf-text); border-radius: var(--rf-radius-sm); }
#header .search-widget form input[type="text"]:focus { border-color: var(--rf-lime); outline: 0; }
#header .search-widget form button[type="submit"] { color: var(--rf-lime); }
#mobile_top_menu_wrapper { background: var(--rf-surface); }
#mobile_top_menu_wrapper .top-menu a { color: var(--rf-text); }
#_mobile_cart .blockcart, #_mobile_user_info .user-info a { color: var(--rf-lime); }

/* ---------- buttons ---------- */
.btn, .btn-primary, .btn-secondary, .btn-default { border-radius: var(--rf-radius-sm); font-weight: 800; text-transform: none; letter-spacing: 0; }
.btn-primary, .btn-primary:focus, .add-to-cart, .btn-primary.disabled {
  background: var(--rf-lime) !important; border-color: var(--rf-lime) !important; color: var(--rf-purple-deep) !important;
  box-shadow: 0 6px 20px rgba(63, 98, 18, 0.35);
}
.btn-primary:hover, .add-to-cart:hover { background: var(--rf-lime-hover) !important; border-color: var(--rf-lime-hover) !important; color: var(--rf-purple-deep) !important; }
.btn-secondary, .btn-tertiary, .btn-default, .btn-outline-secondary, .btn-unstyle.select-title {
  background: var(--rf-surface); border: 1px solid var(--rf-border-strong); color: var(--rf-text-muted); box-shadow: none;
}
.btn-secondary:hover, .btn-tertiary:hover, .btn-default:hover { background: var(--rf-surface-2); color: #fff; border-color: var(--rf-lime); }
.btn-link { color: var(--rf-lime); }

/* ---------- cards, products, blocks ---------- */
.card, .block-categories, .page-my-account #content .links a span.link-item, .cart-grid-body .card, .cart-summary, .product-miniature .thumbnail-container,
.block-category, .product-prices, #blockcart-modal .modal-content, .modal-content, .address, .page-footer, .featured-products, .products-section-title,
.page-content.card, .page-addresses .address, .page-customer-account #content, .form-fields, .quickview .modal-content, .pagination, .product-information, .tabs {
  background: var(--rf-surface) !important; color: var(--rf-text); border: 1px solid var(--rf-border); border-radius: var(--rf-radius); box-shadow: none;
}
.card-block, .card-body, .card-header, .card-footer, .product-description, .product-additional-info, .product-information { background: transparent !important; color: var(--rf-text); }
.card-header, .card-footer, .tabs .nav-tabs { border-color: var(--rf-border) !important; }
.product-miniature { margin-bottom: 1rem; }
.product-miniature .thumbnail-container { transition: border-color .15s, transform .15s; overflow: hidden; }
.product-miniature .thumbnail-container:hover { border-color: var(--rf-lime); transform: translateY(-2px); box-shadow: 0 10px 30px rgba(0,0,0,.35); }
.product-miniature .product-title a, .product-miniature .h3 { color: var(--rf-text); font-weight: 700; }
.product-miniature .product-title a:hover { color: var(--rf-lime); }
.product-miniature .product-price-and-shipping .price, .product-prices .price, .current-price .current-price-value, .product-price { color: var(--rf-lime); font-weight: 700; }
.product-miniature .highlighted-informations { background: var(--rf-surface-2); }
.product-flags .product-flag { background: var(--rf-purple); color: #fff; border-radius: 6px; font-weight: 700; }
.product-flags .product-flag.new { background: var(--rf-lime); color: var(--rf-purple-deep); }
.product-flags .product-flag.discount, .product-flags .product-flag.on-sale { background: #f59e0b; color: #1c1917; }
.products-section-title, .featured-products .h2 { color: #fff; }
.block-categories .category-sub-menu a, .block-categories .h6 { color: var(--rf-text); }
.block-categories .category-sub-menu li[data-depth="0"] > a { font-weight: 700; }
.block-categories .collapse-icons .add, .block-categories .collapse-icons .remove { color: var(--rf-lime); }
.product-quantity .input-group .btn-touchspin, .product-quantity #quantity_wanted { background: var(--rf-bg-deep); color: var(--rf-text); border-color: var(--rf-border); }
.product-variants .control-label, .product-information label, .form-control-label, label { color: var(--rf-text-muted); }
.tabs .nav-tabs .nav-link { color: var(--rf-text-muted); }
.tabs .nav-tabs .nav-link.active { color: var(--rf-lime); border-bottom-color: var(--rf-lime); }
.product-description, .product-description p, #product-details, .product-information p { color: var(--rf-text); }
.product-availability.badge-success, .product-availability { color: var(--rf-lime) !important; }

/* ---------- forms & inputs ---------- */
.form-control, .form-control:focus, select.form-control, textarea.form-control, .custom-checkbox input[type="checkbox"] + span, .input-group .form-control {
  background: var(--rf-bg-deep); color: var(--rf-text); border: 1px solid var(--rf-border); border-radius: var(--rf-radius-sm);
}
.form-control:focus { border-color: var(--rf-lime); box-shadow: 0 0 0 2px var(--rf-lime-soft); }
.form-control::placeholder { color: #64748b; }
.custom-checkbox input[type="checkbox"]:checked + span { background: var(--rf-lime); border-color: var(--rf-lime); }
.custom-checkbox input[type="checkbox"]:checked + span .checkbox-checked { color: var(--rf-purple-deep); }
.form-control-comment, .forgot-password a, .no-account a { color: var(--rf-text-dim); }
.input-group .input-group-btn > .btn { background: var(--rf-surface); color: var(--rf-lime); border: 1px solid var(--rf-border); }
.alert-success { background: rgba(132, 204, 22, 0.12); border-color: rgba(132, 204, 22, 0.5); color: #d9f99d; }
.alert-danger { background: rgba(251, 113, 133, 0.12); border-color: rgba(251, 113, 133, 0.5); color: #fecdd3; }
.alert-info, .alert-warning { background: var(--rf-surface-2); border-color: var(--rf-border-strong); color: var(--rf-text-muted); }

/* ---------- account, cart, checkout ---------- */
.page-my-account #content .links a span.link-item { color: var(--rf-text); }
.page-my-account #content .links a span.link-item i { color: var(--rf-lime); }
.page-my-account #content .links a:hover span.link-item { border-color: var(--rf-lime); color: #fff; }
.cart-grid-right .cart-summary, .cart-summary-line .label, .cart-summary-line .value, .cart-item .product-line-info, .product-line-grid-body .label { color: var(--rf-text); }
.cart-summary .cart-total .label, .cart-summary .cart-total .value { color: var(--rf-lime); }
.cart-line-product-actions .remove-from-cart, .cart-item .remove-from-cart { color: var(--rf-danger); }
body#checkout, body#checkout section.checkout-step, body#checkout #header .header-nav, body#checkout .custom-checkbox span { background: var(--rf-bg); color: var(--rf-text); }
body#checkout section.checkout-step { border: 1px solid var(--rf-border); border-radius: var(--rf-radius); margin-bottom: .75rem; }
body#checkout section.checkout-step .step-title, body#checkout section.checkout-step .step-number { color: var(--rf-text); }
body#checkout section.checkout-step.-current .step-title { color: var(--rf-lime); }
body#checkout .cart-grid-right .card { background: var(--rf-surface); }
body#checkout #footer { background: var(--rf-bg-deep); }
.page-order-confirmation .card, #order-items, #order-details { color: var(--rf-text); }
table, .table, .table td, .table th, #order-items .order-line, .order-confirmation-table { color: var(--rf-text); border-color: var(--rf-border) !important; }
.table-striped tbody tr:nth-of-type(odd), .table-labeled td, .table-labeled th { background: var(--rf-bg-deep); }
.thead-default th, thead th { background: var(--rf-bg-deep) !important; color: var(--rf-text-muted) !important; }
.label, .badge { border-radius: 6px; font-weight: 700; }
.badge.rounded-circle, .label.label-pill { background: var(--rf-purple); }

/* ---------- breadcrumbs, pagination, misc ---------- */
.breadcrumb { background: transparent; }
.breadcrumb li a, .breadcrumb li span { color: var(--rf-text-dim); }
.breadcrumb li::after { color: var(--rf-text-dim); }
.pagination .page-list, .pagination a, .pagination .current a { color: var(--rf-text); background: transparent; }
.pagination .current a { color: var(--rf-lime); }
#products .up .btn-secondary, .scroll-to-top { background: var(--rf-surface); color: var(--rf-lime); }
#js-product-list-header, .block-category .h1, .page-header h1 { color: #fff; }
#search_filters .facet .facet-title, #search_filters .facet .facet-label a, #search_filters .h6 { color: var(--rf-text-muted); }
#search_filters .facet .custom-checkbox span.color { border-radius: 6px; }
.products-selection .total-products p, .products-selection .sort-by { color: var(--rf-text-muted); }
.products-sort-order .select-title { background: var(--rf-surface); color: var(--rf-text); border-color: var(--rf-border); }
.products-sort-order .dropdown-menu { background: var(--rf-surface); border: 1px solid var(--rf-border); }
.products-sort-order .dropdown-menu a { color: var(--rf-text); }
.dropdown-menu a:hover, .products-sort-order .dropdown-menu a:hover { background: var(--rf-surface-2); color: var(--rf-lime); }
hr, .separator { border-color: var(--rf-border); }
.modal-header, .modal-footer { border-color: var(--rf-border); }
.modal-title, .modal-body, .modal-body p, .close { color: var(--rf-text); }

/* ---------- footer ---------- */
#footer, .footer-container { background: var(--rf-bg-deep); color: var(--rf-text-dim); border-top: 1px solid var(--rf-border); box-shadow: none; }
.footer-container .h3, .footer-container .h3 a, #footer .h3 { color: #fff; font-weight: 800; }
.footer-container li a, #footer a, .block-contact { color: var(--rf-text-dim); }
.footer-container li a:hover, #footer a:hover { color: var(--rf-lime); }
.footer-container .links .collapse, .footer-container .links ul > li { background: transparent; border-color: var(--rf-border); }
.block_newsletter form input[type="email"] { background: var(--rf-bg-deep); border: 1px solid var(--rf-border); color: var(--rf-text); border-radius: var(--rf-radius-sm); }
.block_newsletter form input[type="submit"], .block_newsletter .btn { background: var(--rf-lime); color: var(--rf-purple-deep); border-radius: var(--rf-radius-sm); }
.block-social li { background-color: #ede9fe; border-radius: var(--rf-radius-sm); }
.copyright, #footer .copyright a { color: var(--rf-text-dim); }

/* ---------- Reef Hub call-out on the home page (custom text block) ---------- */
#custom-text { background: linear-gradient(90deg, rgba(59,7,100,.8), var(--rf-surface) 60%, var(--rf-bg-deep)); border: 1px solid var(--rf-border-strong); border-radius: var(--rf-radius); color: var(--rf-text); }
#custom-text h2, #custom-text h3 { color: #fff; }
#custom-text p { color: var(--rf-text-muted); }
#custom-text a.btn { background: var(--rf-lime); color: var(--rf-purple-deep); }

/* Scrollbars like the app */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--rf-bg-deep); }
::-webkit-scrollbar-thumb { background: var(--rf-purple-deep); border-radius: 9999px; }
::-webkit-scrollbar-thumb:hover { background: var(--rf-lime); }

/* ---------- newsletter block + footer headings (were parent-theme white / dim) ---------- */
.block_newsletter, #blockEmailSubscription_displayFooterBefore, .footer-container .block_newsletter, #footer .block_newsletter {
  background: var(--rf-surface) !important; color: var(--rf-text) !important; border: 1px solid var(--rf-border); border-radius: var(--rf-radius); padding: 1rem 1.25rem; margin-bottom: 1rem;
}
.block_newsletter p, .block_newsletter .col-md-5, .block_newsletter .h4 { color: var(--rf-text) !important; }
.block_newsletter .form-control-comment, .block_newsletter .ps-emailsubscription-conditions { color: var(--rf-text-dim) !important; }
.footer-container .h3, .footer-container .h3 a, #footer .h3, .footer-container .wrapper .h3, .footer-container .links .h3 { color: #fff !important; opacity: 1; }
.footer-container .links ul > li a, .footer-container .wrapper li a, #footer li a { color: var(--rf-text-muted); }
#footer .block-contact, #footer .block-contact a, #footer .block-contact .h3 { color: var(--rf-text-muted); }
#footer .block-contact .h3 { color: #fff; }
.copyright, .footer-container .copyright a { color: var(--rf-text-dim) !important; }
/* product cards: keep the generated images on the dark surface */
.product-miniature .thumbnail-container img, .product-cover img, .product-images img { border-radius: 12px; }
/* wishlist/quick view buttons that classic draws white */
.product-miniature .wishlist-button-add, .quick-view { background: var(--rf-surface) !important; color: var(--rf-lime) !important; border: 1px solid var(--rf-border-strong); }

/* =====================================================================================
   Broad dark-surface coverage. The classic theme paints many wrappers white; this maps every
   content container, form and card onto the app palette so no page shows a white panel.
   ===================================================================================== */
#wrapper, #content-wrapper, #content, #main, section#main, #notifications, .page-content, .page-header, .page-footer,
.card, .card-block, .card-body, .contact-form, .contact-rich, .block-contact, #login-form, .login-form, .register-form,
.forgotten-password, .renew-password, .page-customer-account #content, .page-addresses .address, .page-order .card,
.page-order-detail .box, .order-detail .box, #order-infos, #order-history, .page-my-account #content .links a span.link-item,
.cart-grid-body .card, .cart-grid-right .card, .cart-summary, .cart-container, .cart-overview, .cart-item, .product-line-grid,
.product-container, .product-information, .product-prices, .product-actions, .product-additional-info, .product-discounts,
.tabs, .tab-content, #blockcart-modal .modal-content, .quickview .modal-content, .modal-content, .block-categories,
#search_filters, #search_filters_wrapper, .products-selection, .pagination, .page-not-found, .sitemap, .wishlist-list,
.wishlist-products-container, .js-product-list, .featured-products, .products-section-title, .brands, .suppliers,
.page-cms, .cms-page, .page-stores, .store-item, .page-authentication .card, .page-guest-tracking .card, .wrapper,
.ps-shown-by-js, .account-form, .form-fields, .ps-emailsubscription-conditions, .block_newsletter {
  background-color: var(--rf-surface) !important;
  color: var(--rf-text) !important;
  border-color: var(--rf-border) !important;
}
#wrapper, #content-wrapper, #main, section#main, #notifications, .wrapper, .ps-shown-by-js, .products-selection, .js-product-list { background-color: transparent !important; }
.card, .contact-form, .block-contact, #login-form, .register-form, .forgotten-password, .renew-password, .page-content, .cart-summary,
.product-container, #search_filters, .page-not-found, .page-cms, .store-item { border: 1px solid var(--rf-border) !important; border-radius: var(--rf-radius); }
.card-block { border: 0 !important; }

/* text inside those surfaces */
#wrapper h1, #wrapper h2, #wrapper h3, #wrapper h4, #wrapper .h1, #wrapper .h2, #wrapper .h3, #wrapper .h4,
.card-title, .contact-form .h3, .page-header h1, .block-contact .block-contact-title, .product-title, .product-information .h1 { color: #fff !important; }
#wrapper p, #wrapper li, #wrapper span, #wrapper td, #wrapper th, #wrapper dd, #wrapper dt, #wrapper label, #wrapper .label,
#wrapper .form-control-label, #wrapper .form-control-comment, #wrapper .custom-checkbox span, #wrapper .custom-radio + span,
#wrapper .text-muted, #wrapper small, .page-footer a, .block-contact a { color: var(--rf-text) !important; }
#wrapper .form-control-label, #wrapper label { color: var(--rf-text-muted) !important; font-weight: 600; }
#wrapper .form-control-comment, #wrapper small, #wrapper .text-muted { color: var(--rf-text-dim) !important; }
#wrapper a:not(.btn) { color: var(--rf-lime) !important; }
#wrapper .product-title a, #wrapper .product-miniature .product-title a, #wrapper .block-categories a { color: var(--rf-text) !important; }
#wrapper .product-title a:hover, #wrapper .block-categories a:hover { color: var(--rf-lime) !important; }
#wrapper .price, #wrapper .current-price-value, #wrapper .product-price, #wrapper .cart-total .value { color: var(--rf-lime) !important; }

/* inputs everywhere (contact form, login, address, search, quantity) */
#wrapper input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]), #wrapper select, #wrapper textarea,
.search-widget form input[type="text"], #search_widget input, .bootstrap-touchspin input, .js-cart-line-product-quantity {
  background-color: var(--rf-bg-deep) !important; color: var(--rf-text) !important; border: 1px solid var(--rf-border) !important; border-radius: var(--rf-radius-sm);
}
#wrapper input:focus, #wrapper select:focus, #wrapper textarea:focus { border-color: var(--rf-lime) !important; box-shadow: 0 0 0 2px var(--rf-lime-soft) !important; outline: 0; }
#wrapper input::placeholder, #wrapper textarea::placeholder, .search-widget input::placeholder { color: #64748b !important; }
#wrapper .input-group .input-group-btn > .btn, #wrapper .input-group-btn .btn, .contact-form .input-group-btn .btn { background: var(--rf-surface-2) !important; color: var(--rf-lime) !important; border: 1px solid var(--rf-border) !important; }
#wrapper .custom-file, #wrapper .custom-file-label, #wrapper .filestyle { background: var(--rf-bg-deep) !important; color: var(--rf-text) !important; }
#wrapper .btn-primary, #wrapper .btn-primary:focus { background: var(--rf-lime) !important; border-color: var(--rf-lime) !important; color: var(--rf-purple-deep) !important; }
#wrapper .btn-secondary, #wrapper .btn-outline-secondary { background: var(--rf-surface-2) !important; color: var(--rf-text-muted) !important; border-color: var(--rf-border-strong) !important; }

/* header on phones: hamburger, search bar, cart, logo box */
#header .header-top .search-widget, #_mobile_search, #search_widget { background: transparent !important; }
#header .search-widget form input[type="text"], #_mobile_search input { background: var(--rf-bg-deep) !important; color: var(--rf-text) !important; }
#header .blockcart .header, #_mobile_cart .blockcart { background: var(--rf-surface) !important; }
#header .blockcart .cart-products-count, #_mobile_cart .cart-products-count { color: var(--rf-text) !important; }
#menu-icon .material-icons { color: var(--rf-lime); }
#mobile_top_menu_wrapper, #mobile_top_menu_wrapper .js-top-menu-bottom, #mobile_top_menu_wrapper .top-menu { background: var(--rf-surface) !important; }
#mobile_top_menu_wrapper .top-menu a, #mobile_top_menu_wrapper .language-selector-wrapper, #mobile_top_menu_wrapper .currency-selector { color: var(--rf-text) !important; }
#mobile_top_menu_wrapper .top-menu .navbar-toggler { color: var(--rf-lime); }
#header .header-nav .material-icons, #header .user-info .material-icons { color: var(--rf-lime); }

/* breadcrumb separators & misc whites */
.breadcrumb li a span, .breadcrumb li span { color: var(--rf-text-muted) !important; }
#wrapper .thumbnail, #wrapper .product-thumbnails, #wrapper .product-cover, #wrapper .thumb-container, #wrapper .images-container { background: var(--rf-bg-deep) !important; }
#wrapper .product-images .thumb { border: 1px solid var(--rf-border); border-radius: 10px; }
#wrapper .product-images .thumb.selected, #wrapper .product-images .thumb:hover { border-color: var(--rf-lime); }
#wrapper .scroll-box-arrows i { color: var(--rf-lime); }
#wrapper .product-cover .layer { background: rgba(9,6,21,.6); }
#wrapper .product-cover .layer .zoom-in { color: var(--rf-lime); }
#product-modal .modal-content, #product-modal .image-caption { background: var(--rf-surface) !important; color: var(--rf-text) !important; }
#wrapper .block-reassurance, #wrapper #block-reassurance li, .blockreassurance_product { background: transparent !important; color: var(--rf-text) !important; }
#wrapper .block-reassurance img, #block-reassurance img { filter: invert(0.85) sepia(1) saturate(4) hue-rotate(50deg); }
#wrapper .product-variants .color { border-radius: 6px; }
#wrapper .product-quantity .qty, #wrapper .bootstrap-touchspin .btn-touchspin { background: var(--rf-bg-deep) !important; color: var(--rf-text) !important; border-color: var(--rf-border) !important; }
#wrapper .product-add-to-cart .control-label { color: var(--rf-text-muted) !important; }
#wrapper .dropdown-menu, #wrapper .select-list { background: var(--rf-surface) !important; border: 1px solid var(--rf-border) !important; }
#wrapper .dropdown-menu a, #wrapper .select-list { color: var(--rf-text) !important; }
#wrapper .sort-by-row .select-title, #wrapper .products-sort-order .select-title { background: var(--rf-surface) !important; color: var(--rf-text) !important; }
#wrapper .table, #wrapper .table td, #wrapper .table th, #wrapper .table-striped tbody tr:nth-of-type(odd) { background: transparent !important; }
#wrapper .table thead th { background: var(--rf-bg-deep) !important; }
#wrapper .order-line, #wrapper .order-confirmation-table { background: var(--rf-bg-deep) !important; border-color: var(--rf-border) !important; }
#wrapper .alert { border-radius: var(--rf-radius-sm); }
#wrapper .alert-success { background: rgba(132,204,22,.12) !important; color: #d9f99d !important; border-color: rgba(132,204,22,.5) !important; }
#wrapper .alert-danger { background: rgba(251,113,133,.12) !important; color: #fecdd3 !important; border-color: rgba(251,113,133,.5) !important; }
#wrapper .alert-info, #wrapper .alert-warning { background: var(--rf-surface-2) !important; color: var(--rf-text-muted) !important; border-color: var(--rf-border-strong) !important; }
#wrapper .alert a, #wrapper .alert-success a { color: #fff !important; text-decoration: underline; }
body#checkout #wrapper, body#checkout .checkout-step, body#checkout .cart-summary, body#checkout #js-checkout-summary { background: var(--rf-surface) !important; }
body#checkout .step-title, body#checkout .step-number, body#checkout .step-edit, body#checkout .content p, body#checkout .content label { color: var(--rf-text) !important; }
body#checkout .delivery-option, body#checkout .payment-option, body#checkout .payment-options .payment-option { background: var(--rf-bg-deep) !important; color: var(--rf-text) !important; border: 1px solid var(--rf-border); border-radius: var(--rf-radius-sm); }
body#checkout .additional-information, body#checkout .js-additional-information { background: var(--rf-surface-2) !important; color: var(--rf-text) !important; }
#footer .block-social li, .block-social li { background-color: #ede9fe !important; border-radius: 10px; }
#footer .block-social li:hover, .block-social li:hover { background-color: var(--rf-lime) !important; }

/* product page: tabs + product comments module + reassurance leftovers */
#wrapper .tabs .nav-tabs .nav-link, #wrapper .tabs .nav-tabs .nav-link.active, #wrapper .tabs .nav-tabs .nav-item { background: transparent !important; }
#wrapper .tabs .nav-tabs .nav-link.active { color: var(--rf-lime) !important; border-bottom: 3px solid var(--rf-lime); }
#wrapper .product-comments, #product-comments-list-header, #product-comments-list, #empty-product-comment, .product-comment-list-item,
#wrapper .product-comments-additional-info, #wrapper .post-product-comment, .comments-note, #product-comments-list-footer {
  background: var(--rf-surface) !important; color: var(--rf-text) !important; border-color: var(--rf-border) !important;
}
#wrapper #empty-product-comment, #wrapper .product-comment-list-item { background: var(--rf-bg-deep) !important; border-radius: var(--rf-radius-sm); }
#wrapper .product-comments .btn-comment, #wrapper .btn-comment { background: var(--rf-surface-2) !important; color: var(--rf-lime) !important; border: 1px solid var(--rf-border-strong) !important; }
#wrapper .grade-stars .star, #wrapper .grade-stars .star-on { filter: hue-rotate(40deg); }

#wrapper .product-cover img, #wrapper .js-qv-product-cover { background: #fff; border-radius: 12px; }

/* product photos sit on the dark surface (thumbnails are transparent PNGs) */
#wrapper .product-miniature .thumbnail-container, #wrapper .product-miniature .thumbnail, #wrapper .product-miniature .product-thumbnail,
#wrapper .product-cover, #wrapper .product-cover img, #wrapper .js-qv-product-cover, #wrapper .product-images .thumb, #wrapper .thumb-container,
#wrapper .images-container, #wrapper .product-miniature img, .cart-item .product-image, .cart-item .product-image img, #blockcart-modal .product-image {
  background: var(--rf-bg-deep) !important;
}
#wrapper .product-miniature .thumbnail-container { padding: 0; }
#wrapper .product-miniature img { object-fit: contain; width: 100%; height: 250px; padding: 10px; border-radius: 12px 12px 0 0; }
#wrapper .product-miniature .product-description { background: var(--rf-surface) !important; border-top: 1px solid var(--rf-border); }

/* last light blocks found by the page crawl: desktop cart preview, review stars strip, GDPR info, cart modal, checkout address cards */
#header .blockcart, #header .blockcart.inactive, #_desktop_cart .blockcart, #_desktop_cart .blockcart .header { background: var(--rf-surface) !important; color: var(--rf-text) !important; border: 1px solid var(--rf-border); border-radius: var(--rf-radius-sm); }
#header .blockcart .cart-products-count, #header .blockcart .header i { color: var(--rf-lime) !important; }
#wrapper .product-list-reviews, .product-list-reviews, .product-miniature .product-list-reviews { background: transparent !important; color: var(--rf-text-muted) !important; }
#wrapper .psgdprinfo17, .psgdprinfo17, #wrapper .psgdpr-info, .page_content .psgdprinfo17 { background: var(--rf-bg-deep) !important; color: var(--rf-text) !important; border: 1px solid var(--rf-border); border-radius: var(--rf-radius-sm); }
.psgdprinfo17 h2, .psgdprinfo17 p, .psgdprinfo17 a { color: var(--rf-text) !important; }
#blockcart-modal .modal-header, #blockcart-modal .modal-body, #blockcart-modal .modal-content, #blockcart-modal .cart-content, #blockcart-modal .product-total, #blockcart-modal .cart-products-count,
.modal .modal-header, .modal .modal-body, .modal .modal-footer, .modal .modal-content, #product-modal .modal-content, .quickview .modal-content, .quickview .modal-body, .quickview .modal-header {
  background: var(--rf-surface) !important; color: var(--rf-text) !important; border-color: var(--rf-border) !important;
}
#blockcart-modal .modal-title, #blockcart-modal .product-name, #blockcart-modal .modal-body p, #blockcart-modal .cart-content p, #blockcart-modal .product-total, #blockcart-modal .cart-content-btn .btn-secondary, .modal .close, .modal .modal-title { color: var(--rf-text) !important; }
#blockcart-modal .modal-title i { color: var(--rf-lime) !important; }
#blockcart-modal .product-price, #blockcart-modal .cart-content .value, #blockcart-modal .product-total .value { color: var(--rf-lime) !important; }
#blockcart-modal .cart-content-btn .btn-secondary { background: var(--rf-surface-2) !important; border-color: var(--rf-border-strong) !important; }
body#checkout .address-item, body#checkout .address-item.selected, body#checkout .address-selector .address-item, #delivery-addresses .address-item, #invoice-addresses .address-item {
  background: var(--rf-bg-deep) !important; color: var(--rf-text) !important; border: 1px solid var(--rf-border) !important; border-radius: var(--rf-radius-sm);
}
body#checkout .address-item.selected { border-color: var(--rf-lime) !important; }
body#checkout .address-item .address, body#checkout .address-item .address-alias, body#checkout .address-item .address-footer a, body#checkout .address-item .custom-radio span { color: var(--rf-text) !important; }
body#checkout .address-item .address-footer a i { color: var(--rf-lime); }
body#checkout .address-item .custom-radio input:checked + span { background: var(--rf-lime) !important; }

/* share buttons: the module's icons are dark sprites, so light them up on the dark circles */
/* icon is the <li>'s background-image (gray sprite), so keep a light disc behind it and never use the `background` shorthand */
#wrapper .social-sharing li { background-color: #ede9fe !important; border: 2px solid var(--rf-border-strong); box-shadow: none; background-size: 2rem !important; background-repeat: no-repeat !important; background-position: center !important; }
#wrapper .social-sharing li:hover { background-color: var(--rf-lime) !important; border-color: var(--rf-lime); }
#wrapper .social-sharing li a { filter: none; }

/* collapsible lists (footer, mobile menu, category tree) flashed white during the Bootstrap collapse animation */
.footer-container .links .collapse, .footer-container .links .collapsing, .footer-container .links ul, .footer-container .links ul > li,
.footer-container .wrapper .collapse, .footer-container .wrapper .collapsing, #footer .collapse, #footer .collapsing, #footer .collapse ul, #footer .collapsing ul,
#mobile_top_menu_wrapper .collapse, #mobile_top_menu_wrapper .collapsing, #mobile_top_menu_wrapper .collapse ul, #mobile_top_menu_wrapper .collapsing ul,
.block-categories .collapse, .block-categories .collapsing, .js-top-menu-bottom, .top-menu .collapse, .top-menu .collapsing, .collapsing {
  background-color: var(--rf-bg-deep) !important; color: var(--rf-text) !important; border-color: var(--rf-border) !important;
}
.footer-container .links ul > li a, #footer .collapse a, #footer .collapsing a, #mobile_top_menu_wrapper .collapsing a { color: var(--rf-text-muted) !important; }
.footer-container .links .title, .footer-container .links .h3, .footer-container .links .title .collapse-icons { color: #fff !important; }
