/* ================================================================
   AURORIA SHARD — Medieval Dark Theme v2
   ================================================================ */

/* ── Google Fonts fallback + Variables ──────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Cinzel+Decorative:wght@400;700&family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
  --aur-bg:           #070c18;
  --aur-surface:      #0d1628;
  --aur-surface-2:    #131f38;
  --aur-surface-3:    #1a2a4a;
  --aur-border:       #1e2e4e;
  --aur-border-gold:  rgba(201,150,42,.4);

  --aur-gold:         #c9962a;
  --aur-gold-light:   #e8c86b;
  --aur-gold-pale:    #f5e9c4;
  --aur-gold-dim:     #7a5a18;
  --aur-gold-grad:    linear-gradient(135deg,#6a4a0c,#c9962a 40%,#f0d272 70%,#c9962a 100%);

  --aur-teal:         #1a9090;
  --aur-teal-light:   #28c8c8;
  --aur-green:        #1e6040;
  --aur-red:          #7a1a1a;
  --aur-red-light:    #c03030;

  --aur-text:         #e0d4b8;
  --aur-text-muted:   #7a8aac;
  --aur-text-dim:     #3e5070;

  --aur-shadow:       0 8px 32px rgba(0,0,0,.7);
  --aur-shadow-gold:  0 0 24px rgba(201,150,42,.25);
  --aur-r:            6px;
  --aur-r-lg:         10px;
  --aur-header-h:     88px;
}

/* ══════════════════════════════════════════════════════════════════
   1. GLOBAL RESET — Force dark on ALL elements
   ══════════════════════════════════════════════════════════════════ */
html, html.shop, html.alternative-style-1,
body, .body { background-color: var(--aur-bg) !important; color: var(--aur-text) !important; }

*, *::before, *::after { box-sizing: border-box; }

::selection { background: var(--aur-gold); color: #07080f; }

/* Destroy every white/light-gray background the Porto theme applies */
.main, .main > *, [role="main"],
.section, .section > .container, section.section,
.container-fluid-custom, .container-lg-custom { background: transparent !important; }

/* Backgrounds inherited from Porto data attributes */
[class*="bg-light"], .bg-white, .bg-faded { background: var(--aur-surface-2) !important; }

/* Porto .text-color-* overrides */
.text-color-default, .text-color-dark, .font-primary { color: var(--aur-text) !important; }
.text-color-light { color: var(--aur-gold-pale) !important; }
.text-color-secondary { color: var(--aur-teal) !important; }

/* ══════════════════════════════════════════════════════════════════
   2. TYPOGRAPHY
   ══════════════════════════════════════════════════════════════════ */
h1,h2,h3,h4,h5,h6,
.font-weight-bold, strong {
  font-family: 'Cinzel', 'Poppins', serif !important;
  color: var(--aur-gold-pale) !important;
  letter-spacing: .04em;
}

h1 { font-size: clamp(1.8rem,4vw,3rem); text-shadow: 0 2px 20px rgba(201,150,42,.3); }
h2 { font-size: clamp(1.3rem,3vw,2.2rem); }
h3 { font-size: clamp(1rem,2vw,1.5rem); }

p, li, td, th, span, label { color: var(--aur-text); }

a:not(.btn):not(.nav-link):not(.badge) {
  color: var(--aur-gold-light); text-decoration: none; transition: color .2s;
}
a:not(.btn):not(.nav-link):not(.badge):hover { color: var(--aur-teal-light) !important; }

/* Top sub-title (Porto element) */
.top-sub-title { color: var(--aur-gold) !important; letter-spacing: .2em !important; font-family: 'Cinzel', serif !important; font-size: .7rem !important; }

::-webkit-scrollbar { width: 7px; }
::-webkit-scrollbar-track { background: var(--aur-surface); }
::-webkit-scrollbar-thumb { background: var(--aur-gold-dim); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--aur-gold); }

/* ══════════════════════════════════════════════════════════════════
   3. HEADER
   ══════════════════════════════════════════════════════════════════ */
#header {
  background: transparent !important;
  position: fixed !important;
  top: 0; left: 0; right: 0;
  /* Acima de carrosséis/Owl (transform cria stacking) e typeahead da loja */
  z-index: 1100 !important;
  transition: background .3s, box-shadow .3s;
}
#header::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--aur-gold-grad); z-index: 10;
}
/* Ao rolar: fundo 100% opaco (sem blur) para o conteúdo não “vazar” atrás do menu fixo */
#header.header-scrolled,
html.sticky-header-active #header,
#header.aur-header-solid {
  background: var(--aur-surface) !important;
  box-shadow: 0 4px 28px rgba(0, 0, 0, 0.88) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#header.header-scrolled .header-top,
html.sticky-header-active #header .header-top,
#header.aur-header-solid .header-top {
  background: var(--aur-surface) !important;
}

.header-body { background: transparent !important; border: none !important; }
.header-top { background: rgba(5,8,18,.85) !important; border-bottom: 1px solid var(--aur-border) !important; }
.header-top a, .header-top span { color: var(--aur-text-dim) !important; font-size: .72rem; }
.header-top a:hover { color: var(--aur-gold) !important; }

.header-logo img {
  height: 64px !important; width: auto !important;
  filter: drop-shadow(0 0 10px rgba(201,150,42,.5));
  transition: filter .3s;
}
.header-logo:hover img { filter: drop-shadow(0 0 20px rgba(201,150,42,.85)); }

html #header .header-nav-main nav > ul > li > a {
  color: var(--aur-text) !important;
  font-family: 'Cinzel', serif !important;
  font-size: .72rem !important; letter-spacing: .1em !important;
  text-transform: uppercase !important; padding: 8px 14px !important;
  transition: color .2s !important;
}
html #header .header-nav-main nav > ul > li > a.aur-nav-aurora {
  color: var(--aur-gold-light) !important;
  text-shadow: 0 0 12px rgba(201, 150, 42, .35);
}
html #header .header-nav-main nav > ul > li > a:hover,
html #header .header-nav-main nav > ul > li:hover > a,
html #header .header-nav-main nav > ul > li > a.active { color: var(--aur-gold-light) !important; }

