:root {
  --rdd-white: #ffffff;
  --rdd-cream: #FCFAF7;
  /* Warm Pearl Background Tint */
  --rdd-soft: #FCFBF9;
  /* Seda Alabastro */
  --rdd-line: #E5DFD9;
  /* Gris Lino Orgánico */
  --rdd-line-strong: #dbc0bf;
  --rdd-text: #1A1A1A;
  /* Negro Carbón */
  --rdd-muted: #554241;
  --rdd-red: #591214;
  /* Vino Carmesí Deep Rose */
  --rdd-red-dark: #420D0F;
  --rdd-red-design: #672827;
  --rdd-red-design-dark: #4F1718;
  --rdd-green: #2A3628;
  /* Verde Follaje Profundo */
  --rdd-green-soft: #E2ECE0;
  --rdd-gold: #C9A054;
  /* Oro Champaña Cepillado */
  --rdd-gold-vibrant: #FFB300;
  /* Oro Solar Vibrante y Luminoso */
  --rdd-blush: #C58E88;
  /* Rosa Blush */
  --rdd-ivory: #FAF7F2;
  /* Pearl Ivory */
  --rdd-radius: 6px;
  --rdd-radius-lg: 12px;
  --rdd-container: 1280px;
  --rdd-font-serif: "Cormorant Garamond", Georgia, serif;
  --rdd-font-sans: "Hanken Grotesk", "Open Sans", sans-serif;
}

.premium-topbar .language-switcher {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}

.premium-topbar .language-switcher span {
  color: #6f756f;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.language-switcher-seg {
  display: inline-flex;
  border: 1px solid rgba(172, 29, 35, .25);
  border-radius: 4px;
  overflow: hidden;
}

.language-switcher-seg a,
#top.premium-topbar ul.menu .language-switcher-seg a {
  color: var(--rdd-red-design) !important;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 5px 10px;
  text-decoration: none !important;
  text-transform: uppercase;
  background: transparent;
  transition: background 0.2s ease, color 0.2s ease;
}

.language-switcher-seg a + a {
  border-left: 1px solid rgba(172, 29, 35, .25);
}

.language-switcher-seg a.active,
#top.premium-topbar ul.menu .language-switcher-seg a.active {
  background: var(--rdd-red-design);
  color: #fff !important;
}

.language-switcher-seg a:hover:not(.active) {
  color: rgba(172, 29, 35, .8) !important;
  background: rgba(172, 29, 35, .04);
}

.language-switcher-mobile {
  display: none;
}

html {
  background: var(--rdd-cream);
}

body.premium-minimal {
  background: var(--rdd-cream);
  color: var(--rdd-text);
  font-family: var(--rdd-font-sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.premium-minimal a {
  color: var(--rdd-green);
  transition: all .3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.premium-minimal a:hover,
.premium-minimal a:focus {
  color: var(--rdd-blush);
  text-decoration: none;
}

.premium-minimal .container {
  max-width: var(--rdd-container);
  width: 100%;
}

.premium-minimal h1,
.premium-minimal h2,
.premium-minimal h3,
.premium-minimal h4,
.premium-minimal h5,
.premium-minimal h6 {
  color: var(--rdd-text);
  font-family: var(--rdd-font-serif);
  font-weight: 600;
  letter-spacing: -0.01em;
}

.premium-minimal .btn {
  border-radius: var(--rdd-radius);
  font-family: var(--rdd-font-sans);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-width: 1px;
  box-shadow: none;
  white-space: normal;
  transition: all .3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.premium-minimal .btn-primary {
  background: var(--rdd-green);
  border-color: var(--rdd-green);
  color: var(--rdd-white) !important;
}

.premium-minimal .btn-primary:hover,
.premium-minimal .btn-primary:focus {
  background: var(--rdd-gold) !important;
  border-color: var(--rdd-gold) !important;
}

.premium-minimal .btn-default {
  background: var(--rdd-white);
  border-color: var(--rdd-green);
  color: var(--rdd-green) !important;
}

.premium-minimal .btn-default:hover,
.premium-minimal .btn-default:focus {
  background: var(--rdd-green);
  border-color: var(--rdd-green);
  color: var(--rdd-white) !important;
}

.premium-minimal .btn-danger {
  border-radius: var(--rdd-radius);
}

.rdd-recent-purchase {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(219, 192, 191, 0.86);
  border-radius: var(--rdd-radius);
  bottom: 24px;
  box-shadow: 0 18px 50px rgba(66, 13, 15, 0.13);
  color: var(--rdd-text);
  display: grid;
  gap: 14px;
  grid-template-columns: 72px minmax(0, 1fr);
  left: 24px;
  max-width: calc(100vw - 48px);
  min-height: 96px;
  opacity: 0;
  padding: 14px 18px 14px 14px;
  pointer-events: none;
  position: fixed;
  transform: translate3d(0, 16px, 0);
  transition: opacity 0.35s ease, transform 0.35s ease;
  width: 390px;
  z-index: 1040;
}

.rdd-recent-purchase.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
}

.rdd-recent-purchase__image {
  background: var(--rdd-ivory);
  border-radius: calc(var(--rdd-radius) - 1px);
  height: 72px;
  object-fit: cover;
  width: 72px;
}

.rdd-recent-purchase__body {
  min-width: 0;
  padding-right: 20px;
}

.rdd-recent-purchase__eyebrow {
  color: var(--rdd-muted);
  display: block;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  margin-bottom: 3px;
}

.rdd-recent-purchase__product {
  color: var(--rdd-text);
  display: block;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.25;
}

.rdd-recent-purchase__time {
  color: var(--rdd-red);
  display: block;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 7px;
}

.rdd-recent-purchase__close {
  align-items: center;
  background: var(--rdd-white);
  border: 1px solid rgba(219, 192, 191, 0.95);
  border-radius: 50%;
  color: var(--rdd-muted);
  display: flex;
  font-size: 22px;
  font-weight: 300;
  height: 34px;
  justify-content: center;
  line-height: 1;
  padding: 0 0 2px;
  position: absolute;
  right: -13px;
  top: -13px;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
  width: 34px;
}

.rdd-recent-purchase__close:hover,
.rdd-recent-purchase__close:focus {
  background: var(--rdd-red);
  color: var(--rdd-white);
  outline: none;
  transform: scale(1.04);
}

.premium-minimal .form-control,
.premium-minimal input[type="number"],
.premium-minimal input[type="text"],
.premium-minimal input[type="email"],
.premium-minimal input[type="password"],
.premium-minimal select,
.premium-minimal textarea {
  border: 1px solid var(--rdd-line);
  border-radius: var(--rdd-radius);
  box-shadow: none;
  color: var(--rdd-text);
  font-family: var(--rdd-font-sans);
  background-color: var(--rdd-white);
  height: 42px;
  transition: all 0.3s ease;
}

.premium-minimal .form-control:focus,
.premium-minimal input:focus,
.premium-minimal select:focus,
.premium-minimal textarea:focus {
  border-color: var(--rdd-gold);
  box-shadow: 0 0 0 3px rgba(201, 160, 84, .12);
  outline: none;
}

.premium-topbar,
#top.premium-topbar {
  background: var(--rdd-white) !important;
  border-bottom: 1px solid var(--rdd-line);
  box-shadow: none;
  color: var(--rdd-green);
  min-height: 40px;
  padding: 5px 0;
  font-family: var(--rdd-font-sans);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
}

#top.premium-topbar .offer,
#top.premium-topbar a {
  color: var(--rdd-green) !important;
}

#top.premium-topbar ul.menu>li+li:before {
  content: none;
}

.premium-topbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.premium-topbar .offer,
.premium-topbar #top-menuuser {
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
  align-items: center;
}

.premium-topbar #top-prom .btn,
#top.premium-topbar #top-prom>.btn-primary {
  background: transparent !important;
  border: 1px solid var(--rdd-green) !important;
  border-radius: var(--rdd-radius);
  color: var(--rdd-green) !important;
  padding: 8px 16px;
  font-size: 11px;
  letter-spacing: .14em;
  font-weight: 700;
  text-transform: uppercase;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.premium-topbar #top-prom .btn:hover,
.premium-topbar #top-prom .btn:focus {
  background-color: var(--rdd-green) !important;
  border-color: var(--rdd-green) !important;
  color: var(--rdd-white) !important;
}

.premium-topbar ul.menu {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 18px;
  list-style: none;
  padding: 0;
}

.premium-topbar ul.menu>li {
  display: flex;
  align-items: center;
  line-height: 1;
}

.premium-topbar ul.menu>li,
.premium-topbar ul.menu>li>a,
#top.premium-topbar ul.menu>li a {
  color: var(--rdd-muted) !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  transition: color 0.3s ease;
}

.premium-topbar ul.menu>li>a:hover {
  color: var(--rdd-green) !important;
  text-decoration: none;
}

.premium-navbar {
  background: rgba(252, 250, 247, 0.96) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 0;
  border-bottom: 1px solid rgba(229, 223, 217, 0.5);
  border-radius: 0;
  box-shadow: 0 4px 30px rgba(42, 54, 40, 0.02);
  margin-bottom: 0;
  min-height: 90px;
  position: sticky;
  top: 0;
  z-index: 1000;
  transition: all 0.3s ease;
}

.premium-navbar .container {
  gap: 22px;
  display: flex;
  align-items: center;
  min-height: 90px;
  position: relative;
  padding-left: 15px;
  padding-right: 15px;
}

