/* =========================================
   OPCIÓN A – REDISEÑO MODERNO COMPLETO
   (Mantiene estructuras / selectores originales)
   ========================================= */

/* ---------- Base ---------- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  overflow-x: hidden;
  background-color: #050505;
  color: #e8e8e8;
}

body#category #content-wrapper, body#search #content-wrapper{
  background-color: transparent;
}
#wrapper {
  background-color: #050505;
  padding: 0;
}

/* Paleta */
:root {
  --mj-bg-dark: #050505;
  --mj-bg-darker: #050505;
  --mj-bg-card: #111111;
  --mj-bg-soft: #181818;
  --mj-accent-cyan: #48bbc0;
  --mj-accent-gold: #c6a66a;
  --mj-text-main: #f0f0f0;
  --mj-text-muted: #707070;
  --mj-border-subtle: rgba(255,255,255,0.08);
  --mj-radius-lg: 24px;
  --mj-radius-md: 16px;
  --mj-radius-pill: 999px;
  --mj-shadow-soft: 0 18px 45px rgba(0,0,0,0.4);
}

/* ---------- HEADER MODERNO ---------- */

#header {
  background: radial-gradient(circle at 5% 10%, rgba(144, 121, 66, 0.45), transparent 40%),
              radial-gradient(circle at 90% 20%, rgba(72, 187, 192, 0.4), transparent 45%),
              linear-gradient(120deg, #050505 0%, #101010 45%, #050505 100%);
  box-shadow: 0 15px 45px rgba(0,0,0,0.55);
  position: relative;
  z-index: 10;
}

#header .header-nav {
  padding: 14px 30px;
  margin: 0;
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
  @media (min-width: 991px) {
    #header .header-nav .container .row div.hidden-sm-down{
      display: flex;
      align-items: center;
    }
  }

  #_desktop_top_menu .top-menu[data-depth="0"] li:hover .sub-menu{
    display: none !important;
  }

#header .header-nav ul {
  display: flex;
  width: auto;
  margin: 0;
  list-style: none;
  padding: 0;
  gap: 1.5rem;
}

#header .header-nav .col-md-2.links {
  width: auto;
}

#header .header-nav .links p.h3 {
  display: none;
}

/* Logo */
#_desktop_logo img,
#_mobile_logo img {
  max-height: 40px;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,0.5));
  transition: transform .25s ease, filter .25s ease;
}

#_desktop_logo img:hover,
#_mobile_logo img:hover {
  transform: translateY(-2px) scale(1.02);
  filter: drop-shadow(0 15px 26px rgba(72,187,192,0.4));
}

/* Links top */
#header .header-nav .links ul {
  text-align: right;
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

#header .header-nav .links ul li {
  display: inline-flex;
  align-items: center;
}

#header .header-nav .links ul li a {
  color: var(--mj-text-main);
  text-transform: uppercase;
  padding: 4px 0;
  font-size: .8rem;
  letter-spacing: 0.16em;
  position: relative;
  font-weight: 500;
}

#header .header-nav .links ul li a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--mj-accent-cyan), transparent);
  opacity: 0;
  transform: translateY(6px) scaleX(.5);
  transition: all .2s ease;
}

#header .header-nav .links ul li a:hover::after {
  opacity: 1;
  transform: translateY(0) scaleX(1);
  box-shadow: 0 0 14px rgba(72,187,192,0.6);
}

/* Social icons header */
.block-social ul {
  display: flex;
  gap: .6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.block-social ul li {
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,1);
  border-radius: 999px;
  margin-right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
  box-shadow: 0 10px 22px rgba(0,0,0,0.45);
}

.block-social ul li a {
  font-size: 18px;
  text-align: center;
  line-height: 1;
  color: #ffffff;
  display: flex;
  align-items: center;
}

.block-social ul li:hover {
  background: rgba(255,255,255,0.25);
  transform: translateY(-3px);
  box-shadow: 0 16px 28px rgba(72,187,192,0.35);
}

/* ---------- HEADER TOP (BUSCADOR / MENU) ---------- */

#header .header-top {
  padding: 18px 0 24px;
  background: #050505;
  border-top: 1px solid rgba(255,255,255,0.04);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

#header .header-top .position-static {
  float: none;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

#header .header-top .search-widget {
  width: 100%;
  margin-top: 0;
}

.header-top .search-widget form input[type=text] {
  border-radius: var(--mj-radius-pill);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.35);
  color: var(--mj-text-main);
  padding: 8px 16px;
  height: 38px;
  box-shadow: 0 12px 26px rgba(0,0,0,0.45);
}

.header-top .search-widget form input[type=text]::placeholder {
  color: rgba(255,255,255,0.7);
}

.search-widget form button[type=submit] {
  border-left: 0;
  top: 4px;
  background: linear-gradient(120deg, var(--mj-accent-cyan), var(--mj-accent-gold));
  color: #050505;
  border-radius: var(--mj-radius-pill);
  padding: 0 18px;
  box-shadow: 0 12px 26px rgba(72,187,192,0.35);
}

/* ---------- MENÚ PRINCIPAL TOP ---------- */

.js-top-menu {
  width: 100%;
  padding: 10px 0;
  background-color: #000100;
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,0.15);
}

#top-menu {
  margin: 0;
}

