/* ============================================================
   CUSTOM DARK ELEGANT THEME — Adult Film Sales Site
   Applied on top of Bootstrap dark mode (data-bs-theme="dark")
   ============================================================ */

/* -----------------------------------------------------------
   1. ROOT VARIABLES — Deep blacks, gold/amber accent palette
   ----------------------------------------------------------- */
:root,
[data-bs-theme="dark"] {
  /* Core palette */
  --bs-body-bg: #0d0d0d;
  --bs-body-bg-rgb: 13, 13, 13;
  --bs-body-color: #d4d0cb;
  --bs-body-color-rgb: 212, 208, 203;

  /* Emphasis */
  --bs-emphasis-color: #f5f0eb;
  --bs-emphasis-color-rgb: 245, 240, 235;

  /* Secondary / Tertiary backgrounds */
  --bs-secondary-bg: #1a1a1a;
  --bs-secondary-bg-rgb: 26, 26, 26;
  --bs-tertiary-bg: #141414;
  --bs-tertiary-bg-rgb: 20, 20, 20;

  /* Secondary / Tertiary text */
  --bs-secondary-color: rgba(212, 208, 203, 0.75);
  --bs-secondary-color-rgb: 212, 208, 203;
  --bs-tertiary-color: rgba(212, 208, 203, 0.55);
  --bs-tertiary-color-rgb: 212, 208, 203;

  /* Primary — Rich amber/gold accent */
  --bs-primary: #c9a84c;
  --bs-primary-rgb: 201, 168, 76;

  /* Links */
  --bs-link-color: #c9a84c;
  --bs-link-color-rgb: 201, 168, 76;
  --bs-link-hover-color: #e0c36a;
  --bs-link-hover-color-rgb: 224, 195, 106;

  /* Borders */
  --bs-border-color: #2a2a2a;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.08);

  /* Dark & Light overrides */
  --bs-dark: #0a0a0a;
  --bs-dark-rgb: 10, 10, 10;
  --bs-light: #1e1e1e;
  --bs-light-rgb: 30, 30, 30;

  /* Focus ring */
  --bs-focus-ring-color: rgba(201, 168, 76, 0.25);

  /* Shadows — subtler, darker */
  --bs-box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.4);
  --bs-box-shadow-sm: 0 0.125rem 0.375rem rgba(0, 0, 0, 0.3);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.5);

  /* Custom variables */
  --header-top-color: #a09a90;
  --header-top-color-hover: #c9a84c;
  --dark-surface: #111111;
  --dark-surface-elevated: #1a1a1a;
  --dark-surface-overlay: #222222;
  --gold-accent: #c9a84c;
  --gold-accent-light: #e0c36a;
  --gold-accent-dark: #a68a3a;
  --text-muted-elegant: #7a746a;
}

/* -----------------------------------------------------------
   2. GLOBAL TYPOGRAPHY
   ----------------------------------------------------------- */
body {
  background-color: var(--bs-body-bg) !important;
  color: var(--bs-body-color);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  color: var(--bs-emphasis-color);
  font-weight: 600;
}

a {
  color: var(--gold-accent);
  text-decoration: none;
  transition: color 0.2s ease;
}
a:hover {
  color: var(--gold-accent-light);
}

::selection {
  background: rgba(201, 168, 76, 0.3);
  color: #fff;
}

/* -----------------------------------------------------------
   3. HEADER
   ----------------------------------------------------------- */