.premium-navbar .navbar-header {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  float: none;
}

.premium-navbar .navbar-brand {
  float: none;
  height: auto;
  padding: 0;
}

.premium-navbar .navbar-brand img {
  display: block;
  max-height: 64px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.premium-navbar .navbar-brand:hover img {
  transform: scale(1.03);
}

.premium-navbar .navbar-collapse {
  border: 0;
  box-shadow: none;
  padding-left: 0;
  padding-right: 0;
}

@media (min-width: 768px) {
  .premium-navbar .navbar-header .navbar-buttons {
    display: none !important;
  }

  .premium-navbar #navigation {
    align-items: center;
    align-self: center;
    display: flex !important;
    flex: 0 0 auto;
    float: none;
    height: auto !important;
    width: auto !important;
    overflow: visible;
    padding: 0;
  }

  .premium-navbar .navbar-left {
    align-items: center;
    display: flex;
    float: none !important;
    margin: 0;
  }

  .premium-navbar .navbar-nav > li {
    float: none;
    padding-top: 0;
  }

  .premium-navbar .navbar-form .input-group {
    padding-top: 0;
  }
}

@media (min-width: 1200px) {
  .premium-navbar {
    min-height: 96px;
  }

  .premium-navbar .container {
    min-height: 96px;
  }
}

.premium-navbar .nav>li>a {
  align-items: center;
  color: var(--rdd-red-design) !important;
  display: flex;
  font-size: 12px;
  font-weight: 700;
  height: 44px;
  letter-spacing: .15em;
  padding: 0 16px;
  text-transform: uppercase;
  position: relative;
}

.premium-navbar .nav>li>a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 16px;
  right: 16px;
  height: 2px;
  background-color: var(--rdd-gold);
  transform: scaleX(0);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform-origin: right center;
}

.premium-navbar .nav>li:hover>a::after,
.premium-navbar .nav>li.active>a::after {
  transform: scaleX(1);
  transform-origin: left center;
}

.premium-navbar .nav>li.active>a,
.premium-navbar .nav>li>a:hover,
.premium-navbar .nav>li>a:focus {
  background: transparent !important;
  color: var(--rdd-red-design-dark) !important;
}

.premium-navbar .dropdown-menu {
  border: 1px solid var(--rdd-line);
  border-radius: var(--rdd-radius);
  box-shadow: 0 20px 45px rgba(42, 54, 40, 0.08);
  padding: 12px;
  background: var(--rdd-white);
}

.premium-navbar .dropdown-menu a {
  color: var(--rdd-green) !important;
  font-weight: 600;
  font-size: 13px;
  padding: 8px 12px;
  border-radius: var(--rdd-radius);
  transition: all 0.25s ease;
}

.premium-navbar .dropdown-menu a:hover {
  background: var(--rdd-cream) !important;
  color: var(--rdd-gold) !important;
}

.premium-navbar .nav .open>a,
.premium-navbar .nav .open>a:hover,
.premium-navbar .nav .open>a:focus,
.premium-navbar.navbar-default .navbar-nav>.open>a,
.premium-navbar.navbar-default .navbar-nav>.open>a:hover,
.premium-navbar.navbar-default .navbar-nav>.open>a:focus {
  background-color: transparent !important;
  border-color: var(--rdd-line) !important;
  color: var(--rdd-red-design-dark) !important;
}

.premium-navbar .dropdown-menu .dropdownMenu.open>a,
.premium-navbar .dropdown-menu li.open>a,
.premium-navbar .dropdown-menu li.open>a:hover,
.premium-navbar .dropdown-menu li.open>a:focus {
  background: var(--rdd-cream) !important;
  color: var(--rdd-green) !important;
}

/* Titulos de subcategoria del mega-menu: <div.nav-category-title> en vez de
   <h2> para no diluir la jerarquia semantica de la pagina (SEO). Misma estetica. */
.premium-navbar .submenu .nav-category-title,
.premium-navbar .submenu h2,
.premium-navbar .yamm-content h2 {
  display: block;
  font-family: var(--rdd-font-serif);
  font-size: 18px;
  line-height: 1.1;
  margin-top: 8px;
  margin-bottom: 10px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--rdd-line);
  font-weight: 700;
  color: var(--rdd-red-design) !important;
  border-bottom-color: var(--rdd-line) !important;
}

.premium-navbar .navbar-form {
  align-self: center;
  border: 0;
  box-shadow: none;
  float: none !important;
  flex: 1 1 320px;
  margin: 0 0 0 auto;
  max-width: 400px;
  min-width: 300px;
  padding: 0;
}

.premium-navbar #buscarproductos {
  align-items: stretch;
  border: 1.5px solid rgba(42, 54, 40, 0.18);
  border-radius: var(--rdd-radius);
  display: grid;
  grid-template-columns: minmax(140px, 170px) minmax(0, 1fr) 48px;
  height: 44px;
  overflow: hidden;
  padding: 0;
  width: 100%;
  background: var(--rdd-cream);
  box-shadow: 0 1px 4px rgba(42, 54, 40, 0.04);
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
}

.premium-navbar #buscarproductos:focus-within {
  border-color: var(--rdd-gold);
  box-shadow: 0 0 0 3px rgba(201, 160, 84, .10), 0 2px 8px rgba(201, 160, 84, 0.08);
}

.premium-navbar #buscarproductos .input-group-btn {
  display: block;
  min-width: 0;
  width: 100%;
  overflow: hidden;
}

.premium-navbar #buscarproductos .form-control,
.premium-navbar #buscarproductos .btn {
  border: 0;
  height: 44px;
}

.premium-navbar #buscarproductos #txtselectM {
  min-width: 0;
  width: 100%;
}

.premium-navbar #buscarproductos #txtBProducto {
  min-width: 0;
  width: 100%;
  padding-left: 14px;
  font-size: 13px;
  background: transparent;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.premium-navbar #buscarproductos #txtBProducto::placeholder {
  font-size: 12px;
  text-overflow: ellipsis;
}

.premium-navbar #buscarproductos .select2-container {
  min-width: 0;
  width: 100% !important;
}

.premium-navbar #buscarproductos .select2-container--default .select2-selection--single .select2-selection__rendered {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 26px;
}

.premium-navbar #buscarproductos .select2-container--default .select2-selection--single .select2-selection__arrow {
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  height: 26px;
  width: 20px;
}

.premium-navbar #buscarproductos #btnbuscarproducto {
  background: var(--rdd-green);
  border: 0;
  border-radius: 0;
  color: var(--rdd-white) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  min-width: 0;
  padding: 0 !important;
  width: 48px;
  height: calc(100% + 3px);
  margin: -1.5px -1.5px -1.5px 0;
  transition: background 0.35s ease, box-shadow 0.35s ease;
}

.premium-navbar #buscarproductos #btnbuscarproducto:hover,
.premium-navbar #buscarproductos #btnbuscarproducto:focus {
  background: var(--rdd-gold);
  color: var(--rdd-white) !important;
}

.premium-navbar #buscarproductos #btnbuscarproducto .fa {
  color: inherit;
  display: block;
  line-height: 1;
  margin: 0;
}

.premium-navbar .navbar-buttons.items {
  align-self: center;
  flex: 0 0 auto;
  float: none;
  margin-left: 0;
  position: static;
  right: auto;
}

.premium-navbar #basket-overview {
  display: block !important;
  height: auto !important;
  overflow: visible;
  padding-top: 0;
}

.premium-navbar #basket-overview .btn {
  background: var(--rdd-red-design);
  border: 1px solid var(--rdd-red-design);
  border-radius: var(--rdd-radius);
  color: var(--rdd-white) !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  margin: 0;
  padding: 0 20px !important;
  font-family: var(--rdd-font-sans);
  font-size: 12px;
  letter-spacing: 0.08em;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
  transition: all 0.3s ease;
}

.premium-navbar #basket-overview .btn:hover {
  background: var(--rdd-red-design-dark) !important;
  color: var(--rdd-white) !important;
  border-color: var(--rdd-red-design-dark) !important;
}

.premium-navbar .navbar-toggle.navbar-btn,
.premium-navbar .navbar-buttons a.navbar-toggle.navbar-btn {
  align-items: center;
  border: 1px solid var(--rdd-red-design) !important;
  border-radius: var(--rdd-radius);
  color: var(--rdd-white) !important;
  display: inline-flex;
  font-family: var(--rdd-font-sans);
  font-size: 11px;
  font-weight: 700;
  gap: 6px;
  height: 40px;
  letter-spacing: 0.06em;
  line-height: 1;
  margin: 0;
  padding: 0 12px !important;
  text-transform: uppercase;
  white-space: nowrap;
}

.premium-navbar #btnmenumovil {
  background: var(--rdd-green) !important;
  border-color: var(--rdd-green) !important;
}

.premium-navbar .navbar-buttons a.navbar-toggle.navbar-btn:not(#iniciomovil) {
  background: var(--rdd-red-design) !important;
}

.premium-navbar .navbar-buttons a.navbar-toggle.navbar-btn:hover,
.premium-navbar .navbar-buttons a.navbar-toggle.navbar-btn:focus,
.premium-navbar .navbar-toggle.navbar-btn:hover,
.premium-navbar .navbar-toggle.navbar-btn:focus {
  opacity: 0.9;
}

.premium-navbar #iniciomovil {
  background: transparent !important;
  border-color: var(--rdd-red-design) !important;
  color: var(--rdd-red-design) !important;
}