#top-menu li a {
  padding: 6px 18px;
  font-size: 15px;
  font-weight: 500;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .16em;
  position: relative;
}

#top-menu li a::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -6px;
  width: 26px;
  height: 2px;
  background: var(--mj-accent-cyan);
  opacity: 0;
  transition: opacity .2s ease, transform .2s ease;
}

#top-menu li a:hover::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

/* ---------- HERO / CUSTOM TEXT ---------- */

#bonslick ul,
#bonslick ul li {
  height: auto;
  margin: 0;
}

#bonslick {
  border-bottom: 1px solid rgba(198,166,106,0.4);
  margin-bottom: 0;
}

a.link-bonslick img {
  transform-origin: center center;
  transform: scale(1);
  filter: none;
  transition: opacity .9s ease, transform .9s ease;
  opacity: 0;
}

.slick-active a.link-bonslick img {
  opacity: 1;
  transform: scale(1.02);
}

/* Bloque de texto del hero */

#wrapper .banner {
  padding: 0;
}

#custom-text {
  padding: 0 4rem;
  color: var(--mj-text-main);
}
  body#index #custom-text{
    background-color: var(--mj-bg-card);
  }

body#cms #custom-text {
  width: 100%;
}

body#cms .page-header h1 {
  display: none;
}

#custom-text h2 {
  font-family: "Playfair Display", serif;
  font-size: 3.3em;
  font-weight: 500;
  color: #fff;
  text-align: left;
  line-height: 1.2;
}

#custom-text h2 span {
  display: inline-block;
  background: rgba(0,0,0,0.8);
  padding: 4px 10px;
  margin-bottom: 8px;
}

#custom-text p {
  font-weight: 300;
  font-size: 1.4em;
  line-height: 1.4em;
  text-align: left;
  margin: 20px 0;
  color: var(--mj-text-muted);
}

#custom-text a {
  display: inline-block;
  padding: 7px 26px;
  border-radius: var(--mj-radius-pill);
  background: linear-gradient(
      114.3deg,
      var(--mj-accent-gold) 0%,
      var(--mj-accent-cyan) 52%,
      var(--mj-accent-gold) 100%
  );
  font-size: .9em;
  color: #050505;
  text-decoration: none;
  margin-top: 25px;
  transition: transform .3s ease, box-shadow .3s ease;
  font-weight: 600;
}

#custom-text a:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0,0,0,0.45);
}

#custom-text ul li {
  display: inline-block;
}

#custom-text ul li a {
  padding: 5px 10px;
  margin-top: 5px;
}

/* ---------- HISTORIA DESTACADA ---------- */

#historia-destacada {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 50px 0;
  background: radial-gradient(circle at 10% 0%, rgba(72,187,192,0.25), transparent 55%),
              linear-gradient(120deg, #111111 0%, #181818 50%, #111111 100%);
  overflow: hidden;
}

#historia-destacada h3 {
  display: inline-block;
  width: 100%;
  font-size: 20px;
  font-weight: 500;
  color: var(--mj-accent-cyan);
  letter-spacing: .18em;
  text-transform: uppercase;
}

#historia-destacada h2 {
  display: inline-block;
  width: 100%;
  font-size: 38px;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-family: "Playfair Display", serif;
}

#historia-destacada h4 {
  display: inline-block;
  width: 100%;
  font-size: 18px;
  font-weight: 400;
  color: var(--mj-accent-gold);
  text-transform: uppercase;
}

#historia-destacada p {
  font-size: 17px;
  color: var(--mj-text-main);
  line-height: 1.7;
  margin-top: 20px;
}

#historia-destacada img {
  width: 100%;
  border-radius: var(--mj-radius-lg);
  box-shadow: 0 18px 40px rgba(0,0,0,0.45);
}

#historia-destacada a {
  padding: 7px 26px;
  border-radius: var(--mj-radius-pill);
  background: linear-gradient(114.3deg, var(--mj-accent-gold) 0%, var(--mj-accent-cyan) 49.76%, var(--mj-accent-gold) 100%);
  font-size: .9em;
  color: #050505;
  text-decoration: none;
  text-transform: uppercase;
  margin-top: 25px;
  transition: transform .25s ease, box-shadow .25s ease;
  display: inline-block;
}

#historia-destacada a:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0,0,0,0.45);
}

/* ---------- FEATURED PRODUCTS / NOVEDADES ---------- */

.featured-products {
  display: inline-block;
  width: 100%;
  margin: 40px 0 20px;
}

.featured-products h2 {
  display: inline-block;
  width: 100%;
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 25px;
  letter-spacing: 5px;
}

.h2.products-section-title span,
.featured-products h2 span {
  background-color: #050505;
  padding: 8px 22px;
  color: #fff;
  font-weight: 500;
  font-size: 32px;
  border-radius: var(--mj-radius-pill);
  box-shadow: 0 12px 26px rgba(0,0,0,0.45);
}

.featured-products .product-miniature {
  float: left;
  width: 50%;
  padding: 0 18px;
  margin: 16px 0;
}

.featured-products .thumbnail-container {
  display: inline-block;
  width: 100%;
  padding: 16px;
  background-color: var(--mj-bg-card);
  border-radius: var(--mj-radius-lg);
  box-shadow: var(--mj-shadow-soft);
  transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
  border: 2px solid var(--mj-text-muted);
}