html #header .header-nav-main nav > ul > li .dropdown-menu {
  background: var(--aur-surface-2) !important;
  border: 1px solid var(--aur-border) !important;
  border-top: 2px solid var(--aur-gold) !important;
  box-shadow: var(--aur-shadow) !important;
}
html #header .header-nav-main nav > ul > li .dropdown-menu li a { color: var(--aur-text) !important; font-size: .8rem !important; }
html #header .header-nav-main nav > ul > li .dropdown-menu li:hover > a { color: var(--aur-gold-light) !important; background: var(--aur-surface-3) !important; }

/* Menu principal: uma linha; conta (Admin/Sair) no dropdown à direita */
@media (min-width: 992px) {
  #header .header-container > .header-row {
    flex-wrap: nowrap;
    align-items: center;
  }
  #header .header-column.justify-content-end {
    flex-wrap: nowrap;
    min-width: 0;
    flex-shrink: 1;
  }
  #header .header-nav {
    flex-wrap: nowrap;
    min-width: 0;
    flex-shrink: 1;
  }
  #header .header-nav-main {
    min-width: 0;
    flex-shrink: 1;
  }
  #header .header-nav-main nav > ul {
    flex-wrap: nowrap !important;
    width: auto !important;
  }
  #header .header-nav-main nav > ul > li {
    flex-shrink: 0;
  }
  html #header .header-nav-main nav > ul > li > a {
    padding: 8px 10px !important;
    font-size: .68rem !important;
  }
  #header .header-search-expanded {
    flex-shrink: 0;
  }
  #header .header-search-expanded .input-group {
    width: 200px !important;
  }
  #header .aur-header-account {
    flex-shrink: 0;
  }
  #header .aur-header-account-toggle::after {
    margin-left: .35rem;
    vertical-align: middle;
    border-top-color: var(--aur-gold);
  }
  #header .aur-header-account-menu {
    margin-top: .35rem;
    min-width: 11rem;
  }
  html.alternative-style-1 #header.header-effect-shrink .header-container {
    min-height: 96px;
  }
}

.mini-cart-content .inner-wrapper {
  background: var(--aur-surface-2) !important;
  border: 1px solid var(--aur-border) !important;
  border-top: 2px solid var(--aur-gold) !important;
  box-shadow: var(--aur-shadow) !important;
}
.cart-total { color: var(--aur-gold-light) !important; font-weight: 600; }
.mini-cart .badge { background: var(--aur-gold) !important; color: #07080f !important; }

@media (max-width: 991px) {
  html #header .header-nav-main nav { background: var(--aur-surface) !important; }
  html #header .header-nav-main nav > ul > li { border-bottom: 1px solid var(--aur-border) !important; }
}

/* ══════════════════════════════════════════════════════════════════
   4. PAGE HEADER / BANNER
   ══════════════════════════════════════════════════════════════════ */
.page-header {
  background: linear-gradient(180deg, var(--aur-surface) 0%, var(--aur-bg) 100%) !important;
  border-bottom: 1px solid var(--aur-border) !important;
  padding: calc(var(--aur-header-h) + 28px) 0 36px !important;
  position: relative; overflow: hidden;
}
.page-header::after {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 70% 60% at 50% 110%, rgba(201,150,42,.07) 0%, transparent 70%);
  pointer-events: none;
}
.page-header h1 { text-shadow: 0 2px 20px rgba(201,150,42,.35) !important; }
.page-header .lead { color: var(--aur-text-muted) !important; font-size: .92rem !important; }

.breadcrumb { background: transparent !important; padding: 0 !important; margin-bottom: 12px !important; }
.breadcrumb li { font-size: .72rem; color: var(--aur-text-dim) !important; }
.breadcrumb li a { color: var(--aur-gold) !important; }
.breadcrumb li.active, .breadcrumb-item.active { color: var(--aur-text-muted) !important; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--aur-text-dim) !important; }

/* ══════════════════════════════════════════════════════════════════
   5. HERO SECTION (index only)
   ══════════════════════════════════════════════════════════════════ */
.aur-hero {
  position: relative; min-height: 100vh;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(5,8,18,.4) 0%, rgba(5,8,18,.7) 60%, var(--aur-bg) 100%),
    radial-gradient(ellipse 80% 70% at 50% 30%, rgba(14,28,56,.9) 0%, var(--aur-bg) 100%);
}

/* Animated stars */
.aur-hero::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    radial-gradient(1px 1px at 10% 15%, rgba(255,255,255,.6) 0%, transparent 100%),
    radial-gradient(1px 1px at 25% 40%, rgba(255,255,255,.4) 0%, transparent 100%),
    radial-gradient(1px 1px at 40% 8%, rgba(255,255,255,.5) 0%, transparent 100%),
    radial-gradient(1px 1px at 60% 25%, rgba(255,255,255,.6) 0%, transparent 100%),
    radial-gradient(1px 1px at 75% 60%, rgba(255,255,255,.3) 0%, transparent 100%),
    radial-gradient(1px 1px at 85% 12%, rgba(255,255,255,.5) 0%, transparent 100%),
    radial-gradient(1px 1px at 92% 45%, rgba(255,255,255,.4) 0%, transparent 100%),
    radial-gradient(1px 1px at 15% 80%, rgba(255,255,255,.3) 0%, transparent 100%),
    radial-gradient(1px 1px at 48% 72%, rgba(255,255,255,.5) 0%, transparent 100%),
    radial-gradient(1px 1px at 68% 88%, rgba(255,255,255,.4) 0%, transparent 100%),
    radial-gradient(2px 2px at 32% 55%, rgba(201,150,42,.5) 0%, transparent 100%),
    radial-gradient(2px 2px at 78% 30%, rgba(30,158,158,.4) 0%, transparent 100%);
  animation: aur-stars-drift 30s linear infinite;
  pointer-events: none;
}