.premium-navbar .navbar-toggle {
  border: 0;
  border-radius: var(--rdd-radius);
  float: none;
}

/* ========== HERO - WEDDING SEASON EDITORIAL ========== */

.premium-home-hero {
  background: #15100f;
  margin: 0;
  position: relative;
  overflow: hidden;
}

.premium-home-hero>.col-md-12 {
  padding: 0;
}

.premium-hero-stage {
  overflow: hidden;
  position: relative;
}

.premium-hero-stage:after {
  background:
    linear-gradient(90deg, rgba(18, 13, 12, .9) 0%, rgba(45, 28, 25, .66) 38%, rgba(45, 28, 25, .16) 68%, rgba(45, 28, 25, .08) 100%),
    linear-gradient(180deg, rgba(21, 16, 15, .06) 0%, rgba(21, 16, 15, .45) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.premium-hero-texture {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 3;
}

.premium-hero-particles {
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.hero-particle {
  animation: hero-particle-float var(--duration) var(--delay) ease-in-out infinite;
  background: linear-gradient(135deg, rgba(255, 248, 244, .9), rgba(243, 194, 187, .58));
  border-radius: 100% 0 100% 0;
  box-shadow: 0 10px 22px rgba(89, 18, 20, .12);
  display: block;
  height: var(--size);
  left: var(--x);
  opacity: 0;
  position: absolute;
  top: var(--y);
  transform: translate(-50%, -50%);
  width: calc(var(--size) * .72);
}

@keyframes hero-particle-float {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(0deg) scale(.7);
  }

  12% {
    opacity: .62;
  }

  88% {
    opacity: .38;
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%) translate(var(--drift-x), var(--drift-y)) rotate(var(--rotation)) scale(.95);
  }
}

.premium-hero-slide .slide-image {
  animation: hero-ken-burns 20s ease-in-out infinite alternate;
  will-change: transform;
}

@keyframes hero-ken-burns {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.07);
  }
}

.premium-hero-carousel {
  display: block;
  position: relative;
}

.premium-hero-slide {
  background: #1c1414;
  min-height: 620px;
  overflow: hidden;
  position: relative;
}

.premium-hero-slide picture {
  display: block;
  height: 100%;
}

.premium-hero-slide .slide-image {
  filter: brightness(.96) saturate(1.04);
  height: 620px;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.premium-hero-slide-season .slide-image {
  object-position: center;
}

.premium-hero-carousel .owl-buttons {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 6;
}

.premium-hero-carousel .owl-buttons>div {
  align-items: center;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  background: rgba(255, 248, 244, 0.08);
  border: 1px solid rgba(224, 184, 18, 0.18);
  border-radius: 50%;
  color: var(--rdd-white);
  display: flex;
  font-size: 0;
  height: 52px;
  justify-content: center;
  margin-top: -26px;
  opacity: 0.6;
  padding: 0;
  position: absolute;
  text-shadow: none;
  top: 50%;
  transition: opacity 0.35s ease, background 0.35s ease, border-color 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;
  width: 52px;
}

.premium-hero-carousel .owl-buttons>div:hover,
.premium-hero-carousel .owl-buttons>div:focus-visible {
  background: rgba(255, 248, 244, 0.16);
  border-color: rgba(224, 184, 18, 0.45);
  box-shadow: 0 0 32px rgba(224, 184, 18, 0.1);
  opacity: 1;
  transform: scale(1.1);
}

.premium-hero-carousel .owl-buttons>div:focus-visible {
  outline: 2px solid var(--rdd-gold);
  outline-offset: 4px;
}

.premium-hero-carousel .owl-buttons .owl-prev {
  left: 28px;
}

.premium-hero-carousel .owl-buttons .owl-next {
  right: 28px;
}

.premium-hero-carousel .owl-buttons>div:after {
  border: solid var(--rdd-ivory);
  border-width: 0 2px 2px 0;
  content: "";
  display: block;
  height: 14px;
  width: 14px;
}

.premium-hero-carousel .owl-buttons .owl-prev:after {
  transform: rotate(135deg);
  margin-left: 3px;
}

.premium-hero-carousel .owl-buttons .owl-next:after {
  transform: rotate(-45deg);
  margin-right: 3px;
}

.premium-hero-carousel .owl-pagination {
  bottom: 32px;
  left: 0;
  position: absolute;
  right: 0;
  text-align: center;
  z-index: 6;
}

.premium-hero-carousel .owl-pagination .owl-page {
  background: transparent;
  border: 2px solid rgba(255, 248, 244, 0.42);
  border-radius: 50%;
  display: inline-block;
  height: 10px;
  margin: 0 8px;
  transition: background 0.35s ease, border-color 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;
  width: 10px;
}

.premium-hero-carousel .owl-pagination .owl-page:hover,
.premium-hero-carousel .owl-pagination .owl-page:focus-visible {
  border-color: var(--rdd-ivory);
  box-shadow: 0 0 14px rgba(255, 248, 244, 0.24);
  transform: scale(1.4);
}

.premium-hero-carousel .owl-pagination .owl-page.active {
  background: var(--rdd-gold);
  border-color: var(--rdd-gold);
  box-shadow: 0 0 18px rgba(224, 184, 18, 0.35);
  transform: scale(1.2);
}

.premium-hero-carousel .owl-pagination .owl-page:focus-visible {
  outline: 2px solid var(--rdd-gold);
  outline-offset: 4px;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.premium-hero-copy {
  left: 7%;
  max-width: 650px;
  position: absolute;
  top: 49%;
  transform: translateY(-50%);
  z-index: 5;
}

.premium-hero-accent {
  background: linear-gradient(90deg, var(--rdd-gold), rgba(197, 142, 136, 0.52));
  height: 2px;
  margin-bottom: 22px;
  width: 86px;
}

.premium-hero-copy span {
  color: var(--rdd-gold);
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  margin-bottom: 18px;
  text-transform: uppercase;
  font-family: var(--rdd-font-sans);
}

/* Micro-sellos de prestigio (keywords como credenciales, no como slogan) */
.premium-hero-badges {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 0;
}

.premium-hero-badges li {
  color: var(--rdd-gold);
  font-family: var(--rdd-font-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.premium-hero-badges li + li::before {
  content: "\00B7";
  margin: 0 10px;
  opacity: 0.6;
}

/* Claim de marca (eyebrow dorado) directamente sobre el H1 transaccional */
.premium-hero-copy .premium-hero-tagline {
  margin-bottom: 10px;
  color: var(--rdd-gold);
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: none;
  font-family: var(--rdd-font-serif);
  font-size: clamp(15px, 1.8vw, 19px);
}

.premium-hero-copy h1 {
  color: #ffffff;
  font-family: var(--rdd-font-serif);
  font-size: clamp(34px, 4.6vw, 54px);
  font-weight: 500;
  font-style: normal;
  line-height: 1.08;
  margin: 0;
  max-width: 640px;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.28);
}

.premium-hero-copy p {
  color: rgba(255, 248, 244, 0.92);
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 400;
  line-height: 1.6;
  margin: 22px 0 0;
  max-width: 530px;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.18);
}

.premium-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.premium-hero-actions .btn {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  font-size: 13px;
  letter-spacing: 0.08em;
  min-height: 50px;
  padding: 15px 28px;
  transition: all 0.35s ease;
}

.premium-hero-actions .btn-primary {
  background: var(--rdd-ivory);
  border-color: var(--rdd-ivory);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
  color: var(--rdd-red-dark) !important;
}

.premium-hero-actions .btn-primary:hover,
.premium-hero-actions .btn-primary:focus {
  background: var(--rdd-gold);
  border-color: var(--rdd-gold);
  box-shadow: 0 18px 42px rgba(224, 184, 18, 0.28);
  transform: translateY(-2px);
}

.premium-hero-actions .btn-default {
  background: rgba(255, 248, 244, 0.08);
  border: 1px solid rgba(255, 248, 244, 0.3);
  color: var(--rdd-white) !important;
}

.premium-hero-actions .btn-default:hover,
.premium-hero-actions .btn-default:focus {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.5);
  color: var(--rdd-white) !important;
  transform: translateY(-2px);
}

.premium-hero-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
}