.featured-products .thumbnail-container:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px rgba(0,0,0,0.6);
  background-color: #151515;
}

.featured-products .thumbnail.product-thumbnail {
  float: left;
  width: 40%;
}

.featured-products .thumbnail.product-thumbnail img {
  width: 100%;
  border-radius: 16px;
}

.featured-products .product-description {
  float: left;
  width: 60%;
  padding: 0 18px;
  background: transparent;
  color: var(--mj-text-main);
}

.featured-products .product-description h3 {
  text-align: left;
  margin-top: 0;
}

.featured-products .product-title a {
  color: #fff;
  font-weight: 600;
}

.featured-products .product-title a span {
  text-transform: uppercase;
}

.home-vm {
  float: right;
  background-color: var(--mj-accent-cyan);
  padding: 3px 7px;
  font-size: 11px;
  color: #050505;
  text-transform: uppercase;
  margin-right: 10px;
  border-radius: var(--mj-radius-pill);
  transition: transform .25s ease, box-shadow .25s ease;
}

.home-vm:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(72,187,192,0.35);
  color: #050505;
}

#products .thumbnail-container:focus .product-description:after,
#products .thumbnail-container:hover .product-description:after,
.featured-products .thumbnail-container:focus .product-description:after,
.featured-products .thumbnail-container:hover .product-description:after,
.product-accessories .thumbnail-container:focus .product-description:after,
.product-accessories .thumbnail-container:hover .product-description:after,
.product-miniature .thumbnail-container:focus .product-description:after,
.product-miniature .thumbnail-container:hover .product-description:after {
  display: none;
}

/* ---------- LIBRO DE VISITAS ---------- */

#libro-de-visitas {
  display: inline-block;
  width: 100%;
  padding: 60px 0;
  background-image: url(libro-visitas.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#libro-de-visitas h3 {
  display: inline-block;
  width: 100%;
  text-align: center;
  margin-bottom: 40px;
}

#libro-de-visitas h3 span {
  display: inline-block;
  background-color: #050505;
  padding: 10px 24px;
  font-size: 32px;
  color: #fff;
  text-transform: uppercase;
  border-radius: var(--mj-radius-pill);
  box-shadow: 0 16px 30px rgba(0,0,0,0.5);
}

.visita {
  padding: 18px;
  background-color: rgba(255,255,255,0.85);
  border-radius: var(--mj-radius-lg);
  text-align: center;
  box-shadow: 0 14px 30px rgba(0,0,0,0.35);
}

.visita .image {
  display: inline-block;
  width: 120px;
  height: 120px;
  border-radius: 100%;
  overflow: hidden;
}

.visita .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.visita h4 {
  display: inline-block;
  width: 100%;
  font-weight: 600;
  color: var(--mj-accent-cyan);
  text-transform: uppercase;
  margin-top: 10px;
}

.visita p {
  color: #000;
  font-style: italic;
}

/* ---------- NEWSLETTER ---------- */

.block_newsletter {
  padding: 20px 0;
  background: linear-gradient(120deg, #111111 0%, #1c1c1c 50%, #111111 100%);
  margin: 0;
  color: var(--mj-text-main);
}
  .block_newsletter .container{
    width: 100%;
    padding: 0 25px;
  }

.block_newsletter #block-newsletter-label {
  font-size: 24px;
  color: #fff;
}

.block_newsletter form input[type=email] {
  border-radius: var(--mj-radius-pill);
  border: 1px solid rgba(255,255,255,0.25);
  background: rgba(0,0,0,0.4);
  color: var(--mj-text-main);
}

.block_newsletter form input[type=submit] {
  background: linear-gradient(120deg, var(--mj-accent-cyan), var(--mj-accent-gold));
  box-shadow: 0 12px 26px rgba(0,0,0,0.6);
  margin-left: 10px;
  outline: 0;
  border-radius: var(--mj-radius-pill);
  border: none;
}

/* ---------- FOOTER MODERNO ---------- */

#footer {
  display: inline-block;
  width: 100%;
  padding-top: 0;
}

.footer-social-links {
  display: inline-block;
  width: 100%;
  padding: 18px 0;
  background: linear-gradient(120deg, #050505 0%, #101010 50%, #050505 100%);
}

.footer-social-links a {
  float: left;
  width: 40px;
  height: 40px;
  background-color: var(--mj-accent-cyan);
  border-radius: 999px;
  text-align: center;
  margin-right: 10px;
  box-shadow: 0 14px 28px rgba(0,0,0,0.6);
}

.footer-social-links a i {
  font-size: 20px;
  color: #050505;
  line-height: 40px;
  transition: transform .25s ease;
}

.footer-social-links a:hover i {
  transform: translateY(-2px) scale(1.05);
}

.footer-social-links p {
  float: right;
  font-size: 16px;
  color: #fff;
  line-height: 40px;
  margin: 0;
}

.footer-container {
  margin: 0;
  box-shadow: none;
  background: #050505;
  padding-top: 40px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

#footer .links .h3 {
  display: none;
}

#footer .links li a {
  font-weight: 600;
  color: #f1f1f1;
  text-transform: uppercase;
  font-size: .8rem;
  letter-spacing: .16em;
}