.header {
  background-color: var(--dark-surface) !important;
  border-bottom: 1px solid var(--bs-border-color);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.header-top {
  background-color: #080808;
  border-bottom-color: var(--bs-border-color) !important;
}

.header-top a:not(.dropdown-item) {
  color: var(--text-muted-elegant);
}
.header-top a:not(.dropdown-item):hover {
  color: var(--gold-accent);
}

.header-bottom {
  background-color: var(--dark-surface);
  border-bottom-color: var(--bs-border-color) !important;
}

.header-bottom .navbar-brand .logo {
  filter: brightness(1.1);
}

/* Header action icons */
.header-block__action-btn,
.header-block__icon {
  color: var(--bs-body-color) !important;
  transition: color 0.2s ease;
}
.header-block__action-btn:hover,
.header-block__action-btn:hover .header-block__icon {
  color: var(--gold-accent) !important;
}

/* Header badge (cart count) */
.header-block__badge {
  background: var(--gold-accent) !important;
  color: #0d0d0d !important;
  font-weight: 700;
}

/* -----------------------------------------------------------
   4. NAVIGATION / MENUS
   ----------------------------------------------------------- */
.header-nav-full-width {
  background-color: var(--dark-surface);
  border-bottom: 1px solid var(--bs-border-color);
}

/* Main menu links */
.top-menu .nav-link,
.top-menu a {
  color: var(--bs-body-color) !important;
  font-weight: 500;
  letter-spacing: 0.02em;
  transition: color 0.2s ease;
}
.top-menu .nav-link:hover,
.top-menu a:hover {
  color: var(--gold-accent) !important;
}

/* Dropdown menus */
.dropdown-menu {
  background-color: var(--dark-surface-elevated) !important;
  border: 1px solid var(--bs-border-color);
  box-shadow: var(--bs-box-shadow-lg);
}
.dropdown-item {
  color: var(--bs-body-color) !important;
}
.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--dark-surface-overlay) !important;
  color: var(--gold-accent) !important;
}

/* -----------------------------------------------------------
   5. PRODUCT CARDS
   ----------------------------------------------------------- */