.premium-hero-highlights li {
  background: rgba(255, 248, 244, .08);
  border: 1px solid rgba(255, 248, 244, .22);
  border-radius: var(--rdd-radius);
  color: rgba(255, 248, 244, .9);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.25;
  padding: 0;
  text-transform: uppercase;
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

.premium-hero-highlights li a {
  color: inherit;
  display: block;
  padding: 9px 12px;
  text-decoration: none;
}

.premium-hero-highlights li:hover {
  background: rgba(255, 248, 244, .16);
  border-color: rgba(255, 248, 244, .40);
  transform: translateY(-2px);
}

.premium-hero-seasonal-note {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-left: 2px solid var(--rdd-gold);
  bottom: 74px;
  color: rgba(255, 248, 244, .9);
  display: block;
  max-width: 300px;
  padding: 14px 0 14px 18px;
  position: absolute;
  right: 6%;
  text-decoration: none;
  text-shadow: 0 1px 10px rgba(0, 0, 0, .28);
  transition: border-color .25s ease, transform .25s ease;
  z-index: 5;
}

.premium-hero-seasonal-note {
  background: rgba(26, 26, 26, 0);
  border-radius: 0 var(--rdd-radius) var(--rdd-radius) 0;
  transition: border-color .3s ease, transform .3s ease,
              box-shadow .3s ease, background-color .3s ease;
}

.premium-hero-seasonal-note:hover,
.premium-hero-seasonal-note:focus {
  border-left-color: var(--rdd-gold);
  background-color: rgba(26, 26, 26, .32);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
  text-decoration: none;
  transform: translateY(-4px);
}

.premium-hero-seasonal-note > span:first-of-type {
  color: var(--rdd-blush);
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.premium-hero-seasonal-note strong {
  color: var(--rdd-ivory);
  display: block;
  font-size: 16px;
  line-height: 1.35;
}

/* CTA explicito de la nota de bodas: affordance de "clickeable" */
.premium-hero-seasonal-note .seasonal-note-cta {
  align-items: center;
  color: var(--rdd-gold);
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  gap: 6px;
  letter-spacing: .12em;
  margin-top: 12px;
  margin-bottom: 0;
  position: relative;
  text-transform: uppercase;
  transition: color .25s ease;
}

/* Subrayado animado bajo el texto del CTA (no bajo la flecha) */
.premium-hero-seasonal-note .seasonal-note-cta::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}

.premium-hero-seasonal-note:hover .seasonal-note-cta,
.premium-hero-seasonal-note:focus .seasonal-note-cta {
  color: var(--rdd-ivory);
}

.premium-hero-seasonal-note:hover .seasonal-note-cta::after,
.premium-hero-seasonal-note:focus .seasonal-note-cta::after {
  transform: scaleX(1);
}

.seasonal-note-cta__arrow {
  display: inline-block;
  transition: transform .3s ease;
}

.premium-hero-seasonal-note:hover .seasonal-note-cta__arrow,
.premium-hero-seasonal-note:focus .seasonal-note-cta__arrow {
  transform: translateX(4px);
}

@keyframes hero-reveal-up {
  from {
    opacity: 0;
    transform: translateY(36px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.premium-hero-accent {
  animation: hero-reveal-up 0.8s 0.12s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.premium-hero-copy span,
.premium-hero-badges {
  animation: hero-reveal-up 0.8s 0.22s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.premium-hero-copy h1 {
  animation: hero-reveal-up 0.8s 0.35s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.premium-hero-copy p {
  animation: hero-reveal-up 0.8s 0.48s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.premium-hero-actions {
  animation: hero-reveal-up 0.8s 0.6s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.premium-hero-highlights {
  animation: hero-reveal-up 0.8s 0.72s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.premium-hero-seasonal-note {
  animation: hero-reveal-up 0.8s 0.84s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

@media (max-width: 1199px) {
  .premium-hero-copy {
    left: 6%;
    max-width: 580px;
  }

  .premium-hero-copy h1 {
    font-size: 48px;
  }

  .premium-hero-seasonal-note {
    max-width: 250px;
    right: 4%;
  }
}

@media (max-width: 991px) {
  .premium-hero-stage:after {
    background:
      linear-gradient(90deg, rgba(18, 13, 12, .9) 0%, rgba(35, 22, 20, .72) 58%, rgba(35, 22, 20, .34) 100%),
      linear-gradient(180deg, rgba(21, 16, 15, .12) 0%, rgba(21, 16, 15, .62) 100%);
  }

  .premium-hero-slide,
  .premium-hero-slide .slide-image {
    min-height: 650px;
    height: 650px;
  }

  .premium-hero-slide .slide-image {
    object-position: 68% center;
  }

  .premium-hero-copy {
    left: 32px;
    max-width: calc(100% - 64px);
    right: 32px;
    top: 54px;
    transform: none;
  }

  .premium-hero-copy h1 {
    font-size: 42px;
    max-width: 560px;
  }

  .premium-hero-copy p {
    max-width: 500px;
  }

  .premium-hero-seasonal-note {
    display: none;
  }
}

@media (max-width: 640px) {

  .premium-hero-slide,
  .premium-hero-slide .slide-image {
    min-height: 720px;
    height: 720px;
  }

  .premium-hero-slide .slide-image {
    object-position: 72% center;
  }

  .premium-hero-copy {
    left: 20px;
    max-width: calc(100% - 40px);
    right: 20px;
    top: 42px;
  }

  .premium-hero-accent {
    margin-bottom: 18px;
    width: 64px;
  }

  .premium-hero-copy span {
    font-size: 12px;
    letter-spacing: .14em;
    margin-bottom: 14px;
  }

  .premium-hero-copy h1 {
    font-size: 34px;
    line-height: 1.08;
  }

  .premium-hero-copy p {
    font-size: 16px;
    line-height: 1.5;
    margin-top: 16px;
  }

  .premium-hero-actions {
    gap: 10px;
    margin-top: 24px;
  }

  .premium-hero-actions .btn {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 48px;
    padding: 13px 18px;
    width: 100%;
  }

  .premium-hero-highlights {
    display: grid;
    gap: 8px;
    margin-top: 20px;
  }

  .premium-hero-highlights li {
    font-size: 11px;
    padding: 0;
  }

  .premium-hero-highlights li a {
    padding: 8px 10px;
  }

  .premium-hero-carousel .owl-buttons {
    display: none;
  }

  .premium-hero-carousel .owl-pagination {
    bottom: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .premium-hero-slide .slide-image {
    animation: none;
  }

  .premium-hero-carousel .owl-pagination .owl-page,
  .premium-hero-carousel .owl-pagination .owl-page:hover,
  .premium-hero-carousel .owl-pagination .owl-page:focus-visible,
  .premium-hero-carousel .owl-pagination .owl-page.active {
    transform: none;
    box-shadow: none;
  }

  .premium-hero-carousel .owl-buttons>div:hover,
  .premium-hero-carousel .owl-buttons>div:focus-visible {
    transform: none;
  }

  .premium-hero-actions .btn:hover,
  .premium-hero-actions .btn:focus {
    transform: none;
  }

  .premium-hero-accent,
  .premium-hero-copy span,
  .premium-hero-badges,
  .premium-hero-copy h1,
  .premium-hero-copy p,
  .premium-hero-actions,
  .premium-hero-highlights,
  .premium-hero-seasonal-note {
    animation: none;
  }

  .hero-particle {
    animation: none;
    opacity: 0;
  }
}

.premium-moving-bar {
  background: linear-gradient(135deg, #FFE135 0%, var(--rdd-gold-vibrant) 50%, #E59A00 100%);
  margin-top: 50px;
  height: auto;
  overflow: hidden;
  padding: 10px 0;
  position: relative;
  width: 100%;
}

.premium-moving-bar__track {
  animation: premiumBarTextMove 140s linear infinite;
  display: flex;
  gap: 56px;
  width: max-content;
  will-change: transform;
}

.premium-moving-bar__group {
  align-items: center;
  color: var(--rdd-red-design);
  display: inline-flex;
  gap: 28px;
  font-family: var(--rdd-font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.2;
  list-style: none;
  margin: 0;
  min-width: max-content;
  padding: 0;
  position: relative;
  text-transform: uppercase;
  white-space: nowrap;
  z-index: 2;
}

.premium-moving-bar__group li {
  align-items: center;
  display: inline-flex;
}

.premium-moving-bar__group li::after {
  color: var(--rdd-red-design);
  content: '/';
  margin-left: 28px;
  opacity: .75;
}

.premium-moving-bar::after {
  animation: premiumBarShimmer 3s cubic-bezier(.4, 0, .2, 1) infinite;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, .45) 25%, rgba(255, 255, 255, .6) 50%, rgba(255, 255, 255, .45) 75%, transparent 100%);
  content: '';
  height: 100%;
  left: -100%;
  position: absolute;
  top: 0;
  width: 100%;
}

@keyframes premiumBarShimmer {
  0% {
    left: -100%;
  }

  100% {
    left: 100%;
  }
}

@keyframes premiumBarTextMove {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.premium-minimal .productos {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  margin-left: -12px;
  margin-right: -12px;
}

.premium-minimal .productos:before,
.premium-minimal .productos:after {
  display: none;
}

.premium-minimal .productos>.panel {
  background: transparent;
  border: 0;
  box-shadow: none;
  display: flex;
  margin-bottom: 32px;
  padding-left: 12px;
  padding-right: 12px;
}

.premium-minimal .col-item {
  background: var(--rdd-white);
  border: 1px solid var(--rdd-line);
  border-radius: var(--rdd-radius-lg);
  box-shadow: 0 4px 20px rgba(42, 54, 40, 0.01);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  width: 100%;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.premium-minimal .col-item:hover {
  border-color: var(--rdd-gold);
  box-shadow: 0 16px 38px rgba(42, 54, 40, 0.05);
  transform: translateY(-4px);
}

.premium-minimal .col-item .photo {
  aspect-ratio: 1 / 1;
  background: var(--rdd-white);
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
}

.premium-minimal .col-item .photo img,
.premium-minimal .col-item>a>img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  width: 100%;
}

.premium-minimal .col-item.product .photo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}

.premium-minimal .col-item.product .photo img {
  border-radius: calc(var(--rdd-radius) - 2px);
  display: block;
  object-fit: contain;
}

.premium-minimal .col-item:hover .photo img {
  transform: scale(1.05);
}

.premium-minimal .col-item.product:hover .photo img {
  transform: none;
}

.premium-minimal .col-item .info {
  background: var(--rdd-white);
  border: 0;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 18px 20px 0;
}

.premium-minimal .col-item .info>.row {
  margin-left: 0;
  margin-right: 0;
}

.premium-minimal .col-item .info>.row>[class*="col-"] {
  padding-left: 0;
  padding-right: 0;
}

.premium-minimal .col-item .caption {
  height: auto;
  overflow: visible;
}

.premium-minimal .col-item .caption h3,
.premium-minimal .col-item .caption h5 {
  font-family: var(--rdd-font-serif);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 6px;
  min-height: 0;
}

.premium-minimal .col-item .caption h3 a,
.premium-minimal .col-item .caption h5 a,
.premium-minimal .detalleprod {
  color: var(--rdd-text);
  transition: color 0.3s ease;
}

.premium-minimal .col-item .caption h3 a:hover,
.premium-minimal .col-item .caption h5 a:hover {
  color: var(--rdd-gold);
}

.premium-minimal .col-item .caption h4 {
  color: var(--rdd-red);
  font-family: var(--rdd-font-sans);
  font-size: 16px;
  font-weight: 700;
  margin: 7px 0 9px;
  letter-spacing: 0.02em;
}

.premium-minimal .col-item .caption p {
  color: var(--rdd-muted);
  display: -webkit-box;
  font-family: var(--rdd-font-sans);
  font-size: 13px;
  line-height: 1.5;
  min-height: 78px;
  margin-bottom: 8px;
  font-weight: 400;
  opacity: 0.85;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.premium-minimal .separator {
  background: var(--rdd-white);
  border-top: 1px solid rgba(229, 223, 217, 0.5);
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: 68px 46px 116px;
  justify-content: space-between;
  margin: auto 0 0;
  padding: 14px 0 14px;
}

.premium-minimal .col-item .separator a {
  margin-top: 0;
  width: 100%;
}

.premium-minimal .separator .btn {
  align-items: center;
  display: inline-flex;
  font-size: 10px;
  font-weight: 700;
  height: 38px;
  justify-content: center;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 12px;
  white-space: nowrap;
  border-radius: var(--rdd-radius);
  text-transform: uppercase;
}

.premium-minimal .separator .btn-default {
  background: transparent;
  border: 1px solid var(--rdd-line);
  color: var(--rdd-green) !important;
}

.premium-minimal .separator .btn-default:hover {
  background: var(--rdd-line);
  border-color: var(--rdd-line);
}

.premium-minimal .separator .btn.btn-primary {
  background: var(--rdd-green);
  border-color: var(--rdd-green);
  color: var(--rdd-white) !important;
}

.premium-minimal .separator .btn.btn-primary:hover {
  background: var(--rdd-gold);
  border-color: var(--rdd-gold);
}

.premium-minimal .separator input[type="number"] {
  box-sizing: border-box;
  flex: none;
  height: 38px;
  line-height: 1;
  margin: 0 !important;
  padding: 4px 6px;
  text-align: center;
  width: 100% !important;
  border: 1px solid var(--rdd-line);
  border-radius: var(--rdd-radius);
  background: var(--rdd-white);
  font-size: 13px;
  font-weight: 600;
  color: var(--rdd-text);
  transition: all 0.3s ease;
}

.premium-minimal .separator input[type="number"]:focus {
  border-color: var(--rdd-gold);
  outline: none;
}

.premium-google-reviews {
  border-top: 1px solid rgba(229, 223, 217, .8);
  margin-top: 34px;
  padding: 70px 0 76px;
  position: relative;
}

.premium-google-reviews::before {
  background:
    linear-gradient(135deg, rgba(252, 250, 247, .96), rgba(255, 255, 255, .88)),
    radial-gradient(circle at 14% 18%, rgba(201, 160, 84, .16), transparent 34%),
    radial-gradient(circle at 86% 78%, rgba(197, 142, 136, .14), transparent 30%);
  bottom: 0;
  content: '';
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: 100vw;
  z-index: 0;
}

.premium-google-reviews>* {
  position: relative;
  z-index: 1;
}

.premium-google-reviews__header {
  align-items: end;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 360px);
  margin-bottom: 28px;
}

.premium-google-reviews__eyebrow {
  align-items: center;
  color: var(--rdd-green);
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  gap: 9px;
  grid-column: 1 / -1;
  letter-spacing: 0;
  line-height: 1.2;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.premium-google-reviews__eyebrow .fa {
  color: #4285f4;
  font-size: 15px;
}

.premium-google-reviews h2 {
  color: var(--rdd-red-design);
  font-size: 42px;
  grid-column: 1;
  line-height: 1.05;
  margin: 0;
}

.premium-google-reviews__header p {
  align-self: end;
  color: var(--rdd-muted);
  font-size: 17px;
  grid-column: 2;
  line-height: 1.55;
  margin: 0;
  max-width: 340px;
}

.premium-google-reviews__summary {
  align-items: center;
  background: rgba(255, 255, 255, .74);
  border: 1px solid rgba(229, 223, 217, .9);
  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 24px;
  padding: 18px 22px;
}

.premium-google-reviews__score {
  align-items: baseline;
  display: flex;
  gap: 10px;
}

.premium-google-reviews__score strong {
  color: var(--rdd-red-design);
  font-family: var(--rdd-font-serif);
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
}

.premium-google-reviews__score span,
.premium-google-reviews__count {
  color: var(--rdd-muted);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.premium-google-reviews__stars,
.premium-google-review__stars {
  color: var(--rdd-gold-vibrant);
  display: inline-flex;
  gap: 3px;
  line-height: 1;
}

.premium-google-reviews__link {
  align-items: center;
  border: 1px solid var(--rdd-green);
  border-radius: 8px;
  color: var(--rdd-green) !important;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  min-height: 42px;
  padding: 0 16px;
  text-transform: uppercase;
}

.premium-google-reviews__link:hover,
.premium-google-reviews__link:focus {
  background: var(--rdd-green);
  color: var(--rdd-white) !important;
}

.premium-google-reviews__grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.premium-google-review {
  background: rgba(255, 255, 255, .9);
  border: 1px solid rgba(229, 223, 217, .92);
  border-radius: 8px;
  box-shadow: 0 14px 36px rgba(42, 54, 40, .04);
  display: flex;
  flex-direction: column;
  min-height: 278px;
  padding: 22px;
}

.premium-google-review__top {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: 48px minmax(0, 1fr) 18px;
  margin-bottom: 16px;
}

.premium-google-review__top img,
.premium-google-review__initial {
  border-radius: 50%;
  height: 48px;
  width: 48px;
}

.premium-google-review__top img {
  object-fit: cover;
}

.premium-google-review__initial {
  align-items: center;
  background: var(--rdd-green-soft);
  color: var(--rdd-green);
  display: inline-flex;
  font-family: var(--rdd-font-serif);
  font-size: 24px;
  font-weight: 700;
  justify-content: center;
  line-height: 1;
  text-transform: uppercase;
}

.premium-google-review h3 {
  color: var(--rdd-text);
  font-family: var(--rdd-font-sans);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 3px;
  overflow-wrap: anywhere;
}

.premium-google-review time {
  color: rgba(85, 66, 65, .72);
  display: block;
  font-size: 13px;
  line-height: 1.2;
}

.premium-google-review__source {
  color: #4285f4;
  font-size: 17px;
}

.premium-google-review__stars {
  font-size: 14px;
  margin-bottom: 14px;
}

.premium-google-review p {
  color: var(--rdd-muted);
  font-size: 15px;
  line-height: 1.62;
  margin: 0;
}

.premium-minimal .ribbon .theribbon,
.premium-minimal .ribbonp span {
  background: var(--rdd-gold);
  color: var(--rdd-green);
}

.premium-minimal .oferta .porcentaje,
.premium-minimal .tachar {
  color: var(--rdd-red);
}

.premium-minimal .breadcrumb {
  background: var(--rdd-soft);
  border: 1px solid var(--rdd-line);
  border-radius: var(--rdd-radius);
  color: var(--rdd-muted);
  margin: 32px 0 24px !important;
  padding: 12px 16px;
}

.premium-minimal .box,
.premium-minimal .panel,
.premium-minimal .modal-content {
  border-color: var(--rdd-line);
  border-radius: var(--rdd-radius-lg);
  box-shadow: none;
}

.premium-minimal .div-infprod {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  row-gap: 24px;
}

.premium-minimal .div-infprod .box {
  background: var(--rdd-white);
  border: 1px solid var(--rdd-line);
  padding: 24px;
}

.premium-minimal .div-infprod .box.info-prod {
  padding: 24px 28px;
}

.premium-minimal .cont-slider {
  border: 1px solid var(--rdd-line);
  border-radius: var(--rdd-radius-lg);
  overflow: hidden;
}

.premium-minimal .img-producto {
  max-height: 640px;
  object-fit: contain;
  width: 100%;
}

.premium-minimal #galeria {
  bottom: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
  left: auto;
  margin: 14px 0 0;
  position: relative;
  width: 100%;
}

.premium-minimal #galeria li {
  border: 1px solid var(--rdd-line);
  border-radius: var(--rdd-radius);
  height: 68px;
  margin: 0;
  overflow: hidden;
  text-indent: 0;
  width: 68px;
}

.premium-minimal #galeria li.active {
  border-color: var(--rdd-red);
}

.premium-minimal #galeria img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.premium-minimal .info-prod h1 {
  color: var(--rdd-text);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.05;
  margin-top: 0;
  margin-bottom: 16px;
}

.premium-minimal .info-prod h3 {
  margin-top: 8px;
  margin-bottom: 8px;
}

.premium-minimal .info-prod h3 small {
  color: var(--rdd-red);
  font-size: 24px;
  font-weight: 800;
}

.premium-minimal #botonescarrito {
  float: none;
  padding: 0;
  margin-bottom: 16px;
}

.premium-minimal #botonescarrito p {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
}

.premium-minimal #txtCant {
  height: 42px;
  text-align: center;
  width: 74px;
}

.premium-minimal .table {
  background: var(--rdd-white);
}

.premium-minimal .table>thead>tr>th {
  background: var(--rdd-green);
  border-color: var(--rdd-green);
  color: var(--rdd-white);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.premium-minimal .table>tbody>tr>td {
  border-color: var(--rdd-line);
  vertical-align: middle;
}

.premium-minimal .table-listcart {
  overflow-x: auto;
}

.premium-minimal .table-listcart img {
  border-radius: var(--rdd-radius);
  height: 84px;
  object-fit: cover;
  width: 84px;
}

.premium-minimal .page-header {
  border-bottom-color: var(--rdd-line);
}

.premium-minimal .page-header h1 {
  color: var(--rdd-green);
}

.premium-footer-wrap {
  background: var(--rdd-cream);
  border-top: 1px solid var(--rdd-line);
  margin-top: 80px;
  padding: 0;
}

.premium-footer-wrap>hr {
  display: none;
}

.premium-footer-wrap #myFooter {
  background: var(--rdd-cream);
  color: var(--rdd-muted);
  padding: 64px 0 48px;
}

.premium-footer-wrap #myFooter h5 {
  color: var(--rdd-green);
  font-family: var(--rdd-font-serif);
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 20px;
  letter-spacing: 0.02em;
}

.premium-footer-wrap #myFooter ul {
  padding-left: 0;
}

.premium-footer-wrap #myFooter li {
  color: var(--rdd-muted);
  list-style: none;
  margin-bottom: 10px;
  font-size: 13px;
  font-family: var(--rdd-font-sans);
}

.premium-footer-wrap #myFooter a {
  color: var(--rdd-muted);
  transition: all 0.3s ease;
}

.premium-footer-wrap #myFooter a:hover {
  color: var(--rdd-gold);
  text-decoration: none;
  padding-left: 2px;
}

.premium-footer-copy {
  color: var(--rdd-muted);
  font-family: var(--rdd-font-sans);
  font-size: 13px;
  line-height: 1.6;
  margin: 18px auto 0;
  max-width: 260px;
  opacity: 0.9;
}

.premium-footer-wrap .bottomSecInfo {
  border-top: 1px solid var(--rdd-line);
  margin-top: 40px;
  padding-top: 32px !important;
  padding-bottom: 8px;
}

.premium-footer-wrap .bottomSecInfo h4 {
  color: var(--rdd-green);
  font-family: var(--rdd-font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.premium-footer-wrap .payment-icons {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.premium-footer-wrap .payment-icons img {
  height: 32px;
  width: auto;
  background: var(--rdd-white);
  padding: 4px 10px;
  border: 1px solid var(--rdd-line);
  border-radius: var(--rdd-radius);
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(42, 54, 40, 0.02);
}

.premium-footer-wrap .payment-icons img:hover {
  border-color: var(--rdd-gold);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(42, 54, 40, 0.05);
}

.premium-minimal .social-icons {
  bottom: 20px;
  position: fixed;
  right: 20px;
  z-index: 102;
}

.premium-minimal .social-icons ul {
  margin: 0;
  padding: 0;
}

.premium-minimal .social-icons ul>li {
  display: block;
  margin: 0 0 10px;
}

.premium-minimal .social-icons ul>li:last-child {
  margin-bottom: 0;
}

.premium-minimal .social-icons ul>li>a {
  align-items: center;
  border-radius: 100%;
  color: white;
  display: flex;
  font-size: 18px;
  height: 42px;
  justify-content: center;
  line-height: 1;
  transition: all .2s ease-in-out;
  width: 42px;
}

.premium-minimal .social-icons ul>li>a:hover {
  background-color: var(--rdd-red) !important;
  transform: scale(1.06);
}

.premium-minimal .social-icons a,
.premium-minimal #_lionWhatsappDiv a {
  box-shadow: 0 4px 16px rgba(0, 0, 0, .12);
}

.premium-minimal #_lionWhatsappDiv {
  bottom: 134px;
  position: fixed;
  right: 20px;
  z-index: 103;
}

.premium-minimal #_lionWhatsappDiv a {
  align-items: center;
  background: #25d366;
  border-radius: 999px;
  display: flex;
  height: 42px;
  justify-content: center;
  transition: all .2s ease-in-out;
  width: 42px;
}

.premium-minimal #_lionWhatsappDiv a:hover {
  background: #1da851;
  transform: scale(1.08);
}

.premium-minimal #_lionWhatsappDiv .svg-inline-whatsapp {
  color: white;
  height: 22px;
  margin: 0;
  width: 22px;
}