.en-memoria {
  margin-top: 0;
  text-align: center;
}

.en-memoria p {
  font-size: 13px;
  font-weight: 600;
  color: #f5f5f5;
}

.en-memoria p small {
  font-weight: normal;
}

/* ---------- VARIOS (categorías, mapa, etc.)
   Mantengo casi igual pero con retoques de color
   --------------------------------------------- */

/* … aquí podrías mantener el resto de tus reglas originales
   de categorías, mapa, subcategorías, etc., cambiando sólo
   algunos colores, pero para no alargar demasiado,
   me centro en header / hero / destacados / footer,
   que son los que más cambian visualmente. */
   
#mecenazco-header{
  height: 30px;
  position: absolute;
  right: -50px;
  top: 3px;
}

/* Responsivo básico */

@media (max-width: 767px) {
  #header .header-nav {
    flex-direction: column;
    align-items: flex-start;
    padding: 10px 15px;
  }

  #custom-text {
    padding: 0 1.5rem;
  }

  #custom-text h2 {
    font-size: 2.1em;
  }

  .featured-products .product-miniature {
    width: 100%;
    padding: 0 10px;
  }

  #libro-de-visitas {
    background-size: auto 100%;
    background-position: center;
  }

  .footer-social-links p {
    font-size: 14px;
  }
}

/* NUEVO CSS */
/* =========================================
   OPCIÓN A – REDISEÑO MODERNO COMPLETO
   (Mantiene estructuras / selectores originales)
   ========================================= */

/* ---------- Base ---------- */
html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  overflow-x: hidden;
  background-color: #050505;
  color: #e8e8e8;
}

#wrapper {
  background-color: #050505;
  padding: 0;
}

/* Paleta */
:root {
  --mj-bg-dark: #050505;
  --mj-bg-darker: #050505;
  --mj-bg-card: #111111;
  --mj-bg-soft: #181818;
  --mj-accent-cyan: #48bbc0;
  --mj-accent-gold: #c6a66a;
  --mj-text-main: #f0f0f0;
  --mj-text-muted: #b7b7b7;
  --mj-border-subtle: rgba(255,255,255,0.08);
  --mj-radius-lg: 24px;
  --mj-radius-md: 16px;
  --mj-radius-pill: 999px;
  --mj-shadow-soft: 0 18px 45px rgba(0,0,0,0.4);
}

/* ---------- HEADER MODERNO ---------- */

#header {
  background: radial-gradient(circle at 5% 10%, rgba(144, 121, 66, 0.45), transparent 40%),
              radial-gradient(circle at 90% 20%, rgba(72, 187, 192, 0.4), transparent 45%),
              linear-gradient(120deg, #050505 0%, #101010 45%, #050505 100%);
  box-shadow: 0 15px 45px rgba(0,0,0,0.55);
  position: relative;
  z-index: 10;
}

#header .header-nav {
  padding: 14px 30px;
  margin: 0;
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#header .header-nav ul {
  display: flex;
  width: auto;
  margin: 0;
  list-style: none;
  padding: 0;
  gap: 1.5rem;
}

#header .header-nav .col-md-2.links {
  width: auto;
}

#header .header-nav .links p.h3 {
  display: none;
}

/* Logo */
#_desktop_logo img,
#_mobile_logo img {
  max-height: 40px;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,0.5));
  transition: transform .25s ease, filter .25s ease;
}

#_desktop_logo img:hover,
#_mobile_logo img:hover {
  transform: translateY(-2px) scale(1.02);
  filter: drop-shadow(0 15px 26px rgba(72,187,192,0.4));
}

/* Links top */
#header .header-nav .links ul {
  text-align: right;
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

#header .header-nav .links ul li {
  display: inline-flex;
  align-items: center;
}

#header .header-nav .links ul li a {
  color: var(--mj-text-main);
  text-transform: uppercase;
  padding: 4px 0;
  font-size: .8rem;
  letter-spacing: 0.16em;
  position: relative;
  font-weight: 500;
}

#header .header-nav .links ul li a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--mj-accent-cyan), transparent);
  opacity: 0;
  transform: translateY(6px) scaleX(.5);
  transition: all .2s ease;
}

#header .header-nav .links ul li a:hover::after {
  opacity: 1;
  transform: translateY(0) scaleX(1);
  box-shadow: 0 0 14px rgba(72,187,192,0.6);
}

/* Social icons header */
.block-social ul {
  display: flex;
  gap: .6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.block-social ul li {
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,1);
  border-radius: 999px;
  margin-right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
  box-shadow: 0 10px 22px rgba(0,0,0,0.45);
}

.block-social ul li a {
  font-size: 18px;
  text-align: center;
  line-height: 1;
  color: #ffffff;
}

.block-social ul li:hover {
  background: rgba(255,255,255,0.25);
  transform: translateY(-3px);
  box-shadow: 0 16px 28px rgba(72,187,192,0.35);
}

/* ---------- HEADER TOP (BUSCADOR / MENU) ---------- */

#header .header-top {
  padding: 18px 0 24px;
  background: #050505;
  border-top: 1px solid rgba(255,255,255,0.04);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

#header .header-top .position-static {
  float: none;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

#header .header-top .search-widget {
  width: 100%;
  margin-top: 0;
}