.product-miniature__inner {
  background-color: var(--dark-surface-elevated) !important;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.5rem;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.product-miniature__inner:hover {
  transform: translateY(-4px);
  border-color: var(--gold-accent-dark);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(201, 168, 76, 0.1);
}

.product-miniature__top {
  overflow: hidden;
  border-radius: 0.5rem 0.5rem 0 0;
}

.product-miniature__image {
  transition: transform 0.4s ease;
}
.product-miniature__inner:hover .product-miniature__image {
  transform: scale(1.05);
}

/* Product title */
.product-miniature__title a {
  color: var(--bs-emphasis-color) !important;
  font-weight: 500;
  transition: color 0.2s ease;
}
.product-miniature__title a:hover {
  color: var(--gold-accent) !important;
}

/* Product prices */
.product-miniature__prices .price,
.product-price,
.current-price-value {
  color: var(--gold-accent) !important;
  font-weight: 700;
}

.product-miniature__prices .regular-price {
  color: var(--text-muted-elegant) !important;
  text-decoration: line-through;
}

/* Product flags / badges */
.product-flag {
  background-color: var(--gold-accent) !important;
  color: #0d0d0d !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.7rem;
  border-radius: 2px;
}
.product-flag.discount {
  background-color: #c0392b !important;
  color: #fff !important;
}
.product-flag.new {
  background-color: var(--gold-accent) !important;
  color: #0d0d0d !important;
}

/* Quick view button */
.product-miniature__quickview-button {
  background-color: rgba(13, 13, 13, 0.92) !important;
  color: var(--gold-accent) !important;
  backdrop-filter: blur(8px);
}

/* -----------------------------------------------------------
   6. BUTTONS
   ----------------------------------------------------------- */
.btn-primary {
  --bs-btn-bg: var(--gold-accent);
  --bs-btn-border-color: var(--gold-accent);
  --bs-btn-color: #0d0d0d;
  --bs-btn-hover-bg: var(--gold-accent-light);
  --bs-btn-hover-border-color: var(--gold-accent-light);
  --bs-btn-hover-color: #0d0d0d;
  --bs-btn-active-bg: var(--gold-accent-dark);
  --bs-btn-active-border-color: var(--gold-accent-dark);
  --bs-btn-active-color: #0d0d0d;
  --bs-btn-disabled-bg: #5a5040;
  --bs-btn-disabled-border-color: #5a5040;
  --bs-btn-disabled-color: #999;
  font-weight: 600;
  letter-spacing: 0.03em;
  transition: all 0.2s ease;
}

.btn-secondary {
  --bs-btn-bg: var(--dark-surface-overlay);
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-hover-bg: #2a2a2a;
  --bs-btn-hover-border-color: var(--gold-accent-dark);
  --bs-btn-hover-color: var(--gold-accent);
  font-weight: 500;
}

.btn-outline-primary {
  --bs-btn-color: var(--gold-accent);
  --bs-btn-border-color: var(--gold-accent);
  --bs-btn-hover-bg: var(--gold-accent);
  --bs-btn-hover-border-color: var(--gold-accent);
  --bs-btn-hover-color: #0d0d0d;
  --bs-btn-active-bg: var(--gold-accent-dark);
  --bs-btn-active-border-color: var(--gold-accent-dark);
}

/* Add-to-cart button — prominent */
.add-to-cart,
.btn.add-to-cart {
  background-color: var(--gold-accent) !important;
  border-color: var(--gold-accent) !important;
  color: #0d0d0d !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  transition: all 0.25s ease;
}
.add-to-cart:hover,
.btn.add-to-cart:hover {
  background-color: var(--gold-accent-light) !important;
  border-color: var(--gold-accent-light) !important;
  box-shadow: 0 4px 15px rgba(201, 168, 76, 0.3);
}

/* -----------------------------------------------------------
   7. FOOTER
   ----------------------------------------------------------- */
.footer__main {
  background: #080808 !important;
  color: var(--text-muted-elegant);
  border-top: 1px solid var(--bs-border-color);
}

.footer-block__title,
.footer-block__title a {
  color: var(--bs-emphasis-color) !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.85rem;
}

.footer-block a {
  color: var(--text-muted-elegant) !important;
  transition: color 0.2s ease;
}
.footer-block a:hover {
  color: var(--gold-accent) !important;
}

.footer__before {
  background-color: var(--dark-surface-elevated) !important;
  border-top: 1px solid var(--bs-border-color);
}

/* Copyright area */
.copyright {
  color: var(--text-muted-elegant);
  border-top: 1px solid var(--bs-border-color);
}
.copyright a {
  color: var(--gold-accent) !important;
}

/* -----------------------------------------------------------
   8. BREADCRUMBS
   ----------------------------------------------------------- */
.breadcrumb {
  background-color: transparent;
}
.breadcrumb-item a {
  color: var(--text-muted-elegant);
}
.breadcrumb-item a:hover {
  color: var(--gold-accent);
}
.breadcrumb-item.active {
  color: var(--bs-body-color);
}
.breadcrumb-item + .breadcrumb-item::before {
  color: var(--text-muted-elegant);
}

/* -----------------------------------------------------------
   9. FORMS & INPUTS
   ----------------------------------------------------------- */
.form-control,
.form-select,
.input-group .form-control {
  background-color: var(--dark-surface-elevated) !important;
  border-color: var(--bs-border-color) !important;
  color: var(--bs-body-color) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.form-control:focus,
.form-select:focus {
  border-color: var(--gold-accent) !important;
  box-shadow: 0 0 0 0.2rem rgba(201, 168, 76, 0.15) !important;
  background-color: var(--dark-surface-overlay) !important;
}

.form-control::placeholder {
  color: var(--text-muted-elegant) !important;
}

.form-label,
label {
  color: var(--bs-body-color);
  font-weight: 500;
}

/* -----------------------------------------------------------
   10. CARDS & PANELS
   ----------------------------------------------------------- */
.card {
  background-color: var(--dark-surface-elevated) !important;
  border-color: var(--bs-border-color) !important;
}
.card-header {
  background-color: var(--dark-surface-overlay) !important;
  border-bottom-color: var(--bs-border-color) !important;
}
.card-footer {
  background-color: var(--dark-surface-overlay) !important;
  border-top-color: var(--bs-border-color) !important;
}

/* -----------------------------------------------------------
   11. MODALS & OFFCANVAS
   ----------------------------------------------------------- */
.modal-content {
  background-color: var(--dark-surface-elevated) !important;
  border-color: var(--bs-border-color) !important;
  box-shadow: var(--bs-box-shadow-lg);
}
.modal-header {
  border-bottom-color: var(--bs-border-color) !important;
}
.modal-footer {
  border-top-color: var(--bs-border-color) !important;
}

.offcanvas {
  background-color: var(--dark-surface) !important;
  border-color: var(--bs-border-color) !important;
}

/* -----------------------------------------------------------
   12. PAGINATION
   ----------------------------------------------------------- */
.page-link {
  background-color: var(--dark-surface-elevated);
  border-color: var(--bs-border-color);
  color: var(--bs-body-color);
  transition: all 0.2s ease;
}
.page-link:hover {
  background-color: var(--dark-surface-overlay);
  border-color: var(--gold-accent-dark);
  color: var(--gold-accent);
}
.page-item.active .page-link {
  background-color: var(--gold-accent) !important;
  border-color: var(--gold-accent) !important;
  color: #0d0d0d !important;
}
.page-item.disabled .page-link {
  background-color: var(--dark-surface);
  border-color: var(--bs-border-color);
  color: var(--text-muted-elegant);
}

/* -----------------------------------------------------------
   13. SEARCH BAR
   ----------------------------------------------------------- */
.search-widget form input[type="text"] {
  background-color: var(--dark-surface-elevated) !important;
  border-color: var(--bs-border-color) !important;
  color: var(--bs-body-color) !important;
}
.search-widget form input[type="text"]:focus {
  border-color: var(--gold-accent) !important;
  box-shadow: 0 0 0 0.15rem rgba(201, 168, 76, 0.15) !important;
}
.search-widget form button {
  color: var(--gold-accent);
}

/* -----------------------------------------------------------
   14. PRODUCT PAGE
   ----------------------------------------------------------- */
.product-information {
  color: var(--bs-body-color);
}

.product-prices .current-price {
  color: var(--gold-accent);
}

.product-description {
  color: var(--bs-body-color);
  line-height: 1.7;
}

/* Tabs on product page */
.nav-tabs {
  border-bottom-color: var(--bs-border-color);
}
.nav-tabs .nav-link {
  color: var(--text-muted-elegant);
  transition: color 0.2s ease, border-color 0.2s ease;
}
.nav-tabs .nav-link:hover {
  color: var(--gold-accent);
  border-color: transparent transparent var(--gold-accent-dark);
}
.nav-tabs .nav-link.active {
  color: var(--gold-accent) !important;
  background-color: transparent;
  border-color: transparent transparent var(--gold-accent);
}

/* Product quantity input */
.qty-input .form-control {
  background-color: var(--dark-surface-elevated) !important;
  color: var(--bs-emphasis-color) !important;
  border-color: var(--bs-border-color) !important;
}

/* -----------------------------------------------------------
   15. CART & CHECKOUT
   ----------------------------------------------------------- */
.cart-grid .card {
  background-color: var(--dark-surface-elevated) !important;
}

.cart-summary-line {
  color: var(--bs-body-color);
}

.cart-total .value {
  color: var(--gold-accent);
  font-weight: 700;
}

/* -----------------------------------------------------------
   16. CATEGORY PAGE
   ----------------------------------------------------------- */
.category-header,
.category-cover {
  position: relative;
}

.category-header h1 {
  color: var(--bs-emphasis-color);
}

/* Faceted search / filters sidebar */
.facet-title {
  color: var(--bs-emphasis-color);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.85rem;
}

/* -----------------------------------------------------------
   17. IMAGE SLIDER / HERO
   ----------------------------------------------------------- */
.carousel {
  border-radius: 0.5rem;
  overflow: hidden;
}

.carousel-caption {
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.75));
  bottom: 0;
  left: 0;
  right: 0;
  padding: 2rem 1.5rem 1.5rem;
  border-radius: 0 0 0.5rem 0.5rem;
}