.premium-minimal .container-page {
  margin-top: 0;
  padding-left: 0;
  padding-right: 0;
  background: var(--rdd-white);
  overflow-x: hidden;
}

.premium-minimal #contenido-page {
  float: none;
  padding-left: 0;
  padding-right: 0;
}

.premium-minimal #contenido-page>.productos {
  margin-top: 58px;
}

.premium-section {
  margin-top: 64px;
  margin-bottom: 64px;
}

@media (max-width: 767px) {
  .premium-section {
    margin-top: 40px;
    margin-bottom: 40px;
  }

  .premium-minimal .social-icons {
    bottom: 16px;
    right: 16px;
  }

  .premium-minimal .social-icons ul>li {
    margin-bottom: 8px;
  }

  .premium-minimal .social-icons ul>li>a {
    font-size: 15px;
    height: 38px;
    width: 38px;
  }

  .premium-minimal #_lionWhatsappDiv {
    bottom: 116px;
    right: 16px;
  }

  .premium-minimal #_lionWhatsappDiv a {
    height: 44px;
    width: 44px;
  }

  .premium-minimal #_lionWhatsappDiv .svg-inline-whatsapp {
    height: 22px;
    margin: 0;
    width: 22px;
  }
}

@media (max-width: 1199px) {
  .premium-navbar .container {
    flex-wrap: wrap;
    padding-bottom: 12px;
  }

  .premium-navbar .navbar-form {
    flex: 1 1 100%;
    margin: 8px 0 0;
    max-width: none;
    min-width: 0;
  }

  .premium-navbar .navbar-buttons.items {
    margin-left: auto;
    position: static;
    right: auto;
  }
}