.header-top .search-widget form input[type=text] {
  border-radius: var(--mj-radius-pill);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.35);
  color: var(--mj-text-main);
  padding: 8px 16px;
  height: 38px;
  box-shadow: 0 12px 26px rgba(0,0,0,0.45);
}

.header-top .search-widget form input[type=text]::placeholder {
  color: rgba(255,255,255,0.7);
}

.search-widget form button[type=submit] {
  border-left: 0;
  top: 4px;
  background: linear-gradient(120deg, var(--mj-accent-cyan), var(--mj-accent-gold));
  color: #050505;
  border-radius: var(--mj-radius-pill);
  padding: 0 18px;
  box-shadow: 0 12px 26px rgba(72,187,192,0.35);
}

/* ---------- MENÚ PRINCIPAL TOP ---------- */

.js-top-menu {
  width: 100%;
  padding: 10px 0;
  background-color: #000100;
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,0.15);
}

#top-menu {
  margin: 0;
}

#top-menu li a {
  padding: 6px 18px;
  font-size: 15px;
  font-weight: 500;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .16em;
  position: relative;
}

#top-menu li a::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -6px;
  width: 26px;
  height: 2px;
  background: var(--mj-accent-cyan);
  opacity: 0;
  transition: opacity .2s ease, transform .2s ease;
}

#top-menu li a:hover::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

/* ---------- HERO / CUSTOM TEXT ---------- */

#bonslick ul,
#bonslick ul li {
  height: auto;
  margin: 0;
}

#bonslick {
  border-bottom: 1px solid rgba(198,166,106,0.4);
}

a.link-bonslick img {
  transform-origin: center center;
  transform: scale(1);
  filter: none;
  transition: opacity .9s ease, transform .9s ease;
  opacity: 0;
}

.slick-active a.link-bonslick img {
  opacity: 1;
  transform: scale(1.02);
}

/* Bloque de texto del hero */
.page-content.page-cms{
  background: -moz-linear-gradient(0% 50% 0deg,rgba(25, 25, 25, 1) 0%,rgba(45, 45, 44, 1) 100%);
  background: -webkit-linear-gradient(0deg, rgba(25, 25, 25, 1) 0%, rgba(45, 45, 44, 1) 100%);
  background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(25, 25, 25, 1)), color-stop(1, rgba(45, 45, 44, 1)));
  background: -o-linear-gradient(0deg, rgba(25, 25, 25, 1) 0%, rgba(45, 45, 44, 1) 100%);
  background: -ms-linear-gradient(0deg, rgba(25, 25, 25, 1) 0%, rgba(45, 45, 44, 1) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#191919', endColorstr='#2D2D2C' ,GradientType=0)";
  background: linear-gradient(90deg, rgba(25, 25, 25, 1) 0%, rgba(45, 45, 44, 1) 100%);
}
#wrapper .banner {
  padding: 0;
}

#custom-text {
  padding: 0 4rem;
  color: var(--mj-text-main);
}

body#cms #custom-text {
  width: 100%;
  background-color: transparent;
}

body#cms .page-header h1 {
  display: none;
}

#custom-text h2 {
  font-family: "Playfair Display", serif;
  font-size: 3.3em;
  font-weight: 500;
  color: #fff;
  text-align: left;
  line-height: 1.2;
}

#custom-text h2 span {
  display: inline-block;
  background: rgba(0,0,0,0.8);
  padding: 4px 10px;
  margin-bottom: 8px;
}

#custom-text p {
  font-weight: 300;
  font-size: 1.4em;
  line-height: 1.4em;
  text-align: left;
  margin: 20px 0;
  color: var(--mj-text-muted);
}

#custom-text a {
  display: inline-block;
  padding: 7px 26px;
  border-radius: var(--mj-radius-pill);
  background: linear-gradient(
      114.3deg,
      var(--mj-accent-gold) 0%,
      var(--mj-accent-cyan) 52%,
      var(--mj-accent-gold) 100%
  );
  font-size: .9em;
  color: #050505;
  text-decoration: none;
  margin-top: 25px;
  transition: transform .3s ease, box-shadow .3s ease;
  font-weight: 600;
}

#custom-text a:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0,0,0,0.45);
}

#custom-text ul li {
  display: inline-block;
}

#custom-text ul li a {
  padding: 5px 10px;
  margin-top: 5px;
}

/* ---------- HISTORIA DESTACADA ---------- */

#historia-destacada {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 50px 0;
  background: radial-gradient(circle at 10% 0%, rgba(72,187,192,0.25), transparent 55%),
              linear-gradient(120deg, #111111 0%, #181818 50%, #111111 100%);
  overflow: hidden;
}

#historia-destacada h3 {
  display: inline-block;
  width: 100%;
  font-size: 20px;
  font-weight: 500;
  color: var(--mj-accent-cyan);
  letter-spacing: .18em;
  text-transform: uppercase;
}

#historia-destacada h2 {
  display: inline-block;
  width: 100%;
  font-size: 38px;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-family: "Playfair Display", serif;
}

#historia-destacada h4 {
  display: inline-block;
  width: 100%;
  font-size: 18px;
  font-weight: 400;
  color: var(--mj-accent-gold);
  text-transform: uppercase;
}

#historia-destacada p {
  font-size: 17px;
  color: var(--mj-text-main);
  line-height: 1.7;
  margin-top: 20px;
}