/* -----------------------------------------------------------
   18. REASSURANCE / TRUST BADGES
   ----------------------------------------------------------- */
.blockreassurance_product,
[id*="blockreassurance"] {
  color: var(--bs-body-color);
}

/* -----------------------------------------------------------
   19. ALERTS & NOTIFICATIONS
   ----------------------------------------------------------- */
.alert-info {
  background-color: rgba(201, 168, 76, 0.1);
  border-color: rgba(201, 168, 76, 0.25);
  color: var(--gold-accent-light);
}

.alert-success {
  background-color: rgba(24, 130, 81, 0.15);
  border-color: rgba(24, 130, 81, 0.3);
  color: #5fd9a4;
}

.alert-danger {
  background-color: rgba(255, 70, 87, 0.12);
  border-color: rgba(255, 70, 87, 0.3);
  color: #ff7b88;
}

.alert-warning {
  background-color: rgba(255, 193, 7, 0.12);
  border-color: rgba(255, 193, 7, 0.25);
  color: #ffd95e;
}

/* -----------------------------------------------------------
   20. TABLES
   ----------------------------------------------------------- */
.table {
  --bs-table-bg: var(--dark-surface-elevated);
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-striped-bg: var(--dark-surface-overlay);
  --bs-table-hover-bg: rgba(201, 168, 76, 0.05);
  color: var(--bs-body-color);
}