/* Radial glow at bottom */
.aur-hero::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0; height: 320px;
  background: linear-gradient(0deg, var(--aur-bg) 0%, transparent 100%);
  pointer-events: none; z-index: 1;
}

@keyframes aur-stars-drift {
  0%   { transform: translateY(0); }
  100% { transform: translateY(-40px); }
}

.aur-hero-inner { position: relative; z-index: 2; text-align: center; padding: 80px 20px; }

.aur-hero-logo {
  width: clamp(100px, 18vw, 180px); margin-bottom: 1.5rem;
  filter: drop-shadow(0 0 30px rgba(201,150,42,.6));
  animation: aur-float 4s ease-in-out infinite;
}

@keyframes aur-float {
  0%,100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}

.aur-hero-title {
  font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
  font-size: clamp(2.4rem, 6vw, 5rem) !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  line-height: 1.1 !important;
  color: var(--aur-gold-pale) !important;
  text-shadow: 0 0 60px rgba(201,150,42,.4), 0 4px 32px rgba(0,0,0,.8) !important;
  margin-bottom: .5rem !important;
}

.aur-hero-sub {
  font-family: 'Cinzel', serif !important;
  font-size: clamp(.8rem, 1.8vw, 1.1rem) !important;
  color: var(--aur-text-muted) !important;
  letter-spacing: .25em !important;
  text-transform: uppercase !important;
  margin-bottom: 2.5rem !important;
}

/* Gold ornament divider */
.aur-orn {
  display: flex; align-items: center; justify-content: center;
  gap: 12px; margin: 1.2rem auto; max-width: 380px;
}
.aur-orn::before,.aur-orn::after {
  content: ''; flex: 1; height: 1px;
  background: linear-gradient(90deg, transparent, var(--aur-gold), transparent);
}
.aur-orn-gem {
  width: 8px; height: 8px;
  background: var(--aur-gold);
  transform: rotate(45deg);
  box-shadow: 0 0 8px var(--aur-gold);
}

/* ══════════════════════════════════════════════════════════════════
   6. PORTO IMAGE-FRAME (product display)
   ══════════════════════════════════════════════════════════════════ */
.image-frame,
.image-frame.image-frame-style-1 {
  background: var(--aur-surface-2) !important;
  border: 1px solid var(--aur-border) !important;
  border-radius: var(--aur-r-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--aur-shadow) !important;
  transition: transform .3s, box-shadow .3s, border-color .3s !important;
}

.image-frame:hover,
.image-frame.image-frame-style-1:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--aur-shadow), var(--aur-shadow-gold) !important;
  border-color: var(--aur-gold) !important;
}

/* Remove white overlay, replace with dark gradient */
.image-frame-wrapper {
  background: transparent !important;
  display: block !important; position: relative !important;
  overflow: hidden !important;
}

.image-frame-wrapper::before { display: none !important; }

.image-frame-wrapper-overlay-bottom::after,
.image-frame-wrapper-overlay-light::after {
  background: linear-gradient(0deg, rgba(5,8,18,.85) 0%, transparent 60%) !important;
}

/* Product image */
.image-frame img, .image-frame-wrapper img {
  width: 100% !important; height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  filter: brightness(.9) !important;
  transition: filter .3s, transform .3s !important;
}

.image-frame:hover img, .image-frame.image-frame-style-1:hover img {
  filter: brightness(1.05) !important;
  transform: scale(1.04) !important;
}

/* Action buttons overlay */
.image-frame-action {
  position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important;
  padding: 12px !important;
  display: flex !important; flex-direction: column !important; gap: 6px !important;
  transform: translateY(100%) !important;
  transition: transform .3s ease !important;
  background: linear-gradient(0deg, rgba(5,8,18,.92) 0%, transparent 100%) !important;
}

.image-frame:hover .image-frame-action,
.image-frame.image-frame-style-1:hover .image-frame-action { transform: translateY(0) !important; }

/* Product name below frame */
.image-frame + h3, .image-frame ~ h3,
.text-center > h3 {
  font-family: 'Cinzel', serif !important;
  font-size: .82rem !important;
  letter-spacing: .05em !important;
  margin-top: .75rem !important;
}

.image-frame + h3 a, .image-frame ~ h3 a,
.text-center > h3 a {
  color: var(--aur-gold-pale) !important;
  transition: color .2s !important;
}

.image-frame + h3 a:hover, .image-frame ~ h3 a:hover,
.text-center > h3 a:hover { color: var(--aur-teal-light) !important; }

/* Prices */
.price, .price strong, .price * { color: var(--aur-gold) !important; font-weight: 700 !important; }
.old-price, .old-price strong, .text-line-trough {
  color: var(--aur-text-dim) !important;
  text-decoration: line-through !important;
  font-size: .82rem !important;
}

/* ══════════════════════════════════════════════════════════════════
   7. CATEGORIES / OWL CAROUSEL
   ══════════════════════════════════════════════════════════════════ */
.section.bg-primary { background: var(--aur-surface-2) !important; border-top: 1px solid var(--aur-border) !important; border-bottom: 1px solid var(--aur-border) !important; }

.owl-carousel .owl-stage-outer { background: transparent !important; }
.owl-item { background: transparent !important; }