#historia-destacada img {
  width: 100%;
  border-radius: var(--mj-radius-lg);
  box-shadow: 0 18px 40px rgba(0,0,0,0.45);
}

#historia-destacada a {
  padding: 7px 26px;
  border-radius: var(--mj-radius-pill);
  background: linear-gradient(114.3deg, var(--mj-accent-gold) 0%, var(--mj-accent-cyan) 49.76%, var(--mj-accent-gold) 100%);
  font-size: .9em;
  color: #050505;
  text-decoration: none;
  text-transform: uppercase;
  margin-top: 25px;
  transition: transform .25s ease, box-shadow .25s ease;
  display: inline-block;
}

#historia-destacada a:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0,0,0,0.45);
}

/* ---------- FEATURED PRODUCTS / NOVEDADES ---------- */

.featured-products {
  display: inline-block;
  width: 100%;
  margin: 40px 0 20px;
}

.featured-products h2 {
  display: inline-block;
  width: 100%;
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 25px;
  letter-spacing: 5px;
}

.h2.products-section-title span,
.featured-products h2 span {
  background-color: #050505;
  padding: 8px 22px;
  color: #fff;
  font-weight: 500;
  font-size: 32px;
  border-radius: var(--mj-radius-pill);
  box-shadow: 0 12px 26px rgba(0,0,0,0.45);
}

.featured-products .product-miniature {
  float: left;
  width: 50%;
  padding: 0 18px;
  margin: 16px 0;
}

.featured-products .thumbnail-container {
  display: inline-block;
  width: 100%;
  padding: 16px;
  background-color: var(--mj-bg-card);
  border-radius: var(--mj-radius-lg);
  box-shadow: var(--mj-shadow-soft);
  transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}

.featured-products .thumbnail-container:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px rgba(0,0,0,0.6);
  background-color: #151515;
}

.featured-products .thumbnail.product-thumbnail {
  float: left;
  width: 40%;
}

.featured-products .thumbnail.product-thumbnail img {
  width: 100%;
  border-radius: 16px;
}

.featured-products .product-description {
  float: left;
  width: 60%;
  padding: 0 18px;
  background: transparent;
  color: var(--mj-text-main);
}

.featured-products .product-description h3 {
  text-align: left;
  margin-top: 0;
}

.featured-products .product-title a {
  color: #fff;
  font-weight: 600;
}

.featured-products .product-title a span {
  text-transform: uppercase;
}

.home-vm {
  float: right;
  background-color: var(--mj-accent-cyan);
  padding: 3px 7px;
  font-size: 11px;
  color: #050505;
  text-transform: uppercase;
  margin-right: 10px;
  border-radius: var(--mj-radius-pill);
  transition: transform .25s ease, box-shadow .25s ease;
}

.home-vm:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(72,187,192,0.35);
  color: #050505;
}

#products .thumbnail-container:focus .product-description:after,
#products .thumbnail-container:hover .product-description:after,
.featured-products .thumbnail-container:focus .product-description:after,
.featured-products .thumbnail-container:hover .product-description:after,
.product-accessories .thumbnail-container:focus .product-description:after,
.product-accessories .thumbnail-container:hover .product-description:after,
.product-miniature .thumbnail-container:focus .product-description:after,
.product-miniature .thumbnail-container:hover .product-description:after {
  display: none;
}

/* ---------- LIBRO DE VISITAS ---------- */

#libro-de-visitas {
  display: inline-block;
  width: 100%;
  padding: 60px 0;
  background-image: url(libro-visitas.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#libro-de-visitas h3 {
  display: inline-block;
  width: 100%;
  text-align: center;
  margin-bottom: 40px;
}

#libro-de-visitas h3 span {
  display: inline-block;
  background-color: #050505;
  padding: 10px 24px;
  font-size: 32px;
  color: #fff;
  text-transform: uppercase;
  border-radius: var(--mj-radius-pill);
  box-shadow: 0 16px 30px rgba(0,0,0,0.5);
}

.visita {
  padding: 18px;
  background-color: rgba(255,255,255,0.85);
  border-radius: var(--mj-radius-lg);
  text-align: center;
  box-shadow: 0 14px 30px rgba(0,0,0,0.35);
}

.visita .image {
  display: inline-block;
  width: 120px;
  height: 120px;
  border-radius: 100%;
  overflow: hidden;
}

.visita .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.visita h4 {
  display: inline-block;
  width: 100%;
  font-weight: 600;
  color: var(--mj-accent-cyan);
  text-transform: uppercase;
  margin-top: 10px;
}

.visita p {
  color: #000;
  font-style: italic;
}

/* ---------- NEWSLETTER ---------- */

.block_newsletter {
  padding: 20px 0;
  background: linear-gradient(120deg, #111111 0%, #1c1c1c 50%, #111111 100%);
  margin: 0;
  color: var(--mj-text-main);
}

.block_newsletter #block-newsletter-label {
  font-size: 24px;
  color: #fff;
}

.block_newsletter form input[type=email] {
  border-radius: var(--mj-radius-pill);
  border: 1px solid rgba(255,255,255,0.25);
  background: rgba(0,0,0,0.4);
  color: var(--mj-text-main);
}