/* -----------------------------------------------------------
   21. SCROLLBAR STYLING
   ----------------------------------------------------------- */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: var(--dark-surface);
}
::-webkit-scrollbar-thumb {
  background: #333;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--gold-accent-dark);
}

/* Firefox scrollbar */
* {
  scrollbar-width: thin;
  scrollbar-color: #333 var(--dark-surface);
}

/* -----------------------------------------------------------
   22. MISC UTILITIES
   ----------------------------------------------------------- */
.bg-light {
  background-color: var(--dark-surface-elevated) !important;
}

.text-muted {
  color: var(--text-muted-elegant) !important;
}

.border {
  border-color: var(--bs-border-color) !important;
}

/* Page loader overlay */
.page-loader {
  background-color: rgba(13, 13, 13, 0.85);
}

/* Back to top */
.back-to-top-link {
  background-color: var(--gold-accent) !important;
  color: #0d0d0d !important;
}

/* Social follow links */
.social-sharing a {
  color: var(--text-muted-elegant);
  transition: color 0.2s ease;
}
.social-sharing a:hover {
  color: var(--gold-accent);
}

/* Email subscription */
.ps-emailsubscription .btn {
  background-color: var(--gold-accent) !important;
  border-color: var(--gold-accent) !important;
  color: #0d0d0d !important;
}
.ps-emailsubscription .btn:hover {
  background-color: var(--gold-accent-light) !important;
}

/* Section titles */
.section-title {
  color: var(--bs-emphasis-color);
  font-weight: 700;
  position: relative;
}

/* Separator / hr */
hr {
  border-color: var(--bs-border-color);
  opacity: 0.5;
}

/* -----------------------------------------------------------
   23. AGE-GATE OVERLAY (optional — toggle via JS)
   ----------------------------------------------------------- */
.age-gate-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.age-gate-box {
  text-align: center;
  padding: 3rem 2.5rem;
  max-width: 420px;
  background: var(--dark-surface-elevated);
  border: 1px solid var(--bs-border-color);
  border-radius: 1rem;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
}

.age-gate-box h2 {
  color: var(--bs-emphasis-color);
  font-size: 1.5rem;
  margin-bottom: 0.75rem;
}

.age-gate-box p {
  color: var(--text-muted-elegant);
  margin-bottom: 1.5rem;
}

.age-gate-box .btn-enter {
  background: var(--gold-accent);
  color: #0d0d0d;
  font-weight: 700;
  padding: 0.75rem 2.5rem;
  border: none;
  border-radius: 0.5rem;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.2s ease;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.age-gate-box .btn-enter:hover {
  background: var(--gold-accent-light);
  box-shadow: 0 4px 20px rgba(201, 168, 76, 0.4);
}

.age-gate-box .btn-leave {
  display: block;
  margin-top: 1rem;
  background: transparent;
  border: 1px solid var(--bs-border-color);
  color: var(--text-muted-elegant);
  padding: 0.5rem 2rem;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.2s ease;
  width: 100%;
}
.age-gate-box .btn-leave:hover {
  border-color: #c0392b;
  color: #ff7b88;
}