@media (max-width: 991px) {
  .premium-google-reviews__header {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .premium-google-reviews h2,
  .premium-google-reviews__header p {
    grid-column: 1;
  }

  .premium-google-reviews__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-topbar .container {
    display: block;
    text-align: center;
  }

  .premium-topbar .offer {
    display: flex;
    justify-content: center;
    width: 100%;
  }

  .premium-topbar #top-prom {
    display: block;
    float: none;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    width: 100%;
  }

  .premium-topbar #top-prom .btn {
    color: var(--rdd-red-design) !important;
    display: inline-flex;
    justify-content: center;
    line-height: 1.25;
    white-space: normal;
  }

  .premium-topbar #top-menuuser {
    display: none !important;
    visibility: hidden !important;
  }

  .premium-navbar {
    min-height: 56px;
    position: sticky;
    top: 0;
  }

  .premium-navbar .container {
    display: block;
    min-height: 56px;
    padding-left: 12px;
    padding-right: 12px;
  }

  .premium-navbar .navbar-header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    height: auto !important;
    min-height: 56px;
    min-width: 0;
    float: none;
  }

  .premium-navbar .navbar-brand {
    padding: 8px 0;
    float: none;
  }

  .premium-navbar .navbar-brand img {
    max-height: 36px;
    width: auto;
  }

  .premium-navbar .navbar-buttons {
    align-items: center;
    display: flex;
    float: none;
    gap: 6px;
    margin: 0;
    flex-shrink: 0;
  }

  .premium-navbar .navbar-buttons .navbar-toggle {
    margin: 0 !important;
    float: none;
  }

  .premium-navbar .navbar-toggle.navbar-btn,
  .premium-navbar .navbar-buttons a.navbar-toggle.navbar-btn {
    height: 36px;
    padding: 0 10px !important;
    font-size: 10px;
    margin: 0 !important;
  }

  .premium-navbar .navbar-toggle.navbar-btn .itemscart {
    display: none;
  }

  .premium-navbar #iniciomovil {
    display: none !important;
  }

  .premium-navbar .navbar-buttons.items {
    display: none !important;
  }

  .language-switcher-mobile {
    display: inline-flex !important;
    align-items: center;
    float: none !important;
    padding: 0 !important;
    margin: 0 6px 0 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: none !important;
    height: 36px !important;
    overflow: visible !important;
    gap: 4px;
  }

  .language-switcher-mobile a {
    color: rgba(42, 54, 40, .55) !important;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1;
    padding: 0 10px;
    text-decoration: none !important;
    text-transform: uppercase;
    background: transparent;
    border: 1px solid rgba(172, 29, 35, .25);
    border-radius: var(--rdd-radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-width: 36px;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  }

  .language-switcher-mobile a + a {
    border-left: 1px solid rgba(172, 29, 35, .25);
  }

  .language-switcher-mobile a.active {
    background: rgba(172, 29, 35, .1);
    border-color: var(--rdd-red-design);
    color: var(--rdd-red-design) !important;
    font-weight: 700;
  }

  .premium-navbar .navbar-collapse,
  .premium-navbar #navigation {
    clear: both;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding-left: 15px;
    padding-right: 15px;
  }

  .premium-navbar .nav>li {
    float: none !important;
    padding-top: 0 !important;
  }

  .premium-navbar .nav>li>a {
    padding: 13px 15px;
  }

  .premium-navbar .navbar-form {
    margin: 8px 0 10px !important;
    padding: 0 !important;
  }

  .premium-navbar .navbar-form .input-group {
    padding-top: 0 !important;
  }

  .premium-navbar .dropdown-menu,
  .premium-navbar .yamm-fw .dropdown-menu {
    position: static !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-height: 300px !important;
    overflow-y: auto;
    box-shadow: none !important;
    border: 0 !important;
    border-top: 1px solid var(--rdd-line) !important;
    border-radius: 0 !important;
    padding: 8px 0 !important;
  }

  .premium-navbar .yamm-content {
    padding: 0 !important;
  }

  .premium-navbar .yamm-content .row {
    margin: 0;
  }

  .premium-navbar .yamm-content .col-sm-4 {
    width: 100%;
    float: none;
    padding: 0;
  }

  .premium-navbar .yamm-content .submenu {
    padding: 0 12px;
  }

  .premium-navbar.navbar-default .navbar-nav .open .dropdown-menu>.active>a,
  .premium-navbar.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,
  .premium-navbar.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus {
    background-color: var(--rdd-cream) !important;
    color: var(--rdd-green) !important;
  }
}