.block_newsletter form input[type=submit] {
  background: linear-gradient(120deg, var(--mj-accent-cyan), var(--mj-accent-gold));
  box-shadow: 0 12px 26px rgba(0,0,0,0.6);
  margin-left: 10px;
  outline: 0;
  border-radius: var(--mj-radius-pill);
  border: none;
}

/* ---------- FOOTER MODERNO ---------- */

#footer {
  display: inline-block;
  width: 100%;
  padding-top: 0;
}

.footer-social-links {
  display: inline-block;
  width: 100%;
  padding: 18px 0;
  background: linear-gradient(120deg, #050505 0%, #101010 50%, #050505 100%);
}

.footer-social-links a {
  float: left;
  width: 40px;
  height: 40px;
  background-color: var(--mj-accent-cyan);
  border-radius: 999px;
  text-align: center;
  margin-right: 10px;
  box-shadow: 0 14px 28px rgba(0,0,0,0.6);
}

.footer-social-links a i {
  font-size: 20px;
  color: #050505;
  line-height: 40px;
  transition: transform .25s ease;
}

.footer-social-links a:hover i {
  transform: translateY(-2px) scale(1.05);
}

.footer-social-links p {
  float: right;
  font-size: 16px;
  color: #fff;
  line-height: 40px;
  margin: 0;
}

.footer-container {
  margin: 0;
  box-shadow: none;
  background: #050505;
  padding-top: 40px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

#footer .links .h3 {
  display: none;
}

#footer .links li a {
  font-weight: 600;
  color: #f1f1f1;
  text-transform: uppercase;
  font-size: .8rem;
  letter-spacing: .16em;
}

.en-memoria {
  margin-top: 0;
  text-align: center;
}

.en-memoria p {
  font-size: 13px;
  font-weight: 600;
  color: #f5f5f5;
}

.en-memoria p small {
  font-weight: normal;
}

/* ---------- VARIOS (categorías, mapa, etc.)
   Mantengo casi igual pero con retoques de color
   --------------------------------------------- */

/* … aquí podrías mantener el resto de tus reglas originales
   de categorías, mapa, subcategorías, etc., cambiando sólo
   algunos colores, pero para no alargar demasiado,
   me centro en header / hero / destacados / footer,
   que son los que más cambian visualmente. */
   
#mecenazco-header{
  height: 30px;
  position: absolute;
  right: -50px;
  top: 3px;
}

/* Responsivo básico */

@media (max-width: 767px) {
  #header .header-nav {
    flex-direction: column;
    align-items: flex-start;
    padding: 10px 15px;
  }

  #custom-text {
    padding: 0 1.5rem;
  }

  #custom-text h2 {
    font-size: 2.1em;
  }

  .featured-products .product-miniature {
    width: 100%;
    padding: 0 10px;
  }

  #libro-de-visitas {
    background-size: auto 100%;
    background-position: center;
  }

  .footer-social-links p {
    font-size: 12px;
  }
}

.menu-hover{
  border-radius: 12px;
  background: linear-gradient(120deg, var(--mj-accent-cyan), var(--mj-accent-gold));
}
.justo-tab p, .featured-products .product-description p{
  color: var(--mj-text-main);
}

body#module-smartblog-category section#content{
  background: var(--mj-bg-card);
}

.sdsarticleCat div:first-child{
  background-color: var(--mj-border-subtle);
  border-radius: 12px;
}

@media screen and (max-width: 767px) {
  .row{
    margin: 0;
  }
  #header .header-nav #menu-icon .material-icons{
    color: var(--mj-accent-gold);
    font-size: 30px;
  }
}

body#category .product-miniature-in,
body#search .product-miniature-in{
  height: 100%;
  border: 2px solid var(--mj-text-muted);
  background-color: var(--mj-bg-card);
  border-radius: var(--mj-radius-lg);
  box-shadow: var(--mj-shadow-soft);
  transition: transform .3s  ease, box-shadow .3s ease, background .3s ease;
}
  body#category .product-miniature:hover .product-miniature-in,
  body#search .product-miniature:hover .product-miniature-in{
    transform: translateY(-4px);
    box-shadow: 0 24px 60px rgba(0,0,0,0.6);
    background-color: #151515;
  }