.owl-nav button.owl-prev, .owl-nav button.owl-next {
  background: var(--aur-surface-3) !important;
  border: 1px solid var(--aur-border) !important;
  color: var(--aur-gold) !important;
  border-radius: 50% !important;
  transition: all .2s !important;
}
.owl-nav button:hover { background: var(--aur-gold) !important; color: #07080f !important; border-color: var(--aur-gold) !important; }

/* Category icon-box */
.icon-box, .icon-box.icon-box-style-5 {
  background: var(--aur-surface) !important;
  border: 1px solid var(--aur-border) !important;
  border-radius: var(--aur-r-lg) !important;
  transition: all .3s !important;
}

.icon-box:hover {
  background: var(--aur-surface-3) !important;
  border-color: var(--aur-gold) !important;
  box-shadow: var(--aur-shadow-gold) !important;
  transform: translateY(-3px) !important;
}

.icon-box-animation-1 { border-color: var(--aur-gold) !important; }
.icon-box-animation-1::before,.icon-box-animation-1::after { border-color: var(--aur-gold) !important; }

.icon-box-info h4 { color: var(--aur-gold-pale) !important; }
.icon-box-info p { color: var(--aur-text-muted) !important; }

/* ══════════════════════════════════════════════════════════════════
   8. PRODUCT DETAIL PAGE
   ══════════════════════════════════════════════════════════════════ */
.product-image-area { background: var(--aur-surface) !important; border: 1px solid var(--aur-border) !important; border-radius: var(--aur-r-lg) !important; }

/* Cart quantity input */
.qty-input input { background: var(--aur-surface-2) !important; border-color: var(--aur-border) !important; color: var(--aur-text) !important; }

/* ══════════════════════════════════════════════════════════════════
   9. BUTTONS
   ══════════════════════════════════════════════════════════════════ */
html .btn-primary, html.sticky-header-active .btn-sticky-primary {
  background: linear-gradient(135deg, #6a4a0c, var(--aur-gold) 50%, var(--aur-gold-light) 100%) !important;
  border: 1px solid var(--aur-gold-dim) !important;
  color: #07080f !important;
  font-family: 'Cinzel', serif !important; font-weight: 700 !important;
  font-size: .78rem !important; letter-spacing: .1em !important; text-transform: uppercase !important;
  box-shadow: 0 2px 14px rgba(201,150,42,.4) !important;
  transition: all .25s !important;
}
html .btn-primary:hover, html .btn-primary:focus {
  background: linear-gradient(135deg, var(--aur-gold), var(--aur-gold-light) 60%, var(--aur-gold) 100%) !important;
  box-shadow: 0 4px 22px rgba(201,150,42,.6) !important;
  transform: translateY(-1px); color: #07080f !important;
}

html .btn-secondary, html.sticky-header-active .btn-sticky-secondary {
  background: transparent !important;
  border: 1px solid var(--aur-teal) !important;
  color: var(--aur-teal-light) !important;
  font-family: 'Cinzel', serif !important; font-size: .78rem !important;
  letter-spacing: .08em !important; text-transform: uppercase !important;
  transition: all .25s !important;
}
html .btn-secondary:hover, html .btn-secondary:focus {
  background: var(--aur-teal) !important; color: #07080f !important;
}

html .btn-danger, .btn-danger {
  background: linear-gradient(135deg, #5a0a0a, var(--aur-red-light)) !important;
  border: 1px solid var(--aur-red) !important; color: #fff !important;
  font-family: 'Cinzel', serif !important; font-size: .78rem !important;
  letter-spacing: .08em !important; text-transform: uppercase !important;
  transition: all .25s !important;
}
html .btn-danger:hover { background: linear-gradient(135deg, #7a1010, #e04040) !important; }

.btn-outline-primary {
  border: 1px solid var(--aur-gold) !important; color: var(--aur-gold) !important;
  background: transparent !important; font-family: 'Cinzel', serif !important;
  font-size: .76rem !important; letter-spacing: .1em !important; text-transform: uppercase !important;
  transition: all .25s !important;
}
.btn-outline-primary:hover {
  background: var(--aur-gold) !important; color: #07080f !important;
  box-shadow: 0 0 14px rgba(201,150,42,.45) !important;
}

.btn-outline-secondary {
  border: 1px solid var(--aur-border) !important; color: var(--aur-text-muted) !important;
  background: transparent !important; transition: all .2s !important;
}
.btn-outline-secondary:hover {
  background: var(--aur-surface-3) !important;
  border-color: var(--aur-gold) !important; color: var(--aur-gold) !important;
}

.btn-dark {
  background: var(--aur-surface-3) !important; border-color: var(--aur-border) !important;
  color: var(--aur-text) !important;
}
.btn-dark:hover { background: var(--aur-surface-2) !important; border-color: var(--aur-gold) !important; color: var(--aur-gold-light) !important; }

.btn-rounded, .btn-rounded:focus { border-radius: 4px !important; }
.btn-sm { padding: 5px 14px !important; font-size: .7rem !important; }

/* ══════════════════════════════════════════════════════════════════
   10. FORMS
   ══════════════════════════════════════════════════════════════════ */
.form-control, textarea.form-control, select.form-control, input.form-control {
  background: var(--aur-surface-2) !important; border: 1px solid var(--aur-border) !important;
  color: var(--aur-text) !important; border-radius: var(--aur-r) !important;
  transition: border-color .2s, box-shadow .2s !important; font-size: .85rem !important;
}
.form-control:focus {
  background: var(--aur-surface-3) !important; border-color: var(--aur-gold) !important;
  box-shadow: 0 0 0 3px rgba(201,150,42,.18) !important; color: var(--aur-text) !important;
  outline: none !important;
}
.form-control::placeholder { color: var(--aur-text-dim) !important; }
.bg-light-5, html .bg-light, html .bg-light-5 { background: var(--aur-surface-2) !important; }
label, .font-weight-semibold { color: var(--aur-text-muted) !important; font-size: .76rem !important; letter-spacing: .06em; text-transform: uppercase; }

select.form-control {
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23c9962a' d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: right .75rem center !important;
  background-size: 14px !important; padding-right: 2.25rem !important;
}

/* ══════════════════════════════════════════════════════════════════
   11. CARDS
   ══════════════════════════════════════════════════════════════════ */
.card {
  background: var(--aur-surface) !important;
  border: 1px solid var(--aur-border) !important; border-radius: var(--aur-r-lg) !important;
  box-shadow: var(--aur-shadow) !important;
  transition: transform .25s, box-shadow .25s, border-color .25s !important;
}
.card:hover { transform: translateY(-3px); box-shadow: var(--aur-shadow), var(--aur-shadow-gold) !important; border-color: var(--aur-gold) !important; }
.card-body { background: transparent !important; }

/* ══════════════════════════════════════════════════════════════════
   12. TABLES
   ══════════════════════════════════════════════════════════════════ */
.table { color: var(--aur-text) !important; border-color: var(--aur-border) !important; }
.table td, .table th { border-color: var(--aur-border) !important; padding: .75rem 1rem !important; vertical-align: middle !important; }
.table thead th, .thead-light th {
  background: var(--aur-surface-3) !important; color: var(--aur-gold-pale) !important;
  font-family: 'Cinzel', serif !important; font-size: .7rem !important;
  letter-spacing: .1em; text-transform: uppercase;
  border-bottom: 2px solid var(--aur-gold) !important;
}
.table-striped tbody tr:nth-of-type(odd) { background: rgba(20,35,65,.3) !important; }
.table-striped tbody tr:hover { background: rgba(201,150,42,.05) !important; }
.table-bordered { border: 1px solid var(--aur-border) !important; }

/* Shop cart table */
.shop-cart, .shop-cart .table { background: transparent !important; }

/* ══════════════════════════════════════════════════════════════════
   13. ALERTS / BADGES / PAGINATION
   ══════════════════════════════════════════════════════════════════ */
.alert { border-radius: var(--aur-r) !important; border-left: 3px solid !important; font-size: .84rem !important; }
.alert-success { background: rgba(30,96,64,.2) !important; border-color: #2eaa70 !important; color: #6fe0a0 !important; }
.alert-danger   { background: rgba(122,26,26,.2) !important; border-color: var(--aur-red-light) !important; color: #f48080 !important; }
.alert-warning  { background: rgba(201,150,42,.12) !important; border-color: var(--aur-gold) !important; color: var(--aur-gold-light) !important; }
.alert-info     { background: rgba(26,144,144,.12) !important; border-color: var(--aur-teal) !important; color: var(--aur-teal-light) !important; }

.badge-success, .badge-primary { background: rgba(30,96,64,.35) !important; color: #6fe0a0 !important; border: 1px solid #2eaa70 !important; }
.badge-warning  { background: rgba(201,150,42,.18) !important; color: var(--aur-gold-light) !important; border: 1px solid var(--aur-gold) !important; }
.badge-danger   { background: rgba(192,48,48,.25) !important; color: #f48080 !important; border: 1px solid var(--aur-red-light) !important; }
.badge-secondary{ background: var(--aur-surface-3) !important; color: var(--aur-text-muted) !important; }
.badge-info     { background: rgba(26,144,144,.2) !important; color: var(--aur-teal-light) !important; border: 1px solid var(--aur-teal) !important; }

.pagination .page-link { background: var(--aur-surface-2) !important; border-color: var(--aur-border) !important; color: var(--aur-text-muted) !important; transition: all .2s !important; }
.pagination .page-item.active .page-link { background: var(--aur-gold) !important; border-color: var(--aur-gold) !important; color: #07080f !important; font-weight: 700 !important; }
.pagination .page-link:hover { background: var(--aur-surface-3) !important; border-color: var(--aur-gold) !important; color: var(--aur-gold-light) !important; }

/* ══════════════════════════════════════════════════════════════════
   14. FOOTER
   ══════════════════════════════════════════════════════════════════ */
#footer {
  background: var(--aur-surface) !important;
  border-top: 1px solid var(--aur-border) !important;
  position: relative;
  margin-top: 0 !important;
  /* Abaixo do main: senão irmãos posteriores pintam por cima de position:absolute dentro do main (ex.: typeahead da busca) */
  z-index: 0;
}
#footer::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--aur-gold-grad);
}
#footer p, #footer span, #footer a, #footer li { color: var(--aur-text-muted) !important; font-size: .8rem; }
#footer a:hover { color: var(--aur-gold-light) !important; }
#footer .footer-copyright { background: var(--aur-bg) !important; border-top: 1px solid var(--aur-border) !important; }

/* Porto featured-boxes */
.featured-boxes { background: var(--aur-surface-2) !important; border-bottom: 1px solid var(--aur-border) !important; }
.featured-box { transition: opacity .2s; }
.featured-box i { color: var(--aur-gold) !important; }
.featured-box h2 { color: var(--aur-gold-pale) !important; }
.featured-box p { color: var(--aur-text-muted) !important; }

/* ══════════════════════════════════════════════════════════════════
   15. FOOTER PROGRESS BAR
   ══════════════════════════════════════════════════════════════════ */
progress, .meta-progress {
  -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important;
  width: 100%; height: 8px; background: var(--aur-surface-3) !important;
  border: none !important; border-radius: 99px !important;
}
progress::-webkit-progress-bar { background: var(--aur-surface-3) !important; border-radius: 99px; }
progress::-webkit-progress-value { background: linear-gradient(90deg, var(--aur-gold), var(--aur-gold-light)) !important; border-radius: 99px; }
progress::-moz-progress-bar { background: linear-gradient(90deg, var(--aur-gold), var(--aur-gold-light)) !important; border-radius: 99px; }

/* ══════════════════════════════════════════════════════════════════
   16. MODALS / LOADERS
   ══════════════════════════════════════════════════════════════════ */
.modal-content {
  background: var(--aur-surface) !important; border: 1px solid var(--aur-border) !important;
  border-top: 3px solid var(--aur-gold) !important; box-shadow: var(--aur-shadow) !important;
}
.modal-header { background: var(--aur-surface-2) !important; border-bottom: 1px solid var(--aur-border) !important; }
.modal-footer { background: var(--aur-surface-2) !important; border-top: 1px solid var(--aur-border) !important; }
.modal-title { color: var(--aur-gold-pale) !important; font-family: 'Cinzel', serif !important; }

.loading-container { background: rgba(5,8,18,.88) !important; }
.loader { border: 6px solid var(--aur-surface-3) !important; border-top-color: var(--aur-gold) !important; }
.loading-text { color: var(--aur-text-muted) !important; font-family: 'Cinzel', serif; font-size: .78rem; letter-spacing: .12em; }

/* ══════════════════════════════════════════════════════════════════
   17. SWEETALERT2
   ══════════════════════════════════════════════════════════════════ */
.swal2-popup { background: var(--aur-surface) !important; border: 1px solid var(--aur-border) !important; border-top: 3px solid var(--aur-gold) !important; color: var(--aur-text) !important; }
.swal2-title { color: var(--aur-gold-pale) !important; font-family: 'Cinzel', serif !important; }
.swal2-confirm { background: var(--aur-gold) !important; color: #07080f !important; font-family: 'Cinzel', serif !important; font-weight: 700 !important; }
.swal2-cancel { background: var(--aur-surface-3) !important; color: var(--aur-text) !important; }
.swal2-popup .swal2-content { color: var(--aur-text) !important; }
.swal2-timer-progress-bar { background: var(--aur-gold) !important; }

/* ══════════════════════════════════════════════════════════════════
   18. ADMIN PANEL
   ══════════════════════════════════════════════════════════════════ */
/* Sidebar nav */
.nav-link { color: var(--aur-text) !important; font-family: 'Cinzel', serif !important; font-size: .72rem !important; letter-spacing: .07em !important; text-transform: uppercase !important; transition: all .2s !important; }
.nav-link:hover { background: var(--aur-surface-3) !important; color: var(--aur-gold-light) !important; }
.nav-link.bg-primary { background: linear-gradient(90deg, var(--aur-surface-3), var(--aur-surface-2)) !important; border-left: 3px solid var(--aur-gold) !important; color: var(--aur-gold-pale) !important; font-weight: 700 !important; }

/* ══════════════════════════════════════════════════════════════════
   19. CODE + PRE
   ══════════════════════════════════════════════════════════════════ */
code, pre { background: var(--aur-surface-2) !important; color: var(--aur-teal-light) !important; border: 1px solid var(--aur-border) !important; border-radius: var(--aur-r) !important; font-size: .78rem !important; }
code { padding: 1px 6px !important; }

/* ══════════════════════════════════════════════════════════════════
   20. UTILITY + ANIMATIONS
   ══════════════════════════════════════════════════════════════════ */
.text-color-primary, .text-primary { color: var(--aur-gold) !important; }
.border-top, .border-bottom, hr { border-color: var(--aur-border) !important; }
.shadow-sm { box-shadow: var(--aur-shadow) !important; }

#toTop, .back-to-top {
  background: var(--aur-gold) !important; color: #07080f !important;
  border-radius: 50% !important; box-shadow: 0 2px 14px rgba(201,150,42,.4) !important;
  transition: background .2s, transform .2s !important;
}
#toTop:hover { background: var(--aur-gold-light) !important; transform: translateY(-2px); }

/* Shimmer animation for section titles */
.aur-shimmer {
  background: linear-gradient(90deg, var(--aur-gold), var(--aur-gold-light) 50%, var(--aur-gold));
  background-size: 200% auto;
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  animation: aur-text-shimmer 3s linear infinite;
}
@keyframes aur-text-shimmer { 0% { background-position: -200% center; } 100% { background-position: 200% center; } }

@keyframes aur-glow-pulse {
  0%,100% { box-shadow: 0 0 8px rgba(201,150,42,.2); }
  50%       { box-shadow: 0 0 26px rgba(201,150,42,.55); }
}
.aur-glow { animation: aur-glow-pulse 2.5s ease-in-out infinite; }

/* Spacer for fixed header — 88px era insuficiente com top bar + linha logo + busca mobile */
.body { padding-top: 0 !important; }
.aur-header-spacer {
  display: block;
  width: 100%;
  flex-shrink: 0;
  pointer-events: none;
}
/* Altura ≈ .header-top (50px) + .header-container (120px em alternative-style-1) + bordas; abaixo de xl soma a faixa de busca mobile no header */
@media (min-width: 1200px) {
  .aur-header-spacer {
    height: 184px;
  }
  .aur-header-spacer.aur-header-spacer--compact {
    height: 184px;
  }
}
@media (max-width: 1199.98px) {
  .aur-header-spacer {
    height: 252px;
  }
  .aur-header-spacer.aur-header-spacer--compact {
    height: 184px;
  }
}

/* ══════════════════════════════════════════════════════════════════
   21. PRODUCT DETAIL PAGE (produtos.php)
   ══════════════════════════════════════════════════════════════════ */
/* Porto background variants */
.bg-light-2, .bg-light-3, .bg-light-4, .bg-light-5,
section.bg-light-2, section.bg-light-3, section.bg-light-4 {
  background: var(--aur-surface) !important;
}

/* Thumbnail gallery — manter abaixo do header fixo (não competir em z-index com Owl) */
.thumb-gallery-wrapper {
  position: relative !important;
  z-index: 0 !important;
  isolation: isolate;
}
.thumb-gallery-wrapper .owl-carousel,
.thumb-gallery-wrapper .owl-carousel .owl-stage-outer {
  position: relative !important;
  z-index: 0 !important;
}
.thumb-gallery-wrapper, .thumb-gallery-detail, .thumb-gallery-thumbs {
  background: var(--aur-surface-2) !important;
  border: 1px solid var(--aur-border) !important;
  border-radius: var(--aur-r-lg) !important;
  overflow: hidden !important;
}
.thumb-gallery-thumbs { margin-top: 8px !important; }
.thumb-gallery-thumbs .owl-item { opacity: .55; transition: opacity .2s; }
.thumb-gallery-thumbs .owl-item.active { opacity: 1; }

/* Acima do footer (dropdowns absolutos); header fixo continua acima (z-index 1100) */
[role="main"].main {
  position: relative !important;
  z-index: 1 !important;
}

/* Stars rating */
.product-info-rate i { color: var(--aur-gold) !important; font-size: .85rem; }

/* Product quantity +/- */
.quantity { display: flex; align-items: center; gap: 4px; }
.quantity .minus, .quantity .plus {
  background: var(--aur-surface-3) !important; border: 1px solid var(--aur-border) !important;
  color: var(--aur-gold) !important; width: 32px; height: 32px;
  border-radius: var(--aur-r) !important; cursor: pointer;
  transition: background .2s, border-color .2s !important;
}
.quantity .minus:hover, .quantity .plus:hover {
  background: var(--aur-gold) !important; color: #07080f !important; border-color: var(--aur-gold) !important;
}
.quantity .qty {
  background: var(--aur-surface-2) !important; border: 1px solid var(--aur-border) !important;
  color: var(--aur-text) !important; text-align: center; width: 52px; height: 32px;
  border-radius: var(--aur-r) !important; font-size: .9rem;
}

/* Tabs */
.nav-tabs, .nav-tabs-default {
  border-bottom: 1px solid var(--aur-border) !important;
  background: transparent !important;
}
.nav-tabs .nav-item .nav-link, .nav-tabs-default .nav-item .nav-link {
  background: transparent !important; border: none !important;
  color: var(--aur-text-muted) !important;
  font-family: 'Cinzel', serif !important; font-size: .7rem !important;
  letter-spacing: .12em !important; text-transform: uppercase !important;
  padding: 10px 18px !important; position: relative;
  transition: color .2s !important;
}
.nav-tabs .nav-item .nav-link::after {
  content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 2px;
  background: var(--aur-gold); transform: scaleX(0); transition: transform .25s;
}
.nav-tabs .nav-item .nav-link.active,
.nav-tabs-default .nav-item .nav-link.active {
  color: var(--aur-gold-pale) !important; border-bottom: 2px solid var(--aur-gold) !important;
}
.nav-tabs .nav-item .nav-link.active::after { transform: scaleX(1); }
.nav-tabs .nav-item .nav-link:hover { color: var(--aur-gold-light) !important; }

.tab-content { background: transparent !important; padding-top: 1.5rem; }
.tab-pane p { color: var(--aur-text) !important; line-height: 1.8; }

/* Social icons */
.social-icons li a { color: var(--aur-text-dim) !important; border-color: var(--aur-border) !important; transition: all .2s !important; }
.social-icons li a:hover { color: var(--aur-gold) !important; border-color: var(--aur-gold) !important; }

/* Product availability / meta */
.list li { color: var(--aur-text) !important; font-size: .84rem; margin-bottom: 4px; }
.list li strong { color: var(--aur-gold-pale) !important; }

/* ══════════════════════════════════════════════════════════════════
   22. CART PAGE (cart.php)
   ══════════════════════════════════════════════════════════════════ */
.cart-totals, .cart-totals-table {
  background: var(--aur-surface) !important;
  border: 1px solid var(--aur-border) !important;
  border-radius: var(--aur-r-lg) !important;
  padding: 24px !important;
}
.cart-totals h4 { color: var(--aur-gold-pale) !important; font-family: 'Cinzel', serif !important; }
.cart-totals .total { color: var(--aur-gold) !important; font-size: 1.2rem; font-weight: 700; }

/* ══════════════════════════════════════════════════════════════════
   23. SIGNIN / ACCOUNT PAGE
   ══════════════════════════════════════════════════════════════════ */
.aur-auth-card {
  background: var(--aur-surface) !important;
  border: 1px solid var(--aur-border) !important;
  border-top: 3px solid var(--aur-gold) !important;
  border-radius: var(--aur-r-lg) !important;
  box-shadow: var(--aur-shadow) !important;
}

/* Login panel — dark crystal / medal frame (replaces flat bg-primary gold block) */
.aur-login-card {
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(
    165deg,
    rgba(16, 26, 48, 0.98) 0%,
    rgba(9, 14, 26, 0.99) 42%,
    rgba(12, 20, 38, 0.97) 100%
  ) !important;
  border: 1px solid rgba(201, 150, 42, 0.32) !important;
  border-radius: var(--aur-r-lg) !important;
  box-shadow:
    0 8px 40px rgba(0, 0, 0, 0.65),
    0 0 0 1px rgba(255, 255, 255, 0.05) inset,
    0 1px 0 rgba(201, 150, 42, 0.15) inset,
    0 0 60px rgba(201, 150, 42, 0.07) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: border-color 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease !important;
}

.aur-login-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--aur-gold-dim, #7a5a18) 15%,
    var(--aur-gold-light, #e8c86b) 50%,
    var(--aur-gold) 85%,
    transparent 100%
  );
  opacity: 0.95;
  z-index: 2;
  pointer-events: none;
}

/* Soft gold halo + vignette */
.aur-login-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 120% 80% at 50% -30%, rgba(201, 150, 42, 0.12),               transparent 58%),
    radial-gradient(ellipse 70% 50% at 100% 100%, rgba(30, 158, 158, 0.06), transparent 45%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, transparent 22%);
  pointer-events: none;
  z-index: 0;
}

/* Animated sheen (subtle) */
@keyframes aur-login-sheen {
  0%, 100% { opacity: 0.35; transform: translateX(-100%) skewX(-12deg); }
  55%       { opacity: 0.08; transform: translateX(200%) skewX(-12deg); }
}

.aur-login-card .aur-login-sheen-layer {
  position: absolute;
  top: -50%;
  left: -30%;
  width: 45%;
  height: 200%;
  background: linear-gradient(90deg, transparent, rgba(255, 230, 180, 0.07), transparent);
  animation: aur-login-sheen 7s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

.aur-login-card:hover {
  border-color: rgba(201, 150, 42, 0.5) !important;
  box-shadow:
    0 12px 48px rgba(0, 0, 0, 0.7),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 0 80px rgba(201, 150, 42, 0.12) !important;
  transform: translateY(-2px);
}

.aur-login-card > *:not(.aur-login-sheen-layer) {
  position: relative;
  z-index: 3;
}

.aur-login-card .top-sub-title {
  color: var(--aur-gold) !important;
  letter-spacing: 0.18em !important;
}

.aur-login-card h2 {
  color: var(--aur-gold-pale) !important;
  font-family: 'Cinzel', serif !important;
  text-shadow: 0 0 28px rgba(201, 150, 42, 0.2);
}

.aur-login-card label,
.aur-login-card .text-color-light-2 {
  color: var(--aur-text-muted) !important;
}

.aur-login-card .forgot-pw {
  color: var(--aur-teal-light, #2fd4d4) !important;
}
.aur-login-card .forgot-pw:hover {
  color: var(--aur-gold-light) !important;
}

.aur-login-card .form-control.bg-light,
.aur-login-card .form-control.border-0 {
  background: var(--aur-surface-2) !important;
  border: 1px solid var(--aur-border) !important;
  color: var(--aur-text) !important;
  border-radius: var(--aur-r) !important;
}

.aur-login-card .form-control:focus {
  border-color: var(--aur-gold) !important;
  box-shadow: 0 0 0 3px rgba(201, 150, 42, 0.18) !important;
}

.aur-login-card .checkbox-custom .form-check-label {
  color: var(--aur-text) !important;
}

/* ══════════════════════════════════════════════════════════════════
   24. CHECKOUT PAGE
   ══════════════════════════════════════════════════════════════════ */
#payment-element { background: var(--aur-surface-2) !important; border-radius: var(--aur-r) !important; padding: 12px !important; }

/* PIX section */
.aur-pix-box {
  background: var(--aur-surface-2) !important;
  border: 1px solid var(--aur-border) !important;
  border-radius: var(--aur-r-lg) !important;
  padding: 24px;
}

/* ══════════════════════════════════════════════════════════════════
   25. PORTO GLOBAL OVERRIDES (high specificity)
   ══════════════════════════════════════════════════════════════════ */
/* Ensure these Porto utility colors are always dark */
html .text-color-light-3, html .text-3, html .text-color-light-4 { color: var(--aur-text) !important; }
html body .font-weight-semibold { color: inherit !important; }

/* Animated appear classes — ensure transparent bg */
.appear-animation, [data-appear-animation] { background: transparent !important; }

/* Any remaining white cards from Porto */
.portfolio-item, .portfolio-item-style-2,
.product { background: transparent !important; }

/* Porto price utility classes */
.text-6, .text-5, .text-4 { color: var(--aur-text) !important; }

/* Sticky cart summary */
.summary { background: var(--aur-surface) !important; border: 1px solid var(--aur-border) !important; border-radius: var(--aur-r-lg) !important; padding: 20px !important; }

/* Ensure no white bleeds through from Porto .shop class */
html.shop body, html.shop .body { background: var(--aur-bg) !important; }
html.alternative-style-1 body, html.alternative-style-1 .body { background: var(--aur-bg) !important; }

/* Search result section in index */
#search_div { background: transparent !important; }

/* Porto overflow-hidden container — no color */
.overflow-hidden { background: transparent !important; }

/* ═══ Store search UX (header + busca.php) ═══ */
.aur-live-search-host {
  background: var(--aur-surface-2) !important;
  border-bottom: 1px solid var(--aur-border) !important;
}

.aur-header-mobile-search {
  border-top: 1px solid var(--aur-border);
  background: rgba(7, 12, 24, 0.92);
}

.aur-header-mobile-search .input-group {
  border-radius: var(--aur-r-lg);
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.aur-header-mobile-search .input-group .form-control {
  border: 1px solid var(--aur-border) !important;
  border-right: 0 !important;
  border-radius: var(--aur-r-lg) 0 0 var(--aur-r-lg) !important;
  min-height: 44px;
  background: var(--aur-surface-2) !important;
  color: var(--aur-text) !important;
}

.aur-header-mobile-search .input-group .btn {
  border: 1px solid var(--aur-gold-dim) !important;
  border-radius: 0 var(--aur-r-lg) var(--aur-r-lg) 0 !important;
  padding: 0 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.aur-busca-field-wrap {
  max-width: 720px;
  margin: 0 auto;
  isolation: isolate;
}

.aur-busca-input-group .form-control {
  border: 1px solid var(--aur-border) !important;
  border-right: 0 !important;
  border-radius: var(--aur-r-lg) 0 0 var(--aur-r-lg) !important;
  min-height: 48px;
  background: var(--aur-surface-2) !important;
}

.aur-busca-input-group .btn {
  border-radius: 0 var(--aur-r-lg) var(--aur-r-lg) 0 !important;
  border: 1px solid var(--aur-gold-dim) !important;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.aur-busca-typeahead {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 1200;
  background: var(--aur-surface) !important;
  border: 1px solid var(--aur-border);
  border-radius: var(--aur-r-lg);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.65);
  max-height: min(420px, 60vh);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Texto de ajuda some enquanto o painel de sugestões está aberto (evita leitura em cima do dropdown) */
.aur-busca-hint-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

a.aur-busca-suggest-item:hover,
a.aur-busca-suggest-item:focus {
  background: rgba(201, 150, 42, 0.12) !important;
  outline: none;
}

body.aur-page-busca .page-header {
  padding-top: 1.5rem;
  padding-bottom: 1rem;
}

@media (max-width: 991px) {
  body.aur-page-busca .page-header h1 {
    margin-top: 0.5rem;
  }
}