@media (max-width: 767px) {
  body.premium-minimal {
    font-size: 15px;
  }

  .premium-google-reviews {
    padding: 48px 0 54px;
  }

  .premium-google-reviews h2 {
    font-size: 32px;
    line-height: 1.08;
  }

  .premium-google-reviews__header p {
    font-size: 16px;
  }

  .premium-google-reviews__summary {
    align-items: flex-start;
    display: grid;
    gap: 13px;
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .premium-google-reviews__score {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .premium-google-reviews__score strong {
    font-size: 36px;
  }

  .premium-google-reviews__link {
    width: 100%;
  }

  .premium-google-reviews__grid {
    grid-template-columns: 1fr;
  }

  .premium-google-review {
    min-height: 0;
    padding: 18px;
  }

  .premium-navbar .navbar-brand img.visible-xs {
    display: inline-block !important;
  }

  .premium-navbar .navbar-brand img.hidden-xs {
    display: none !important;
  }

  .premium-navbar .navbar-form {
    padding: 0 !important;
    margin: 8px 0 10px !important;
  }

  .premium-navbar #buscarproductos {
    border-radius: var(--rdd-radius) !important;
    display: flex !important;
    height: 40px !important;
    overflow: hidden !important;
  }

  .premium-navbar #buscarproductos,
  .premium-navbar #buscarproductos .input-group-btn,
  .premium-navbar #buscarproductos .form-control {
    border-collapse: separate !important;
  }

  .premium-navbar #buscarproductos .input-group-btn:first-child,
  .premium-navbar #buscarproductos .select2-container {
    display: none !important;
  }

  .premium-navbar #buscarproductos #txtBProducto {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: block !important;
    flex: 1 1 auto !important;
    font-size: 14px !important;
    height: 40px !important;
    min-width: 0 !important;
    padding: 0 12px !important;
    width: auto !important;
    text-overflow: ellipsis !important;
  }

  .premium-navbar #buscarproductos .input-group-btn:last-child {
    display: flex !important;
    flex: 0 0 44px !important;
    height: 40px !important;
    width: 44px !important;
    float: none !important;
    position: relative !important;
    white-space: normal !important;
  }

  .premium-navbar #buscarproductos .input-group-btn:last-child>.btn,
  .premium-navbar #buscarproductos #btnbuscarproducto {
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 40px !important;
    width: 44px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    font-size: 14px !important;
  }

  .premium-navbar .navbar-buttons.items {
    margin: 14px 0 0;
    width: 100%;
  }

  .premium-navbar #basket-overview .btn {
    justify-content: center;
    width: 100%;
  }

  .premium-minimal .productos>.panel {
    padding-left: 8px;
    padding-right: 8px;
  }

  .premium-minimal .col-item .info {
    padding: 13px 13px 0;
  }

  .premium-minimal .col-item .caption h3,
  .premium-minimal .col-item .caption h5 {
    font-size: 15px;
    min-height: 0;
  }

  .premium-minimal .col-item .caption p {
    display: none;
  }

  .premium-minimal .separator {
    gap: 6px;
    grid-template-columns: 38px 40px 38px;
    justify-content: space-between;
    margin: auto 0 0;
    padding: 10px 0 12px;
  }

  .premium-minimal .separator input[type="number"] {
    width: 100% !important;
  }

  .premium-minimal .separator .btn {
    font-size: 0;
    height: 38px;
    padding: 0 8px;
  }

  .premium-minimal .separator .btn .fa {
    font-size: 14px;
  }

  .premium-minimal .div-infprod {
    display: block;
  }

  .premium-minimal .div-infprod .box {
    margin-top: 18px;
    padding: 18px;
  }

  .premium-minimal #botonescarrito p {
    display: grid;
  }

  .premium-minimal #txtCant,
  .premium-minimal #botonescarrito .btn {
    width: 100%;
  }

  .rdd-recent-purchase {
    bottom: 18px;
    grid-template-columns: 58px minmax(0, 1fr);
    left: 14px;
    max-width: calc(100vw - 28px);
    min-height: 82px;
    padding: 12px 14px 12px 12px;
    width: 340px;
  }

  .rdd-recent-purchase__image {
    height: 58px;
    width: 58px;
  }

  .rdd-recent-purchase__body {
    padding-right: 10px;
  }

  .rdd-recent-purchase__eyebrow {
    font-size: 13px;
  }

  .rdd-recent-purchase__product {
    font-size: 15px;
  }

  .rdd-recent-purchase__time {
    font-size: 12px;
    margin-top: 5px;
  }

  .premium-footer-wrap {
    margin-top: 48px;
  }

  .premium-footer-wrap #myFooter {
    padding: 34px 0;
    text-align: center;
  }
}

/* ── Pagination ── */
.pagination {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  gap: 4px;
  margin: 40px 0;
  padding-left: 0;
  list-style: none;
  font-family: var(--rdd-font-body, "Cormorant Garamond", Georgia, serif);
}

.pagination > li {
  float: none;
  display: block;
}

.pagination > li > a,
.pagination > li > span {
  float: none;
  position: static;
  display: inline-block;
  padding: 8px 14px;
  margin-left: 0;
  color: var(--rdd-green);
  background: var(--rdd-white);
  border: 1px solid var(--rdd-line);
  border-radius: 6px;
  -webkit-transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.pagination > li > a:hover,
.pagination > li > a:focus,
.pagination > li > span:hover,
.pagination > li > span:focus {
  color: var(--rdd-white);
  background: var(--rdd-green);
  border-color: var(--rdd-green);
  text-decoration: none;
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  color: var(--rdd-white);
  background: var(--rdd-green);
  border-color: var(--rdd-green);
}

.pagination > .disabled > a,
.pagination > .disabled > span,
.pagination > .disabled > a:hover,
.pagination > .disabled > span:hover,
.pagination > .disabled > a:focus,
.pagination > .disabled > span:focus {
  color: var(--rdd-line);
  background: var(--rdd-soft);
  border-color: var(--rdd-line);
  cursor: default;
}

/* ── Occasion Cards: 3D Parallax Tilt ── */

.premium-occasions {
  padding: 72px 0 56px;
  overflow: visible;
}

.premium-occasions__header {
  text-align: center;
  margin-bottom: 48px;
}

.premium-occasions__eyebrow {
  display: block;
  font-family: var(--rdd-font-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rdd-blush);
  margin-bottom: 12px;
}

.premium-occasions__header h2 {
  font-family: var(--rdd-font-serif);
  font-size: clamp(28px, 5vw, 42px);
  font-weight: 400;
  color: var(--rdd-text);
  margin: 0;
  line-height: 1.2;
}

.premium-occasions__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  perspective: 1200px;
  max-width: var(--rdd-container);
  margin: 0 auto;
  padding: 0 24px;
}

.occasion-card {
  position: relative;
  display: block;
  border-radius: var(--rdd-radius-lg);
  overflow: hidden;
  aspect-ratio: 3 / 4;
  transform-style: preserve-3d;
  transform: rotateX(0) rotateY(0);
  transition: transform 0.6s cubic-bezier(0.03, 0.98, 0.52, 0.99),
              box-shadow 0.6s cubic-bezier(0.03, 0.98, 0.52, 0.99);
  will-change: transform;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.10);
}

.occasion-card:hover,
.occasion-card:focus {
  text-decoration: none;
  box-shadow: 0 24px 64px rgba(89, 18, 20, 0.18),
              0 8px 24px rgba(0, 0, 0, 0.12);
}

/* Image layer — moves opposite to tilt for depth */
.occasion-card__img-wrap {
  position: absolute;
  inset: -20px;
  z-index: 1;
  transition: transform 0.6s cubic-bezier(0.03, 0.98, 0.52, 0.99);
  will-change: transform;
}

.occasion-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.03, 0.98, 0.52, 0.99),
              filter 0.6s ease;
  filter: brightness(0.75);
}

.occasion-card:hover .occasion-card__img-wrap img {
  transform: scale(1.08);
  filter: brightness(0.65);
}