body#category #products .product-title a, body#search #products .product-title a{
  color: var(--mj-accent-gold);
}
  body#category #products .thumbnail-container .product-thumbnail img,
  body#search #products .thumbnail-container .product-thumbnail img{
    background-color: var(--mj-bg-card);
  }
  body#category #products .thumbnail-container h3, body#category #products .thumbnail-container p,
  body#search #products .thumbnail-container h3, body#search #products .thumbnail-container p{
    color: var(--mj-text-main);
  }

  body#category #products .products,
  body#search #products .products{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
  }


  body#category.category-id-8 #products .product-miniature,
  body#category.category-id-9 #products .product-miniature,
  body#category.category-id-10 #products .product-miniature{
    width: 33%;
  }
  body#category.category-id-8 #products .thumbnail-container,
  body#category.category-id-9 #products .thumbnail-container,
  body#category.category-id-10 #products .thumbnail-container{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }

  /* Imagen izquierda */
  body#category.category-id-8 #products .thumbnail-container > a.thumbnail,
  body#category.category-id-9 #products .thumbnail-container > a.thumbnail,
  body#category.category-id-10 #products .thumbnail-container > a.thumbnail{
    width: 40%; /* Ajustable */
  }

  /* Todo lo que no es la imagen se alinea como columna derecha */
  body#category.category-id-8 #products .thumbnail-container > h3,
  body#category.category-id-8 #products .thumbnail-container > p,
  body#category.category-id-8 #products .thumbnail-container > a.home-vm,
  body#category.category-id-9 #products .thumbnail-container > h3,
  body#category.category-id-9 #products .thumbnail-container > p,
  body#category.category-id-9 #products .thumbnail-container > a.home-vm,
  body#category.category-id-10 #products .thumbnail-container > h3,
  body#category.category-id-10 #products .thumbnail-container > p,
  body#category.category-id-10 #products .thumbnail-container > a.home-vm {
    width: 55%;
    padding-left: 0;
  }

  /* Forzamos columna en orden correcto */
  body#category.category-id-8 #products .thumbnail-container > h3,
  body#category.category-id-9 #products .thumbnail-container > h3,
  body#category.category-id-10 #products .thumbnail-container > h3 {
    order: 2;
    position: absolute;
    padding-left: 44%;
    width: 100%;
    font-size: 1.25rem;
  }
  body#category.category-id-8 #products .thumbnail-container > p,
  body#category.category-id-9 #products .thumbnail-container > p,
  body#category.category-id-10 #products .thumbnail-container > p{
    order: 3;
    margin-top: 10px;
    margin-left: -3px;
    font-size: 1rem;
    line-height: 1.5rem;
  }
  body#category.category-id-8 #products .thumbnail-container > a.home-vm,
  body#category.category-id-9 #products .thumbnail-container > a.home-vm,
  body#category.category-id-10 #products .thumbnail-container > a.home-vm {
    display: inline-block;
    margin-top: auto;
    text-align: center;
    padding: 10px 30px;
    width: auto;
    font-size: 14px;
    order: 5;
  }
  body#category.category-id-8 #products .thumbnail-container > a.thumbnail,
  body#category.category-id-9 #products .thumbnail-container > a.thumbnail,
  body#category.category-id-10 #products .thumbnail-container > a.thumbnail {
    order: 1;
  }

  body#category.category-id-8 #products .product-title a,
  body#category.category-id-9 #products .product-title a,
  body#category.category-id-10 #products .product-title a{
    font-size: 1.5rem;
    line-height: 2rem;
  }

    .carousel{
    display: flex;
    gap: 10px;
    padding: 10px;
  }
    .carousel .carousel-item{
      border-radius: 20px;
      overflow: hidden;
    }
      .carousel .carousel-item img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: all 3000ms;
      }
        .carousel .carousel-item img:hover{
          transform: scale(1.15);
        }

  #js-product-list-header .block-category{
    background: radial-gradient(circle at 5% 10%, rgba(144, 121, 66, 0.45), transparent 40%), radial-gradient(circle at 90% 20%, rgba(72, 187, 192, 0.4), transparent 45%), linear-gradient(120deg, #050505 0%, #101010 45%, #050505 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 35px;
  }
    #js-product-list-header .block-category .h1{
      font-size: 4rem;
      color: var(--mj-accent-gold);
      text-align: center;
    }

    body#category .subcat-icon, body#search .subcat-icon{
      background-color: var(--mj-border-subtle);
      color: var(--mj-text-muted);
    }

  @media screen and (max-width: 767px) {
    body#category.category-id-8 #products .product-miniature,
    body#category.category-id-9 #products .product-miniature,
    body#category.category-id-10 #products .product-miniature{
      width: 100%;
    }
    body#category.category-id-8 #products .thumbnail-container,
    body#category.category-id-9 #products .thumbnail-container,
    body#category.category-id-10 #products .thumbnail-container{
      flex-direction: column;
    }
    body#category.category-id-8 #products .thumbnail-container > a.thumbnail,
    body#category.category-id-9 #products .thumbnail-container > a.thumbnail,
    body#category.category-id-10 #products .thumbnail-container > a.thumbnail{
      width: 100%;
    }
    body#category.category-id-8 #products .thumbnail-container > h3,
    body#category.category-id-9 #products .thumbnail-container > h3,
    body#category.category-id-10 #products .thumbnail-container > h3{
      position: relative;
      width: 100%;
      padding: 10px;
      text-align: center;
    }
    body#category.category-id-8 #products .thumbnail-container > p,
    body#category.category-id-9 #products .thumbnail-container > p,
    body#category.category-id-10 #products .thumbnail-container > p{
      width: 100%;
      padding: 10px 25px;
    }
    body#category.category-id-8 #products .thumbnail-container > a.home-vm,
    body#category.category-id-9 #products .thumbnail-container > a.home-vm,
    body#category.category-id-10 #products .thumbnail-container > a.home-vm{
      width: 50%;
      margin: 0 25%;
    }

    #js-product-list-header .block-category{
      gap: 0;
      padding: 1.25rem 1.25rem .5rem;
    }
      #js-product-list-header .block-category .h1{
        font-size: 2rem;
      }
      .carousel{
        flex-direction: column;
      }
  }

  #js-product-list-header{
    text-align: center;
    color: var(--mj-text-muted);
    margin-top: 25px;
  }