/* Specular glare that tracks mouse */
.occasion-card__glare {
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  background: radial-gradient(
    circle at var(--glare-x, 50%) var(--glare-y, 50%),
    rgba(255, 255, 255, 0.25) 0%,
    rgba(255, 255, 255, 0) 60%
  );
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  mix-blend-mode: overlay;
}

.occasion-card:hover .occasion-card__glare {
  opacity: 1;
}

/* Content layer — floats above with parallax offset */
.occasion-card__content {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 32px 28px;
  transform: translateZ(40px);
  transition: transform 0.6s cubic-bezier(0.03, 0.98, 0.52, 0.99);
  will-change: transform;
  background: linear-gradient(
    to top,
    rgba(26, 26, 26, 0.65) 0%,
    rgba(26, 26, 26, 0.15) 55%,
    transparent 100%
  );
}

.occasion-card__content h3 {
  font-family: var(--rdd-font-serif);
  font-size: clamp(22px, 2.5vw, 30px);
  font-weight: 600;
  color: #fff;
  margin: 0 0 8px;
  line-height: 1.15;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.occasion-card__content p {
  font-family: var(--rdd-font-sans);
  font-size: 14px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.88);
  margin: 0 0 18px;
  line-height: 1.5;
  max-width: 220px;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
}

.occasion-card__cta {
  display: inline-block;
  font-family: var(--rdd-font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rdd-text);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 12px 24px;
  border-radius: 50px;
  transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
  transform: translateY(6px);
  opacity: 0;
  width: fit-content;
}

.occasion-card:hover .occasion-card__cta {
  transform: translateY(0);
  opacity: 1;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.occasion-card__cta:hover {
  background: #fff;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.2) !important;
}

/* ── Responsive ── */
@media (max-width: 991px) {
  .premium-occasions__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .occasion-card__content {
    padding: 24px 20px;
  }
}

@media (max-width: 575px) {
  .premium-occasions {
    padding: 48px 0 40px;
  }
  .premium-occasions__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 0 16px;
  }
  .occasion-card {
    aspect-ratio: 2.8 / 4;
  }
  .occasion-card__content {
    padding: 20px 16px;
    transform: translateZ(20px);
  }
  .occasion-card__content h3 {
    font-size: 18px;
  }
  .occasion-card__content p {
    font-size: 12px;
    margin-bottom: 14px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .occasion-card__cta {
    font-size: 10px;
    padding: 10px 18px;
    opacity: 1;
    transform: translateY(0);
  }
}

/* Encabezado SEO de paginas de categoria/subcategoria */
.categoria-seo-header {
  margin: 8px 0 26px;
}

.categoria-seo-header h1 {
  color: var(--rdd-red-design);
  font-family: var(--rdd-font-serif);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 600;
  font-style: italic;
  line-height: 1.1;
  margin: 0 0 10px;
}

/* ============================================================
   Encabezado editorial sobre el grid de productos (SEO + premium)
   ============================================================ */
.premium-products-intro {
  text-align: center;
  max-width: 820px;
  margin: 8px auto 36px;
}

.premium-products-intro h2 {
  font-family: var(--rdd-font-serif);
  font-size: clamp(26px, 4.5vw, 40px);
  font-weight: 400;
  color: var(--rdd-text);
  line-height: 1.2;
  margin: 0 0 14px;
}

.premium-products-intro p {
  color: var(--rdd-muted);
  font-family: var(--rdd-font-sans);
  font-size: clamp(15px, 1.7vw, 17px);
  line-height: 1.65;
  margin: 0;
}

@media (max-width: 767px) {
  .premium-products-intro {
    margin: 4px auto 24px;
    text-align: left;
  }
}

/* ============================================================
   FAQ acordeon (schema FAQPage + estetica premium)
   ============================================================ */
.premium-faq__header {
  text-align: center;
  margin-bottom: 36px;
}

.premium-faq__eyebrow {
  display: block;
  font-family: var(--rdd-font-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rdd-blush);
  margin-bottom: 12px;
}

.premium-faq__header h2 {
  font-family: var(--rdd-font-serif);
  font-size: clamp(26px, 4.5vw, 40px);
  font-weight: 400;
  color: var(--rdd-text);
  line-height: 1.2;
  margin: 0;
}

.premium-faq__list {
  max-width: 820px;
  margin: 0 auto;
}

.premium-faq__item {
  border-bottom: 1px solid var(--rdd-line);
}

.premium-faq__item:first-child {
  border-top: 1px solid var(--rdd-line);
}

.premium-faq__question {
  align-items: center;
  color: var(--rdd-text);
  cursor: pointer;
  display: flex;
  font-family: var(--rdd-font-sans);
  font-size: clamp(16px, 2vw, 19px);
  font-weight: 600;
  gap: 16px;
  justify-content: space-between;
  list-style: none;
  padding: 22px 4px;
  transition: color .2s ease;
}

.premium-faq__question::-webkit-details-marker {
  display: none;
}

.premium-faq__question:hover {
  color: var(--rdd-red-design);
}

.premium-faq__icon {
  color: var(--rdd-red-design);
  flex-shrink: 0;
  font-size: 20px;
  transition: transform .25s ease;
}

.premium-faq__item[open] .premium-faq__icon {
  transform: rotate(180deg);
}

.premium-faq__answer {
  padding: 0 4px 24px;
}

.premium-faq__answer p {
  color: var(--rdd-muted);
  font-family: var(--rdd-font-sans);
  font-size: clamp(15px, 1.7vw, 17px);
  line-height: 1.7;
  margin: 0;
  max-width: 720px;
}

.premium-faq__item[open] .premium-faq__answer {
  animation: premiumFaqReveal .3s ease;
}

@keyframes premiumFaqReveal {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.categoria-seo-intro {
  color: var(--rdd-muted);
  font-family: var(--rdd-font-sans);
  font-size: clamp(14px, 1.6vw, 16px);
  line-height: 1.6;
  max-width: 760px;
  margin: 0;
}

/* ============================================================
   Landing de bodas (/flores-para-bodas-manizales)
   ============================================================ */
.premium-bodas-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 40px;
  align-items: center;
  margin: 24px 0 56px;
}

.premium-bodas-hero__media {
  border-radius: var(--rdd-radius-lg);
  overflow: hidden;
  box-shadow: 0 18px 48px rgba(66, 13, 15, .18);
}

.premium-bodas-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.premium-bodas-hero__eyebrow {
  display: block;
  font-family: var(--rdd-font-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rdd-blush);
  margin-bottom: 14px;
}

.premium-bodas-hero__copy h1 {
  font-family: var(--rdd-font-serif);
  font-size: clamp(30px, 4.6vw, 48px);
  font-weight: 500;
  color: var(--rdd-text);
  line-height: 1.12;
  margin: 0 0 18px;
}

.premium-bodas-hero__copy p {
  color: var(--rdd-muted);
  font-family: var(--rdd-font-sans);
  font-size: clamp(15px, 1.7vw, 17px);
  line-height: 1.65;
  margin: 0 0 26px;
  max-width: 540px;
}

.premium-bodas-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.premium-bodas-features__header {
  text-align: center;
  margin-bottom: 36px;
}

.premium-bodas-features__header h2 {
  font-family: var(--rdd-font-serif);
  font-size: clamp(26px, 4.5vw, 40px);
  font-weight: 400;
  color: var(--rdd-text);
  line-height: 1.2;
  margin: 0;
}

.premium-bodas-features__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.premium-bodas-feature {
  background: var(--rdd-cream);
  border: 1px solid var(--rdd-line);
  border-radius: var(--rdd-radius-lg);
  padding: 28px 26px;
}

.premium-bodas-feature h3 {
  font-family: var(--rdd-font-serif);
  font-size: 22px;
  font-weight: 600;
  color: var(--rdd-red-design);
  margin: 0 0 12px;
}

.premium-bodas-feature p {
  color: var(--rdd-muted);
  font-family: var(--rdd-font-sans);
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}

.premium-bodas-cta {
  background: var(--rdd-green);
  border-radius: var(--rdd-radius-lg);
  color: var(--rdd-ivory);
  margin: 56px 0;
  padding: 48px 32px;
  text-align: center;
}

.premium-bodas-cta h2 {
  font-family: var(--rdd-font-serif);
  font-size: clamp(24px, 4vw, 36px);
  font-weight: 500;
  color: var(--rdd-ivory);
  margin: 0 0 14px;
}

.premium-bodas-cta p {
  color: rgba(250, 247, 242, .88);
  font-family: var(--rdd-font-sans);
  font-size: clamp(15px, 1.7vw, 17px);
  line-height: 1.6;
  margin: 0 auto 26px;
  max-width: 620px;
}

@media (max-width: 991px) {
  .premium-bodas-hero {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .premium-bodas-features__grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   Blog: enlaces dentro del contenido de las entradas
   El contenido lo pega el admin desde otras fuentes y los <a> llegan sin
   estilos propios; sin estas reglas heredan el verde del texto general
   (.premium-minimal a) y no se distinguen como enlaces.
   ========================================================================== */

#blog-post .lead a,
#blog-post #post-content a,
.post .intro a {
  color: var(--rdd-red-design);
  text-decoration: underline;
  text-underline-offset: 2px;
}

#blog-post .lead a:hover,
#blog-post .lead a:focus,
#blog-post #post-content a:hover,
#blog-post #post-content a:focus,
.post .intro a:hover,
.post .intro a:focus {
  color: var(--rdd-red-design-dark);
  text-decoration: underline;
}
