@charset "UTF-8";
/**
 * alertifyjs 1.11.3 http://alertifyjs.com
 * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications.
 * Copyright 2019 Mohammad Younes <Mohammad@alertifyjs.com> (http://alertifyjs.com) 
 * Licensed under GPL 3 <https://opensource.org/licenses/gpl-3.0>*/
.alertify .ajs-dimmer {
  position: fixed;
  z-index: 1981;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0;
  margin: 0;
  background-color: #252525;
  opacity: 0.5;
}

.alertify .ajs-modal {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  padding: 0;
  overflow-y: auto;
  z-index: 1981;
}

.alertify .ajs-dialog {
  position: relative;
  margin: 5% auto;
  min-height: 110px;
  max-width: 500px;
  padding: 24px 24px 0 24px;
  outline: 0;
  background-color: #fff;
}

.alertify .ajs-dialog.ajs-capture:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  z-index: 1;
}

.alertify .ajs-reset {
  position: absolute !important;
  display: inline !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}

.alertify .ajs-commands {
  position: absolute;
  right: 4px;
  margin: -14px 24px 0 0;
  z-index: 2;
}

.alertify .ajs-commands button {
  display: none;
  width: 10px;
  height: 10px;
  margin-left: 10px;
  padding: 10px;
  border: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
}

.alertify .ajs-commands button.ajs-close {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAh0lEQVQYlY2QsQ0EIQwEB9cBAR1CJUaI/gigDnwR6NBL/7/xWLNrZ2b8EwGotVpr7eOitWa1VjugiNB7R1UPrKrWe0dEAHBbXUqxMQbeewDmnHjvyTm7C3zDwAUd9c63YQdUVdu6EAJzzquz7HXvTiklt+H9DQFYaxFjvDqllFyMkbXWvfpXHjJrWFgdBq/hAAAAAElFTkSuQmCC);
}

.alertify .ajs-commands button.ajs-maximize {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAOUlEQVQYlWP8//8/AzGAhYGBgaG4uBiv6t7eXkYmooxjYGAgWiELsvHYFMCcRX2rSXcjoSBiJDbAAeD+EGu+8BZcAAAAAElFTkSuQmCC);
}

.alertify .ajs-header {
  margin: -24px;
  margin-bottom: 0;
  padding: 16px 24px;
  background-color: #fff;
}

.alertify .ajs-body {
  min-height: 56px;
}

.alertify .ajs-body .ajs-content {
  padding: 16px 24px 16px 16px;
}

.alertify .ajs-footer {
  padding: 4px;
  margin-left: -24px;
  margin-right: -24px;
  min-height: 43px;
  background-color: #fff;
}

.alertify .ajs-footer .ajs-buttons.ajs-primary {
  text-align: right;
}

.alertify .ajs-footer .ajs-buttons.ajs-primary .ajs-button {
  margin: 4px;
}

.alertify .ajs-footer .ajs-buttons.ajs-auxiliary {
  float: left;
  clear: none;
  text-align: left;
}

.alertify .ajs-footer .ajs-buttons.ajs-auxiliary .ajs-button {
  margin: 4px;
}

.alertify .ajs-footer .ajs-buttons .ajs-button {
  min-width: 88px;
  min-height: 35px;
}

.alertify .ajs-handle {
  position: absolute;
  display: none;
  width: 10px;
  height: 10px;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMS8xNEDQYmMAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQ0lEQVQYlaXNMQoAIAxD0dT7H657l0KX3iJuUlBUNOsPPCGJm7VDp6ryeMxMuDsAQH7owW3pyn3RS26iKxERMLN3ugOaAkaL3sWVigAAAABJRU5ErkJggg==);
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  cursor: se-resize;
}

.alertify.ajs-no-overflow .ajs-body .ajs-content {
  overflow: hidden !important;
}

.alertify.ajs-no-padding.ajs-maximized .ajs-body .ajs-content {
  left: 0;
  right: 0;
  padding: 0;
}

.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body {
  margin-left: -24px;
  margin-right: -24px;
}

.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body .ajs-content {
  padding: 0;
}

.alertify.ajs-no-padding.ajs-resizable .ajs-body .ajs-content {
  left: 0;
  right: 0;
}

.alertify.ajs-maximizable .ajs-commands button.ajs-maximize,
.alertify.ajs-maximizable .ajs-commands button.ajs-restore {
  display: inline-block;
}

.alertify.ajs-closable .ajs-commands button.ajs-close {
  display: inline-block;
}

.alertify.ajs-maximized .ajs-dialog {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  top: 0 !important;
  left: 0 !important;
}

.alertify.ajs-maximized.ajs-modeless .ajs-modal {
  position: fixed !important;
  min-height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
}

.alertify.ajs-maximized .ajs-commands button.ajs-maximize {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAASklEQVQYlZWQ0QkAMQhDtXRincOZX78KVtrDCwgqJNEoIB3MPLj7lRUROlpyVXGzby6zWuY+kz6tj5sBMTMAyVV3/595RbOh3cAXsww1raeiOcoAAAAASUVORK5CYII=);
}

.alertify.ajs-resizable .ajs-dialog,
.alertify.ajs-maximized .ajs-dialog {
  padding: 0;
}

.alertify.ajs-resizable .ajs-commands,
.alertify.ajs-maximized .ajs-commands {
  margin: 14px 24px 0 0;
}

.alertify.ajs-resizable .ajs-header,
.alertify.ajs-maximized .ajs-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 16px 24px;
}

.alertify.ajs-resizable .ajs-body,
.alertify.ajs-maximized .ajs-body {
  min-height: 224px;
  display: inline-block;
}

.alertify.ajs-resizable .ajs-body .ajs-content,
.alertify.ajs-maximized .ajs-body .ajs-content {
  position: absolute;
  top: 50px;
  right: 24px;
  bottom: 50px;
  left: 24px;
  overflow: auto;
}

.alertify.ajs-resizable .ajs-footer,
.alertify.ajs-maximized .ajs-footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
}

.alertify.ajs-resizable:not(.ajs-maximized) .ajs-dialog {
  min-width: 548px;
}

.alertify.ajs-resizable:not(.ajs-maximized) .ajs-handle {
  display: block;
}

.alertify.ajs-movable:not(.ajs-maximized) .ajs-header {
  cursor: move;
}

.alertify.ajs-modeless .ajs-dimmer,
.alertify.ajs-modeless .ajs-reset {
  display: none;
}

.alertify.ajs-modeless .ajs-modal {
  overflow: visible;
  max-width: none;
  max-height: 0;
}

.alertify.ajs-modeless.ajs-pinnable .ajs-commands button.ajs-pin {
  display: inline-block;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQklEQVQYlcWPMQ4AIAwCqU9u38GbcbHRWN1MvKQDhQFMEpKImGJA0gCgnYw0V0rwxseg5erT4oSkQVI5d9f+e9+xA0NbLpWfitPXAAAAAElFTkSuQmCC);
}

.alertify.ajs-modeless.ajs-unpinned .ajs-modal {
  position: absolute;
}

.alertify.ajs-modeless.ajs-unpinned .ajs-commands button.ajs-pin {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAO0lEQVQYlWP8//8/AzGAiShV6AqLi4txGs+CLoBLMYbC3t5eRmyaWfBZhwwYkX2NTxPRvibKjRhW4wMAhxkYGbLu3pEAAAAASUVORK5CYII=);
}

.alertify.ajs-modeless:not(.ajs-unpinned) .ajs-body {
  max-height: 500px;
  overflow: auto;
}

.alertify.ajs-basic .ajs-header {
  opacity: 0;
}

.alertify.ajs-basic .ajs-footer {
  visibility: hidden;
}

.alertify.ajs-frameless .ajs-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  min-height: 60px;
  margin: 0;
  padding: 0;
  opacity: 0;
  z-index: 1;
}

.alertify.ajs-frameless .ajs-footer {
  display: none;
}

.alertify.ajs-frameless .ajs-body .ajs-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog {
  padding-top: 0;
}

.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog .ajs-commands {
  margin-top: 0;
}

.ajs-no-overflow {
  overflow: hidden !important;
  outline: none;
}

.ajs-no-overflow.ajs-fixed {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow-y: scroll !important;
}

.ajs-no-selection,
.ajs-no-selection * {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

@media screen and (max-width: 568px) {
  .alertify .ajs-dialog {
    min-width: 150px;
  }
  .alertify:not(.ajs-maximized) .ajs-modal {
    padding: 0 5%;
  }
  .alertify:not(.ajs-maximized).ajs-resizable .ajs-dialog {
    min-width: initial;
    min-width: auto;
  }
}
@-moz-document url-prefix() {
  .alertify button:focus {
    outline: 1px dotted #3593D2;
  }
}
.alertify .ajs-dimmer,
.alertify .ajs-modal {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
  -webkit-transition-duration: 250ms;
  transition-duration: 250ms;
}

.alertify.ajs-hidden .ajs-dimmer,
.alertify.ajs-hidden .ajs-modal {
  visibility: hidden;
  opacity: 0;
}

.alertify.ajs-in:not(.ajs-hidden) .ajs-dialog {
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms;
}

.alertify.ajs-out.ajs-hidden .ajs-dialog {
  -webkit-animation-duration: 250ms;
  animation-duration: 250ms;
}

.alertify .ajs-dialog.ajs-shake {
  -webkit-animation-name: ajs-shake;
  animation-name: ajs-shake;
  -webkit-animation-duration: 0.1s;
  animation-duration: 0.1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes ajs-shake {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
@keyframes ajs-shake {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
.alertify.ajs-slide.ajs-in:not(.ajs-hidden) .ajs-dialog {
  -webkit-animation-name: ajs-slideIn;
  animation-name: ajs-slideIn;
  -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.alertify.ajs-slide.ajs-out.ajs-hidden .ajs-dialog {
  -webkit-animation-name: ajs-slideOut;
  animation-name: ajs-slideOut;
  -webkit-animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}

.alertify.ajs-zoom.ajs-in:not(.ajs-hidden) .ajs-dialog {
  -webkit-animation-name: ajs-zoomIn;
  animation-name: ajs-zoomIn;
}

.alertify.ajs-zoom.ajs-out.ajs-hidden .ajs-dialog {
  -webkit-animation-name: ajs-zoomOut;
  animation-name: ajs-zoomOut;
}

.alertify.ajs-fade.ajs-in:not(.ajs-hidden) .ajs-dialog {
  -webkit-animation-name: ajs-fadeIn;
  animation-name: ajs-fadeIn;
}

.alertify.ajs-fade.ajs-out.ajs-hidden .ajs-dialog {
  -webkit-animation-name: ajs-fadeOut;
  animation-name: ajs-fadeOut;
}

.alertify.ajs-pulse.ajs-in:not(.ajs-hidden) .ajs-dialog {
  -webkit-animation-name: ajs-pulseIn;
  animation-name: ajs-pulseIn;
}

.alertify.ajs-pulse.ajs-out.ajs-hidden .ajs-dialog {
  -webkit-animation-name: ajs-pulseOut;
  animation-name: ajs-pulseOut;
}

.alertify.ajs-flipx.ajs-in:not(.ajs-hidden) .ajs-dialog {
  -webkit-animation-name: ajs-flipInX;
  animation-name: ajs-flipInX;
}

.alertify.ajs-flipx.ajs-out.ajs-hidden .ajs-dialog {
  -webkit-animation-name: ajs-flipOutX;
  animation-name: ajs-flipOutX;
}

.alertify.ajs-flipy.ajs-in:not(.ajs-hidden) .ajs-dialog {
  -webkit-animation-name: ajs-flipInY;
  animation-name: ajs-flipInY;
}

.alertify.ajs-flipy.ajs-out.ajs-hidden .ajs-dialog {
  -webkit-animation-name: ajs-flipOutY;
  animation-name: ajs-flipOutY;
}

@-webkit-keyframes ajs-pulseIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes ajs-pulseIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@-webkit-keyframes ajs-pulseOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes ajs-pulseOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@-webkit-keyframes ajs-zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.25, 0.25, 0.25);
    transform: scale3d(0.25, 0.25, 0.25);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes ajs-zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.25, 0.25, 0.25);
    transform: scale3d(0.25, 0.25, 0.25);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@-webkit-keyframes ajs-zoomOut {
  0% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.25, 0.25, 0.25);
    transform: scale3d(0.25, 0.25, 0.25);
  }
}
@keyframes ajs-zoomOut {
  0% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.25, 0.25, 0.25);
    transform: scale3d(0.25, 0.25, 0.25);
  }
}
@-webkit-keyframes ajs-fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes ajs-fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes ajs-fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes ajs-fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes ajs-flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes ajs-flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@-webkit-keyframes ajs-flipOutX {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@keyframes ajs-flipOutX {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@-webkit-keyframes ajs-flipInY {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes ajs-flipInY {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@-webkit-keyframes ajs-flipOutY {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@keyframes ajs-flipOutY {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@-webkit-keyframes ajs-slideIn {
  0% {
    margin-top: -100%;
  }
  100% {
    margin-top: 5%;
  }
}
@keyframes ajs-slideIn {
  0% {
    margin-top: -100%;
  }
  100% {
    margin-top: 5%;
  }
}
@-webkit-keyframes ajs-slideOut {
  0% {
    margin-top: 5%;
  }
  100% {
    margin-top: -100%;
  }
}
@keyframes ajs-slideOut {
  0% {
    margin-top: 5%;
  }
  100% {
    margin-top: -100%;
  }
}
.alertify-notifier {
  position: fixed;
  width: 0;
  overflow: visible;
  z-index: 1982;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.alertify-notifier .ajs-message {
  position: relative;
  width: 260px;
  max-height: 0;
  padding: 0;
  opacity: 0;
  margin: 0;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}

.alertify-notifier .ajs-message.ajs-visible {
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  opacity: 1;
  max-height: 100%;
  padding: 15px;
  margin-top: 10px;
}

.alertify-notifier .ajs-message.ajs-success {
  background: rgba(91, 189, 114, 0.95);
}

.alertify-notifier .ajs-message.ajs-error {
  background: #dc3545;
}

.alertify-notifier .ajs-message.ajs-warning {
  background: rgba(252, 248, 215, 0.95);
}

.alertify-notifier .ajs-message .ajs-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 16px;
  height: 16px;
  cursor: pointer;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABGdBTUEAALGPC/xhBQAAAFBJREFUGBl1j0EKADEIA+ve/P9f9bh1hEihNBfjVCO1v7RKVqJK4h8gM5cAPR42AkQEpSXPwMTyoi13n5N9YqJehm3Fnr7nL1D0ZEbD5OubGyC7a9gx+9eNAAAAAElFTkSuQmCC);
  background-repeat: no-repeat;
  background-position: center center;
  background-color: rgba(0, 0, 0, 0.5);
  border-top-right-radius: 2px;
}

.alertify-notifier.ajs-top {
  top: 10px;
}

.alertify-notifier.ajs-bottom {
  bottom: 10px;
}

.alertify-notifier.ajs-right {
  right: 10px;
}

.alertify-notifier.ajs-right .ajs-message {
  right: -320px;
}

.alertify-notifier.ajs-right .ajs-message.ajs-visible {
  right: 290px;
}

.alertify-notifier.ajs-left {
  left: 10px;
}

.alertify-notifier.ajs-left .ajs-message {
  left: -300px;
}

.alertify-notifier.ajs-left .ajs-message.ajs-visible {
  left: 0;
}

.alertify-notifier.ajs-center {
  left: 50%;
}

.alertify-notifier.ajs-center .ajs-message {
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.alertify-notifier.ajs-center .ajs-message.ajs-visible {
  left: 50%;
  -webkit-transition-timing-function: cubic-bezier(0.57, 0.43, 0.1, 0.65);
  transition-timing-function: cubic-bezier(0.57, 0.43, 0.1, 0.65);
}

.alertify-notifier.ajs-center.ajs-top .ajs-message {
  top: -300px;
}

.alertify-notifier.ajs-center.ajs-top .ajs-message.ajs-visible {
  top: 0;
}

.alertify-notifier.ajs-center.ajs-bottom .ajs-message {
  bottom: -300px;
}

.alertify-notifier.ajs-center.ajs-bottom .ajs-message.ajs-visible {
  bottom: 0;
}

/**
 * alertifyjs 1.11.3 http://alertifyjs.com
 * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications.
 * Copyright 2019 Mohammad Younes <Mohammad@alertifyjs.com> (http://alertifyjs.com) 
 * Licensed under GPL 3 <https://opensource.org/licenses/gpl-3.0>*/
.alertify .ajs-dimmer {
  background-color: #000;
  opacity: 0.5;
}

.alertify .ajs-dialog {
  max-width: 600px;
  min-height: 122px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  border-radius: 6px;
}

.alertify .ajs-header {
  color: #333;
  border-bottom: 1px solid #e5e5e5;
  border-radius: 6px 6px 0 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
}

.alertify .ajs-body {
  font-family: "Roboto", sans-serif;
  color: black;
}

.alertify.ajs-resizable .ajs-content,
.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content {
  top: 58px;
  bottom: 68px;
}

.alertify .ajs-footer {
  background-color: #fff;
  padding: 15px;
  border-top: 1px solid #e5e5e5;
  border-radius: 0 0 6px 6px;
}

.alertify-notifier .ajs-message {
  background: rgba(255, 255, 255, 0.95);
  color: #000;
  text-align: center;
  border: solid 1px #ddd;
  border-radius: 2px;
}

.alertify-notifier .ajs-message.ajs-success {
  color: #fff;
  background: rgba(91, 189, 114, 0.95);
  text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5);
}

.alertify-notifier .ajs-message.ajs-error {
  color: #fff;
  /* El color que había no es tan rojo como el que hay en https://getbootstrap.com/docs/4.0/utilities/colors/ */
  background: #dc3545;
  text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5);
}

.alertify-notifier .ajs-message.ajs-warning {
  background: rgba(252, 248, 215, 0.95);
  border-color: #999;
}

/* Ocultamos siempre el header https://cloud.githubusercontent.com/assets/4712046/4170670/0d50b04c-3535-11e4-87a7-1ce62dd0d77e.png */
.alertify .ajs-header {
  display: none;
}

.alertify .ajs-dialog {
  border-radius: 0;
}

.alertify .ajs-body {
  font-family: inherit !important;
  color: #1d2326;
  font-size: 16px;
}

.alertify .ajs-footer .ajs-buttons .ajs-button {
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border: 1px solid;
  font-size: 14px;
  border-radius: 0;
  box-shadow: none;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.back .alertify .ajs-footer .ajs-buttons .ajs-button.btn-default {
  background-color: #445cad;
  border-color: #445cad;
  color: #fff;
}

.preview .alertify .ajs-footer .ajs-buttons .ajs-button.btn-default {
  background-color: #445cad;
  border-color: #445cad;
  color: #fff;
}

.tw-bs .alertify .ajs-footer .ajs-buttons .ajs-button.btn-default {
  background-color: #445cad;
  border-color: #445cad;
  color: #fff;
}

.ctback2 .alertify .ajs-footer .ajs-buttons .ajs-button.btn-default {
  background-color: #2EC4B6;
  border-color: #2EC4B6;
  color: #fff;
}

.alertify .ajs-footer {
  border-top: none;
}

.ajs-message.ajs-success.ajs-visible {
  font-size: 16px;
  text-shadow: none;
  bottom: 13px;
  background-color: #28a745;
}
@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap");
html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body {
  -webkit-text-size-adjust: none;
}

mark {
  background-color: transparent;
  color: inherit;
}

input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input, select, textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
}

/* Mixins */
.aspect-ratio-16-9 {
  position: relative;
}
.aspect-ratio-16-9:before {
  display: block;
  content: "";
  width: 100%;
  padding-top: 56.25%;
}
.aspect-ratio-16-9 > * {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
}

.aspect-ratio-4-3 {
  position: relative;
}
.aspect-ratio-4-3:before {
  display: block;
  content: "";
  width: 100%;
  padding-top: 75%;
}
.aspect-ratio-4-3 > * {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
}

/* Margins */
/* Fonts */
@font-face {
  font-family: "IBM Plex Mono Regular";
  font-style: normal;
  font-weight: 400;
  src: url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-Regular-c08dac4a8aa2d7afd04edf159e3078451b96c976ed6ee7fb1be7d31076ba1c6e.woff2) format("woff2"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-Regular-3ac3f3c92b49a7099c54d887c11f5a3199be0ce25df11e3bc116210a65ca42ac.woff) format("woff"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-Regular-4d7ef38d945ed9ecc0437ea3c29f7dbd8487a359383fecb0db1b813ddfadc6e2.ttf) format("truetype");
}
@font-face {
  font-family: "IBM Plex Mono Italic";
  font-style: italic;
  font-weight: 400;
  src: url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-Italic-925a1f300d31bbbab5a8bd2290bc5b87e0e60f065b593338e06ea308443c117c.woff2) format("woff2"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-Italic-9bb76308d52e71f07e6d0cfd30677e1b02da522ebde71fe779fdb411e73a2d45.woff) format("woff"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-Italic-d46749d88fb8af3b02955fb3884883914ce90d92976b891485877c4556932d6c.ttf) format("truetype");
}
@font-face {
  font-family: "IBM Plex Mono Medium";
  font-style: normal;
  font-weight: 500;
  src: url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-Medium-be076e370fea7565e04fd1ff2b9bd6f88bd43d9fd0b2714c6a647d4e3de57aea.woff2) format("woff2"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-Medium-f89e4d5facb7f1a2259676f9c2d9bc66fc170b5ad772e2cbbb37eb78ceae5294.woff) format("woff"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-Medium-3d56438cfdd9b0f20a79f065d3ca1cfd23a24da9ef6dd71f9777f0d9d5f7bb02.ttf) format("truetype");
}
@font-face {
  font-family: "IBM Plex Mono Medium Italic";
  font-style: normal;
  font-weight: 500;
  src: url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-MediumItalic-0a8e09c37d2bcfa333560acaa07fbedcb0bba0b3b51b21374ad67b332ff65200.woff2) format("woff2"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-MediumItalic-8ca357bf1175ab95266f36e5a8957986057f56ec97f9cf14ba08318ebafadc6b.woff) format("woff"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-MediumItalic-83ff81551ef1214b3e3ff7603b678a02a002f2aa1ad5f3a7ff825bd3049daa8d.ttf) format("truetype");
}
@font-face {
  font-family: "IBM Plex Mono Bold";
  font-style: normal;
  font-weight: 700;
  src: url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-Bold-9c8ee2d651bd0ef2211c0370ce7f36e2ce57485b09bbe7c6c35c8921a0076fc2.woff2) format("woff2"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-Bold-b2c128c1a107331fa2e30373e553efb4c881bd488bb4dbdf2e47b5dd6642a7a2.woff) format("woff"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-Bold-b45976a859bd29fc1e467ab61e220eb0a8f1f1d71e5cbaa7e721a65aa1280b5b.ttf) format("truetype");
}
@font-face {
  font-family: "IBM Plex Mono Bold Italic";
  font-style: italic;
  font-weight: 700;
  src: url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-BoldItalic-cd610b335d884011e74b7a652a99e7d25d4c80d7c5381f87cc6b0e03e0acb8eb.woff2) format("woff2"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-BoldItalic-5e1d6f7a2a91619041087c4763bc835a8a6914d8942eae2901849a39a1f07320.woff) format("woff"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexMono-BoldItalic-fddb6680b97f796f25cc7f563676e9f8711ca2e0f58c97b4571d68ab04d7d50f.ttf) format("truetype");
}
@font-face {
  font-family: "IBM Plex Sans Regular";
  font-style: normal;
  font-weight: 400;
  src: url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-Regular-0461666d3104d19ccc6c8d63ddbed6cdbd325c9acef38b09d15b122cea861c42.woff2) format("woff2"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-Regular-97344e798a38bfef8e29ee3a0894a627b48d000b5c6b885a9d1abb07893c9b56.woff) format("woff"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-Regular-7cdc26e84f84d266aaf5b9e1deb99256813449283b0c3a3a213f25476bef5005.ttf) format("truetype");
}
@font-face {
  font-family: "IBM Plex Sans Italic";
  font-style: italic;
  font-weight: 400;
  src: url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-Italic-d6aad10b178b68eef479e7108e2d5574b7acd3f217416c48cdc4b9cf0c5d616f.woff2) format("woff2"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-Italic-8e13ef8119d32203b89d689e6f9f627260ec0a2ba442521cb7c1deb988b6819e.woff) format("woff"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-Italic-5e9506e6cda36ba42b903bb39181f369bb9e37736cc686a172eab0a1b180e393.ttf) format("truetype");
}
@font-face {
  font-family: "IBM Plex Sans Medium";
  font-style: normal;
  font-weight: 500;
  src: url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-Medium-5bb72152614b3fb738c0ee8153585a89b5ad09d96ae72dc934554660393a78e6.woff2) format("woff2"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-Medium-e44b36efddc4325e972b28d48e1015834888dcb71853417912f9deccf952c80d.woff) format("woff"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-Medium-8d2fcdf5d56f8db413d627886c15b1a76503a1c91d1724c6409504065820ec5c.ttf) format("truetype");
}
@font-face {
  font-family: "IBM Plex Sans Medium Italic";
  font-style: italic;
  font-weight: 500;
  src: url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-MediumItalic-9616d48700c31c62d0e6264477e9ac195c75ab253ef1fc9786dac0ba8017f6ad.woff2) format("woff2"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-MediumItalic-be1d08f75474af1b16479b291937d1132962b53c9374213857a6fc30cfeb32ea.woff) format("woff"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-MediumItalic-61df37747f18587a7c646e2fb69b0b24ef250a8ef5900677201eeb7671cebea3.ttf) format("truetype");
}
@font-face {
  font-family: "IBM Plex Sans Bold";
  font-style: normal;
  font-weight: 700;
  src: url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-Bold-80588030eb545652036d765c60159a5b3bef75e7652619dd7bb19cf34c273e76.woff2) format("woff2"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-Bold-a0d6d02c36683377a4294400319442b3fd53e112d21e24ead43321b81cd7b42c.woff) format("woff"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-Bold-b5a6ad43cc6fda304803645bc6101b7e8925142f1e98f7548acc6977cee174e3.ttf) format("truetype");
}
@font-face {
  font-family: "IBM Plex Sans Bold Italic";
  font-style: italic;
  font-weight: 700;
  src: url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-BoldItalic-c8bca31b81b36bb7e6d3398e41d148051f971a0c81c382afc3371b1e0eb8dad0.woff2) format("woff2"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-BoldItalic-1080078982ab3ef1c18a647dd937b7dac7b068496ffc2174050ba8e0e3f48b92.woff) format("woff"), url(https://cdn8.ct-assets.com/assets/ctfront2/IBMPlexSans-BoldItalic-ade9bf26999d2a708dd1529b222444431a5496395c27a2c603bb008aeb825803.ttf) format("truetype");
}
:root {
  /* Legacy colors — kept for theme compatibility */
  --black: #1d2326;
  --golden: #807e7c;
  --white: #ffffff;
  --cherry: #DB073C;
  --crimson: #5B1E2E;
  --blue: #445cad;
  --violet: #a4b0f5;
  --grey: #807e7c;
  --light-grey: #bfbcba;
  --ultra-light-grey: #e6eaec;
  --steel-grey: #6b818c;
  --grey-text: #617580;
  --blue-grey: #91b0bf;
  --emerald: #2ec4b6;
  --emerald-alternative: #254442;
  --green: #a8dadc;
  --yellow-saffron: #e6a429;
  --yellow-alternative: #664912;
  --button-disabled: #edeae6;
  --facebook: #395185;
  --twitter: #46b4f1;
  --instagram: #c407a7;
  --information: #1a98d7;
  --footer-hover: rgba(0,0,0,0.7);
  --link-hover: rgba(68, 100, 173,0.7);
  --danger: #d44950;
  /* Redesign 2026 — Design tokens */
  /* Corporate colors */
  --ct-red: #DB073C;
  --ct-red-dark: #b8062f;
  --ct-red-light: #fef1f4;
  --ct-red-glow: rgba(219, 7, 60, 0.15);
  --ct-blue: #445CAD;
  --ct-blue-dark: #364a8a;
  --ct-blue-light: #eef1f9;
  --ct-blue-glow: rgba(68, 92, 173, 0.12);
  /* Neutrals */
  --ct-white: #ffffff;
  --ct-off-white: #f8f9fc;
  --ct-gray-50: #f4f5f9;
  --ct-gray-100: #ebedf3;
  --ct-gray-200: #e0e3eb;
  --ct-gray-300: #d1d5e0;
  --ct-gray-400: #ced4da;
  --ct-gray-500: #adb5bd;
  --ct-gray-600: #6c757d;
  --ct-gray-700: #495057;
  --ct-gray-800: #2b3040;
  --ct-gray-900: #1a1f2e;
  /* Text */
  --ct-text: #4a5568;
  --ct-text-dark: #1a202c;
  --ct-text-light: #718096;
  --ct-text-muted: #a0aec0;
  /* Shadows */
  --ct-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --ct-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
  --ct-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  --ct-shadow-md: 0 8px 30px rgba(0, 0, 0, 0.10);
  --ct-shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.15);
  --ct-shadow-colored: 0 8px 30px var(--ct-red-glow);
  /* Border radius */
  --ct-radius-sm: 8px;
  --ct-radius: 12px;
  --ct-radius-lg: 20px;
  --ct-radius-xl: 28px;
  --ct-radius-pill: 999px;
  /* Typography — Inter as main font for modern SaaS look */
  --ct-font-display: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ct-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ct-font-mono: 'IBM Plex Mono', monospace;
  /* Transitions */
  --ct-duration: 0.3s;
  --ct-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Price plans */
.stone-clr {
  color: var(--violet);
  color: #a4b0f5;
}

.stone-bg {
  background-color: var(--violet);
  background-color: #a4b0f5;
}

.gold-clr {
  color: var(--yellow-saffron);
  color: #e6a429;
}

.gold-bg {
  background-color: var(--yellow-saffron);
  background-color: #e6a429;
}

.diamond-clr {
  color: var(--blue-grey);
  color: #91b0bf;
}

.diamond-bg {
  background-color: var(--blue-grey);
  background-color: #91b0bf;
}

.enterprise-clr {
  color: var(--steel-grey);
  color: #6b818c;
}

.enterprise-bg {
  background-color: var(--steel-grey);
  background-color: #6b818c;
}

.black-bg {
  background-color: var(--steel-grey);
  background-color: #6b818c;
}

.cherry-clr {
  color: var(--cherry);
  color: #DB073C;
}

/* General colors */
.cherry-theme header {
  background-color: var(--cherry);
  background-color: #DB073C;
}
.lakegreen-theme header {
  background-color: var(--emerald);
  background-color: #2ec4b6;
}
.yellow-theme header {
  background-color: var(--yellow-saffron);
  background-color: #e6a429;
}
.white-theme header {
  background-color: transparent;
}
@media screen and (max-width: 992px) {
  header {
    transition: background-color 0.2s ease-in;
  }
  .cherry-theme header.transparent {
    background-color: rgba(var(--cherry), 0.82);
    background-color: rgba(219, 7, 60, 0.82);
  }
  .lakegreen-theme header.transparent {
    background-color: rgba(var(--emerald), 0.82);
    background-color: rgba(46, 196, 182, 0.82);
  }
  .yellow-theme header.transparent {
    background-color: rgba(var(--yellow-saffron), 0.82);
    background-color: rgba(230, 164, 41, 0.82);
  }
  .white-theme header.transparent {
    background-color: transparent;
  }
}

h1 {
  color: var(--black);
  color: #1d2326;
}

h2 {
  color: var(--black);
  color: #1d2326;
}
.cherry-theme h2.text-center {
  color: var(--cherry);
  color: #DB073C;
}
.lakegreen-theme h2.text-center {
  color: var(--emerald);
  color: #2ec4b6;
}
.yellow-theme h2.text-center {
  color: var(--yellow-saffron);
  color: #e6a429;
}

.cherry-theme h3 {
  color: var(--cherry);
  color: #DB073C;
}
.lakegreen-theme h3 {
  color: var(--emerald);
  color: #2ec4b6;
}
.yellow-theme h3 {
  color: var(--yellow-saffron);
  color: #e6a429;
}

h4 {
  color: var(--black);
  color: #1d2326;
}

h5 {
  color: var(--black);
  color: #1d2326;
}

h5 {
  color: var(--blue);
  color: #445cad;
}
.cherry-theme h5.sub-title-section {
  color: var(--cherry);
  color: #DB073C;
}
.lakegreen-theme h5.sub-title-section {
  color: var(--emerald);
  color: #2ec4b6;
}
.yellow-theme h5.sub-title-section {
  color: var(--yellow-saffron);
  color: #e6a429;
}

p {
  color: var(--black);
  color: #1d2326;
}

a, button.btn-link {
  color: var(--blue);
  color: #445cad;
}
a:hover, a:focus, button.btn-link:hover, button.btn-link:focus {
  color: var(--link-hover);
  color: rgba(68, 100, 173, 0.7);
}

.text-strong {
  font-size: 1.166666rem;
  font-weight: 700;
}

.border-bottom {
  border-color: var(--blue) !important;
  border-color: #445cad !important;
}

/* Reset bootstrap */
.nav-pills .nav-link.active {
  background-color: transparent;
  color: var(--blue);
  color: #445cad;
}

.card:not(.twitter-tweet):not(.qr-card) {
  background-color: var(--ultra-light-grey);
  background-color: #e6eaec;
}

.card:not(.qr-card):not(.card-price) .card-header,
.subaccounts .card {
  background-color: transparent;
}

.card-body.footer {
  background-color: var(--white);
  background-color: #ffffff;
}

.card.jobs {
  background-color: transparent;
  border-color: var(--blue);
  border-color: #445cad;
}

.card ul li {
  color: var(--grey-text);
  color: #617580;
}

.prices-switch-contender .prices-recurrence-contender small {
  color: #445cad;
}
.prices-switch-contender .swiper {
  background-color: #e6eaec;
}
.prices-switch-contender .swiper .swiper-slide-prev::after {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0));
}
.prices-switch-contender .swiper .swiper-slide-next::before {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0));
}
@media screen and (max-width: 991.9999px) {
  .prices-switch-contender .swiper-pagination {
    background-color: rgba(255, 255, 255, 0.8);
  }
}

@media screen and (max-width: 991.9999px) {
  .analytics-disclaimer .swiper-pagination {
    border-top-color: #e6eaec;
  }
}

.prices-switch-contender .swiper-pagination-bullet:first-child.swiper-pagination-bullet-active,
.analytics-disclaimer .swiper-pagination-bullet:first-child.swiper-pagination-bullet-active {
  background-color: #a4b0f5;
}
.prices-switch-contender .swiper-pagination-bullet:nth-child(2).swiper-pagination-bullet-active,
.analytics-disclaimer .swiper-pagination-bullet:nth-child(2).swiper-pagination-bullet-active {
  background-color: #e6a429;
}
.prices-switch-contender .swiper-pagination-bullet:nth-child(3).swiper-pagination-bullet-active,
.analytics-disclaimer .swiper-pagination-bullet:nth-child(3).swiper-pagination-bullet-active {
  background-color: #91b0bf;
}
.prices-switch-contender .swiper-pagination-bullet:last-child.swiper-pagination-bullet-active,
.analytics-disclaimer .swiper-pagination-bullet:last-child.swiper-pagination-bullet-active {
  background-color: #6b818c;
}

.swiper.case-studies {
  background-color: rgba(230, 234, 236, 0.32);
}
.swiper.case-studies .post-title {
  color: var(--blue);
  color: #445cad;
}
.swiper.case-studies .swiper-button-next,
.swiper.case-studies .swiper-button-prev {
  color: var(--white);
  color: #ffffff;
}

.pagination-case-studies .swiper-pagination-bullet-active {
  background-color: var(--blue);
  background-color: #445cad;
}
@media screen and (max-width: 991.9999px) {
  .pagination-case-studies .swiper-pagination {
    background-color: rgba(255, 255, 255, 0.8);
  }
}

.prices-cards .card-footer {
  background-color: transparent;
  border: 0;
}

.prices-checklists a {
  color: #1d2326;
}

.prices-checklists.stone,
.plans-grid .footer .cell.stone {
  border-top: 4px solid #a4b0f5;
}
.prices-checklists.gold,
.plans-grid .footer .cell.gold {
  border-top: 4px solid #e6a429;
}
.prices-checklists.diamond,
.plans-grid .footer .cell.diamond {
  border-top: 4px solid #91b0bf;
}
.prices-checklists.enterprise,
.plans-grid .footer .cell.enterprise {
  border-top: 4px solid #6b818c;
}

.modal-analytics-info .prices-check-lists li p,
.modal-analytics-info .analytics-disclaimer small {
  color: #617580;
}
.modal-analytics-info .prices-analytics::after {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0));
}
.modal-analytics-info .prices-analytics::before {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0));
}

.plans-grid .mobile-menu .header .cell {
  color: #ffffff;
}
.plans-grid .mobile-menu .header .cell.stone {
  background-color: #a4b0f5;
}
.plans-grid .mobile-menu .header .cell.gold {
  background-color: #e6a429;
}
.plans-grid .mobile-menu .header .cell.diamond {
  background-color: #91b0bf;
}
.plans-grid .mobile-menu .header .cell.enterprise {
  background-color: #6b818c;
}
.plans-grid .mobile-menu .header,
.plans-grid .mobile-menu .collapse-options {
  border: 1px solid #e6eaec;
  background-color: #ffffff;
}
.plans-grid .mobile-menu .header > a,
.plans-grid .mobile-menu .collapse-options > * {
  background-color: rgba(230, 234, 236, 0.32);
}
.plans-grid .mobile-menu .collapse-options .option.stone {
  color: #a4b0f5;
}
.plans-grid .mobile-menu .collapse-options .option.gold {
  color: #e6a429;
}
.plans-grid .mobile-menu .collapse-options .option.diamond {
  color: #91b0bf;
}
.plans-grid .mobile-menu .collapse-options .option.enterprise {
  color: #6b818c;
}
.plans-grid .mobile-menu .collapse-options input[type=radio].ct-radio ~ .ct-radio-label::before {
  background-color: #ffffff;
  border-color: #e6eaec;
}
.plans-grid .mobile-menu .collapse-options input[type=radio].ct-radio:checked[value=stone] ~ .ct-radio-label::before {
  background-color: #a4b0f5;
}
.plans-grid .mobile-menu .collapse-options input[type=radio].ct-radio:checked[value=gold] ~ .ct-radio-label::before {
  background-color: #e6a429;
}
.plans-grid .mobile-menu .collapse-options input[type=radio].ct-radio:checked[value=diamond] ~ .ct-radio-label::before {
  background-color: #91b0bf;
}
.plans-grid .mobile-menu .collapse-options input[type=radio].ct-radio:checked[value=enterprise] ~ .ct-radio-label::before {
  background-color: #6b818c;
}
.plans-grid .mobile-menu .collapse-options .option, .plans-grid .mobile-menu .collapse-options .cell {
  border-color: #e6eaec;
}
.plans-grid .grid-contender .grid-row .cell {
  color: #1d2326;
}
.plans-grid .grid-contender .grid-row .cell a {
  color: #1d2326;
}
.plans-grid .grid-contender .grid-row:not(.footer) {
  border-bottom: 1px solid #bfbcba;
}
.plans-grid .grid-contender .grid-row:not(.footer):last-child {
  border-top: 1px solid #bfbcba;
}
.plans-grid .grid-contender .grid-row:not(.footer):not(.header) .cell:not(.disabled) {
  border-right: 1px solid #bfbcba;
}
.plans-grid .grid-contender .grid-row:not(.footer):not(.header) .cell:not(.disabled):first-of-type {
  border-left: 1px solid #bfbcba;
}
.plans-grid .grid-contender .grid-row.footer .cell, .plans-grid .grid-contender .grid-row.footer .cell:empty {
  border: 1px solid #ffffff;
}
.plans-grid .grid-contender .grid-row.footer .cell.aside, .plans-grid .grid-contender .grid-row.footer .cell:empty.aside {
  background-color: #ffffff;
}
.plans-grid .grid-contender .grid-row.footer .cell .button, .plans-grid .grid-contender .grid-row.footer .cell a, .plans-grid .grid-contender .grid-row.footer .cell:empty .button, .plans-grid .grid-contender .grid-row.footer .cell:empty a {
  color: #ffffff;
}
.plans-grid .grid-row.header .cell {
  color: #ffffff;
  border: 1px solid #ffffff;
}
.plans-grid .grid-row.header .aside {
  background-color: #ffffff;
  color: #1d2326;
}
.plans-grid .cell:empty {
  background-color: rgba(230, 234, 236, 0.32);
}
.plans-grid svg path {
  fill: #807e7c;
}

.cherry-theme .dropdown-menu {
  background-color: rgba(91, 30, 46, 0.7);
}
.lakegreen-theme .dropdown-menu {
  background-color: rgba(37, 68, 66, 0.7);
}
.yellow-theme .dropdown-menu {
  background-color: rgba(102, 73, 18, 0.7);
}
@media screen and (min-width: 992px) {
  .cherry-theme .dropdown-menu {
    background-color: var(--white);
    background-color: #ffffff;
  }
  .lakegreen-theme .dropdown-menu {
    background-color: var(--white);
    background-color: #ffffff;
  }
  .yellow-theme .dropdown-menu {
    background-color: var(--white);
    background-color: #ffffff;
  }
}

/* Modals */
.modal {
  background-color: rgba(0, 0, 0, 0.7);
}

.cherry-theme .modal-content .modal-body h2:not(.plan-title) {
  color: var(--cherry);
  color: #DB073C;
}
.lakegreen-theme .modal-content .modal-body h2:not(.plan-title) {
  color: var(--emerald);
  color: #2ec4b6;
}
.yellow-theme .modal-content .modal-body h2:not(.plan-title) {
  color: var(--yellow-saffron);
  color: #e6a429;
}

.modal-header .close span:before {
  background-color: var(--black);
  background-color: #1d2326;
}
.modal-header .close span:after {
  background-color: var(--black);
  background-color: #1d2326;
}

#videoModal .modal-content {
  background-color: rgba(0, 0, 0, 0.9);
  border: none;
}
#videoModal .modal-content .modal-header .close span:before {
  background-color: var(--white);
  background-color: #ffffff;
}
#videoModal .modal-content .modal-header .close span:after {
  background-color: var(--white);
  background-color: #ffffff;
}

#analytics-info-modal .modal-header {
  border-bottom-color: #e6eaec;
}

/* Buttons */
.btn-primary,
.custom-select {
  background-color: var(--blue);
  background-color: #445cad;
  border-color: var(--blue);
  border-color: #445cad;
}

.btn-primary.link-arrow-medium--svg svg path {
  fill: var(--white);
  fill: #ffffff;
}
.btn-primary:hover.link-arrow-medium--svg svg path, .btn-primary:active.link-arrow-medium--svg svg path, .btn-primary:focus.link-arrow-medium--svg svg path {
  fill: var(--white);
  fill: #ffffff;
}

.icons-center-list .btn-primary {
  background-color: var(--cherry);
  background-color: #DB073C;
  border-color: var(--cherry);
  border-color: #DB073C;
}

.custom-ratio-header .btn-primary {
  background-color: var(--blue) !important;
  background-color: #445cad !important;
  border-color: var(--blue) !important;
  border-color: #445cad !important;
}

footer form .btn-primary {
  background-color: var(--blue) !important;
  background-color: #445cad !important;
  border-color: var(--blue) !important;
  border-color: #445cad !important;
}

.catalogue-section .mobile-menu .navbar-toggler {
  background-color: rgba(230, 234, 236, 0.9);
}
.catalogue-section .mobile-menu .navbar-collapse {
  background-color: var(--white);
  background-color: #ffffff;
}
.catalogue-section .mobile-menu .current-category svg, .catalogue-section .mobile-menu .current-category path {
  fill: #445cad;
}
.catalogue-section .mobile-menu .current-category {
  color: #445cad;
}

.catalogue-section .nav-item a,
.catalogue-options .nav-item a {
  border-color: rgba(var(--blue), 0.2);
  border-color: rgba(68, 92, 173, 0.2);
}

@media screen and (max-width: 768px) {
  .catalogue-options .navbar-nav .nav-item a {
    background-color: var(--white);
    background-color: #ffffff;
    color: var(--blue);
    color: #445cad;
  }
  .catalogue-options .navbar-nav .nav-item a:hover {
    background-color: var(--blue);
    background-color: #445cad;
    color: var(--white);
    color: #ffffff;
  }
  .catalogue-options .navbar-nav .nav-item a:hover svg path,
  .catalogue-options .navbar-nav .nav-item a:hover svg polygon,
  .catalogue-options .navbar-nav .nav-item a:hover svg rect {
    fill: var(--white);
    fill: #ffffff;
  }
}

.catalogue-item {
  border-color: rgba(var(--blue), 0.2);
  border-color: rgba(68, 92, 173, 0.2);
}
.catalogue-item p {
  color: var(--grey-text);
  color: #617580;
}

.custom-select {
  color: var(--white);
  color: #ffffff;
}

.custom-caret::after {
  border-color: transparent;
  border-right-color: white;
  border-bottom-color: white;
}

.sign-up-section .btn:not(.btn-primary), .tt_login .btn:not(.btn-primary) {
  color: var(--blue);
  color: #445cad;
}

.btn-gold {
  color: #ffffff;
  background-color: #e6a429;
  border-color: #e6a429;
}

.btn-stone {
  color: #ffffff;
  background-color: #a4b0f5;
  border-color: #a4b0f5;
}

.btn-diamond {
  color: #ffffff;
  background-color: #91b0bf;
  border-color: #91b0bf;
}

.btn-enterprise {
  color: #ffffff;
  background-color: #6b818c;
  border-color: #6b818c;
}

.cta-plans .btn:hover, .cta-plans .btn:active, .cta-plans .btn:focus {
  color: #ffffff;
}

/* Icons */
.navbar-light.header .nav-link svg path {
  fill: var(--white);
  fill: #ffffff;
}
.cherry-theme .navbar-light.header .nav-link:hover svg path, .cherry-theme .navbar-light.header .nav-link:focus svg path {
  fill: var(--crimson);
  fill: #5B1E2E;
}
.lakegreen-theme .navbar-light.header .nav-link:hover svg path, .lakegreen-theme .navbar-light.header .nav-link:focus svg path {
  fill: var(--emerald-alternative);
  fill: #254442;
}
.yellow-theme .navbar-light.header .nav-link:hover svg path, .yellow-theme .navbar-light.header .nav-link:focus svg path {
  fill: var(--yellow-alternative);
  fill: #664912;
}
.navbar-light.header [data-toggle=dropdown] .dropdown-caret--svg svg path {
  fill: var(--white);
  fill: #ffffff;
}
.cherry-theme .navbar-light.header [data-toggle=dropdown]:hover .dropdown-caret--svg svg path, .cherry-theme .navbar-light.header [data-toggle=dropdown]:focus .dropdown-caret--svg svg path {
  fill: var(--crimson);
  fill: #5B1E2E;
}
.lakegreen-theme .navbar-light.header [data-toggle=dropdown]:hover .dropdown-caret--svg svg path, .lakegreen-theme .navbar-light.header [data-toggle=dropdown]:focus .dropdown-caret--svg svg path {
  fill: var(--emerald-alternative);
  fill: #254442;
}
.yellow-theme .navbar-light.header [data-toggle=dropdown]:hover .dropdown-caret--svg svg path, .yellow-theme .navbar-light.header [data-toggle=dropdown]:focus .dropdown-caret--svg svg path {
  fill: var(--yellow-alternative);
  fill: #664912;
}
.cherry-theme .navbar-light.header [aria-expanded=true] .dropdown-caret--svg svg path {
  fill: var(--crimson);
  fill: #5B1E2E;
}
.lakegreen-theme .navbar-light.header [aria-expanded=true] .dropdown-caret--svg svg path {
  fill: var(--emerald-alternative);
  fill: #254442;
}
.yellow-theme .navbar-light.header [aria-expanded=true] .dropdown-caret--svg svg path {
  fill: var(--yellow-alternative);
  fill: #664912;
}
.navbar-light.header .dropdown-item:active {
  background-color: rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 992px) {
  .navbar-light.header .dropdown-item:hover, .navbar-light.header .dropdown-item:active, .navbar-light.header .dropdown-item:focus {
    background-color: rgba(255, 255, 255, 0.1);
  }
}
.navbar-light.header a.dropdown-item p {
  color: var(--steel-grey);
  color: #6b818c;
}
.navbar-light.header a.dropdown-item p.text-title-description-menu {
  color: var(--white);
  color: #ffffff;
}
@media screen and (min-width: 992px) {
  .navbar-light.header a.dropdown-item p.text-title-description-menu {
    color: var(--blue);
    color: #445cad;
  }
}
.navbar-light.header .bg-hexagon.campaigns-link > svg polygon {
  fill: var(--cherry);
  fill: #DB073C;
}
.navbar-light.header .bg-hexagon.analytics-link > svg polygon {
  fill: var(--emerald);
  fill: #2ec4b6;
}
.navbar-light.header .bg-hexagon.socialwalls-link > svg polygon {
  fill: var(--yellow-saffron);
  fill: #e6a429;
}
.navbar-light.header .bg-hexagon .inner-hexagon--svg > svg path {
  fill: var(--white);
  fill: #ffffff;
}

.icons-center-list svg path {
  fill: var(--black);
  fill: #1d2326;
}
.icons-center-list svg g path {
  fill: var(--black);
  fill: #1d2326;
}

.link-play-video--svg svg path {
  fill: var(--white);
  fill: #ffffff;
}

a .link-arrow--svg svg path {
  fill: var(--blue);
  fill: #445cad;
}

.header svg path,
.header svg polygon {
  fill: var(--cherry);
  fill: #DB073C;
}
.header .link-icon-header svg path {
  fill: var(--blue);
  fill: #445cad;
}
.header .icon-user--svg svg path {
  fill: var(--white);
  fill: #ffffff;
}

.jumbotron svg path,
.jumbotron svg polygon {
  fill: var(--grey-text);
  fill: #617580;
}

.icons-left-list svg path,
.icons-left-list svg polygon,
.icons-left-list svg rect, .sub-menu-icons-left-list svg path,
.sub-menu-icons-left-list svg polygon,
.sub-menu-icons-left-list svg rect, .catalogue-item svg path,
.catalogue-item svg polygon,
.catalogue-item svg rect {
  fill: var(--blue);
  fill: #445cad;
}

.checklist-ordered .order {
  background-color: var(--cherry);
  background-color: #DB073C;
  color: var(--white);
  color: #ffffff;
}

.checklist-ok svg path {
  fill: var(--grey-text);
  fill: #617580;
}

.checklist-bullets svg circle {
  fill: var(--cherry);
  fill: #DB073C;
}

svg#facebook--icon path, svg#facebook-sign-in--icon path {
  fill: var(--facebook);
  fill: #395185;
}

svg#twitter--icon path, svg#twitter-sign-in--icon path {
  fill: var(--twitter);
  fill: #46b4f1;
}

svg#instagram--icon path {
  fill: var(--instagram);
  fill: #c407a7;
}

svg#preview-control-panel path.preview-st0 {
  filter: drop-shadow(2px 0px 3px rgba(107, 129, 140, 0.48));
}

svg#screw--icon path {
  fill: var(--black);
  fill: #1d2326;
}

svg#briefcase--icon path {
  fill: var(--black);
  fill: #1d2326;
}

.iphone {
  filter: drop-shadow(24px 0px 48px rgba(35, 71, 84, 0.5));
}

.link-arrow-medium--svg svg path {
  fill: var(--blue);
  fill: #445cad;
}
.link-arrow-medium--svg:hover svg path, .link-arrow-medium--svg:focus svg path {
  fill: var(--link-hover);
  fill: rgba(68, 100, 173, 0.7);
}

.link-arrow-down-medium--svg svg polygon {
  fill: var(--blue);
  fill: #445cad;
}
.link-arrow-down-medium--svg:hover svg polygon, .link-arrow-down-medium--svg:focus svg polygon {
  fill: var(--link-hover);
  fill: rgba(68, 100, 173, 0.7);
}

h1 .icon-header svg path {
  fill: var(--black) !important;
  fill: #1d2326 !important;
}

.image-center-list img {
  border-color: var(--cherry) !important;
  border-color: #DB073C !important;
}

.prices-switch-contender {
  color: #445cad;
}
.prices-switch-contender .custom-control-input ~ .custom-control-label::after {
  background-color: #445cad;
}
.prices-switch-contender .custom-control-input ~ .custom-control-label::before {
  border-color: #445cad;
  background-color: #e6eaec;
}

.custom-control-input:checked ~ .custom-control-label::before {
  background-color: #445cad;
}

sup {
  background-color: var(--information);
  background-color: #1a98d7;
  color: var(--white);
  color: #ffffff;
}

.badge-primary {
  background-color: var(--ultra-light-grey);
  background-color: #e6eaec;
  color: var(--blue);
  color: #445cad;
}

/* Header */
.cherry-theme .navbar.header.dropdown-menu-mobile {
  background: var(--cherry, #DB073C);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--cherry, #DB073C)), color-stop(140%, #DB073C));
  background: -webkit-linear-gradient(top, var(--cherry, #DB073C) 20%, #DB073C 140%);
  background: -o-linear-gradient(top, var(--cherry, #DB073C) 20%, #DB073C 140%);
  background: linear-gradient(180deg, var(--cherry, #DB073C) 20%, #DB073C 140%);
}
.lakegreen-theme .navbar.header.dropdown-menu-mobile {
  background: var(--emerald, #2ec4b6);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--emerald, #2ec4b6)), color-stop(140%, #A2E9E3));
  background: -webkit-linear-gradient(top, var(--emerald, #2ec4b6) 20%, #A2E9E3 140%);
  background: -o-linear-gradient(top, var(--emerald, #2ec4b6) 20%, #A2E9E3 140%);
  background: linear-gradient(180deg, var(--emerald, #2ec4b6) 20%, #A2E9E3 140%);
}
.yellow-theme .navbar.header.dropdown-menu-mobile {
  background: var(--yellow-saffron, #e6a429);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--yellow-saffron, #e6a429)), color-stop(140%, #f3d59c));
  background: -webkit-linear-gradient(top, var(--yellow-saffron, #e6a429) 20%, #f3d59c 140%);
  background: -o-linear-gradient(top, var(--yellow-saffron, #e6a429) 20%, #f3d59c 140%);
  background: linear-gradient(180deg, var(--yellow-saffron, #e6a429) 20%, #f3d59c 140%);
}
.cherry-theme .navbar.header.dropdown-menu-mobile .language-contender {
  background-color: rgba(var(--crimson), 0.2) !important;
  background-color: rgba(91, 30, 46, 0.2) !important;
}
.lakegreen-theme .navbar.header.dropdown-menu-mobile .language-contender {
  background-color: rgba(var(--emerald-alternative), 0.2) !important;
  background-color: rgba(37, 68, 66, 0.2) !important;
}
.yellow-theme .navbar.header.dropdown-menu-mobile .language-contender {
  background-color: rgba(var(--yellow-alternative), 0.2) !important;
  background-color: rgba(102, 73, 18, 0.2) !important;
}
.navbar.header.dropdown-menu-mobile .language {
  border-color: rgba(var(--white), 0.3) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  color: var(--white) !important;
  color: #ffffff !important;
}
.navbar.header.dropdown-menu-mobile .language svg path {
  fill: var(--white) !important;
  fill: #ffffff !important;
}
.cherry-theme .navbar.header.dropdown-menu-mobile .language {
  background-color: rgba(var(--crimson), 0.3) !important;
  background-color: rgba(91, 30, 46, 0.3) !important;
}
.lakegreen-theme .navbar.header.dropdown-menu-mobile .language {
  background-color: rgba(var(--emerald-alternative), 0.3) !important;
  background-color: rgba(37, 68, 66, 0.3) !important;
}
.yellow-theme .navbar.header.dropdown-menu-mobile .language {
  background-color: rgba(var(--yellow-alternative), 0.3) !important;
  background-color: rgba(102, 73, 18, 0.3) !important;
}
.navbar.header.dropdown-menu-mobile .language li span, .navbar.header.dropdown-menu-mobile .language li a {
  color: #ffffff;
}
.navbar.header.dropdown-menu-mobile .language li span.selected, .navbar.header.dropdown-menu-mobile .language li a.selected {
  background-color: #ffffff;
  color: #807e7c;
}
.cherry-theme .navbar.header .background-header-mobile.show, .yellow-theme .navbar.header .background-header-mobile.show, .lakegreen-theme .navbar.header .background-header-mobile.show {
  background: var(--black);
  background: #1d2326;
}

.cherry-theme .navbar-light .navbar-nav .nav-link:focus,
.cherry-theme .navbar-light .navbar-nav .nav-link:hover,
.cherry-theme .navbar-light .logo:hover #logo-imago .inside-path,
.cherry-theme .navbar-light .logo:focus #logo-imago .inside-path,
.cherry-theme .navbar-light .logo:hover,
.cherry-theme .navbar-light .logo:focus {
  color: var(--crimson);
  color: #5B1E2E;
  fill: var(--crimson);
  fill: #5B1E2E;
}
.lakegreen-theme .navbar-light .navbar-nav .nav-link:focus,
.lakegreen-theme .navbar-light .navbar-nav .nav-link:hover,
.lakegreen-theme .navbar-light .logo:hover #logo-imago .inside-path,
.lakegreen-theme .navbar-light .logo:focus #logo-imago .inside-path,
.lakegreen-theme .navbar-light .logo:hover,
.lakegreen-theme .navbar-light .logo:focus {
  color: var(--emerald-alternative);
  color: #254442;
  fill: var(--emerald-alternative);
  fill: #254442;
}
.yellow-theme .navbar-light .navbar-nav .nav-link:focus,
.yellow-theme .navbar-light .navbar-nav .nav-link:hover,
.yellow-theme .navbar-light .logo:hover #logo-imago .inside-path,
.yellow-theme .navbar-light .logo:focus #logo-imago .inside-path,
.yellow-theme .navbar-light .logo:hover,
.yellow-theme .navbar-light .logo:focus {
  color: var(--yellow-alternative);
  color: #664912;
  fill: var(--yellow-alternative);
  fill: #664912;
}

.sidebar-brand-icon .inside-path {
  fill: var(--white);
  fill: #ffffff;
}

.logo {
  color: var(--white);
  color: #ffffff;
}
.logo svg path.inside-path,
.logo svg polygon.inside-path {
  fill: var(--white);
  fill: #ffffff;
}
.logo:hover {
  color: var(--white);
  color: #ffffff;
}

header.landing .logo:hover, header.landing .logo:focus {
  color: var(--crimson);
  color: #5B1E2E;
}
header.landing .logo:hover #logo-imago .inside-path, header.landing .logo:focus #logo-imago .inside-path {
  fill: var(--crimson);
  fill: #5B1E2E;
}

#logo-imago-red .inside-path {
  fill: var(--cherry);
  fill: #DB073C;
}

.logo-red {
  color: var(--cherry);
  color: #DB073C;
}
.logo-red:hover, .logo-red:focus {
  color: var(--crimson);
  color: #5B1E2E;
}
.logo-red:hover #logo-imago-red .inside-path, .logo-red:focus #logo-imago-red .inside-path {
  fill: var(--crimson);
  fill: #5B1E2E;
}

.navbar-light {
  color: var(--white);
  color: #ffffff;
}
.navbar-light .navbar-toggler {
  color: var(--white);
  color: #ffffff;
}
.navbar-light .navbar-nav .nav-link {
  color: var(--white);
  color: #ffffff;
}

header.landing h1 {
  color: var(--white);
  color: #ffffff;
  opacity: 0.6;
}

.navbar .navbar-icon .hamburger {
  background: var(--blue);
  background: #445cad;
}
.navbar .navbar-icon .hamburger:before {
  background: var(--blue);
  background: #445cad;
}
.navbar .navbar-icon .hamburger:after {
  background: var(--blue);
  background: #445cad;
}
.cherry-theme .navbar .navbar-icon .hamburger.rotate:before, .yellow-theme .navbar .navbar-icon .hamburger.rotate:before, .lakegreen-theme .navbar .navbar-icon .hamburger.rotate:before {
  background: var(--white);
  background: #ffffff;
}
.cherry-theme .navbar .navbar-icon .hamburger.rotate:after, .yellow-theme .navbar .navbar-icon .hamburger.rotate:after, .lakegreen-theme .navbar .navbar-icon .hamburger.rotate:after {
  background: var(--white);
  background: #ffffff;
}

#template-list .item {
  border-color: var(--blue);
  border-color: #445cad;
}
#template-list .item .header {
  background-color: var(--white);
  background-color: #ffffff;
}
#template-list .item .header .icon svg path,
#template-list .item .header .icon svg polygon {
  fill: var(--blue);
  fill: #445cad;
}
#template-list .item .header .title {
  color: var(--blue);
  color: #445cad;
}
#template-list .item .header small {
  color: var(--grey-text);
  color: #617580;
}
#template-list .item .content {
  background-color: var(--white);
  background-color: #ffffff;
}
#template-list .item .description {
  color: var(--black);
  color: #1d2326;
  background-color: rgba(var(--white), 0.92);
  background-color: rgba(255, 255, 255, 0.92);
  line-height: 1.1;
}

/* Footer */
.footer #logo-imago-footer .inside-path {
  fill: var(--steel-grey);
  fill: #6b818c;
}
.footer .logo {
  color: var(--steel-grey);
  color: #6b818c;
}
.footer .logo:hover, .footer .logo:focus {
  color: var(--footer-hover);
  color: rgba(0, 0, 0, 0.7);
}
.footer .logo:hover #logo-imago-footer .inside-path, .footer .logo:focus #logo-imago-footer .inside-path {
  fill: var(--footer-hover);
  fill: rgba(0, 0, 0, 0.7);
}
.footer .bg-footer {
  border-bottom-color: #e6eaec !important;
}
.footer .bg-footer .footer-st0 {
  fill: var(--ultra-light-grey);
  fill: #e6eaec;
}
.footer .content-footer {
  background-color: var(--ultra-light-grey);
  background-color: #e6eaec;
}
.footer .content-footer .copyright {
  color: var(--blue-grey);
  color: #91b0bf;
}
.footer .footer-footer {
  background-color: var(--ultra-light-grey);
  background-color: #e6eaec;
}
.footer .footer-footer .language li {
  border-right-color: var(--grey);
  border-right-color: #807e7c;
  color: var(--grey);
  color: #807e7c;
}
.footer .footer-footer hr {
  border-color: var(--grey-text);
  border-color: #617580;
}
.footer a {
  color: var(--grey-text);
  color: #617580;
}
.footer a:hover, .footer a:focus {
  color: var(--footer-hover);
  color: rgba(0, 0, 0, 0.7);
}
.footer .footer-logos svg path, .footer .footer-logos svg rect {
  fill: var(--grey-text);
  fill: #617580;
}
.footer .footer-logos a:hover svg path, .footer .footer-logos a:hover svg rect, .footer .footer-logos a:focus svg path, .footer .footer-logos a:focus svg rect {
  fill: var(--footer-hover);
  fill: rgba(0, 0, 0, 0.7);
}
.footer h4 {
  color: var(--grey-text);
  color: #617580;
}
.footer p.extra-small {
  color: var(--grey-text);
  color: #617580;
}
.footer .footer-logos a:hover #footer-facebook path, .footer .footer-logos a:hover #footer-instagram circle, .footer .footer-logos a:hover #footer-twitter path, .footer .footer-logos a:hover #footer-linkedin path, .footer .footer-logos a:hover #footer-youtube path, .footer .footer-logos a:focus #footer-facebook path, .footer .footer-logos a:focus #footer-instagram circle, .footer .footer-logos a:focus #footer-twitter path, .footer .footer-logos a:focus #footer-linkedin path, .footer .footer-logos a:focus #footer-youtube path {
  fill: var(--footer-hover);
  fill: rgba(0, 0, 0, 0.7);
}

.form-group span.danger {
  color: var(--danger);
  color: #d44950;
}

/* Login & Sign-up */
.form-group-social-media, .form-group-all, .form-group {
  color: var(--steel-grey);
  color: #6b818c;
}
.form-group-social-media p:not(.alert), .form-group-all p:not(.alert), .form-group p:not(.alert) {
  color: var(--steel-grey);
  color: #6b818c;
}
.form-group-social-media input.form-control, .form-group-social-media textarea.form-control, .form-group-social-media select.form-control, .form-group-all input.form-control, .form-group-all textarea.form-control, .form-group-all select.form-control, .form-group input.form-control, .form-group textarea.form-control, .form-group select.form-control {
  border-color: var(--blue-grey);
  border-color: #91b0bf;
}
.form-group-social-media input.form-control:hover, .form-group-social-media textarea.form-control:hover, .form-group-social-media select.form-control:hover, .form-group-all input.form-control:hover, .form-group-all textarea.form-control:hover, .form-group-all select.form-control:hover, .form-group input.form-control:hover, .form-group textarea.form-control:hover, .form-group select.form-control:hover {
  border-color: var(--blue);
  border-color: #445cad;
}

.check-box[type=checkbox] {
  border-color: var(--blue-grey) !important;
  border-color: #91b0bf !important;
}

.check-box[type=checkbox]:checked {
  background-color: var(--white);
  background-color: #ffffff;
  border-color: var(--blue) !important;
  border-color: #445cad !important;
}

.sign-in-logos-center .border-primary, .login-logos-center .border-primary {
  border-color: var(--blue) !important;
  border-color: #445cad !important;
}

.alertify .ajs-footer .ajs-buttons .ajs-button.btn-default {
  background-color: var(--blue);
  background-color: #445cad;
  border-color: var(--blue);
  border-color: #445cad;
  color: var(--white);
  color: #ffffff;
}

/* Error form messages */
body.white-theme form label.error {
  color: var(--danger);
  color: #d44950;
}

/* Dropdowm menu */
@media screen and (max-width: 992px) {
  .navbar .navbar-nav#login-menu .nav-item .nav-link {
    border-color: rgba(var(--white), 0.3) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    color: var(--white) !important;
    color: #ffffff !important;
  }
  .navbar .navbar-nav#login-menu .nav-item .nav-link svg path {
    fill: var(--white) !important;
    fill: #ffffff !important;
  }
  .cherry-theme .navbar .navbar-nav#login-menu .nav-item .nav-link {
    background-color: rgba(var(--crimson), 0.3) !important;
    background-color: rgba(91, 30, 46, 0.3) !important;
  }
  .lakegreen-theme .navbar .navbar-nav#login-menu .nav-item .nav-link {
    background-color: rgba(var(--emerald-alternative), 0.3) !important;
    background-color: rgba(37, 68, 66, 0.3) !important;
  }
  .yellow-theme .navbar .navbar-nav#login-menu .nav-item .nav-link {
    background-color: rgba(var(--yellow-alternative), 0.3) !important;
    background-color: rgba(102, 73, 18, 0.3) !important;
  }
}
@media screen and (max-width: 992px) {
  .navbar .navbar-nav#logged_profile_box .options-nav-item .nav-item .nav-link {
    border-color: rgba(var(--white), 0.3) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    color: var(--white) !important;
    color: #ffffff !important;
  }
  .navbar .navbar-nav#logged_profile_box .options-nav-item .nav-item .nav-link svg path {
    fill: var(--white) !important;
    fill: #ffffff !important;
  }
  .cherry-theme .navbar .navbar-nav#logged_profile_box .options-nav-item .nav-item .nav-link {
    background-color: rgba(var(--crimson), 0.3) !important;
    background-color: rgba(91, 30, 46, 0.3) !important;
  }
  .lakegreen-theme .navbar .navbar-nav#logged_profile_box .options-nav-item .nav-item .nav-link {
    background-color: rgba(var(--emerald-alternative), 0.3) !important;
    background-color: rgba(37, 68, 66, 0.3) !important;
  }
  .yellow-theme .navbar .navbar-nav#logged_profile_box .options-nav-item .nav-item .nav-link {
    background-color: rgba(var(--yellow-alternative), 0.3) !important;
    background-color: rgba(102, 73, 18, 0.3) !important;
  }
}

/* Articles structure */
.inside-aspect-ratio h1 {
  color: var(--white);
  color: #ffffff;
}
.inside-aspect-ratio h2 {
  color: var(--white);
  color: #ffffff;
  opacity: 0.6;
}
.inside-aspect-ratio p {
  color: var(--white);
  color: #ffffff;
}
.inside-aspect-ratio a {
  color: var(--white);
  color: #ffffff;
}

.center-list p, .left-list p {
  color: var(--grey-text);
  color: #617580;
}
.center-list.uppercase h3, .left-list.uppercase h3 {
  color: var(--black);
  color: #1d2326;
}
.center-list.uppercase p, .left-list.uppercase p {
  color: var(--black);
  color: #1d2326;
}

.icons-left-list h4 {
  color: var(--blue);
  color: #445cad;
}

.header-left-list h3 {
  color: var(--grey-text);
  color: #617580;
}

section .header h2 {
  color: var(--cherry);
  color: #DB073C;
}
section .header p {
  color: var(--grey-text);
  color: #617580;
}

section .header-btn h2 {
  color: var(--blue);
  color: #445cad;
}
section .header-btn .date {
  color: var(--grey-text);
  color: #617580;
}

section .header-offset-btn h2 {
  color: var(--blue);
  color: #445cad;
}
section .header-offset-btn p {
  color: var(--grey-text);
  color: #617580;
}

.jumbotron {
  background-color: rgba(230, 234, 236, 0.32);
}
.jumbotron h2 {
  color: var(--black);
  color: #1d2326;
}
.jumbotron p {
  color: var(--grey-text);
  color: #617580;
}

.lakegreen-theme h2 {
  color: var(--emerald);
  color: #2ec4b6;
}

.highlights-left-list p {
  color: var(--grey-text);
  color: #617580;
}
.lakegreen-theme .highlights-left-list p {
  color: var(--black);
  color: #1d2326;
}

.sub-menu-icons-left-list h4 {
  color: var(--blue);
  color: #445cad;
}

.bg-text p {
  color: var(--grey-text);
  color: #617580;
}

.image-center-list h5, .image-center-list h6 {
  color: var(--grey-text);
  color: #617580;
}

.custom-left-list ul {
  color: var(--blue-grey);
  color: #91b0bf;
}

.card-deck h2 {
  color: var(--cherry);
  color: #DB073C;
}

.yellow-theme .center-list p {
  color: var(--golden);
  color: #807e7c;
}

.yellow-theme .highlights-left-list p, .green-theme .highlights-left-list p {
  color: var(--black);
  color: #1d2326;
}

.landing-text-center h1 {
  color: var(--cherry);
  color: #DB073C;
}
.landing-text-center p.logos {
  color: var(--blue);
  color: #445cad;
}

.landing-left-list h3 {
  color: var(--blue);
  color: #445cad;
}
.landing-left-list p {
  color: var(--grey-text);
  color: #617580;
}

.job-art {
  background-color: var(--ultra-light-grey);
  background-color: #e6eaec;
}

/* Resources */
.navbar-filters .filter.active {
  background-color: #445cad;
  color: #ffffff;
}

.guides-section article h5 {
  color: #445cad;
}

/* Cookies */
.cookies-advice {
  background-color: var(--footer-hover);
  background-color: rgba(0, 0, 0, 0.7);
}
.cookies-advice p {
  color: var(--white);
  color: #ffffff;
}
.cookies-advice p a {
  color: var(--white);
  color: #ffffff;
}
.cookies-advice p a:hover {
  color: var(--cherry);
  color: #DB073C;
}

.cta-aside-section {
  background-color: rgba(230, 234, 236, 0.52);
}
@media screen and (min-width: 768px) {
  .cta-aside-section {
    background-color: rgba(230, 234, 236, 0.32);
  }
}

.custom-banner {
  background: rgba(230, 234, 236, 0.52);
}
@media screen and (min-width: 768px) {
  .custom-banner {
    background: linear-gradient(90deg, rgb(235, 235, 235) 0%, rgb(255, 255, 255) 50%);
  }
}
.custom-banner.vertical {
  background: linear-gradient(360deg, rgb(245, 245, 245) 0%, rgba(245, 245, 245, 0) 50%);
}
@media screen and (max-width: 767.99999px) {
  .custom-banner .main-features.checks-left-list {
    background-color: #ffffff;
  }
}

/* CTA */
.cta-trial h2.text-center, .cta-trial p {
  color: #445cad;
}

/* Template landings */
.template-landing .description h2 {
  color: var(--cherry);
  color: #DB073C;
}

/* Tags lists */
.tag-list li small {
  background-color: #91b0bf;
  color: #ffffff;
}

/* Fix icono de sort letters, se ve transparente */
svg#sort_letter--icon path, svg#sort_letter--icon rect {
  fill: none;
  stroke: black;
}
svg#sort_letter--icon text {
  fill: black;
}

/* Redesign 2026 — Google Fonts */
:root {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Redesign 2026 — Animations */
@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-12px);
  }
}
@keyframes pulse-glow {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(219, 7, 60, 0.4);
  }
  50% {
    box-shadow: 0 0 0 12px rgba(219, 7, 60, 0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
html {
  scroll-behavior: smooth;
}

html,
body {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  html,
  body {
    font-size: 18px;
  }
}

body {
  overflow: initial;
}
body.dropdown-menu-mobile-open {
  overflow: hidden;
}

.container {
  max-width: 1200px;
}

h1 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  letter-spacing: normal;
  font-size: 2.3333333333rem;
  line-height: 1.14;
}
h1 b,
h1 strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h1 i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h1 b i,
h1 strong i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h1 i b,
h1 i strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

h2 {
  font-size: 1.7777777778rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h2 b,
h2 strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h2 i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h2 b i,
h2 strong i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h2 i b,
h2 i strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.main-features-title h2,
.general-features-title h2 {
  font-size: 1.5rem;
  line-height: 1;
}
@media screen and (min-width: 1200px) {
  .main-features-title h2,
  .general-features-title h2 {
    font-size: 1.7777777778rem;
  }
}
.main-features-title h2,
.general-features-title h2 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  letter-spacing: normal;
}

.cta-aside-section h2 {
  font-size: 1.5rem;
  line-height: 1.4;
}

h3 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  letter-spacing: normal;
}
h3 b,
h3 strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h3 i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h3 b i,
h3 strong i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h3 i b,
h3 i strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.step-by-step-title h3 {
  font-size: 1.5rem;
  line-height: 1;
}
@media screen and (min-width: 1200px) {
  .step-by-step-title h3 {
    font-size: 1.33333333rem;
  }
}
.step-by-step-title h3 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  letter-spacing: normal;
}

h4 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  letter-spacing: normal;
}
h4 b,
h4 strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h4 i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h4 b i,
h4 strong i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h4 i b,
h4 i strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h4.post-title {
  font-size: 1.5rem;
  line-height: 1;
}
@media screen and (min-width: 1200px) {
  h4.post-title {
    font-size: 1.33333333rem;
  }
}

h5 {
  font-size: 1.3333333333rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  letter-spacing: normal;
}
h5 b,
h5 strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h5 i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h5 b i,
h5 strong i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h5 i b,
h5 i strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

h5 {
  font-size: 1.7777777778rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  letter-spacing: normal;
}
h5 b,
h5 strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h5 i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h5 b i,
h5 strong i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
h5 i b,
h5 i strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

p {
  line-height: 1.3333;
}
p.extra-small {
  font-size: 0.5555555556rem;
  line-height: 1.2;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
}
p b,
p strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
p i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
p b i,
p strong i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
p i b,
p i strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

a, button.btn-link {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  letter-spacing: normal;
}
a:hover, a:focus, button.btn-link:hover, button.btn-link:focus {
  text-decoration: none;
  outline: none;
}
a b,
a strong, button.btn-link b,
button.btn-link strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
a i, button.btn-link i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
a b i,
a strong i, button.btn-link b i,
button.btn-link strong i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
a i b,
a i strong, button.btn-link i b,
button.btn-link i strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

i {
  font-style: italic;
}

ol.ordered-list {
  list-style-type: none;
  counter-reset: section;
  padding-left: 0;
}
ol.ordered-list > li h5 {
  font-size: 1rem;
  font-weight: bold;
}
ol.ordered-list > li::before {
  counter-increment: section;
  content: counters(section, ".") ".";
  display: inline-block;
  font-size: 1rem;
  float: left;
  font-weight: bold;
  margin-right: 0.6rem;
}
ol li b,
ol li strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
ol li i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
ol li b i,
ol li strong i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
ol li i b,
ol li i strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

small {
  font-size: 0.7777777em;
}

a.link-default {
  text-decoration: underline;
}

a.link-tooltip:hover, a.link-tooltip:focus {
  text-decoration: underline;
}

sup {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.7rem;
  border-radius: 50%;
  padding: 2px 3.5px;
  cursor: default;
}

ul.point-list {
  list-style: square;
}
ul.point-list li {
  margin-left: 1.6rem;
}
ul li b,
ul li strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
ul li i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
ul li b i,
ul li strong i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
ul li i b,
ul li i strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

/* Reset bootstrap */
.alert {
  border-radius: 0;
}

.form-control {
  border-radius: 0;
}

.container-fluid {
  padding-right: 0;
  padding-left: 0;
}

.nav-pills .nav-link {
  padding: 0.5rem 0;
  border-radius: 0;
  margin-bottom: 1rem;
}
@media screen and (min-width: 576px) {
  .nav-pills .nav-link {
    margin-bottom: 0;
  }
}
.nav-pills .nav-link.active {
  border-bottom: 4px solid;
}
@media screen and (min-width: 992px) {
  .nav-pills #pills-brands-tab, .nav-pills #pills-agencies-tab {
    width: 45%;
    margin: 0 auto;
  }
  .nav-pills #pills-media-tab {
    width: 75%;
    margin: 0 auto;
  }
}

pre {
  display: inline-block;
  padding: 9.5px;
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.428571429;
  color: #333;
  word-break: break-all;
  word-wrap: break-word;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 4px;
  white-space: pre-wrap;
  font-family: "Courier New", Courier, monospace;
}

.inside-aspect-ratio a:not(.btn) {
  text-decoration: underline;
}
.inside-aspect-ratio a.video-play {
  text-decoration: none;
}

input[type=checkbox]:focus {
  outline: none;
}

/* header */
header {
  min-height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media screen and (min-width: 992px) {
  header {
    position: relative;
  }
}

body.en_login header, body.es_login header, body.en_signup header, body.es_signup header, body.ct_my_user_infos_after_sign_up header {
  position: relative;
}

.logo, .logo-red {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.444444rem;
  line-height: 28px;
  text-decoration: none;
  word-spacing: -10px;
}
.logo:hover, .logo:focus, .logo-red:hover, .logo-red:focus {
  text-decoration: none;
}
.logo [id^=logo-imago], .logo-red [id^=logo-imago] {
  width: 32px;
  height: 32px;
  display: inline-block;
  margin-right: 12px;
}

header.landing .logo {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 2.3rem;
  line-height: 56px;
  text-decoration: none;
  word-spacing: -10px;
}
header.landing .logo:hover, header.landing .logo:focus {
  text-decoration: none;
}
header.landing .logo [id^=logo-imago] {
  width: 52px;
  height: 60px;
  display: inline-block;
  margin-right: 12px;
}
@media screen and (max-width: 410px) {
  header.landing .logo {
    font-size: 1.3rem;
  }
  header.landing .logo [id^=logo-imago] {
    width: 42px;
  }
}

@media screen and (max-width: 992px) {
  main {
    padding-top: 60px;
  }
}

body.en_login main, body.es_login main, body.en_signup main, body.es_signup main, body.ct_my_user_infos_after_sign_up main {
  padding-top: 0;
}

/* Custom margins */
.mt-40 {
  margin-top: 2.2222222222rem;
}

.mt-sm-40 {
  margin-top: 1.3333333333rem;
}
@media screen and (min-width: 768px) {
  .mt-sm-40 {
    margin-top: 2.2222222222rem;
  }
}

.mb-40 {
  margin-bottom: 0.4444444444rem;
}
@media screen and (min-width: 768px) {
  .mb-40 {
    margin-bottom: 2.2222222222rem;
  }
}

.mt-42 {
  margin-top: 0.5555555556rem;
}
@media screen and (min-width: 768px) {
  .mt-42 {
    margin-top: 2.3333333333rem;
  }
}

.mb-42 {
  margin-bottom: 0.5555555556rem;
}
@media screen and (min-width: 768px) {
  .mb-42 {
    margin-bottom: 2.3333333333rem;
  }
}

.mr-42 {
  margin-right: 2.3333333333rem;
}

.ml-42 {
  margin-left: 2.3333333333rem;
}

.mt-60 {
  margin-top: 0.8888888889rem;
}
@media screen and (min-width: 768px) {
  .mt-60 {
    margin-top: 3.3333333333rem;
  }
}

.mt-64 {
  margin-top: 1.1111111111rem;
}
@media screen and (min-width: 768px) {
  .mt-64 {
    margin-top: 3.5555555556rem;
  }
}

.mb-64 {
  margin-bottom: 1.1111111111rem;
}
@media screen and (min-width: 768px) {
  .mb-64 {
    margin-bottom: 3.5555555556rem;
  }
}

.mt-96 {
  margin-top: 3.8888888889rem;
}
@media screen and (min-width: 768px) {
  .mt-96 {
    margin-top: 5.3333333333rem;
  }
}

.mb-96 {
  margin-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .mb-96 {
    margin-bottom: 5.3333333333rem;
  }
}

.mt-154 {
  margin-top: 3.3333333333rem;
}
@media screen and (min-width: 768px) {
  .mt-154 {
    margin-bottom: 8.5555555556rem;
  }
}

.mb-194 {
  margin-bottom: 5.3333333333rem;
}
@media screen and (min-width: 768px) {
  .mb-194 {
    margin-bottom: 10.7777777778rem;
  }
}

.mt-194 {
  margin-top: 5.3333333333rem;
}
@media screen and (min-width: 768px) {
  .mt-194 {
    margin-top: 10.7777777778rem;
  }
}

.mt-mix {
  margin-top: 2.5rem;
}

.hr-border {
  width: 100%;
  height: 0.625rem;
}

.hr-border-lite {
  height: 4px;
}

/* footer */
.footer {
  position: relative;
}
.footer .logo:hover, .footer .logo:focus {
  text-decoration: none;
}
.footer .bg-footer-container {
  position: relative;
  margin-bottom: -1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.footer .bg-footer-container .bg-footer {
  width: 100%;
  margin-bottom: -1px;
  border-bottom: 1px inset;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
}
.footer .content-footer {
  position: relative;
  padding-top: 2em;
  padding-bottom: 0;
  z-index: 1;
  padding-left: 1em;
  padding-right: 1em;
}
.footer .content-footer ul li {
  margin-bottom: 1.333333rem;
}
.footer .content-footer ul li a {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.333333;
}
.footer .content-footer .copyright {
  font-size: 0.7777777778rem;
}
.footer .content-footer .copyright + ul li {
  line-height: 1.2;
  margin-bottom: 0.7222222222rem;
}
.footer .content-footer .copyright + ul li a {
  font-size: 0.7777777778rem;
}
.footer .footer-footer {
  position: relative;
  display: block;
  padding: 0 1em 3em 1em;
}
@media screen and (max-width: 767px) {
  .footer .footer-footer .newsletter-signup {
    margin-top: 2em;
  }
}
.footer .footer-logos a {
  font-size: 0.7777777778rem;
}

/* Login & Sign-up*/
h1.sign-up-title, h1.login-title {
  font-size: 2.2rem;
}

.check-box[type=checkbox] {
  width: 24px;
  min-width: 24px;
  height: 24px;
  border: 1px solid;
}
.check-box[type=checkbox]:checked {
  border: 8px solid;
}

.form-group-social-media, .form-group-all {
  display: none;
}
.form-group-social-media input.form-control:hover, .form-group-all input.form-control:hover {
  border-width: 1px;
}
.form-group-social-media.show, .form-group-all.show {
  display: block;
}
.form-group-social-media .checkbox a, .form-group-all .checkbox a {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.form-group-social-media .checkbox .shake, .form-group-all .checkbox .shake {
  -webkit-animation: kf_shake 0.4s 1 linear;
  -moz-animation: kf_shake 0.4s 1 linear;
  -o-animation: kf_shake 0.4s 1 linear;
}
@-webkit-keyframes kf_shake {
  0% {
    -webkit-transform: translate(30px);
  }
  20% {
    -webkit-transform: translate(-30px);
  }
  40% {
    -webkit-transform: translate(15px);
  }
  60% {
    -webkit-transform: translate(-15px);
  }
  80% {
    -webkit-transform: translate(8px);
  }
  100% {
    -webkit-transform: translate(0px);
  }
}
@-moz-keyframes kf_shake {
  0% {
    -moz-transform: translate(30px);
  }
  20% {
    -moz-transform: translate(-30px);
  }
  40% {
    -moz-transform: translate(15px);
  }
  60% {
    -moz-transform: translate(-15px);
  }
  80% {
    -moz-transform: translate(8px);
  }
  100% {
    -moz-transform: translate(0px);
  }
}
@-o-keyframes kf_shake {
  0% {
    -o-transform: translate(30px);
  }
  20% {
    -o-transform: translate(-30px);
  }
  40% {
    -o-transform: translate(15px);
  }
  60% {
    -o-transform: translate(-15px);
  }
  80% {
    -o-transform: translate(8px);
  }
  100% {
    -o-origin-transform: translate(0px);
  }
}
.form-group-social-media span, .form-group-all span {
  font-size: 0.8888889rem;
}

#sign-in-section.hidden {
  display: none;
}

#login-section {
  display: none;
}
#login-section.show {
  display: block;
}

.box-container {
  padding: 1.2em 0;
}

.form-group span.danger {
  font-size: 0.7888889rem;
}

body.white-theme form label.error {
  padding-top: 0.5rem;
  margin-bottom: 0.5rem;
}

/* Second step sign up */
.form-group.signup span.danger {
  display: none;
}
.form-group.signup span.danger.confirm-email {
  display: block;
}

.after_signup .signout {
  font-size: 0.82em;
  text-decoration: underline;
  opacity: 0.7;
}

/* Prices */
.prices-checklists {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.analytics-info-container svg {
  max-width: 60px;
}
.analytics-info-container svg path {
  fill: #445cad;
}

.analytics-info strong {
  font-size: 1.1666666667rem;
}
@media screen and (min-width: 992px) {
  .analytics-info {
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    font-size: 1.333333rem;
  }
  .analytics-info strong {
    font-size: 1.333333rem;
  }
}

/* Contact */
.form-group.contact input.form-control:hover, .form-group.contact textarea.form-control:hover {
  border-width: 1px;
}
.form-group.contact.show {
  display: block;
}
.form-group.contact .checkbox a {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.form-group.contact span {
  font-size: 0.7888889rem;
}

.aspect-ratio {
  position: relative;
  width: 100%;
}
.aspect-ratio:before {
  display: block;
  content: "";
  width: 100%;
  padding-top: 56.25%;
}
.aspect-ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
}

/* Cookies */
.cookies-advice {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}
.cookies-advice p a {
  text-decoration: underline;
}

.prices-recurrence-contender label:hover {
  cursor: pointer;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-32 {
  opacity: 0.32;
}

.css_recaptcha {
  text-align: center;
}

.css_recaptcha div.g-recaptcha div {
  width: 100% !important;
}

.custom-banner {
  overflow: hidden;
}
.custom-banner .bg-pattern {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: max(15vw, 30%);
  position: absolute;
  background-image: url(https://cdn8.ct-assets.com/assets/ctfront2/custom-banner-pattern-vert-5f85aaa59387a51f4521b553ac2f67e306c99f405684770696393193fcfb2841.svg);
}
.custom-banner .bg-pattern.pattern-left {
  background-position: center left;
}
.custom-banner .bg-pattern.pattern-center {
  background-size: auto 40%;
  background-image: url(https://cdn8.ct-assets.com/assets/ctfront2/custom-banner-pattern-cf624d69994c62124e8894b25675e8196f7abda120660a8d9ad50bee8638bf71.svg);
}
@media screen and (min-width: 768px) {
  .custom-banner .bg-pattern.pattern-center {
    background-size: max(15vh, 20%);
    background-image: url(https://cdn8.ct-assets.com/assets/ctfront2/custom-banner-pattern-vert-5f85aaa59387a51f4521b553ac2f67e306c99f405684770696393193fcfb2841.svg);
  }
}
.custom-banner.vertical > * {
  z-index: 1;
}
.custom-banner.vertical::after {
  content: "";
  background-repeat: no-repeat;
  background-size: 120%;
  background-position: center top;
  background-image: url(https://cdn8.ct-assets.com/assets/ctfront2/custom-banner-pattern-cf624d69994c62124e8894b25675e8196f7abda120660a8d9ad50bee8638bf71.svg);
  bottom: 0;
  display: block;
  width: 100%;
  height: 30vw;
  position: absolute;
  top: auto;
  left: 0;
  opacity: 0.8;
  z-index: 0;
  pointer-events: none;
}
@media (min-width: 768px) {
  .custom-banner.vertical::after {
    height: 8rem;
    opacity: 0.2;
  }
}

/* Cards — Redesign 2026 */
/* Sistema de cards moderno.
   Antes: `div[class*="card"]:not(.card-price)` matcheaba cualquier div que tuviese
   "card" como subcadena en alguna clase, lo que metía bajo el estilo de tarjeta a
   contenedores legitímos cuyo nombre simplemente contenía "cards" (p. ej.
   `.create_campaign_matching_cards_game` o `.memory_cards_game`). Eso producía
   tarjetas "fantasma" en algunas landings de mecánicas y no en otras (p. ej.
   /juego-emparejar las tenía y /juego-objetos-ocultos no), rompiendo la unidad
   visual. Cambiado a `[class~="card"]` (matchea la palabra exacta "card" como
   clase, no como subcadena), más `.card-something` explícitos. */
div.card,
div[class~=card]:not(.card-price):not(body),
article.card {
  background: var(--ct-white);
  border-radius: var(--ct-radius-lg);
  box-shadow: var(--ct-shadow-xs);
  border: 1px solid var(--ct-gray-100);
  transition: all var(--ct-duration) var(--ct-ease);
  overflow: hidden;
}
div.card:hover,
div[class~=card]:not(.card-price):not(body):hover,
article.card:hover {
  box-shadow: var(--ct-shadow-md);
  transform: translateY(-4px);
  border-color: transparent;
}

.card-body {
  padding: 28px;
}

.card-title {
  font-family: var(--ct-font-display);
  font-weight: 700;
  color: var(--ct-text-dark);
  font-size: 1.15rem;
}

/* Job cards */
.card.jobs h4 {
  font-size: 1rem;
}

.card-deck .card.cookies {
  min-width: 250px;
}
.card-deck .card.cookies .card-title {
  margin-bottom: 0;
}

/* Price Cards */
.prices-card-contender .card-price {
  border-radius: 0;
  border: none;
  max-width: 100%;
  margin-left: 0;
}
@media screen and (min-width: 1024) {
  .prices-card-contender .card-price {
    max-width: 25%;
  }
}
.prices-card-contender .card-price .card-header {
  border-bottom: none;
  border-radius: 0;
  margin: 0;
  padding: 0.75rem 0;
}
.prices-card-contender .card-price .card-header h2 {
  margin: 0;
}
.prices-card-contender .card-price .card-description {
  flex: 0 0 5rem;
}
.prices-card-contender .card-price .card-description h4 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.1666666667rem;
  margin-bottom: 0.25rem;
}
.prices-card-contender .card-price .card-description p {
  font-size: 0.8888888889rem;
}
.prices-card-contender .card-price .card-description strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.prices-card-contender .card-price .card-title {
  margin-bottom: 0.25rem;
  display: flex;
  flex-direction: column;
}
.prices-card-contender .card-price .card-title small {
  font-size: 1.33333rem;
}
.prices-card-contender .card-price .card-body {
  padding: 0;
  min-height: auto;
}
.prices-card-contender .card-price .card-body h1 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 2.333333rem;
}
.prices-card-contender .card-price .card-body small {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.prices-card-contender .card-price .card-body .prices-checklists a {
  text-decoration: underline;
}
.prices-card-contender .card-price .card-body.footer {
  height: 100%;
}
.prices-card-contender .card-price .card-footer a {
  text-decoration: underline;
}

/* transitions */
.navbar.header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 1em;
  padding-left: 15px;
  padding-right: 15px;
}
.navbar.header.dropdown-menu-mobile {
  /*position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;*/
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.navbar.header.navbar-light .nav-item .nav-link {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
@media screen and (max-width: 992px) {
  .navbar.header.navbar-light .nav-item .nav-link {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 992px) and (max-width: 1199px) {
  .navbar.header.navbar-light .nav-item .nav-link {
    font-size: 0.8888888889rem;
  }
}
.navbar.header.navbar-light .navbar-toggler {
  border-radius: 0;
  border-color: transparent;
  height: 32px;
  padding: 0;
}
.navbar.header.navbar-light .navbar-toggler span {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
@media screen and (max-width: 992px) {
  .navbar.header.navbar-expand-lg {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .navbar.header.navbar-expand-lg.navbar-toggler {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.navbar.header.navbar-expand-lg .navbar-collapse {
  padding-top: 0;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media screen and (max-width: 992px) {
  .navbar.header.navbar-expand-lg .navbar-collapse {
    -webkit-transition: all 0.22s cubic-bezier(0.59, 0.71, 0.03, 0.31);
    -o-transition: all 0.22s cubic-bezier(0.59, 0.71, 0.03, 0.31);
    transition: all 0.22s cubic-bezier(0.59, 0.71, 0.03, 0.31);
    padding-top: calc(60px - 1em);
  }
  .navbar.header.navbar-expand-lg .navbar-collapse ul.navbar-nav {
    opacity: 0;
    -webkit-transition: opacity 0.2s cubic-bezier(0.59, 0.71, 0.03, 0.31);
    -o-transition: opacity 0.2s cubic-bezier(0.59, 0.71, 0.03, 0.31);
    transition: opacity 0.2s cubic-bezier(0.59, 0.71, 0.03, 0.31);
  }
  .navbar.header.navbar-expand-lg .navbar-collapse ul.navbar-nav.show {
    opacity: 1;
  }
}
.navbar.header.navbar-expand-lg .navbar-collapse.out {
  height: 0;
}
.navbar.header.navbar-expand-lg .navbar-collapse.show {
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media screen and (max-width: 992px) {
  .navbar.header .navbar-nav#main-menu {
    opacity: 0;
    -webkit-transition: opacity 0.2s cubic-bezier(0.59, 0.71, 0.03, 0.31);
    -o-transition: opacity 0.2s cubic-bezier(0.59, 0.71, 0.03, 0.31);
    transition: opacity 0.2s cubic-bezier(0.59, 0.71, 0.03, 0.31);
  }
  .navbar.header .navbar-nav#main-menu.show {
    opacity: 1;
  }
}
.navbar.header .navbar-nav.login_bar {
  width: auto;
}
@media screen and (max-width: 992px) {
  .navbar.header .navbar-nav.login_bar {
    width: 100%;
  }
}
.navbar.header .navbar-nav.login_bar {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .navbar.header .navbar-nav.login_bar {
    font-size: 0.7777778rem;
  }
}
.navbar.header .navbar-nav.login_bar .nav-link {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .navbar.header .navbar-nav.login_bar .nav-link {
    font-size: 0.7777778rem;
  }
}
.navbar.header .navbar-nav.login_bar .separation-bar {
  display: none;
}
@media screen and (min-width: 992px) {
  .navbar.header .navbar-nav.login_bar .separation-bar {
    display: inline-block;
  }
}
@media screen and (max-width: 992px) {
  .navbar.header .navbar-nav .nav-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}
.navbar.header .background-header-mobile {
  display: block;
  height: 60px;
  position: fixed;
  top: -60px;
  left: -15px;
  right: -15px;
  z-index: 1;
  -webkit-transition: top 0.2s cubic-bezier(0.03, 0.31, 0.59, 0.71);
  -o-transition: top 0.2s cubic-bezier(0.03, 0.31, 0.59, 0.71);
  transition: top 0.2s cubic-bezier(0.03, 0.31, 0.59, 0.71);
}
.navbar.header .background-header-mobile.show {
  -webkit-transition: top 0.2s cubic-bezier(0.59, 0.71, 0.03, 0.31);
  -o-transition: top 0.2s cubic-bezier(0.59, 0.71, 0.03, 0.31);
  transition: top 0.2s cubic-bezier(0.59, 0.71, 0.03, 0.31);
  top: 0px;
}
.navbar.header .background-header-mobile.show.hide {
  top: -60px;
}
.navbar.header .logo.dropdown-menu-mobile {
  position: fixed;
  top: 1rem;
  left: 15px;
  z-index: 1;
}
.navbar.header .navbar-toggler.dropdown-menu-mobile {
  z-index: 1;
  position: fixed;
  right: 15px;
  top: 1rem;
}
.navbar.header .navbar-icon {
  right: 0;
  top: 0;
  position: relative;
  z-index: 9999;
}
.navbar.header .navbar-icon .hamburger {
  background-clip: padding-box;
  top: 0;
  height: 2px;
  position: relative;
  width: 30px;
  display: block;
  content: "";
}
.navbar.header .navbar-icon .hamburger.hide {
  background: 0 0;
}
.navbar.header .navbar-icon .hamburger:before {
  content: "";
  display: block;
  position: absolute;
  height: 2px;
  width: 30px;
  background-clip: padding-box;
  top: -8px;
  -webkit-transition: all 0.1s linear;
  -o-transition: all 0.1s linear;
  transition: all 0.1s linear;
}
.navbar.header .navbar-icon .hamburger:after {
  content: "";
  display: block;
  position: absolute;
  height: 2px;
  width: 30px;
  background-clip: padding-box;
  bottom: -8px;
  -webkit-transition: all 0.1s linear;
  -o-transition: all 0.1s linear;
  transition: all 0.1s linear;
}
.navbar.header .navbar-icon .hamburger.rotate:before {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 0;
  height: 1px;
}
.navbar.header .navbar-icon .hamburger.rotate:after {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0;
  height: 1px;
}
.navbar.header #login-menu .nav-item .nav-link {
  font-size: 1rem;
}
.navbar.header {
  /* Dropdowns */
}
.navbar.header .navbar-nav .nav-item.dropdown .btn-group {
  display: block;
}
.navbar.header .navbar-nav .dropdown [data-toggle=dropdown] {
  background-color: transparent;
  border: 0;
  margin: 0;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.navbar.header .navbar-nav .dropdown [data-toggle=dropdown]:hover, .navbar.header .navbar-nav .dropdown [data-toggle=dropdown]:focus {
  outline: none;
  cursor: pointer;
}
.navbar.header .navbar-nav .dropdown [data-toggle=dropdown][aria-expanded=true] svg {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.navbar.header .navbar-nav .dropdown [data-toggle=dropdown] .dropdown-caret--svg {
  display: inline-block;
  vertical-align: middle;
}
.navbar.header .navbar-nav .dropdown [data-toggle=dropdown].header {
  position: absolute;
  z-index: 9999;
  height: 100%;
}
.navbar.header .navbar-nav#login-menu {
  width: auto;
}
@media screen and (max-width: 992px) {
  .navbar.header .navbar-nav#login-menu {
    width: 100%;
    margin-top: 1em;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    border-top: none;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .navbar.header .navbar-nav#login-menu .nav-item {
    max-width: 45%;
    width: 100%;
    text-align: center;
    margin: 0;
  }
  .navbar.header .navbar-nav#login-menu .nav-item .nav-link {
    border: 1px solid;
    height: 100%;
    padding: 0.5rem 1rem;
  }
}
.navbar.header .navbar-nav#logged_profile_box .options-nav-item .nav-item .nav-link {
  text-align: right;
  display: inline-block;
  padding: 0;
  line-height: 1;
}
@media screen and (max-width: 992px) {
  .navbar.header .navbar-nav#logged_profile_box .options-nav-item {
    margin-top: 1em;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    border-top: none;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .navbar.header .navbar-nav#logged_profile_box .options-nav-item .nav-item {
    max-width: 140px;
    margin: 0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .navbar.header .navbar-nav#logged_profile_box .options-nav-item .nav-item .nav-link {
    border: 1px solid;
    height: 100%;
    padding: 0.5rem 1rem;
    display: block;
    width: 100%;
    text-align: center;
    line-height: 1.2;
  }
}
@media screen and (max-width: 992px) {
  .navbar.header .dropdown-menu {
    -webkit-transition: all 0.32s cubic-bezier(0.59, 0.71, 0.03, 0.31);
    -o-transition: all 0.32s cubic-bezier(0.59, 0.71, 0.03, 0.31);
    transition: all 0.32s cubic-bezier(0.59, 0.71, 0.03, 0.31);
    max-height: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    overflow: hidden;
    opacity: 0;
    border: none;
    margin: 0 -2.25em;
    padding: 0;
    border-radius: 0;
  }
  .navbar.header .dropdown-menu.show {
    opacity: 1;
    max-height: 220px;
  }
  .navbar.header .dropdown-menu.show a {
    -webkit-transition: all 0.5s cubic-bezier(0.17, 0.67, 0.83, 0.67);
    -o-transition: all 0.5s cubic-bezier(0.17, 0.67, 0.83, 0.67);
    transition: all 0.5s cubic-bezier(0.17, 0.67, 0.83, 0.67);
  }
}
.navbar.header .dropdown-item {
  white-space: normal;
  width: 100%;
  padding: 1em 2em;
  font-size: 0.8888888889rem;
}
@media screen and (min-width: 992px) {
  .navbar.header .dropdown-item {
    width: 444px;
  }
}
.navbar.header .dropdown-item:first-child {
  padding-top: 1em;
}
.navbar.header .dropdown-item:last-child {
  padding-top: 1em;
}
.navbar.header .dropdown-item p {
  line-height: 1.5;
}
.navbar.header .dropdown-item p i {
  font-style: italic;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.nav.language li:first-child {
  border-right-width: 1px;
  border-right-style: solid;
  padding-right: 0.4em;
  padding-left: 0;
}
.nav.language li {
  padding-left: 0.4em;
  padding-right: 0;
}

.dropdown-menu-mobile {
  overflow-x: hidden;
  overflow-y: auto;
}
.dropdown-menu-mobile .language-contender {
  width: calc(100% + 30px);
  margin: 0 -15px;
  padding: 0.32rem 0;
  opacity: 0;
  display: block;
}
.dropdown-menu-mobile .language-contender.show {
  opacity: 1;
  -webkit-transition: opacity 0.32s linear;
  -o-transition: opacity 0.32s linear;
  transition: opacity 0.32s linear;
}
.dropdown-menu-mobile .language-contender.hide {
  display: none;
}
.dropdown-menu-mobile .nav.language {
  border: 0;
  border-radius: 20px;
  margin-right: 15px;
}
.dropdown-menu-mobile .nav.language li {
  padding: 0.2rem 0.2rem;
  border: 0;
  display: flex;
  align-items: center;
}
.dropdown-menu-mobile .nav.language li span, .dropdown-menu-mobile .nav.language li a {
  font-size: 0.8rem;
  line-height: 1.13;
  padding: 0.5rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.dropdown-menu-mobile .nav.language li span.selected {
  border-radius: 50%;
}

.link-arrow-down-medium--svg[aria-expanded=true] svg {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.text-description-menu {
  display: block;
}
@media screen and (max-width: 992px) {
  .text-description-menu.remove-mobile {
    display: none;
  }
}

button:focus {
  outline: none;
}

/* Navbar sub-menu catalogue page */
.catalogue-section .nav-item a,
.catalogue-options .nav-item a {
  font-size: 1rem;
  border-width: 1px;
  border-style: inset;
}
.catalogue-section .nav-item:not(:first-child) a,
.catalogue-options .nav-item:not(:first-child) a {
  border-top-width: 0;
}

@media screen and (max-width: 767.99999999px) {
  .catalogue-section .mobile-menu {
    margin: 0 -15px;
    position: sticky;
    top: 60px;
    z-index: 2;
  }
}
.catalogue-section .mobile-menu .collapse,
.catalogue-section .mobile-menu .collapsing {
  top: 0;
  position: absolute;
  z-index: 1;
}
.catalogue-section .mobile-menu .navbar-toggler {
  font-size: 1rem;
  line-height: 1;
  border-radius: 0;
}
.catalogue-section .mobile-menu .navbar-toggler[aria-expanded=true] .select-arrow svg {
  transform: rotate(180deg);
}
.catalogue-section .mobile-menu .nav-item a span {
  pointer-events: none;
}

.navbar-filters {
  overflow-x: scroll;
  scroll-behavior: smooth;
  width: 100%;
  gap: 0.5rem;
}
.navbar-filters .filter {
  min-width: fit-content;
}

/* ==========================================================================
   Redesign 2026 — Header overrides
   ========================================================================== */
header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1050 !important;
}

header > nav.navbar {
  background: var(--ct-white) !important;
  padding: 0 32px !important;
  min-height: 72px !important;
  border: none !important;
  border-bottom: 1px solid var(--ct-gray-100) !important;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06) !important;
  transition: all 0.4s ease !important;
}

header .navbar-brand.logo,
header .logo,
header .logo-red {
  color: var(--ct-red) !important;
  font-weight: 800 !important;
  font-size: 1.4rem !important;
  letter-spacing: -0.02em !important;
  word-spacing: normal !important;
}

header .logo svg path,
header .logo svg polygon,
header .logo svg .inside-path,
header .logo-red svg path,
header .logo-red svg polygon,
header .logo-red svg .inside-path {
  fill: var(--ct-red) !important;
}

header .navbar-nav .nav-link {
  color: var(--ct-text-dark) !important;
  font-family: var(--ct-font-body) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0.02em !important;
  padding: 8px 20px !important;
  border-radius: var(--ct-radius-pill) !important;
  transition: all 0.25s ease !important;
  text-transform: none !important;
}

header .navbar-nav .nav-link:hover {
  color: var(--ct-red) !important;
  background: var(--ct-red-light) !important;
}

/* "Crea tu cuenta" — outline red */
header #login-menu .nav-item:first-child .nav-link {
  background: transparent !important;
  color: var(--ct-red) !important;
  border-radius: var(--ct-radius-pill) !important;
  padding: 8px 24px !important;
  border: 2px solid var(--ct-red) !important;
  font-weight: 700 !important;
}

header #login-menu .nav-item:first-child .nav-link:hover {
  background: var(--ct-red-light) !important;
}

/* "Log in" — solid red */
header #login-menu .nav-item:last-child .nav-link {
  background: var(--ct-red) !important;
  color: var(--ct-white) !important;
  border-radius: var(--ct-radius-pill) !important;
  padding: 8px 28px !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 15px rgba(219, 7, 60, 0.35) !important;
}

header #login-menu .nav-item:last-child .nav-link:hover {
  background: var(--ct-red-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(219, 7, 60, 0.45) !important;
}

@media (max-width: 1100px) {
  header .navbar-nav .nav-link {
    font-size: 12.5px !important;
    padding: 6px 12px !important;
    white-space: nowrap !important;
  }
  header #login-menu .nav-item:first-child .nav-link {
    padding: 6px 16px !important;
    font-size: 12.5px !important;
    white-space: nowrap !important;
  }
  header #login-menu .nav-item:last-child .nav-link {
    padding: 6px 18px !important;
    font-size: 12.5px !important;
    white-space: nowrap !important;
  }
  header > nav.navbar {
    padding: 0 20px !important;
  }
}
/* Login arrow SVG colors */
header #login-menu .nav-item:last-child svg path,
header #login-menu .nav-item:last-child svg line {
  stroke: var(--ct-white) !important;
}

header #login-menu .nav-item:first-child svg path,
header #login-menu .nav-item:first-child svg line {
  stroke: var(--ct-red) !important;
}

/* Chevron del nav-link "Soluciones" siempre visible en desktop. La regla por defecto
   lo pinta `fill: white` y, sobre la navbar blanca, queda invisible — pero ocupa
   espacio, así que "Soluciones" parece tener un margen extra a la derecha respecto
   a los otros items del nav. Con un color oscuro queda visible y comunica que es
   desplegable. Cuando el dropdown está abierto rota a chevron-up. */
header [data-toggle=dropdown] .dropdown-caret--svg svg path,
header [data-toggle=dropdown][aria-expanded=true] .dropdown-caret--svg svg path {
  fill: var(--ct-text-dark) !important;
}

header [data-toggle=dropdown]:hover .dropdown-caret--svg svg path,
header [data-toggle=dropdown]:focus .dropdown-caret--svg svg path {
  fill: var(--ct-red) !important;
}

/* Dropdown menus redesign */
header .dropdown-menu {
  background: var(--ct-white) !important;
  border: none !important;
  border-radius: var(--ct-radius-lg) !important;
  box-shadow: var(--ct-shadow-lg) !important;
  padding: 16px !important;
  margin-top: 12px !important;
}

header .dropdown-menu::before {
  content: "" !important;
  position: absolute !important;
  top: -6px !important;
  left: 30px !important;
  width: 12px !important;
  height: 12px !important;
  background: var(--ct-white) !important;
  transform: rotate(45deg) !important;
  box-shadow: -2px -2px 4px rgba(0, 0, 0, 0.04) !important;
}

header .dropdown-item {
  color: var(--ct-text-dark) !important;
  border-radius: var(--ct-radius) !important;
  padding: 12px 16px !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}

header .dropdown-item:hover {
  background: var(--ct-blue-light) !important;
  color: var(--ct-blue) !important;
}

header .bg-hexagon {
  background: var(--ct-blue-light) !important;
  border-radius: var(--ct-radius) !important;
}

header .text-title-description-menu {
  font-weight: 700 !important;
  color: var(--ct-text-dark) !important;
}

header .text-description-menu {
  color: var(--ct-text-light) !important;
  font-size: 13px !important;
}

header .navbar-toggler {
  border: none !important;
}

header .navbar-toggler-icon {
  filter: none !important;
}

/* Logged-in user — match production layout */
@media screen and (min-width: 992px) {
  #logged_profile_box .options-nav-item .nav-item .nav-link {
    text-align: right;
    display: inline-block;
    padding: 0;
    line-height: 1;
  }
}
/* Logged-in user — visible name in header */
#logged_profile_box,
#logged_profile_box li,
#logged_profile_box span,
#logged_profile_box .nav-item,
.login_bar,
.login_bar li,
.login_bar span {
  color: var(--ct-text-dark) !important;
  font-size: 14px;
  line-height: 14px;
}

#logged_profile_box .icon-user--svg svg path,
#logged_profile_box .icon-user--svg svg,
.login_bar .icon-user--svg svg path,
.login_bar .icon-user--svg svg {
  fill: var(--ct-text-dark) !important;
  color: var(--ct-text-dark) !important;
}

#logged_profile_box .nav-link,
.login_bar .nav-link {
  color: var(--ct-text-dark) !important;
  font-weight: 600 !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 14px !important;
}

#logged_profile_box .nav-link:hover,
.login_bar .nav-link:hover {
  color: var(--ct-red) !important;
}

#logged_profile_box .separation-bar,
.login_bar .separation-bar {
  color: var(--ct-gray-400) !important;
}

/* === Mobile menu redesign (open state) ===
   El navbar móvil al abrirse traía gradientes del tema (cherry/yellow/lakegreen) y una
   franja negra fija detrás, lo que rompía la coherencia visual con el resto del front
   (blanco + rojo de marca). Este bloque normaliza el estado abierto del menú a un
   diseño limpio en blanco con los botones de marca en pill-rojo, en cualquier tema.   */
@media screen and (max-width: 992px) {
  /* Header en blanco al abrir el menú, sin gradientes de tema */
  .navbar.header.dropdown-menu-mobile,
  .cherry-theme .navbar.header.dropdown-menu-mobile,
  .yellow-theme .navbar.header.dropdown-menu-mobile,
  .lakegreen-theme .navbar.header.dropdown-menu-mobile {
    background: var(--ct-white) !important;
  }
  /* La barra fija que se desplegaba detrás del header pasa a ser blanca también.
     Especificidad alta para ganar a `.cherry-theme .navbar.header .background-header-mobile.show` */
  .navbar.header .background-header-mobile.show,
  .cherry-theme .navbar.header .background-header-mobile.show,
  .yellow-theme .navbar.header .background-header-mobile.show,
  .lakegreen-theme .navbar.header .background-header-mobile.show {
    background: var(--ct-white) !important;
  }
  /* X de cerrar visible (azul de marca) sobre el header blanco, en todos los temas */
  .navbar .navbar-icon .hamburger.rotate:before,
  .navbar .navbar-icon .hamburger.rotate:after,
  .cherry-theme .navbar .navbar-icon .hamburger.rotate:before,
  .cherry-theme .navbar .navbar-icon .hamburger.rotate:after,
  .yellow-theme .navbar .navbar-icon .hamburger.rotate:before,
  .yellow-theme .navbar .navbar-icon .hamburger.rotate:after,
  .lakegreen-theme .navbar .navbar-icon .hamburger.rotate:before,
  .lakegreen-theme .navbar .navbar-icon .hamburger.rotate:after {
    background: var(--blue) !important;
  }
  /* Items del menú principal: tipografía y peso coherentes con desktop */
  .navbar.header.dropdown-menu-mobile .navbar-nav#main-menu .nav-link {
    color: var(--ct-text-dark) !important;
    font-weight: 600 !important;
  }
  /* Botones de "Crea tu cuenta" / "Log in": pill rojo (outline + sólido) en todos los temas */
  .navbar #login-menu .nav-item:first-child .nav-link,
  .cherry-theme .navbar #login-menu .nav-item:first-child .nav-link,
  .yellow-theme .navbar #login-menu .nav-item:first-child .nav-link,
  .lakegreen-theme .navbar #login-menu .nav-item:first-child .nav-link {
    background: transparent !important;
    color: var(--ct-red) !important;
    border: 2px solid var(--ct-red) !important;
    border-radius: var(--ct-radius-pill) !important;
    font-weight: 700 !important;
    padding: 10px 20px !important;
  }
  .navbar #login-menu .nav-item:last-child .nav-link,
  .cherry-theme .navbar #login-menu .nav-item:last-child .nav-link,
  .yellow-theme .navbar #login-menu .nav-item:last-child .nav-link,
  .lakegreen-theme .navbar #login-menu .nav-item:last-child .nav-link {
    background: var(--ct-red) !important;
    color: var(--ct-white) !important;
    border: 2px solid var(--ct-red) !important;
    border-radius: var(--ct-radius-pill) !important;
    font-weight: 700 !important;
    padding: 10px 20px !important;
    box-shadow: 0 4px 15px rgba(219, 7, 60, 0.25) !important;
  }
  /* La flecha del botón "Log in" debe quedar blanca sobre el rojo */
  .navbar #login-menu .nav-item:last-child .nav-link svg path,
  .navbar #login-menu .nav-item:last-child .nav-link svg line {
    stroke: var(--ct-white) !important;
    fill: var(--ct-white) !important;
  }
  /* Selector de idioma legible sobre fondo blanco */
  .dropdown-menu-mobile .nav.language li span,
  .dropdown-menu-mobile .nav.language li a {
    color: var(--ct-text-dark) !important;
  }
  .dropdown-menu-mobile .nav.language li span.selected {
    background: var(--ct-red) !important;
    color: var(--ct-white) !important;
    border-radius: 50% !important;
  }
  /* Especificidad alta para ganar a `.cherry-theme .navbar.header.dropdown-menu-mobile .language-contender`
     que pintaba la franja rosa palida bajo la cabecera */
  .navbar.header.dropdown-menu-mobile .language-contender,
  .cherry-theme .navbar.header.dropdown-menu-mobile .language-contender,
  .yellow-theme .navbar.header.dropdown-menu-mobile .language-contender,
  .lakegreen-theme .navbar.header.dropdown-menu-mobile .language-contender {
    background: transparent !important;
    background-color: transparent !important;
  }
  .navbar.header.dropdown-menu-mobile .nav.language,
  .cherry-theme .navbar.header.dropdown-menu-mobile .nav.language,
  .yellow-theme .navbar.header.dropdown-menu-mobile .nav.language,
  .lakegreen-theme .navbar.header.dropdown-menu-mobile .nav.language {
    background: transparent !important;
    background-color: transparent !important;
    border-color: var(--ct-gray-300) !important;
  }
  /* Chevron de "Soluciones" en azul oscuro para que se vea sobre fondo blanco
     (por defecto venía con fill blanco, invisible) */
  .navbar.header.dropdown-menu-mobile [data-toggle=dropdown] .dropdown-caret--svg svg path,
  .navbar.header.dropdown-menu-mobile [aria-expanded=true] .dropdown-caret--svg svg path {
    fill: var(--ct-text-dark) !important;
  }
  /* El UL del menú principal trae `justify-content-sm-end` y `flex-grow-1` que en
     un flex-column hacen que los items se peguen al fondo, dejando un hueco enorme
     bajo la cabecera. Forzamos que arranquen pegados arriba. */
  .navbar.header.dropdown-menu-mobile .navbar-nav#main-menu {
    justify-content: flex-start !important;
  }
  /* Espaciado vertical uniforme entre items del menú principal:
     "Soluciones" (envuelto en .btn-group) sumaba más alto que el resto */
  .navbar.header.dropdown-menu-mobile .navbar-nav#main-menu > .nav-item {
    padding-top: 0.85rem !important;
    padding-bottom: 0.85rem !important;
    margin: 0 !important;
  }
  .navbar.header.dropdown-menu-mobile .navbar-nav#main-menu > .nav-item .btn-group {
    margin: 0 !important;
  }
  .navbar.header.dropdown-menu-mobile .navbar-nav#main-menu .nav-link {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.4 !important;
  }
  /* Dropdown de "Soluciones" compacto en móvil — el desktop usa cards grandes
     con icono hexagonal y descripción que aquí queda fuera de proporción */
  .navbar.header.dropdown-menu-mobile .dropdown-menu {
    padding: 8px !important;
    margin-top: 4px !important;
  }
  /* La flechita del tooltip del dropdown está hardcoded a `left: 30px` para apuntar
     a "Soluciones" en desktop. En móvil el dropdown va a ancho completo y queda
     descolocada respecto al item, así que la ocultamos. */
  .navbar.header.dropdown-menu-mobile .dropdown-menu::before {
    display: none !important;
  }
  .navbar.header.dropdown-menu-mobile .dropdown-menu .dropdown-item {
    padding: 10px 12px !important;
    font-size: 0.95rem !important;
  }
  /* Mantenemos el tamaño nativo del hexágono (40×40 con inner-hexagon--svg posicionado
     absoluto encima a height: 24, top: 8). Solo reducimos un poco el padding lateral
     para acercar el icono al texto. */
  .navbar.header.dropdown-menu-mobile .dropdown-menu .dropdown-item > div > .px-1 {
    padding-left: 0 !important;
    padding-right: 8px !important;
  }
  .navbar.header.dropdown-menu-mobile .dropdown-menu .text-title-description-menu {
    font-size: 0.95rem !important;
    margin-bottom: 0 !important;
    line-height: 1.3 !important;
  }
}
/* Icons */
[class$="--svg"] svg {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}

.dropdown-caret--svg {
  width: 14px;
  height: 14px;
  display: block;
}

.bg-hexagon {
  width: 40px;
  height: 40px;
  display: block;
  position: relative;
}
.bg-hexagon .inner-hexagon--svg {
  position: absolute !important;
  height: 24px;
  top: 8px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}

.link-arrow--svg svg {
  width: 14px;
  height: 14px;
}

.icon-user--svg svg {
  width: 18px;
  height: 18px;
}

.link-arrow-medium--svg svg {
  width: 24px;
  height: 24px;
  margin-left: 0.5em;
  display: inline-block;
  vertical-align: middle;
}

.link-arrow-down-medium--svg svg {
  width: 20px;
  height: 20px;
  margin-left: 0.5em;
  display: inline-block;
  vertical-align: middle;
}

.link-play-video--svg svg {
  width: 24px;
  height: 24px;
  margin-right: 0.3em;
  display: inline-block;
  vertical-align: middle;
}

.icon-header svg {
  width: 53px;
  height: 48px;
}

h1 .icon-header {
  display: inherit;
}
h1 .icon-header svg {
  width: 1.3em;
  height: 1.3em;
}

@media screen and (min-width: 992px) {
  .header .icon-header svg {
    width: 77px;
    height: auto;
    padding: 0.3rem;
  }
}
.icons-center-list svg {
  width: 53px;
  height: 48px;
}

.icons-left-list svg {
  width: 32px;
  height: 32px;
}

.jumbotron svg {
  max-width: 140px;
}

.custom-left-list svg,
.checks-left-list svg,
.sub-menu-icons-left-list svg,
.plans-grid svg {
  width: 24px;
  height: 24px;
}

#steps--svg {
  height: 308px;
  width: 8px;
}

.header-offset-btn svg {
  height: 121px;
  width: 183px;
}

.image-center-list img {
  height: 96px;
  width: 96px;
  border: 3px solid;
  border-radius: 50px;
}

.logos-companies svg {
  height: 40px;
  width: auto;
}
@media screen and (min-width: 576px) {
  .logos-companies svg {
    height: 60px;
    width: 200px;
  }
}

@media screen and (min-width: 576px) {
  .custom-banner .logos-companies svg {
    width: 160px;
  }
}

.logos-companies-list svg {
  height: 40px;
  width: auto;
}
@media screen and (min-width: 576px) {
  .logos-companies-list svg {
    height: 50px;
    width: auto;
  }
}

#screw--icon {
  width: 56px;
  height: 56px;
}

#briefcase--icon {
  width: 56px;
  height: 47px;
}

.landing-text-center svg, .sign-in-logos-center svg, .login-logos-center svg {
  height: 32px;
  width: 32px;
}

#preview-control-panel {
  width: 100%;
  height: auto;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.iphone {
  width: 178px;
  height: auto;
}

.footer-logos svg {
  height: 40px;
  width: 40px;
  display: block;
  margin: 0 auto;
}
.footer-logos #footer-youtube {
  width: 55px;
}

#error--icon {
  max-width: 150px;
}
@media screen and (min-width: 768px) {
  #error--icon {
    max-width: 200px;
  }
}

/* Catalogue list */
.catalogue-section .header svg {
  padding: 0;
}
.catalogue-section .mobile-menu .current-category svg {
  width: 2rem;
  height: auto;
  margin-right: 0.5rem;
}

.catalogue-section-list .catalogue-item svg {
  width: 1.333333rem;
  height: auto;
}

.campaigns-section-list .link-icon svg {
  width: 1.333333rem;
  height: auto;
}

/* Prices toggle */
.toggle-diamond:hover, .toggle-diamond-path:hover {
  cursor: pointer;
}
.toggle-diamond label, .toggle-diamond-path label {
  line-height: 1.4;
}
.toggle-diamond label:hover, .toggle-diamond-path label:hover {
  cursor: pointer;
}

/* Custom ratio header — Redesign 2026 */
/* Hero — Fondo azul corporativo con gradiente */
.custom-ratio-header {
  display: block;
  width: 100%;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--ct-blue) 0%, var(--ct-blue-dark) 60%, #2a3d7a 100%);
  padding: 100px 0 80px;
  /* Ocultar patron original del hero */
}
.custom-ratio-header .pattern-header,
.custom-ratio-header .pattern-header-mobile,
.custom-ratio-header .polygon {
  display: none;
}
.custom-ratio-header [class^=pattern-header] svg {
  width: 100%;
  height: 100%;
}
.custom-ratio-header {
  /* Contenido del hero */
}
.custom-ratio-header .inside-aspect-ratio {
  width: 100%;
  height: 100%;
  padding-right: 1em;
  padding-left: 1em;
  position: relative;
  z-index: 2;
}
.custom-ratio-header .inside-aspect-ratio h1 {
  color: var(--ct-white);
  font-size: clamp(2.8rem, 5.5vw, 4.2rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.04em;
  margin-bottom: 24px;
}
.custom-ratio-header .inside-aspect-ratio h2 {
  color: rgba(255, 255, 255, 0.5);
  font-size: 1.1rem;
  font-weight: 500;
  font-family: var(--ct-font-mono);
  letter-spacing: 0.05em;
  margin-bottom: 20px;
}
.custom-ratio-header .inside-aspect-ratio p {
  color: rgba(255, 255, 255, 0.75);
  font-size: 18px;
  line-height: 1.7;
  max-width: 540px;
}
.custom-ratio-header .inside-aspect-ratio {
  /* Boton CTA del hero — blanco sobre azul */
}
.custom-ratio-header .inside-aspect-ratio .btn.btn-primary {
  background: var(--ct-white) !important;
  background-color: var(--ct-white) !important;
  color: var(--ct-blue) !important;
  border: none !important;
  border-color: transparent !important;
  border-radius: var(--ct-radius-pill) !important;
  padding: 16px 40px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
  transition: all 0.3s ease;
  animation: pulse-glow 3s ease-in-out infinite;
}
.custom-ratio-header .inside-aspect-ratio .btn.btn-primary:hover {
  color: var(--ct-blue-dark) !important;
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25) !important;
}
.custom-ratio-header .inside-aspect-ratio {
  /* Link de video en hero */
}
.custom-ratio-header .inside-aspect-ratio .link-play-video--svg,
.custom-ratio-header .inside-aspect-ratio .video-play {
  color: var(--ct-white);
}
.custom-ratio-header .inside-aspect-ratio .link-play-video--svg span,
.custom-ratio-header .inside-aspect-ratio .video-play span {
  color: var(--ct-white);
}
.custom-ratio-header .inside-aspect-ratio .link-play-video--svg svg path,
.custom-ratio-header .inside-aspect-ratio .link-play-video--svg svg circle,
.custom-ratio-header .inside-aspect-ratio .video-play svg path,
.custom-ratio-header .inside-aspect-ratio .video-play svg circle {
  stroke: var(--ct-white);
  fill: none;
}

/* Elementos decorativos con pseudo-elementos */
.container-fluid.custom-ratio-header::before {
  content: "";
  position: absolute;
  top: -150px;
  right: -100px;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: rgba(219, 7, 60, 0.08);
  pointer-events: none;
}

.container-fluid.custom-ratio-header::after {
  content: "";
  position: absolute;
  bottom: -200px;
  left: -150px;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.04);
  pointer-events: none;
}

/* Responsive hero */
@media (max-width: 991px) {
  .container-fluid.custom-ratio-header {
    padding: 56px 0 44px;
  }
  .inside-aspect-ratio h1 {
    font-size: 2.2rem;
  }
}
@media (max-width: 767px) {
  .container-fluid.custom-ratio-header {
    padding: 44px 0 36px;
  }
  .inside-aspect-ratio h1 {
    font-size: 1.8rem;
  }
}
/* Buttons */
.btn, .btn-lg {
  border-radius: 0;
  white-space: normal;
}

.btn#acepto_cookies {
  white-space: nowrap;
}

/* Redesign 2026 — Solo frontend (cherry-theme) */
body.cherry-theme {
  /* Sistema de botones base */
}
body.cherry-theme .btn, body.cherry-theme .btn-lg {
  font-family: var(--ct-font-body);
  font-weight: 600;
  border-radius: var(--ct-radius-pill);
  padding: 12px 32px;
  font-size: 15px;
  transition: all 0.3s var(--ct-ease);
  border: none;
  cursor: pointer;
  letter-spacing: 0.01em;
  text-transform: none;
  white-space: normal;
}
body.cherry-theme {
  /* Primary button — Rojo corporativo */
}
body.cherry-theme .btn-primary {
  background: var(--ct-red);
  color: var(--ct-white);
  box-shadow: 0 4px 15px rgba(219, 7, 60, 0.35);
}
body.cherry-theme .btn-primary:hover {
  background: var(--ct-red-dark);
  color: var(--ct-white);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(219, 7, 60, 0.45);
}
body.cherry-theme {
  /* Outline button */
}
body.cherry-theme .btn-outline,
body.cherry-theme .btn-outline-primary {
  background: transparent;
  color: var(--ct-blue);
  border: 2px solid var(--ct-blue);
}
body.cherry-theme .btn-outline:hover,
body.cherry-theme .btn-outline-primary:hover {
  background: var(--ct-blue);
  color: var(--ct-white);
}
body.cherry-theme {
  /* Links con flecha — estilo moderno */
}
body.cherry-theme a.link-arrow-medium--svg,
body.cherry-theme a.link-arrow--svg {
  font-weight: 600;
  font-size: 15px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.25s ease;
}
body.cherry-theme a.link-arrow-medium--svg:hover,
body.cherry-theme a.link-arrow--svg:hover {
  gap: 12px;
}

/* Legacy button contexts */
.newsletter-signup .btn {
  width: 100%;
}

.icons-center-list .btn {
  width: 90%;
}
@media screen and (min-width: 640px) {
  .icons-center-list .btn {
    width: 75%;
  }
}
@media screen and (min-width: 810px) {
  .icons-center-list .btn {
    width: 70%;
  }
}

.sign-in-logos-center, .login-logos-center {
  justify-content: center;
}
.sign-in-logos-center > form, .login-logos-center > form {
  flex: 0 0 100%;
  justify-content: center;
}
.sign-in-logos-center .btn, .login-logos-center .btn {
  background-color: transparent;
  border: 1px solid;
  width: 273px;
  padding: 5px 0;
  line-height: 0.5;
  border-radius: var(--ct-radius, 12px);
}

.btn small {
  font-size: 0.888888889em;
}

.card-deck button:hover {
  cursor: pointer;
}

.modal-header .close span {
  width: 4px;
  height: 4px;
  display: block;
}
.modal-header .close span::before, .modal-header .close span::after {
  content: "";
  display: block;
  position: absolute;
  height: 2px;
  width: 40px;
  background-clip: padding-box;
  top: 18px;
  right: 0px;
}
.modal-header .close span::before {
  transform: rotate(-45deg);
}
.modal-header .close span::after {
  transform: rotate(45deg);
}

body.es_prices button, body.es_prices a.btn, body.en_prices button, body.en_prices a.btn {
  padding-top: 0.6rem;
  padding-bottom: 0.6rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
}
@media screen and (min-width: 992px) {
  body.es_prices button, body.es_prices a.btn, body.en_prices button, body.en_prices a.btn {
    font-size: 0.888888889rem;
  }
}
body.es_prices .grid-row.footer button, body.es_prices .grid-row.footer a.btn, body.en_prices .grid-row.footer button, body.en_prices .grid-row.footer a.btn {
  font-size: 0.888888889rem;
}

button.btn-link {
  border: none;
  padding: 0;
}
button.btn-link:focus {
  box-shadow: none;
}

/* Buttons */
.custom-select {
  border-radius: 0;
  white-space: normal;
  background-image: none;
}

.custom-caret::after {
  content: "";
  display: block;
  position: absolute;
  right: 1rem;
  top: 0.5rem;
  width: 15px;
  height: 15px;
  background-color: transparent;
  border-style: solid;
  border-right-width: 2px;
  border-bottom-width: 2px;
  transform: rotate(45deg);
  z-index: 4;
}

/* Sections styles */
.center-list h3 {
  font-size: 1.7777777778rem;
}
.center-list.uppercase h3 {
  font-size: 2.3333333333rem;
}

h2.left-title {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.icons-center-list h4 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.3333333333rem;
  line-height: 1.3333;
}
.icons-center-list h4 b,
.icons-center-list h4 strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.icons-center-list h4 i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.icons-center-list h4 b i,
.icons-center-list h4 strong i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.icons-center-list h4 i b,
.icons-center-list h4 i strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.image-center-list p {
  font-size: 1.3333333333rem;
  font-style: italic;
}
.image-center-list h5 {
  font-size: 1rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.icons-left-list p {
  font-size: 0.8888888889rem;
}

.left-list h4 {
  font-size: 1.3333333333rem;
  line-height: 1.3333;
}

.checklist-ok li,
.checklist-ok li span,
.checklist-bullets li,
.checklist-bullets li span,
.checklist-ordered li,
.checklist-ordered li span {
  line-height: 1.4;
}

.checklist-ordered span.order {
  border-radius: 50%;
  padding: 0.1rem 0 0 0;
  min-width: 1.5rem;
  min-height: 1.5rem;
}
.checklist-ordered span.order ~ span {
  padding: 0.1rem 0 0 0;
}

.header-left-list h3 {
  font-size: 1.3333333333rem;
  line-height: 1.333;
}
.header-left-list p.text {
  font-size: 1.7777777779rem;
  line-height: 1.25;
}

.highlights-left-list h5 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.7777777778rem;
}
.highlights-left-list h5 b,
.highlights-left-list h5 strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.highlights-left-list h5 i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.highlights-left-list h5 b i,
.highlights-left-list h5 strong i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.highlights-left-list h5 i b,
.highlights-left-list h5 i strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.index-highlights-left-list h5 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.7777777778rem;
}
.index-highlights-left-list h5 b,
.index-highlights-left-list h5 strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.index-highlights-left-list h5 i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.index-highlights-left-list h5 b i,
.index-highlights-left-list h5 strong i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.index-highlights-left-list h5 i b,
.index-highlights-left-list h5 i strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.sub-menu-icons-left-list h3 {
  font-size: 1.3333333333rem;
}
.sub-menu-icons-left-list p {
  font-size: 0.8888888889rem;
}

.custom-left-list h4 {
  font-size: 1.7777777778rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.custom-left-list h4 b,
.custom-left-list h4 strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.custom-left-list h4 i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.custom-left-list h4 b i,
.custom-left-list h4 strong i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.custom-left-list h4 i b,
.custom-left-list h4 i strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.custom-left-list p {
  font-size: 1rem;
}
.custom-left-list a {
  font-size: 1rem;
}
.custom-left-list ul {
  list-style: disc;
  -webkit-padding-start: 0.75em;
  padding-inline-start: 0.75em;
  font-size: 1.5rem;
  border-left: 2px solid;
}
@-moz-document url-prefix() {
  .custom-left-list ul {
    -webkit-padding-start: 0.65em;
    padding-inline-start: 0.65em;
  }
}

.checks-left-list {
  -webkit-box-flex: 0;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
}
.checks-left-list h4 {
  font-size: 1.7777777778rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.checks-left-list h4 b,
.checks-left-list h4 strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.checks-left-list h4 b i,
.checks-left-list h4 strong i {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.checks-left-list h4 i b,
.checks-left-list h4 i strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.checks-left-list li {
  width: 100%;
}
.checks-left-list p {
  font-size: 1rem;
}
.checks-left-list p.text-title {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.modal-dialog .checks-left-list li p {
  font-size: 1rem;
}
@media screen and (min-width: 992px) {
  .modal-dialog .checks-left-list li p {
    font-size: 0.88888889rem;
  }
}

.header-offset-btn h2 {
  font-size: 1.3333333333rem;
  line-height: 1.33333;
}

.bg-text p {
  font-size: 1.7777777778rem;
}

.title-bottom {
  height: 2rem;
}

@media screen and (min-width: 768px) {
  .paragraph-center-list {
    height: 8rem;
  }
}

.claim-ct h1 {
  font-size: 1rem;
}
@media screen and (min-width: 410px) {
  .claim-ct h1 {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 768px) {
  .claim-ct h1 {
    font-size: 1.7rem;
  }
}
@media screen and (min-width: 1120px) {
  .claim-ct h1 {
    font-size: 2.3333333333rem;
  }
}

header.landing h1 {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  header.landing h1 {
    font-size: 1.33333333rem;
  }
}

.card-deck h1 small {
  font-size: 1.3333333333rem;
}
.card-deck .footer .checks-left-list .text-title {
  font-size: 1.3333333333rem;
}

.card ul li {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.2;
}

.guides-section-container {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media screen and (min-width: 992px) {
  .guides-section-container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}
.guides-section-container {
  gap: 2rem;
}

.guides-section {
  gap: 1rem;
  flex: 1 1 70%;
}
.guides-section article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
}
@media screen and (min-width: 664px) {
  .guides-section article {
    max-width: calc(50% - 0.5rem);
  }
}
.guides-section article p {
  flex: 1 1 auto;
}

aside#sub-menu {
  flex: 1 1 30%;
  min-width: 18rem;
}

.landing-text-center {
  text-align: center;
}
.landing-text-center p.logos {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.landing-left-list h3 {
  font-size: 1.333333rem;
}

.phone-number {
  font-size: 1.77777778rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
@media screen and (max-width: 1200px) {
  .phone-number {
    font-size: 1rem;
  }
}

h5.sub-title-section {
  font-size: 1.3333333333rem;
}

.campaign_demo_personalized_campaign a {
  display: none;
}

.cta-aside-section {
  padding: 1rem;
}

/* Campaigns list */
.catalogue-section {
  display: -ms-grid;
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .catalogue-section {
    -ms-grid-columns: 1fr 30px 1fr;
    grid-template-columns: 1fr 1fr;
    column-gap: 30px;
    row-gap: 1rem;
  }
  .catalogue-section .catalogue-article {
    grid-column: 1/-1;
  }
}
.catalogue-section article .header {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto 0.5rem auto;
  grid-template-rows: auto auto;
  -ms-grid-columns: auto 1rem 1fr;
  grid-template-columns: auto 1fr;
  column-gap: 1rem;
  row-gap: 0.5rem;
}
.catalogue-section article .header h2 {
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}
.catalogue-section article .header p {
  grid-column: 1/-1;
}
@media screen and (min-width: 992px) {
  .catalogue-section article .header .icon-header {
    grid-row: 1/-1;
  }
  .catalogue-section article .header h2, .catalogue-section article .header p {
    grid-column: 2/-2;
  }
}
.catalogue-section article .header > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.catalogue-section article .header > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
.catalogue-section article .header > *:nth-child(3) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
.catalogue-section article .header > *:nth-child(4) {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}

.catalogue-section-list .catalogue-item {
  border-width: 1px;
  border-style: solid;
  width: 100%;
}
.catalogue-section-list .catalogue-item p {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.7777777778rem;
}

.polygon {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}
.polygon .right-form-container {
  display: block;
  max-width: 482px;
  margin-right: -280px;
  top: -120px;
  opacity: 0.5;
  right: 0;
  position: absolute;
  width: 482px;
  height: 439px;
}
@media screen and (min-width: 768px) {
  .polygon .right-form-container {
    max-width: 582px;
    width: 582px;
    margin-right: -220px;
  }
}
.polygon .left-form-container {
  max-width: 482px;
  margin-left: -360px;
  opacity: 0.5;
  top: 90px;
  display: block;
  position: absolute;
  width: 482px;
  height: 439px;
}
@media screen and (min-width: 768px) {
  .polygon .left-form-container {
    width: 582px;
    max-width: 582px;
  }
}
section .polygon .right-form-container {
  margin-right: -340px;
  margin-top: 0;
  top: 0;
}
.polygon .left-chart-container {
  max-width: 100%;
  margin-left: 0px;
  display: block;
  opacity: 0.4;
}
@media screen and (min-width: 768px) {
  .polygon .left-chart-container {
    max-width: 40%;
    opacity: 1;
  }
}

.polygon-login {
  position: absolute;
  width: 100%;
  overflow: hidden;
  z-index: -999;
}
.polygon-login .left-form-container-login {
  max-width: 550px;
  margin-left: -420px;
  opacity: 0.6;
  display: block;
  margin-top: -140px;
  height: 543px;
}
@media screen and (min-width: 768px) {
  .polygon-login .left-form-container-login {
    max-width: 620px;
    margin-top: -100px;
  }
}
@media screen and (min-width: 1092px) {
  .polygon-login .left-form-container-login {
    opacity: 0.9;
  }
}

#template-list .item {
  transition: all 0.25s ease-in;
  text-align: left;
  border-width: 1px;
  border-style: solid;
  padding: 0;
}
#template-list .item .header {
  font-size: 0.82rem;
  padding: 0.5rem;
}
#template-list .item .header .title {
  line-height: 1.1;
}
#template-list .item .header .icon {
  min-height: 2.2rem;
}
#template-list .item .header .icon svg {
  width: 42px;
}
#template-list .item .badge {
  font-size: 0.82em;
}
#template-list .item .description {
  transition: opacity 0.25s ease-in;
  opacity: 0;
  line-height: 1;
}
#template-list .item .description small {
  font-size: 80% !important;
  font-weight: 400 !important;
}
#template-list .item .info-icon {
  max-width: 23px;
  padding: 0 8px;
}
#template-list .item:hover .description {
  opacity: 1;
}

/* === Tarjetas del listado de plantillas — redesign 2026 ===
   El markup pone `.btn.btn-primary` directamente en el `<a>` que envuelve la card,
   así que la card hereda el estilo del botón primario (fondo rojo pill con glow).
   Como la imagen interior tapa la mayor parte, solo asomaba la parte inferior roja
   en forma de media luna con "Más info" — era esa "raredad" que se veía. Aquí
   neutralizamos esos heredados y damos a la card un look limpio, con un pill
   "Más info" propio ocupando la franja inferior. */
#template-list .item.btn,
#template-list .item.btn-primary {
  background: var(--ct-white) !important;
  background-color: var(--ct-white) !important;
  color: var(--ct-text-dark) !important;
  border: 1px solid var(--ct-gray-200) !important;
  border-radius: var(--ct-radius-lg, 16px) !important;
  padding: 0 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06) !important;
  text-shadow: none !important;
  overflow: hidden !important;
  text-transform: none !important;
  display: flex !important;
  flex-direction: column !important;
}

#template-list .item.btn:hover,
#template-list .item.btn-primary:hover,
#template-list .item.btn:focus,
#template-list .item.btn-primary:focus {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(219, 7, 60, 0.15) !important;
  border-color: var(--ct-red) !important;
  background: var(--ct-white) !important;
  color: var(--ct-text-dark) !important;
}

/* Header con icono + título: tipografía y color de marca */
#template-list .item .header {
  background: var(--ct-white) !important;
  padding: 14px 16px 8px !important;
}

#template-list .item .header .title {
  color: var(--ct-text-dark) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  margin: 0 !important;
}

/* Iconos del header en rojo de marca para integrar con el resto del look */
#template-list .item .header .icon svg path,
#template-list .item .header .icon svg polygon,
#template-list .item .header .icon svg circle {
  fill: var(--ct-red) !important;
}

/* Imagen / contenido: ocupa lo que necesite, sin desbordar el pill rojo de fondo */
#template-list .item .content {
  background: var(--ct-white) !important;
  flex: 1 1 auto !important;
}

/* Botón "Más info" — el último <span class="w-100"> dentro del .item.
   Lo convertimos en una barra pill roja al pie de la card. */
#template-list .item > span:last-child {
  background: var(--ct-red) !important;
  color: var(--ct-white) !important;
  padding: 14px 16px !important;
  margin: 0 !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
  transition: background 0.2s ease !important;
}

#template-list .item > span:last-child > span {
  color: var(--ct-white) !important;
}

#template-list .item.btn:hover > span:last-child,
#template-list .item.btn-primary:hover > span:last-child {
  background: var(--ct-red-dark, #b8062f) !important;
}

@media screen and (max-width: 991.9999px) {
  .plans-grid .container {
    padding: 0 1px;
  }
}
.plans-grid .grid-contender .grid-row {
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1.4fr 1fr [2];
  grid-template-columns: 1.4fr repeat(2, 1fr);
}
.plans-grid .grid-contender .grid-row.footer {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 992px) {
  .plans-grid .grid-contender .grid-row {
    -ms-grid-columns: 1.6fr 1fr [4];
    grid-template-columns: 1.6fr repeat(4, 1fr);
  }
}
.plans-grid .grid-contender .grid-row:not(.header:first-child):not(.footer) {
  border-top: 0;
}
.plans-grid .grid-contender .grid-row:not(.header:first-child):not(.footer) .cell:not(.disabled):not(.aside) {
  border-left: 0;
}
.plans-grid .grid-contender .grid-row .cell {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  text-align: center;
  padding: calc(0.5rem - 1px) 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.plans-grid .grid-contender .grid-row .cell.aside {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  text-align: left;
}
.plans-grid .grid-contender .grid-row .cell.aside a {
  text-decoration: underline;
}
.plans-grid .grid-contender .grid-row .cell.disabled {
  display: none;
}
.plans-grid .grid-contender .grid-row.header {
  position: sticky;
  top: 5.75rem;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 992px) {
  .plans-grid .grid-contender .grid-row.header {
    -ms-grid-columns: 1.6fr 1fr [4];
    grid-template-columns: 1.6fr repeat(4, 1fr);
    top: 0;
  }
}
.plans-grid .grid-contender .grid-row.header .cell {
  padding: calc(0.8rem - 1px) 0.5rem;
  text-transform: uppercase;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  line-height: 0.9;
}
.plans-grid .grid-contender .grid-row.header .cell:not(.aside) {
  display: none;
}
@media screen and (min-width: 992px) {
  .plans-grid .grid-contender .grid-row.header .cell:not(.aside) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.plans-grid .grid-contender .grid-row.header .cell.aside {
  text-transform: initial;
  border: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}
@media screen and (min-width: 992px) {
  .plans-grid .grid-contender .grid-row.header .cell.aside {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    text-align: left;
  }
}
@media screen and (min-width: 992px) {
  .plans-grid .grid-contender .grid-row.footer {
    grid-template-columns: 1.6fr repeat(4, 1fr);
  }
}
.plans-grid .grid-contender .grid-row.footer .cell, .plans-grid .grid-contender .grid-row.footer .cell:empty {
  padding: 0 0 1px 0;
}
.plans-grid .grid-contender .grid-row.footer .cell form, .plans-grid .grid-contender .grid-row.footer .cell:empty form {
  width: 100%;
}
.plans-grid .mobile-menu {
  position: sticky;
  top: 60px;
  z-index: 2;
}
@media screen and (min-width: 992px) {
  .plans-grid .mobile-menu {
    display: none;
  }
}
.plans-grid .mobile-menu .header {
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1.4fr 1fr [2];
  grid-template-columns: 1.4fr repeat(2, 1fr);
}
.plans-grid .mobile-menu .header > * {
  padding: 0.5rem 0 0.4rem 0;
  text-align: center;
}
.plans-grid .mobile-menu .header .cell {
  text-transform: uppercase;
}
.plans-grid .mobile-menu .collapse-options {
  position: absolute;
  z-index: 3;
}
.plans-grid .mobile-menu .collapse-options.show, .plans-grid .mobile-menu .collapse-options.collapsing {
  width: 100%;
}
.plans-grid .mobile-menu .collapse-options.show form, .plans-grid .mobile-menu .collapse-options.collapsing form {
  display: grid;
  -ms-grid-columns: 1.4fr 1fr [2];
  grid-template-columns: 1.4fr repeat(2, 1fr);
}
@media screen and (min-width: 992px) {
  .plans-grid .mobile-menu .collapse-options.show form, .plans-grid .mobile-menu .collapse-options.collapsing form {
    display: none;
  }
}
.plans-grid .mobile-menu .option {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.7;
  padding: 0.5rem 0 0.4rem 0;
}
.plans-grid .mobile-menu .column {
  display: flex;
  flex-direction: column;
}
.plans-grid .mobile-menu .cell {
  position: relative;
  padding: 0.4rem 0 0.5rem;
  text-align: center;
}
.plans-grid .mobile-menu .collapse-options .option, .plans-grid .mobile-menu .collapse-options .cell {
  border-style: solid;
}
.plans-grid .mobile-menu .collapse-options .option:not(:last-child), .plans-grid .mobile-menu .collapse-options .cell:not(:last-child) {
  border-bottom-width: 1px;
}
.plans-grid .mobile-menu .collapse-options .option:not([data-column=second]), .plans-grid .mobile-menu .collapse-options .cell:not([data-column=second]) {
  border-right-width: 1px;
}
.plans-grid .mobile-menu input[type=radio].ct-radio {
  position: absolute !important;
  top: 0;
  left: 0;
  opacity: 0;
}
.plans-grid .mobile-menu input[type=radio].ct-radio ~ .ct-radio-label::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  border-width: 5px;
  border-style: solid;
  border-radius: 12px;
}
.plans-grid .mobile-menu input[type=radio].ct-radio ~ .ct-radio-label:hover {
  cursor: pointer;
}
.plans-grid .disabled {
  display: none;
}

.general-features-grid {
  display: grid;
  grid-template-rows: repeat(3, auto);
  grid-template-columns: 1fr;
  gap: 0px;
  height: 100%;
}
.general-features-grid .general-features,
.general-features-grid .cta-plans,
.general-features-grid .cta-trial {
  grid-column: 1;
}
.general-features-grid .cta-plans {
  grid-row: 1;
}
@media screen and (min-width: 768px) {
  .general-features-grid {
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
  .general-features-grid .general-features {
    grid-row-start: 1;
    grid-column-start: 1;
    grid-row-end: 3;
    grid-column-end: 2;
  }
  .general-features-grid .cta-plans {
    grid-row-start: 1;
    grid-column-start: 2;
    grid-row-end: 2;
    grid-column-end: 3;
  }
  .general-features-grid .cta-trial {
    grid-row-start: 2;
    grid-column-start: 2;
    grid-row-end: 3;
    grid-column-end: 3;
  }
}
@media screen and (min-width: 1024px) {
  .general-features-grid {
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1.2fr 0.8fr;
  }
}

/* Modals — Redesign 2026 */
.modal {
  z-index: 9999;
}
@media (min-width: 1200px) {
  .modal .modal-lg {
    max-width: 1200px;
  }
}

.modal-content {
  border-radius: var(--ct-radius-xl);
  border: none;
  overflow: hidden;
  box-shadow: var(--ct-shadow-lg);
  position: relative !important;
}
.modal-content .modal-header {
  border-bottom: none;
  padding: 16px 20px;
  position: relative !important;
  padding-right: 56px !important;
}
.modal-content .modal-header .close,
.modal-content .modal-header .btn-close {
  position: absolute !important;
  top: 16px !important;
  right: 20px !important;
  z-index: 10 !important;
  padding: 8px !important;
  margin: 0 !important;
  opacity: 0.6 !important;
  font-size: 1.4rem !important;
  line-height: 1 !important;
  background: rgba(255, 255, 255, 0.9) !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--ct-gray-200, #e2e8f0) !important;
  transition: all 0.2s ease !important;
  text-shadow: none;
}
.modal-content .modal-header .close > span,
.modal-content .modal-header .btn-close > span {
  display: none !important;
}
.modal-content .modal-header .close::after,
.modal-content .modal-header .btn-close::after {
  content: "×";
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 400;
  color: var(--ct-text-dark, #1a202c);
}
.modal-content .modal-header .close:hover,
.modal-content .modal-header .btn-close:hover {
  opacity: 1 !important;
  background: var(--ct-white, #fff) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}
.modal-content .modal-body {
  padding: 0 20px 20px;
}

#analytics-info-modal h2 {
  text-transform: uppercase;
  text-align: left;
}
#analytics-info-modal .modal-body {
  margin-bottom: 0;
}

.modal-analytics-info strong {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.modal-analytics-info .modal-header {
  border-bottom: 0;
}
@media screen and (max-width: 991.9999px) {
  .modal-analytics-info .modal-header {
    border-bottom: 1px solid;
  }
}
.modal-analytics-info .modal-body {
  padding-top: 0;
  padding-bottom: 0;
}

.prices-switch-contender a:not(.btn) {
  text-decoration: underline;
}
@media screen and (max-width: 991.99999px) {
  .prices-switch-contender {
    padding: 0;
  }
}
.prices-switch-contender .swiper-pagination {
  position: sticky;
  top: 0;
  bottom: 0;
  margin: 0 auto;
  padding: 1rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.swiper .preloader-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.swiper .preloader-icon svg {
  position: absolute;
  max-width: 3rem;
  opacity: 1;
  animation: 2s bip ease-out infinite;
}
.swiper .preloader-icon svg polygon {
  fill: #ffffff;
}
.swiper.prices-cards {
  width: 100%;
}
.swiper.prices-cards .swiper-wrapper {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: calc(100% - 30px) 1.5px calc(100% - 30px) 1.5px calc(100% - 30px) 1.5px calc(100% - 30px);
  grid-template-columns: repeat(4, calc(100% - 30px));
  opacity: 0;
  -webkit-transition: opacity ease-in 0.2s;
  -o-transition: opacity ease-in 0.2s;
  transition: opacity ease-in 0.2s;
  gap: 1px;
}
@media screen and (min-width: 992px) {
  .swiper.prices-cards .swiper-wrapper {
    gap: 1.5px;
  }
}
.swiper.prices-cards.disabled .swiper-wrapper {
  grid-template-columns: repeat(4, 1fr);
}
.swiper.prices-cards .swiper-slide {
  width: 100%;
}
@media screen and (max-width: 991.99999px) {
  .swiper.prices-cards .swiper-slide-prev::after,
  .swiper.prices-cards .swiper-slide-next::before {
    content: "";
    display: block;
    position: absolute;
    height: 100%;
    width: 1.5rem;
    opacity: 0.5;
    top: 0;
  }
}
.swiper.prices-cards .swiper-slide-prev::after {
  right: 0;
}
.swiper.prices-cards .swiper-slide-next::before {
  left: 0;
}
.swiper.show {
  background: none;
}
.swiper.show .preloader-icon svg {
  opacity: 0;
}
.swiper.show .swiper-wrapper {
  opacity: 1;
}

.prices-analytics {
  position: relative;
}
@media screen and (max-width: 991.99999px) {
  .prices-analytics {
    padding-bottom: 1rem;
    padding-top: 1rem;
  }
  .prices-analytics::after, .prices-analytics::before {
    content: "";
    display: block;
    position: absolute;
    height: 100%;
    width: 1rem;
    opacity: 0.32;
    top: 0;
  }
  .prices-analytics::after {
    right: -1.5rem;
  }
  .prices-analytics::before {
    left: -1.5rem;
  }
}
.prices-analytics .swiper .swiper-wrapper .swiper-slide {
  flex: 1 0 auto;
}

.analytics-disclaimer {
  padding: 0;
}
.analytics-disclaimer .analytics-disclaimer-info {
  padding: 0.5rem 1.5rem;
}
.analytics-disclaimer .swiper-pagination {
  position: relative;
  bottom: 0;
  padding: 0.5rem 0;
  border-top-width: 1px;
  border-top-style: solid;
}

.swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  border-radius: 6px;
}

.swiper-pagination-bullet-active {
  width: 16px;
  height: 16px;
  border-radius: 8px;
}

.swiper.case-studies {
  box-shadow: 0 1px 5px 0px rgba(0, 0, 0, 0.12);
}
@media screen and (min-width: 560px) {
  .swiper.case-studies .post-thumb img {
    max-width: 41vw;
  }
}

.swiper-button-next::after,
.swiper-button-prev::after {
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);
}

.swiper-button-lock {
  display: none !important;
}

.pagination-case-studies {
  position: relative;
  padding-top: 1rem;
  top: 0;
  bottom: 0;
}

@-webkit-keyframes bip {
  0% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.5;
  }
}
@keyframes bip {
  0% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.5;
  }
}
/* --------------------------------------------------------------------------
   19. FOOTER — Diseño oscuro profesional
   -------------------------------------------------------------------------- */
footer,
footer.footer {
  background: var(--ct-gray-900) !important;
  color: rgba(255, 255, 255, 0.7) !important;
  padding: 64px 0 32px !important;
  position: relative !important;
}

/* Ocultar SVG decorativo del footer original */
.bg-footer-container,
.bg-footer {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Forzar fondo oscuro en TODOS los contenedores del footer */
.content-footer,
.footer-footer,
footer > * {
  background: var(--ct-gray-900) !important;
  position: relative !important;
}

/* Nuclear override — todo el texto del footer en claro */
footer *,
.content-footer *,
footer.footer *,
.footer-footer * {
  color: rgba(255, 255, 255, 0.65) !important;
}

/* Titulos del footer mas brillantes */
footer h4,
.content-footer h4 {
  color: var(--ct-white) !important;
  font-family: var(--ct-font-display) !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  margin-bottom: 20px !important;
}

/* Links del footer */
footer a,
.content-footer a {
  color: rgba(255, 255, 255, 0.6) !important;
  transition: all 0.2s ease !important;
  font-size: 14px !important;
}

footer a:hover,
.content-footer a:hover {
  color: var(--ct-white) !important;
}

/* Logo del footer */
footer .logo,
footer .navbar-brand {
  color: var(--ct-white) !important;
  font-weight: 800 !important;
  /* La regla genérica `footer a { font-size: 14px }` reducía el logo a 14px y, con
     el `word-spacing: -10px` heredado de `.logo` (calculado para ~23px), las palabras
     "cool" y "tabs" acababan solapándose. Restablecemos un tamaño legible y anulamos
     el word-spacing negativo. */
  font-size: 1.25rem !important;
  word-spacing: normal !important;
  letter-spacing: -0.02em !important;
  align-items: center !important;
}

footer .logo svg path,
footer .logo svg polygon,
footer .logo svg .inside-path,
footer #logo-imago-footer path,
footer #logo-imago-footer polygon {
  fill: var(--ct-white) !important;
}

/* Sellos footer (PYME + CDTI) — tarjeta clara para legibilidad sobre fondo oscuro */
footer img[alt*=Pyme],
footer img[alt*=CDTI],
.content-footer img[alt*=Pyme],
.content-footer img[alt*=CDTI] {
  filter: none !important;
  background: var(--ct-white) !important;
  padding: 16px !important;
  border-radius: var(--ct-radius-lg, 12px) !important;
  opacity: 1 !important;
}

/* Copyright */
footer .copyright {
  color: rgba(255, 255, 255, 0.4) !important;
  font-size: 13px !important;
}

/* Social icons */
footer svg,
.footer-logos svg {
  opacity: 0.6 !important;
  transition: all 0.25s ease !important;
}

footer svg path,
footer svg polygon,
footer svg circle,
footer svg rect,
.footer-logos svg path,
.footer-logos svg polygon {
  fill: rgba(255, 255, 255, 0.7) !important;
}

footer svg:hover,
.footer-logos svg:hover {
  opacity: 1 !important;
  transform: scale(1.15) !important;
}

footer svg:hover path,
footer svg:hover polygon,
.footer-logos svg:hover path {
  fill: var(--ct-white) !important;
}

/* Language selector en footer */
footer .nav.language a,
.footer-footer .language a {
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

footer .nav.language a:hover,
.footer-footer .language a:hover {
  color: var(--ct-white) !important;
}

/* Separador del footer */
footer hr,
.content-footer hr,
.footer-footer hr {
  border-color: rgba(255, 255, 255, 0.08) !important;
  margin: 32px 0 !important;
}

/* Footer bottom section */
.footer-footer {
  padding-top: 24px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Texto legal */
footer small,
footer .small,
footer .legal {
  color: rgba(255, 255, 255, 0.35) !important;
  font-size: 12px !important;
}

/* Newsletter en footer */
footer input[type=email],
footer .form-control {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: var(--ct-radius-pill) !important;
  color: var(--ct-white) !important;
  padding: 12px 20px !important;
  font-size: 14px !important;
}

footer input[type=email]::placeholder {
  color: rgba(255, 255, 255, 0.4) !important;
}

footer input[type=email]:focus {
  border-color: var(--ct-red) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(219, 7, 60, 0.2) !important;
}

footer .btn {
  background: var(--ct-red) !important;
  color: var(--ct-white) !important;
  border-radius: var(--ct-radius-pill) !important;
  font-weight: 600 !important;
}

/* --------------------------------------------------------------------------
   7. SECCION MARCAS/CLIENTES — Fondo blanco, logos con color
   -------------------------------------------------------------------------- */
.es_index main > section:first-of-type,
article#clients,
.en_index main > section:first-of-type {
  background: var(--ct-white) !important;
  padding: 40px 0 30px !important;
}

article#clients h2 {
  color: var(--ct-text-dark) !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  margin-bottom: 28px !important;
  position: relative !important;
}

/* Decorador bajo el titulo */
article#clients h2::after {
  content: "" !important;
  display: block !important;
  width: 60px !important;
  height: 3px !important;
  background: var(--ct-red) !important;
  margin: 16px auto 0 !important;
  border-radius: 2px !important;
}

/* Logos de empresas — eliminar filtro gris, mostrar con opacidad */
.logos-companies svg {
  opacity: 0.5 !important;
  transition: all 0.4s ease !important;
  filter: grayscale(0) !important;
}

.logos-companies svg:hover {
  opacity: 1 !important;
  transform: scale(1.1) !important;
}

/* Logos: solo opacidad, NO forzar fill para no romper logos complejos (El Corte Inglés etc.) */
/* Se eliminó fill: var(--ct-gray-700) que rompía logos SVG con múltiples colores/formas */
/* Link de ver casos de exito */
article#clients a.link-arrow--svg,
article#clients a.link-arrow-medium--svg {
  color: var(--ct-blue) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}

/* --------------------------------------------------------------------------
   8. SECCION "COMO TE PUEDE AYUDAR" — Cards con fondo y estilo
   -------------------------------------------------------------------------- */
.es_index main > section:nth-of-type(2),
.en_index main > section:nth-of-type(2) {
  background: transparent !important;
  padding: 0 !important;
}

.left-list {
  background: var(--ct-off-white) !important;
  padding: 48px 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  padding-left: calc(50vw - 50% + 15px) !important;
  padding-right: calc(50vw - 50% + 15px) !important;
}

/* Titulo de seccion */
.left-list > h2,
article#index-header h2 {
  text-align: center !important;
  margin-bottom: 32px !important;
  position: relative !important;
}

/* Feature cards como bloques */
.header-left-list > [class*=col-] {
  padding: 0 12px !important;
  margin-bottom: 20px !important;
}

/* Convertir cada feature en una card con fondo */
article#index-header .header-left-list > .col-12 {
  background: var(--ct-white) !important;
  border-radius: var(--ct-radius-xl) !important;
  padding: 48px 40px !important;
  box-shadow: var(--ct-shadow-sm) !important;
  border: 1px solid var(--ct-gray-100) !important;
  transition: all 0.4s var(--ct-ease) !important;
  position: relative !important;
  overflow: hidden !important;
}

article#index-header .header-left-list > .col-12::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--ct-red), var(--ct-blue)) !important;
  border-radius: 4px 4px 0 0 !important;
}

article#index-header .header-left-list > .col-12:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--ct-shadow-md) !important;
  border-color: transparent !important;
}

article#index-header .header-left-list h3 {
  color: var(--ct-text-dark) !important;
  font-size: 1.5rem !important;
  margin-bottom: 16px !important;
}

article#index-header .header-left-list p {
  color: var(--ct-text) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

/* Links flecha en las cards */
article#index-header .link-arrow-medium--svg {
  color: var(--ct-red) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 0 !important;
  border-bottom: 2px solid transparent !important;
  transition: all 0.25s ease !important;
}

article#index-header .link-arrow-medium--svg:hover {
  border-bottom-color: var(--ct-red) !important;
}

article#index-header .link-arrow-medium--svg svg path,
article#index-header .link-arrow-medium--svg svg line {
  stroke: var(--ct-red) !important;
}

/* --------------------------------------------------------------------------
   9. SECCION "TODA TU ESTRATEGIA" — Grid moderno con iconos
   -------------------------------------------------------------------------- */
article#company-characteristics {
  padding: 48px 0 !important;
  background: var(--ct-white) !important;
}

article#company-characteristics h2 {
  text-align: center !important;
  margin-bottom: 32px !important;
  position: relative !important;
}

article#company-characteristics h2::after {
  content: "" !important;
  display: block !important;
  width: 80px !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--ct-red), var(--ct-blue)) !important;
  margin: 20px auto 0 !important;
  border-radius: 2px !important;
}

/* Feature items como mini-cards */
article#company-characteristics .left-list > .col-md-6 {
  padding: 24px !important;
}

article#company-characteristics .left-list .col-md-6 h4 {
  color: var(--ct-text-dark) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
  padding-left: 20px !important;
  border-left: 3px solid var(--ct-red) !important;
}

article#company-characteristics .left-list .col-md-6:nth-child(even) h4 {
  border-left-color: var(--ct-blue) !important;
}

article#company-characteristics .left-list .col-md-6 p {
  color: var(--ct-text) !important;
  font-size: 15px !important;
  padding-left: 23px !important;
}

/* --------------------------------------------------------------------------
   10. SECCION CTA "QUIERES PROBAR GRATIS" — Full-width dark premium
       NOTA: .left-list y #more-options están en la MISMA section.
       El gradiente oscuro se aplica SOLO al article, no a toda la section.
   -------------------------------------------------------------------------- */
/* La section padre: fondo neutro, sin dark gradient */
section:has(#more-options) {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  position: relative !important;
  overflow: visible !important;
}

/* El article CTA — full-width dark gradient usando margin trick */
article#more-options {
  background: linear-gradient(135deg, var(--ct-blue) 0%, var(--ct-blue-dark) 55%, #2a3d7a 100%) !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 80px calc(50vw - 50% + 15px) !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 0 !important;
}

/* Orbe decorativo rojo */
article#more-options::before {
  content: "" !important;
  position: absolute !important;
  top: -60px !important;
  right: 5% !important;
  width: 350px !important;
  height: 350px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(219, 7, 60, 0.15) 0%, transparent 70%) !important;
  pointer-events: none !important;
  animation: float 8s ease-in-out infinite !important;
  z-index: 0 !important;
}

/* Orbe decorativo azul */
article#more-options::after {
  content: "" !important;
  position: absolute !important;
  bottom: -80px !important;
  left: 5% !important;
  width: 280px !important;
  height: 280px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(68, 92, 173, 0.2) 0%, transparent 70%) !important;
  pointer-events: none !important;
  animation: float 6s ease-in-out infinite reverse !important;
  z-index: 0 !important;
}

/* Heading — grande, con gradient text */
article#more-options h6,
article#more-options h5,
article#more-options h4,
article#more-options h3,
article#more-options h2 {
  color: var(--ct-white) !important;
  font-size: clamp(1.8rem, 3.2vw, 2.5rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.25 !important;
  margin-bottom: 20px !important;
  text-align: left !important;
  background: linear-gradient(135deg, #ffffff 0%, rgba(255, 255, 255, 0.88) 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* Párrafo descriptivo */
article#more-options p {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  text-align: left !important;
  max-width: 440px !important;
  margin-bottom: 12px !important;
}

/* Espaciado entre elementos del faldón azul */
article#more-options .mx-3 .w-100.mt-3,
article#more-options .mx-md-4 .w-100.mt-3 {
  margin-top: 16px !important;
}

article#more-options .btn.btn-primary {
  margin-top: 8px !important;
  margin-bottom: 4px !important;
}

article#more-options a.link-arrow-medium--svg {
  margin-top: 4px !important;
}

/* CTA Button — gradiente rojo brillante con glow */
article#more-options .btn.btn-primary {
  background: linear-gradient(135deg, var(--ct-red) 0%, #ff2d5e 100%) !important;
  color: var(--ct-white) !important;
  border: none !important;
  border-radius: var(--ct-radius-pill) !important;
  padding: 18px 44px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  box-shadow: 0 8px 30px rgba(219, 7, 60, 0.4), 0 0 0 1px rgba(219, 7, 60, 0.1) !important;
  transition: all 0.4s var(--ct-ease) !important;
  position: relative !important;
  text-align: center !important;
}

article#more-options .btn.btn-primary:hover {
  color: var(--ct-white) !important;
  transform: translateY(-3px) scale(1.03) !important;
  box-shadow: 0 16px 50px rgba(219, 7, 60, 0.5), 0 0 0 1px rgba(219, 7, 60, 0.2) !important;
}

/* Links — estilo moderno con flecha */
article#more-options a.link-arrow-medium--svg {
  color: rgba(255, 255, 255, 0.6) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  transition: color 0.2s ease !important;
}

article#more-options a.link-arrow-medium--svg:hover {
  color: var(--ct-white) !important;
}

article#more-options .link-arrow-medium--svg svg path,
article#more-options .link-arrow-medium--svg svg line {
  stroke: rgba(255, 255, 255, 0.6) !important;
  transition: stroke 0.2s ease !important;
}

article#more-options a.link-arrow-medium--svg:hover svg path,
article#more-options a.link-arrow-medium--svg:hover svg line {
  stroke: var(--ct-white) !important;
}

/* Imagen del lado derecho — con glassmorphism frame */
article#more-options .col-md-6:last-child {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

article#more-options .img-fluid {
  border-radius: var(--ct-radius-xl) !important;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  max-width: 95% !important;
}

/* Responsive — CTA section */
@media (max-width: 991px) {
  article#more-options {
    padding: 56px calc(50vw - 50% + 15px) !important;
  }
  article#more-options h6,
  article#more-options h5,
  article#more-options h4,
  article#more-options h3,
  article#more-options h2 {
    text-align: center !important;
  }
  article#more-options p {
    text-align: center !important;
    max-width: 100% !important;
    margin: 0 auto 16px !important;
  }
}
@media (max-width: 767px) {
  article#more-options {
    padding: 40px calc(50vw - 50% + 15px) !important;
  }
  article#more-options .col-md-6:last-child {
    display: none !important;
  }
  article#more-options h2,
  article#more-options h3,
  article#more-options h4,
  article#more-options h5,
  article#more-options h6 {
    text-align: center !important;
    font-size: 1.6rem !important;
  }
  article#more-options p {
    text-align: center !important;
    max-width: 100% !important;
  }
  article#more-options .btn.btn-primary {
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto 16px !important;
  }
}
@media (max-width: 480px) {
  .left-list {
    padding: 32px 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .left-list > h2,
  article#index-header h2 {
    font-size: 1.4rem !important;
  }
  article#more-options {
    padding: 32px 16px !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
  article#more-options .btn.btn-primary {
    padding: 14px 32px !important;
    font-size: 14px !important;
  }
}
/* --------------------------------------------------------------------------
   15. PAGINA CAMPANAS — Estilos especificos
   -------------------------------------------------------------------------- */
/* Hero de campanas */
.es_campaigns .container-fluid.custom-ratio-header,
.en_campaigns .container-fluid.custom-ratio-header {
  background: linear-gradient(135deg, var(--ct-blue) 0%, var(--ct-blue-dark) 60%, #2a3d7a 100%) !important;
}

/* Fix: All text elements inside hero section to be white for visibility */
.es_campaigns .inside-aspect-ratio strong,
.es_social_listening .inside-aspect-ratio strong,
.es_social_walls .inside-aspect-ratio strong,
.en_campaigns .inside-aspect-ratio strong,
.en_social_listening .inside-aspect-ratio strong,
.en_social_walls .inside-aspect-ratio strong {
  color: var(--ct-white) !important;
}

.es_campaigns .inside-aspect-ratio a:not(.btn),
.es_social_listening .inside-aspect-ratio a:not(.btn),
.es_social_walls .inside-aspect-ratio a:not(.btn),
.en_campaigns .inside-aspect-ratio a:not(.btn),
.en_social_listening .inside-aspect-ratio a:not(.btn),
.en_social_walls .inside-aspect-ratio a:not(.btn) {
  color: var(--ct-white) !important;
}

.es_campaigns .inside-aspect-ratio a:not(.btn):hover,
.en_campaigns .inside-aspect-ratio a:not(.btn):hover {
  color: rgba(255, 255, 255, 0.85) !important;
}

.es_campaigns .inside-aspect-ratio span,
.en_campaigns .inside-aspect-ratio span {
  color: var(--ct-white) !important;
}

/* Bloques diferenciados en campanas */
.es_campaigns main > .container,
.en_campaigns main > .container {
  background: var(--ct-off-white) !important;
  padding: 48px 0 !important;
}

.es_campaigns main > .container-fluid:not(.custom-ratio-header),
.en_campaigns main > .container-fluid:not(.custom-ratio-header) {
  background: var(--ct-blue-light) !important;
  padding: 64px 0 !important;
}

/* Section de puntos de campana */
.campaign-points-section {
  background: transparent !important;
  padding: 48px 0 !important;
}

/* Section highlights */
.campaign-hightlights-section {
  background: transparent !important;
}

/* Puntos de campana como cards */
.campaign-points-section .col-md-6,
.campaign-points-section .col-lg-6 {
  margin-bottom: 24px !important;
}

.campaign-points-section h3,
.campaign-points-section h4 {
  color: var(--ct-text-dark) !important;
  font-weight: 700 !important;
  position: relative !important;
  padding-left: 16px !important;
}

.campaign-points-section h3::before,
.campaign-points-section h4::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 4px !important;
  bottom: 4px !important;
  width: 4px !important;
  background: var(--ct-red) !important;
  border-radius: 2px !important;
}

/* --------------------------------------------------------------------------
   27. CAMPAÑAS — Rediseño "A tu manera" y highlights
   -------------------------------------------------------------------------- */
/* Section highlights — transformar en diseño impactante */
.campaign-hightlights-section {
  padding: 0 !important;
}

.campaign-hightlights-section .row {
  margin: 0 !important;
}

/* Los dos bloques de highlights como cards con diseño propio */
.campaign-hightlights-section .col-lg-4 {
  padding: 0 !important;
}

.es_campaigns main > .container-fluid:not(.custom-ratio-header),
.en_campaigns main > .container-fluid:not(.custom-ratio-header) {
  background: linear-gradient(135deg, var(--ct-blue) 0%, var(--ct-blue-dark) 60%, #2a3d7a 100%) !important;
  padding: 56px 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Circulo decorativo en la seccion highlights */
.es_campaigns main > .container-fluid:not(.custom-ratio-header)::before,
.en_campaigns main > .container-fluid:not(.custom-ratio-header)::before {
  content: "" !important;
  position: absolute !important;
  top: -80px !important;
  right: -60px !important;
  width: 300px !important;
  height: 300px !important;
  border-radius: 50% !important;
  background: rgba(219, 7, 60, 0.1) !important;
  pointer-events: none !important;
}

.es_campaigns main > .container-fluid:not(.custom-ratio-header)::after,
.en_campaigns main > .container-fluid:not(.custom-ratio-header)::after {
  content: "" !important;
  position: absolute !important;
  bottom: -100px !important;
  left: -40px !important;
  width: 250px !important;
  height: 250px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.05) !important;
  pointer-events: none !important;
}

/* Texto blanco en la seccion de highlights */
.campaign-hightlights-section h3,
.campaign-hightlights-section h4,
.campaign-hightlights-section h5,
.highlights-left-list h3,
.highlights-left-list h4,
.highlights-left-list h5 {
  color: var(--ct-white) !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  margin-bottom: 16px !important;
  position: relative !important;
}

/* Fix: Strong tags inside blue sections should be white */
.campaign-hightlights-section strong,
.highlights-left-list strong {
  color: var(--ct-white) !important;
}

/* Decorator line bajo el titulo */
.highlights-left-list h3::after,
.highlights-left-list h4::after,
.highlights-left-list h5::after {
  content: "" !important;
  display: block !important;
  width: 40px !important;
  height: 3px !important;
  background: var(--ct-red) !important;
  margin-top: 12px !important;
  border-radius: 2px !important;
}

.campaign-hightlights-section p,
.highlights-left-list p {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

/* Links en highlights */
.campaign-hightlights-section a,
.highlights-left-list a {
  color: var(--ct-white) !important;
  font-weight: 600 !important;
  border-bottom: 2px solid rgba(255, 255, 255, 0.3) !important;
  padding-bottom: 2px !important;
}

.campaign-hightlights-section a:hover,
.highlights-left-list a:hover {
  color: var(--ct-white) !important;
  border-bottom-color: var(--ct-white) !important;
}

/* Fix: Link arrow medium SVG styling for white text on blue background */
.campaign-hightlights-section .link-arrow-medium--svg,
.highlights-left-list .link-arrow-medium--svg {
  color: var(--ct-white) !important;
}

.campaign-hightlights-section .link-arrow-medium--svg span,
.highlights-left-list .link-arrow-medium--svg span {
  color: var(--ct-white) !important;
}

.campaign-hightlights-section .link-arrow-medium--svg:hover,
.highlights-left-list .link-arrow-medium--svg:hover {
  opacity: 0.85 !important;
}

/* Iconos SVG en highlights */
.campaign-hightlights-section svg path,
.campaign-hightlights-section svg line,
.highlights-left-list .link-arrow-medium--svg svg path,
.highlights-left-list .link-arrow-medium--svg svg line {
  stroke: var(--ct-white) !important;
  fill: var(--ct-white) !important;
}

.campaign-hightlights-section svg,
.highlights-left-list svg {
  color: var(--ct-white) !important;
}

/* Los dos bloques lado a lado como glass-cards */
.highlights-left-list > .col-lg-4 {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: var(--ct-radius-xl) !important;
  padding: 40px 32px !important;
  margin: 16px !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  transition: all 0.3s ease !important;
}

.highlights-left-list > .col-lg-4:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15) !important;
}

/* Reset offset que los separaba demasiado */
.highlights-left-list > .col-lg-4.offset-lg-2 {
  margin-left: 16px !important;
}

.highlights-left-list > .col-lg-4.offset-lg-6 {
  margin-left: 16px !important;
  margin-top: 0 !important;
}

/* Hacer la fila flex horizontal en desktop */
.highlights-left-list {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 0 !important;
}

/* Campañas container compacto */
.es_campaigns main > .container,
.en_campaigns main > .container {
  padding: 32px 0 !important;
}

/* Campaign points section — diseño mas interesante */
.campaign-points-section {
  padding: 32px 0 !important;
}

.campaign-points-section .col-md-6,
.campaign-points-section .col-lg-6 {
  margin-bottom: 16px !important;
}

/* Tipos de campañas como grid colorido */
.es_campaigns .campaign-points-section ~ section,
.en_campaigns .campaign-points-section ~ section {
  padding: 32px 0 !important;
}

.es_campaigns .campaign-points-section ~ section h3,
.en_campaigns .campaign-points-section ~ section h3 {
  color: var(--ct-text-dark) !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin-bottom: 24px !important;
}

/* Cards de tipos de campañas */
.es_campaigns .campaign-points-section ~ section .col-md-4,
.es_campaigns .campaign-points-section ~ section .col-lg-4,
.en_campaigns .campaign-points-section ~ section .col-md-4,
.en_campaigns .campaign-points-section ~ section .col-lg-4 {
  margin-bottom: 16px !important;
}

/* --------------------------------------------------------------------------
   16. PAGINA CATALOGO — Sidebar y grid modernos
   -------------------------------------------------------------------------- */
.es_catalogue main > .container,
.en_catalogue main > .container {
  background: var(--ct-off-white) !important;
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.catalogue-section {
  background: transparent !important;
}

/* ======================================================================
   CATALOGO NAV — Barra oscura full-width con mini-cards glassmorphism
   El aside está en .es_catalogue main > .container > .row.header
   ====================================================================== */
/* 1) ROW padre → columna vertical */
.es_catalogue .row.header,
.en_catalogue .row.header {
  flex-direction: column !important;
  flex-wrap: nowrap !important;
}

/* 2) Jumbotron → full width */
.es_catalogue .row.header > .col-lg-9,
.en_catalogue .row.header > .col-lg-9 {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  order: 1 !important;
}

/* 3) ASIDE → full-viewport dark strip */
.es_catalogue aside.col-lg-3,
.en_catalogue aside.col-lg-3 {
  width: 100vw !important;
  max-width: 100vw !important;
  flex: 0 0 auto !important;
  order: 2 !important;
  padding: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: linear-gradient(135deg, var(--ct-blue) 0%, var(--ct-blue-dark) 55%, #2a3d7a 100%) !important;
  border-radius: 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Línea gradiente en la parte superior */
.es_catalogue aside.col-lg-3::before,
.en_catalogue aside.col-lg-3::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--ct-red), #ff4d6d, var(--ct-blue), #6b7fd4) !important;
  z-index: 1 !important;
}

/* Override d-none */
.es_catalogue aside.col-lg-3.d-none.d-lg-flex,
.es_catalogue aside.col-lg-3.d-none,
.en_catalogue aside.col-lg-3.d-none.d-lg-flex,
.en_catalogue aside.col-lg-3.d-none {
  display: flex !important;
}

/* Ocultar label "Categorías:" */
.es_catalogue aside > p,
.en_catalogue aside > p {
  display: none !important;
}

/* Ocultar menú móvil */
.es_catalogue .mobile-menu,
.en_catalogue .mobile-menu {
  display: none !important;
}

/* 4) Navbar → centrado con max-width */
.es_catalogue aside .navbar,
.en_catalogue aside .navbar {
  display: flex !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 20px 24px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  justify-content: center !important;
}

.es_catalogue aside .navbar-nav,
.en_catalogue aside .navbar-nav {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-content: center !important;
  align-items: stretch !important;
}

.es_catalogue aside .nav-item,
.en_catalogue aside .nav-item {
  display: flex !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  list-style: none !important;
}

/* 5) Mini-cards glassmorphism sobre fondo oscuro */
.es_catalogue aside .nav-item a,
.en_catalogue aside .nav-item a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: rgba(255, 255, 255, 0.85) !important;
  padding: 10px 20px !important;
  border-radius: var(--ct-radius) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-left: 1px solid rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  transition: all 0.25s var(--ct-ease) !important;
  text-transform: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  margin: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

/* Brillo sutil superior */
.es_catalogue aside .nav-item a::before,
.en_catalogue aside .nav-item a::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent) !important;
  pointer-events: none !important;
}

/* Iconos */
.es_catalogue aside .nav-item a .icons-left-list,
.es_catalogue aside .nav-item a svg,
.en_catalogue aside .nav-item a .icons-left-list,
.en_catalogue aside .nav-item a svg {
  width: 20px !important;
  height: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  opacity: 0.7 !important;
  transition: opacity 0.25s ease !important;
}

.es_catalogue aside .nav-item a svg path,
.es_catalogue aside .nav-item a svg polygon,
.en_catalogue aside .nav-item a svg path,
.en_catalogue aside .nav-item a svg polygon {
  fill: rgba(255, 255, 255, 0.8) !important;
}

/* HOVER — iluminar */
.es_catalogue aside .nav-item a:hover,
.en_catalogue aside .nav-item a:hover {
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  color: var(--ct-white) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.1) inset !important;
}

.es_catalogue aside .nav-item a:hover .icons-left-list,
.es_catalogue aside .nav-item a:hover svg,
.en_catalogue aside .nav-item a:hover .icons-left-list,
.en_catalogue aside .nav-item a:hover svg {
  opacity: 1 !important;
}

/* ACTIVE — acento rojo */
.es_catalogue aside .nav-item a.active,
.en_catalogue aside .nav-item a.active {
  background: linear-gradient(135deg, var(--ct-red), #ff2d5e) !important;
  border-color: transparent !important;
  color: var(--ct-white) !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 20px rgba(219, 7, 60, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.1) inset !important;
}

.es_catalogue aside .nav-item a.active svg path,
.es_catalogue aside .nav-item a.active svg polygon,
.en_catalogue aside .nav-item a.active svg path,
.en_catalogue aside .nav-item a.active svg polygon {
  fill: var(--ct-white) !important;
}

.es_catalogue aside .nav-item a.active .icons-left-list,
.es_catalogue aside .nav-item a.active svg,
.en_catalogue aside .nav-item a.active .icons-left-list,
.en_catalogue aside .nav-item a.active svg {
  opacity: 1 !important;
}

/* Acentos de color por categoría en hover */
.es_catalogue aside .nav-item:nth-child(1) .nav-link:hover,
.en_catalogue aside .nav-item:nth-child(1) .nav-link:hover {
  border-bottom: 2px solid #ff4d6d !important;
}

.es_catalogue aside .nav-item:nth-child(2) .nav-link:hover,
.en_catalogue aside .nav-item:nth-child(2) .nav-link:hover {
  border-bottom: 2px solid #a78bfa !important;
}

.es_catalogue aside .nav-item:nth-child(3) .nav-link:hover,
.en_catalogue aside .nav-item:nth-child(3) .nav-link:hover {
  border-bottom: 2px solid #fbbf24 !important;
}

.es_catalogue aside .nav-item:nth-child(4) .nav-link:hover,
.en_catalogue aside .nav-item:nth-child(4) .nav-link:hover {
  border-bottom: 2px solid #34d399 !important;
}

.es_catalogue aside .nav-item:nth-child(5) .nav-link:hover,
.en_catalogue aside .nav-item:nth-child(5) .nav-link:hover {
  border-bottom: 2px solid #60a5fa !important;
}

.es_catalogue aside .nav-item:nth-child(6) .nav-link:hover,
.en_catalogue aside .nav-item:nth-child(6) .nav-link:hover {
  border-bottom: 2px solid #f97316 !important;
}

.es_catalogue aside .nav-item:nth-child(7) .nav-link:hover,
.en_catalogue aside .nav-item:nth-child(7) .nav-link:hover {
  border-bottom: 2px solid #14b8a6 !important;
}

.es_catalogue aside .nav-item:nth-child(8) .nav-link:hover,
.en_catalogue aside .nav-item:nth-child(8) .nav-link:hover {
  border-bottom: 2px solid #ec4899 !important;
}

.es_catalogue aside .nav-item:nth-child(9) .nav-link:hover,
.en_catalogue aside .nav-item:nth-child(9) .nav-link:hover {
  border-bottom: 2px solid #8b5cf6 !important;
}

/* 6) Responsive ≤768px */
@media (max-width: 768px) {
  .es_catalogue aside.col-lg-3 {
    padding: 16px 0 !important;
  }
  .es_catalogue aside .navbar {
    padding: 0 16px !important;
  }
  .es_catalogue aside .navbar-nav {
    justify-content: flex-start !important;
    gap: 8px !important;
  }
  .es_catalogue aside .nav-item a {
    padding: 8px 14px !important;
    font-size: 12px !important;
  }
  .es_catalogue aside .nav-item a .icons-left-list,
  .es_catalogue aside .nav-item a svg {
    width: 16px !important;
    height: 16px !important;
  }
}
/* Catalogue items como cards */
.catalogue-section .col-md-6,
.catalogue-section .col-lg-4 {
  margin-bottom: 24px !important;
}

.catalogue-item {
  background: var(--ct-white) !important;
  border-radius: var(--ct-radius-lg) !important;
  box-shadow: var(--ct-shadow-xs) !important;
  border: 1px solid var(--ct-gray-100) !important;
  transition: all 0.3s ease !important;
  overflow: hidden !important;
}

.catalogue-item:hover {
  box-shadow: var(--ct-shadow-md) !important;
  transform: translateY(-4px) !important;
}

/* Icono de cada mecánica del catálogo: pequeño, en rojo de marca, junto al título.
   Los SVGs del proyecto son heterogéneos:
     - unos están dibujados con fill (la mayoría)
     - otros con stroke (p.ej. word_search: grid de líneas con `<g stroke="#333" fill="none">`)
     - otros mixtos (sort_letter: rects con stroke + texto con fill)
   Aquí cubrimos los tres patrones a la vez. */
.catalogue-item-icon {
  width: 22px !important;
  height: 22px !important;
  flex-shrink: 0 !important;
}

.catalogue-item-icon svg {
  width: 22px !important;
  height: 22px !important;
}

/* (1) Por defecto, todo lo que pueda llevar fill se pinta en rojo de marca */
.catalogue-item-icon svg path,
.catalogue-item-icon svg polygon,
.catalogue-item-icon svg circle,
.catalogue-item-icon svg ellipse,
.catalogue-item-icon svg rect,
.catalogue-item-icon svg text {
  fill: var(--ct-red) !important;
}

/* (2) Pero preservamos `fill="none"` (iconos line-drawn) — más específico que (1) */
.catalogue-item-icon svg [fill=none],
.catalogue-item-icon svg g[fill=none] *,
.catalogue-item-icon svg svg[fill=none] *,
.catalogue-item-icon svg[fill=none] *,
.catalogue-item-icon svg[fill=none] {
  fill: none !important;
}

/* (3) Strokes en rojo de marca (override de cualquier color hardcoded como #333) */
.catalogue-item-icon svg [stroke]:not([stroke=none]),
.catalogue-item-icon svg line,
.catalogue-item-icon svg g[stroke] *,
.catalogue-item-icon svg [stroke-width] {
  stroke: var(--ct-red) !important;
}

/* --------------------------------------------------------------------------
   26. CATALOGO REDISEÑADO — Cards coloridas y secciones diferenciadas
   -------------------------------------------------------------------------- */
/* Fondo general del catalogo mas interesante */
.es_catalogue main > .container,
.en_catalogue main > .container {
  background: var(--ct-gray-50) !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

/* Cada bloque de tipo de campana con fondo diferenciado */
.catalogue-section-list {
  padding: 20px 0 !important;
  margin-bottom: 16px !important;
}

/* Header de cada categoria con estilo badge */
.catalogue-section .header {
  margin-bottom: 16px !important;
  padding: 12px 20px !important;
  border-radius: var(--ct-radius) !important;
  position: relative !important;
}

.catalogue-section .header-title {
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  position: relative !important;
  display: inline-block !important;
  padding-bottom: 8px !important;
}

.catalogue-section .header-title::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 50px !important;
  height: 3px !important;
  border-radius: 2px !important;
}

/* Colores alternos por seccion — nth-of-type en los .header */
.catalogue-section .header:nth-of-type(1) .header-title {
  color: var(--ct-red) !important;
}

.catalogue-section .header:nth-of-type(1) .header-title::after {
  background: var(--ct-red) !important;
}

/* Alternating section backgrounds via catalogue-section-list */
.catalogue-section-list:nth-of-type(2) {
  background: var(--ct-white) !important;
  border-radius: var(--ct-radius-lg) !important;
  padding: 20px !important;
}

.catalogue-section-list:nth-of-type(4) {
  background: var(--ct-white) !important;
  border-radius: var(--ct-radius-lg) !important;
  padding: 20px !important;
}

.catalogue-section-list:nth-of-type(6) {
  background: var(--ct-white) !important;
  border-radius: var(--ct-radius-lg) !important;
  padding: 20px !important;
}

.catalogue-section-list:nth-of-type(8) {
  background: var(--ct-white) !important;
  border-radius: var(--ct-radius-lg) !important;
  padding: 20px !important;
}

/* Rediseño radical de las cards del catalogo */
.catalogue-item {
  background: var(--ct-white) !important;
  border-radius: var(--ct-radius-lg) !important;
  border: none !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
  transition: all 0.35s var(--ct-ease) !important;
  overflow: hidden !important;
  position: relative !important;
  padding: 0 !important;
}

/* Barra superior de color en cada card */
.catalogue-item::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--ct-red), var(--ct-blue)) !important;
  border-radius: 12px 12px 0 0 !important;
  z-index: 3 !important;
}

.catalogue-item:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(68, 92, 173, 0.18) !important;
}

/* Icono del catalogo con fondo de color */
.catalogue-item .icon-header {
  background: linear-gradient(135deg, var(--ct-blue-light) 0%, var(--ct-red-light) 100%) !important;
  border-radius: var(--ct-radius) !important;
  padding: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.catalogue-item .icon-header svg path,
.catalogue-item .icon-header svg polygon {
  fill: var(--ct-blue) !important;
}

/* Titulo de cada card del catalogo */
.catalogue-item a {
  font-weight: 700 !important;
  color: var(--ct-text-dark) !important;
  font-size: 14px !important;
  padding: 16px 16px 12px !important;
  display: block !important;
}

.catalogue-item:hover a {
  color: var(--ct-blue) !important;
}

/* ===== EXPAND HOVER — Tarjetas compactas que crecen al hover ===== */
/* Desktop: texto truncado a 2 líneas, expand en hover */
@media (min-width: 992px) {
  .catalogue-item a > p {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    font-size: 13px !important;
    color: var(--ct-text-muted) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    padding: 0 16px 16px !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    max-height: 58px !important;
  }
  .catalogue-item a > p strong {
    color: var(--ct-text-dark) !important;
    font-weight: 600 !important;
  }
  /* Hover → texto se expande */
  .catalogue-item:hover a > p {
    -webkit-line-clamp: unset !important;
    display: block !important;
    max-height: 400px !important;
    color: var(--ct-text-dark) !important;
  }
}
/* Mobile: texto truncado a 2 líneas + tap expand con focus-within */
@media (max-width: 991px) {
  .catalogue-item a > p {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    font-size: 12.5px !important;
    color: var(--ct-text-muted) !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    padding: 0 16px 14px !important;
    transition: all 0.3s ease !important;
    max-height: 52px !important;
  }
  /* Indicador visual "..." para sugerir que hay más texto */
  .catalogue-item a > p::after {
    content: " Leer más..." !important;
    color: var(--ct-blue) !important;
    font-weight: 600 !important;
    font-size: 11px !important;
  }
  /* Al hacer tap (focus-within en el link), se expande */
  .catalogue-item:focus-within a > p,
  .catalogue-item a:focus > p {
    -webkit-line-clamp: unset !important;
    display: block !important;
    max-height: 500px !important;
    color: var(--ct-text-dark) !important;
  }
  .catalogue-item:focus-within a > p::after,
  .catalogue-item a:focus > p::after {
    content: "" !important;
  }
}
/* Badge "new" o similares */
.catalogue-item .badge {
  background: var(--ct-red) !important;
  color: var(--ct-white) !important;
  font-size: 10px !important;
  padding: 3px 8px !important;
}

/* Colorear la barra superior por seccion alternando colores */
.catalogue-section-list:nth-of-type(2) .catalogue-item::before {
  background: linear-gradient(90deg, #DB073C, #ff4d6d) !important;
}

.catalogue-section-list:nth-of-type(4) .catalogue-item::before {
  background: linear-gradient(90deg, #445CAD, #6b7fd4) !important;
}

.catalogue-section-list:nth-of-type(6) .catalogue-item::before {
  background: linear-gradient(90deg, #e67e22, #f39c12) !important;
}

.catalogue-section-list:nth-of-type(8) .catalogue-item::before {
  background: linear-gradient(90deg, #27ae60, #2ecc71) !important;
}

.catalogue-section-list:nth-of-type(10) .catalogue-item::before {
  background: linear-gradient(90deg, #8e44ad, #a569bd) !important;
}

.catalogue-section-list:nth-of-type(12) .catalogue-item::before {
  background: linear-gradient(90deg, #e74c3c, #ec7063) !important;
}

.catalogue-section-list:nth-of-type(14) .catalogue-item::before {
  background: linear-gradient(90deg, #16a085, #1abc9c) !important;
}

/* Color de icono acorde a la seccion */
.catalogue-section-list:nth-of-type(2) .catalogue-item .icon-header {
  background: linear-gradient(135deg, #fef1f4, #fce4ec) !important;
}

.catalogue-section-list:nth-of-type(2) .catalogue-item .icon-header svg path {
  fill: #DB073C !important;
}

.catalogue-section-list:nth-of-type(4) .catalogue-item .icon-header {
  background: linear-gradient(135deg, #eef1f9, #e3e8f8) !important;
}

.catalogue-section-list:nth-of-type(4) .catalogue-item .icon-header svg path {
  fill: #445CAD !important;
}

.catalogue-section-list:nth-of-type(6) .catalogue-item .icon-header {
  background: linear-gradient(135deg, #fef9f0, #fdf2e2) !important;
}

.catalogue-section-list:nth-of-type(6) .catalogue-item .icon-header svg path {
  fill: #e67e22 !important;
}

.catalogue-section-list:nth-of-type(8) .catalogue-item .icon-header {
  background: linear-gradient(135deg, #eafaf1, #d5f5e3) !important;
}

.catalogue-section-list:nth-of-type(8) .catalogue-item .icon-header svg path {
  fill: #27ae60 !important;
}

/* --------------------------------------------------------------------------
   17. PAGINA LANDING JUEGO — Features y checkmarks
   -------------------------------------------------------------------------- */
.es_matching_cards_game main > .container:first-child,
.en_matching_cards_game main > .container:first-child {
  background: var(--ct-off-white) !important;
  padding: 40px 0 !important;
}

/* Container-fluid: fondo TRANSPARENTE — cada article controla su propio background */
.es_matching_cards_game main > .container-fluid:not(:first-child),
.en_matching_cards_game main > .container-fluid:not(:first-child) {
  background: transparent !important;
  padding: 0 !important;
}

/* Articles 2 y 4: texto oscuro (antes blanco para fondo azul, ahora fondo blanco) */
.es_matching_cards_game .container-fluid > article:nth-child(2) h2,
.es_matching_cards_game .container-fluid > article:nth-child(2) h3,
.es_matching_cards_game .container-fluid > article:nth-child(2) h4,
.es_matching_cards_game .container-fluid > article:nth-child(2) p,
.es_matching_cards_game .container-fluid > article:nth-child(2) li,
.es_matching_cards_game .container-fluid > article:nth-child(2) span,
.es_matching_cards_game .container-fluid > article:nth-child(2) strong,
.es_matching_cards_game .container-fluid > article:nth-child(4) h2,
.es_matching_cards_game .container-fluid > article:nth-child(4) h3,
.es_matching_cards_game .container-fluid > article:nth-child(4) h4,
.es_matching_cards_game .container-fluid > article:nth-child(4) p,
.es_matching_cards_game .container-fluid > article:nth-child(4) li,
.es_matching_cards_game .container-fluid > article:nth-child(4) span,
.es_matching_cards_game .container-fluid > article:nth-child(4) strong,
.en_matching_cards_game .container-fluid > article:nth-child(2) h2,
.en_matching_cards_game .container-fluid > article:nth-child(2) h3,
.en_matching_cards_game .container-fluid > article:nth-child(2) h4,
.en_matching_cards_game .container-fluid > article:nth-child(2) p,
.en_matching_cards_game .container-fluid > article:nth-child(2) li,
.en_matching_cards_game .container-fluid > article:nth-child(2) span,
.en_matching_cards_game .container-fluid > article:nth-child(2) strong,
.en_matching_cards_game .container-fluid > article:nth-child(4) h2,
.en_matching_cards_game .container-fluid > article:nth-child(4) h3,
.en_matching_cards_game .container-fluid > article:nth-child(4) h4,
.en_matching_cards_game .container-fluid > article:nth-child(4) p,
.en_matching_cards_game .container-fluid > article:nth-child(4) li,
.en_matching_cards_game .container-fluid > article:nth-child(4) span,
.en_matching_cards_game .container-fluid > article:nth-child(4) strong {
  color: var(--ct-text-dark) !important;
}

/* Checklist styling */
.checklist-ok li,
.checklist-bullets li,
.checks-left-list li {
  padding: 10px 0 !important;
  padding-left: 36px !important;
  position: relative !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.checklist-ok li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 12px !important;
  width: 24px !important;
  height: 24px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: var(--ct-white) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

/* General features grid */
.general-features-grid {
  gap: 20px !important;
}

.general-features-title {
  font-family: var(--ct-font-display) !important;
  color: var(--ct-text-dark) !important;
  font-weight: 700 !important;
}

/* Custom banner — glassmorphism sobre azul, no oscuro */
.custom-banner {
  background: rgba(255, 255, 255, 0.06) !important;
  border-radius: var(--ct-radius-xl) !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

.custom-banner .bg-pattern,
.bg-pattern.pattern-left,
.bg-pattern.pattern-right {
  background: transparent !important;
  opacity: 0 !important;
}

/* CTA Aside sections — compactas y con estilo */
.cta-aside-section {
  background: rgba(255, 255, 255, 0.1) !important;
  border-radius: var(--ct-radius-lg) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  padding: 20px 24px !important;
  box-shadow: none !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}

.cta-aside-section .btn {
  background: var(--ct-red) !important;
  color: var(--ct-white) !important;
  padding: 10px 24px !important;
  font-size: 14px !important;
}

/* Plan buttons inside CTA aside */
.cta-plans .btn,
.cta-aside-section .btn-gold,
.cta-aside-section .btn-diamond,
.cta-aside-section [class*=btn-plan] {
  border-radius: var(--ct-radius-pill) !important;
  font-weight: 700 !important;
  padding: 10px 28px !important;
  font-size: 14px !important;
}

/* --------------------------------------------------------------------------
   28. LANDING JUEGO — Spacing fix + diseño compacto
   -------------------------------------------------------------------------- */
.es_matching_cards_game main > .container:first-child,
.en_matching_cards_game main > .container:first-child {
  padding: 32px 0 !important;
}

/* (Container-fluid padding ya definido arriba en sección 28) */
/* Ocultar el SVG check original en checklists — evitar doble check */
/* EXCLUIR la grid comparativa (.plans-grid) donde los SVGs son el contenido principal */
.checks-left-list li > svg,
.checklist-ok li > svg,
.sub-menu-icons-left-list svg {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
}

/* SVGs check en la grid comparativa — FORZAR VISIBILIDAD */
.plans-grid svg[id=check-ok--icon],
.plans-grid .grid-row .cell svg,
.plans-grid .grid-row .cell span svg {
  display: inline-block !important;
  visibility: visible !important;
  width: 18px !important;
  height: 18px !important;
  overflow: visible !important;
}

.plans-grid .grid-row .cell svg path {
  display: inline !important;
  visibility: visible !important;
  fill: #16a34a !important;
}

/* Casos de exito — card con estilo glass en vez de gris feo */
.es_matching_cards_game .custom-banner:last-of-type,
.es_matching_cards_game article:last-of-type .row,
.en_matching_cards_game .custom-banner:last-of-type,
.en_matching_cards_game article:last-of-type .row {
  background: transparent !important;
  border-radius: var(--ct-radius-xl) !important;
}

/* Quitar fondo gris del swiper de casos de exito */
.case-studies,
.js_swiper-contender.swiper.case-studies {
  background: transparent !important;
}

.case-studies .row {
  background: rgba(255, 255, 255, 0.08) !important;
  border-radius: var(--ct-radius-lg) !important;
  overflow: hidden !important;
}

/* La card interna de caso de exito */
.es_matching_cards_game article:last-child,
.en_matching_cards_game article:last-child {
  padding: 24px 0 !important;
}

/* Case studies on white background — dark text (excluir botones) */
.es_matching_cards_game .container-fluid > article:nth-child(5) h2,
.es_matching_cards_game .container-fluid > article:nth-child(5) h3,
.es_matching_cards_game .container-fluid > article:nth-child(5) h4,
.es_matching_cards_game .container-fluid > article:nth-child(5) p,
.es_matching_cards_game .container-fluid > article:nth-child(5) span,
.es_matching_cards_game .container-fluid > article:nth-child(5) strong,
.es_matching_cards_game .container-fluid > article:nth-child(5) a:not(.btn),
.en_matching_cards_game .container-fluid > article:nth-child(5) h2,
.en_matching_cards_game .container-fluid > article:nth-child(5) h3,
.en_matching_cards_game .container-fluid > article:nth-child(5) h4,
.en_matching_cards_game .container-fluid > article:nth-child(5) p,
.en_matching_cards_game .container-fluid > article:nth-child(5) span,
.en_matching_cards_game .container-fluid > article:nth-child(5) strong,
.en_matching_cards_game .container-fluid > article:nth-child(5) a:not(.btn) {
  color: var(--ct-text-dark) !important;
}

/* Botones en caso de éxito: siempre blanco sobre rojo */
.es_matching_cards_game .container-fluid > article:nth-child(5) a.btn,
.en_matching_cards_game .container-fluid > article:nth-child(5) a.btn {
  color: var(--ct-white) !important;
}

.es_matching_cards_game .container-fluid > article:nth-child(5) .case-studies .row,
.en_matching_cards_game .container-fluid > article:nth-child(5) .case-studies .row {
  background: var(--ct-off-white, #f8f9fa) !important;
  border: 1px solid var(--ct-gray-200) !important;
}

/* Fondo de la card de éxito — quitar gris raro */
.es_matching_cards_game .container-fluid article:last-child .row > div,
.en_matching_cards_game .container-fluid article:last-child .row > div {
  background: transparent !important;
}

/* ---------- LANDING JUEGO: Alternar fondos azul/blanco para contraste ---------- */
/* Article 1 (main-features): fondo BLANCO — contrasta con hero azul */
.es_matching_cards_game .container-fluid > article:first-child,
.es_matching_cards_game .container-fluid > article#main-features,
.en_matching_cards_game .container-fluid > article:first-child,
.en_matching_cards_game .container-fluid > article#main-features {
  background: var(--ct-white) !important;
  padding: 48px 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.es_matching_cards_game .container-fluid > article:first-child h2,
.es_matching_cards_game .container-fluid > article:first-child h3,
.es_matching_cards_game .container-fluid > article:first-child h4,
.es_matching_cards_game .container-fluid > article:first-child p,
.es_matching_cards_game .container-fluid > article:first-child li,
.es_matching_cards_game .container-fluid > article:first-child span,
.es_matching_cards_game .container-fluid > article:first-child strong,
.en_matching_cards_game .container-fluid > article:first-child h2,
.en_matching_cards_game .container-fluid > article:first-child h3,
.en_matching_cards_game .container-fluid > article:first-child h4,
.en_matching_cards_game .container-fluid > article:first-child p,
.en_matching_cards_game .container-fluid > article:first-child li,
.en_matching_cards_game .container-fluid > article:first-child span,
.en_matching_cards_game .container-fluid > article:first-child strong {
  color: var(--ct-text-dark) !important;
}

/* Custom banner on white background: remove glassmorphism, use subtle style */
.es_matching_cards_game .container-fluid > article:first-child .custom-banner,
.en_matching_cards_game .container-fluid > article:first-child .custom-banner {
  background: transparent !important;
  border: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.es_matching_cards_game .container-fluid > article:first-child .bg-pattern,
.en_matching_cards_game .container-fluid > article:first-child .bg-pattern {
  opacity: 0.06 !important;
}

/* Article 1 checklist bullets: texto oscuro sobre fondo blanco */
.es_matching_cards_game .container-fluid > article:first-child .checklist-bullets li,
.en_matching_cards_game .container-fluid > article:first-child .checklist-bullets li {
  color: var(--ct-text-dark) !important;
  border-bottom-color: var(--ct-gray-200) !important;
}

.es_matching_cards_game .container-fluid > article:first-child .checklist-bullets li::before,
.en_matching_cards_game .container-fluid > article:first-child .checklist-bullets li::before {
  background: var(--ct-blue) !important;
  color: var(--ct-white) !important;
}

/* Article 2 (general-features): fondo BLANCO — uniformidad con resto de landings */
.es_matching_cards_game .container-fluid > article:nth-child(2),
.es_matching_cards_game .container-fluid > article#general-features,
.en_matching_cards_game .container-fluid > article:nth-child(2),
.en_matching_cards_game .container-fluid > article#general-features {
  background: var(--ct-white) !important;
  padding: 48px 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* Article 3 (step-by-step): fondo BLANCO */
.es_matching_cards_game .container-fluid > article:nth-child(3),
.es_matching_cards_game .container-fluid > article#step-by-step,
.en_matching_cards_game .container-fluid > article:nth-child(3),
.en_matching_cards_game .container-fluid > article#step-by-step {
  background: var(--ct-off-white, #f8f9fa) !important;
  padding: 48px 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.es_matching_cards_game .container-fluid > article:nth-child(3) h2,
.es_matching_cards_game .container-fluid > article:nth-child(3) h3,
.es_matching_cards_game .container-fluid > article:nth-child(3) h4,
.es_matching_cards_game .container-fluid > article:nth-child(3) p,
.es_matching_cards_game .container-fluid > article:nth-child(3) li,
.es_matching_cards_game .container-fluid > article:nth-child(3) span,
.es_matching_cards_game .container-fluid > article:nth-child(3) strong,
.en_matching_cards_game .container-fluid > article:nth-child(3) h2,
.en_matching_cards_game .container-fluid > article:nth-child(3) h3,
.en_matching_cards_game .container-fluid > article:nth-child(3) h4,
.en_matching_cards_game .container-fluid > article:nth-child(3) p,
.en_matching_cards_game .container-fluid > article:nth-child(3) li,
.en_matching_cards_game .container-fluid > article:nth-child(3) span,
.en_matching_cards_game .container-fluid > article:nth-child(3) strong {
  color: var(--ct-text-dark) !important;
}

/* Step-by-step checklist: dark text on light bg */
.es_matching_cards_game .container-fluid > article:nth-child(3) .checklist-ordered li,
.en_matching_cards_game .container-fluid > article:nth-child(3) .checklist-ordered li {
  border-bottom-color: var(--ct-gray-200) !important;
}

.es_matching_cards_game .container-fluid > article:nth-child(3) .checklist-ordered li::before,
.en_matching_cards_game .container-fluid > article:nth-child(3) .checklist-ordered li::before {
  background: var(--ct-blue) !important;
  color: var(--ct-white) !important;
}

/* Step-by-step SVG: NO forzar fill — dejar colores originales de la ilustración */
/* Step-by-step: números (.order) en blanco sobre fondo rojo */
.es_matching_cards_game .container-fluid > article:nth-child(3) .order,
.es_matching_cards_game .checklist-ordered .order,
.en_matching_cards_game .container-fluid > article:nth-child(3) .order,
.en_matching_cards_game .checklist-ordered .order {
  color: var(--ct-white) !important;
}

/* Article 4 (general-description): fondo BLANCO — uniformidad con resto de landings */
.es_matching_cards_game .container-fluid > article:nth-child(4),
.es_matching_cards_game .container-fluid > article#general-description,
.en_matching_cards_game .container-fluid > article:nth-child(4),
.en_matching_cards_game .container-fluid > article#general-description {
  background: var(--ct-white) !important;
  padding: 48px 0 !important;
  margin: 0 !important;
}

.es_matching_cards_game .container-fluid > article:nth-child(4) .custom-banner,
.en_matching_cards_game .container-fluid > article:nth-child(4) .custom-banner {
  background: transparent !important;
}

.es_matching_cards_game .container-fluid > article:nth-child(4) .bg-pattern,
.en_matching_cards_game .container-fluid > article:nth-child(4) .bg-pattern {
  opacity: 0.06 !important;
}

/* Article 5 (case-studies): fondo BLANCO/CLARO */
.es_matching_cards_game .container-fluid > article:nth-child(5),
.es_matching_cards_game .container-fluid > article#case-studies,
.en_matching_cards_game .container-fluid > article:nth-child(5),
.en_matching_cards_game .container-fluid > article#case-studies {
  background: var(--ct-white) !important;
  padding: 48px 0 !important;
  margin: 0 !important;
}

/* Spacer at bottom of container-fluid — reduce on landing juego */
.es_matching_cards_game .container-fluid > .mb-194,
.en_matching_cards_game .container-fluid > .mb-194 {
  margin-bottom: 0 !important;
  height: 0 !important;
}

/* --------------------------------------------------------------------------
   29. RESPONSIVE UPDATES — Compact mobile
   -------------------------------------------------------------------------- */
@media (max-width: 991px) {
  .highlights-left-list {
    flex-direction: column !important;
  }
  .highlights-left-list > .col-lg-4.offset-lg-2,
  .highlights-left-list > .col-lg-4.offset-lg-6 {
    margin-left: 16px !important;
    margin-right: 16px !important;
    margin-bottom: 16px !important;
  }
  .container-fluid.custom-ratio-header {
    padding: 56px 0 44px !important;
  }
}
@media (max-width: 767px) {
  .container-fluid.custom-ratio-header {
    padding: 44px 0 36px !important;
  }
}
/* ==========================================================================
   30. PAGINA PRECIOS — REDISEÑO LIMPIO Y MODERNO
   ==========================================================================
   Body class: .es_prices .es_prices_index
   Estructura: hero top → cards swiper → plans-grid → FAQ → logos
   ========================================================================== */
/* --- 30.1 HERO / TOP SECTION — Mismo fondo que la home, todo centrado --- */
.es_prices main > .container:first-child,
.en_prices main > .container:first-child {
  background: linear-gradient(135deg, var(--ct-blue) 0%, #364a8a 60%, #2a3d7a 100%) !important;
  padding: 72px 0 56px !important;
  position: relative !important;
  overflow: hidden !important;
  max-width: 100% !important;
}

.es_prices main > .container:first-child::before,
.es_prices main > .container:first-child::after,
.en_prices main > .container:first-child::before,
.en_prices main > .container:first-child::after {
  display: none !important;
}

/* Hero — forzar layout de una sola columna centrada */
.es_prices main > .container:first-child > .row,
.en_prices main > .container:first-child > .row {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Spacers internos del hero — reducir */
.es_prices main > .container:first-child > .row > .w-100,
.en_prices main > .container:first-child > .row > .w-100 {
  display: none !important;
}

/* Columna izquierda (col-md-7): forzar ancho completo y centrado */
.es_prices main > .container:first-child .col-md-7,
.en_prices main > .container:first-child .col-md-7 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  margin-bottom: 24px !important;
}

/* Columna derecha (col-md-5): forzar ancho y centrar debajo */
.es_prices main > .container:first-child .col-md-5,
.en_prices main > .container:first-child .col-md-5 {
  flex: 0 0 auto !important;
  max-width: 600px !important;
  text-align: center !important;
}

/* Hero text styling — texto blanco sobre fondo azul */
.es_prices main > .container:first-child h1,
.en_prices main > .container:first-child h1 {
  color: var(--ct-white) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 2 !important;
  /* font-size heredado de _page-subpages.scss (regla unificada para subpáginas) */
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 12px !important;
}

.es_prices main > .container:first-child h2,
.en_prices main > .container:first-child h2 {
  font-size: clamp(1.2rem, 2vw, 1.5rem) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 16px !important;
  color: var(--ct-white) !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  -webkit-text-fill-color: initial !important;
  background-clip: initial !important;
  text-align: center !important;
}

.es_prices main > .container:first-child p,
.en_prices main > .container:first-child p {
  color: rgba(255, 255, 255, 0.75) !important;
  text-align: center !important;
  font-size: 16px !important;
  position: relative !important;
  z-index: 2 !important;
  max-width: 580px !important;
  margin: 0 auto 24px !important;
}

/* Bloque "¿Quieres probarlo?" — integrado como texto centrado debajo */
.es_prices main > .container:first-child .col-md-5,
.es_prices main > .container:first-child .cta-trial,
.en_prices main > .container:first-child .col-md-5,
.en_prices main > .container:first-child .cta-trial {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.es_prices main > .container:first-child .col-md-5 h2,
.en_prices main > .container:first-child .col-md-5 h2 {
  font-size: clamp(1.1rem, 1.8vw, 1.3rem) !important;
  color: rgba(255, 255, 255, 0.9) !important;
  margin-bottom: 16px !important;
}

.es_prices main > .container:first-child .col-md-5 p,
.en_prices main > .container:first-child .col-md-5 p {
  color: rgba(255, 255, 255, 0.6) !important;
}

/* Fix: el <p> que envuelve al botón hereda opacity:0.85 del sitio original → botón grisáceo */
.es_prices main > .container:first-child p:has(.btn-primary),
.es_prices main > .container:first-child .btn-primary,
.en_prices main > .container:first-child p:has(.btn-primary),
.en_prices main > .container:first-child .btn-primary {
  opacity: 1 !important;
}

/* Botón CTA "Te damos 7 días gratis" — MISMO estilo que el botón de la home */
.es_prices main > .container:first-child .btn-primary,
.en_prices main > .container:first-child .btn-primary {
  background: var(--ct-white) !important;
  color: var(--ct-blue) !important;
  border: none !important;
  border-radius: var(--ct-radius-pill) !important;
  padding: 16px 40px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
  transition: all 0.3s var(--ct-ease) !important;
}

.es_prices main > .container:first-child .btn-primary:hover,
.en_prices main > .container:first-child .btn-primary:hover {
  background: var(--ct-white) !important;
  color: var(--ct-blue-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25) !important;
}

/* --- 30.2 PRICE TOGGLE SWITCH — Alineado a la derecha, pegado a las tarjetas --- */
.prices-switch-contender {
  position: relative !important;
  z-index: 2 !important;
  max-width: 100% !important;
}

/* Fila wrapper: alinear todo a la derecha, en columna */
.es_prices .prices-switch-contender > .d-flex.flex-wrap,
.en_prices .prices-switch-contender > .d-flex.flex-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  margin-bottom: 16px !important;
  gap: 6px !important;
  padding-right: 15px !important;
}

/* Ambas columnas: quitar anchos de col-md-6, auto width */
.es_prices .prices-switch-contender > .d-flex.flex-wrap > .col-12.col-md-6,
.en_prices .prices-switch-contender > .d-flex.flex-wrap > .col-12.col-md-6 {
  flex: 0 0 auto !important;
  max-width: none !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: right !important;
}

/* Col con el toggle: orden 1 (primero), y quitar margen top mobile */
.es_prices .prices-switch-contender > .d-flex.flex-wrap > .col-12.col-md-6:not(.order-md-1),
.en_prices .prices-switch-contender > .d-flex.flex-wrap > .col-12.col-md-6:not(.order-md-1) {
  order: 1 !important;
}

/* Col con USD link: orden 2 (debajo del toggle) */
.es_prices .prices-switch-contender > .d-flex.flex-wrap > .col-12.col-md-6.order-md-1,
.en_prices .prices-switch-contender > .d-flex.flex-wrap > .col-12.col-md-6.order-md-1 {
  order: 2 !important;
  margin-top: 0 !important;
}

/* Toggle container: sin bordes, sin fondo, limpio y compacto */
.es_prices .prices-recurrence-contender,
.en_prices .prices-recurrence-contender {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Labels del toggle */
.es_prices .custom-switch-labels,
.en_prices .custom-switch-labels {
  color: var(--ct-text-dark) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  transition: color 0.3s ease !important;
}

.es_prices .custom-switch-labels:hover,
.en_prices .custom-switch-labels:hover {
  color: var(--ct-blue) !important;
}

/* Switch toggle track — acento corporativo */
.es_prices .custom-control-input:checked ~ .custom-control-label::before,
.en_prices .custom-control-input:checked ~ .custom-control-label::before {
  background-color: var(--ct-blue) !important;
  border-color: var(--ct-blue) !important;
}

/* Texto "Con el plan Anual te ahorras..." — debajo del toggle, sutil */
.es_prices .prices-switch-contender small,
.es_prices .prices-switch-contender .text-left,
.en_prices .prices-switch-contender small,
.en_prices .prices-switch-contender .text-left {
  display: block !important;
  text-align: right !important;
  color: var(--ct-blue) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  margin-top: 2px !important;
}

/* Link "Ver precios en USD" — sutil, debajo */
.es_prices .prices-switch-contender a[href*=currency],
.es_prices .text-right.order-md-1 a,
.en_prices .prices-switch-contender a[href*=currency],
.en_prices .text-right.order-md-1 a {
  color: var(--ct-text-light) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.es_prices .prices-switch-contender a[href*=currency]:hover,
.es_prices .text-right.order-md-1 a:hover,
.en_prices .prices-switch-contender a[href*=currency]:hover,
.en_prices .text-right.order-md-1 a:hover {
  color: var(--ct-blue) !important;
  text-decoration: underline !important;
}

/* --- 30.3 PRICING CARDS — Fondo limpio, sin degradado azul oscuro --- */
.es_prices main > section:first-of-type,
.en_prices main > section:first-of-type {
  background: var(--ct-gray-50) !important;
  padding: 0 0 64px !important;
  overflow: visible !important;
}

/* Contenedor .prices-switch-contender: agrupa toggle + tarjetas, SIN borde propio */
.es_prices .container.prices-switch-contender,
.en_prices .container.prices-switch-contender {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 24px 0 32px !important;
  box-shadow: none !important;
  margin-top: 24px !important;
}

/* NUCLEAR: eliminar bordes en TODO dentro de la sección de precios EXCEPTO .card-price */
.es_prices main > section:first-of-type .container.prices-switch-contender > *:not(.card-price),
.es_prices main > section:first-of-type .row-fluid,
.es_prices main > section:first-of-type .col-12.js_swiper-contender,
.es_prices main > section:first-of-type .prices-card-contender,
.es_prices main > section:first-of-type .preloader-icon,
.es_prices main > section:first-of-type .swiper-pagination,
.en_prices main > section:first-of-type .container.prices-switch-contender > *:not(.card-price),
.en_prices main > section:first-of-type .row-fluid,
.en_prices main > section:first-of-type .col-12.js_swiper-contender,
.en_prices main > section:first-of-type .prices-card-contender,
.en_prices main > section:first-of-type .preloader-icon,
.en_prices main > section:first-of-type .swiper-pagination {
  border: 0 none transparent !important;
  border-top: 0 none transparent !important;
  border-bottom: 0 none transparent !important;
  border-left: 0 none transparent !important;
  border-right: 0 none transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Swiper container — SIN borde, SIN sombra, solo layout */
.es_prices .col-12.js_swiper-contender.swiper.prices-cards,
.en_prices .col-12.js_swiper-contender.swiper.prices-cards {
  overflow: visible !important;
  padding: 16px 0 20px !important;
  border: 0 none transparent !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Row-fluid y wrapper — sin bordes */
.es_prices .prices-cards .swiper-wrapper,
.es_prices .prices-card-contender.swiper-wrapper,
.es_prices .row-fluid,
.en_prices .prices-cards .swiper-wrapper,
.en_prices .prices-card-contender.swiper-wrapper,
.en_prices .row-fluid {
  border: 0 none transparent !important;
  box-shadow: none !important;
  background: transparent !important;
}

.es_prices .prices-card-contender,
.es_prices .prices-cards .swiper-wrapper,
.en_prices .prices-card-contender,
.en_prices .prices-cards .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  gap: 16px !important;
  transform: none !important;
}

.es_prices .card-price.swiper-slide,
.es_prices .swiper-slide,
.en_prices .card-price.swiper-slide,
.en_prices .swiper-slide {
  width: 25% !important;
  min-width: 250px !important;
  max-width: 290px !important;
  flex-shrink: 0 !important;
}

/* Individual price card — Consistent styling */
.es_prices .card-price,
.en_prices .card-price {
  background: var(--ct-white) !important;
  border: 1px solid var(--ct-gray-200) !important;
  border-radius: var(--ct-radius-xl) !important;
  overflow: hidden !important;
  box-shadow: var(--ct-shadow-sm) !important;
  transition: all 0.3s var(--ct-ease) !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
}

.es_prices .card-price:hover,
.en_prices .card-price:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--ct-shadow-lg) !important;
  border-color: transparent !important;
}

/* ---- GOLD card = SAME TREATMENT AS OTHER CARDS ---- */
.es_prices .tt_gold.card-price,
.en_prices .tt_gold.card-price {
  background: var(--ct-white) !important;
  border: 1px solid var(--ct-gray-200) !important;
  transform: none !important;
  z-index: auto !important;
  box-shadow: var(--ct-shadow-sm) !important;
}

.es_prices .tt_gold.card-price:hover,
.en_prices .tt_gold.card-price:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--ct-shadow-lg) !important;
}

/* "Most popular" badge for Gold — HIDDEN */
.es_prices .tt_gold.card-price::before,
.en_prices .tt_gold.card-price::before {
  display: none !important;
}

/* LIMPIAR todos los bordes internos de secciones — solo el card-price exterior tiene borde */
.es_prices .card-price .card-header,
.es_prices .card-price .card-description,
.es_prices .card-price .card-body,
.es_prices .card-price .card-footer,
.es_prices .card-price .prices-checklists,
.en_prices .card-price .card-header,
.en_prices .card-price .card-description,
.en_prices .card-price .card-body,
.en_prices .card-price .card-footer,
.en_prices .card-price .prices-checklists {
  border: none !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: none !important;
}

/* Card headers — fondo blanco con nombre de plan en color accent */
.es_prices .card-price .card-header,
.en_prices .card-price .card-header {
  background: var(--ct-white) !important;
  border-bottom: none !important;
  padding: 24px 24px 8px !important;
  text-align: center !important;
  border-radius: 0 !important;
}

.es_prices .card-price .card-header h2,
.en_prices .card-price .card-header h2 {
  font-size: 0.85rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  margin-bottom: 4px !important;
  -webkit-text-fill-color: unset !important;
  background: none !important;
}

/* ---- PLAN ACCENT COLORS — Consistentes en toda la página ---- */
/* Stone = gris slate */
.es_prices .tt_stone .card-header h2,
.en_prices .tt_stone .card-header h2 {
  color: #64748b !important;
}

.es_prices .tt_stone.card-price .card-header,
.en_prices .tt_stone.card-price .card-header {
  border-top: 4px solid #64748b !important;
}

/* Gold = ámbar */
.es_prices .tt_gold .card-header h2,
.en_prices .tt_gold .card-header h2 {
  color: #d97706 !important;
}

.es_prices .tt_gold.card-price .card-header,
.en_prices .tt_gold.card-price .card-header {
  border-top: 4px solid #d97706 !important;
}

/* Diamond = azul corporativo */
.es_prices .tt_diamond .card-header h2,
.en_prices .tt_diamond .card-header h2 {
  color: var(--ct-blue) !important;
}

.es_prices .tt_diamond.card-price .card-header,
.en_prices .tt_diamond.card-price .card-header {
  border-top: 4px solid var(--ct-blue) !important;
}

/* Enterprise = púrpura */
.es_prices .tt_enterprise .card-header h2,
.en_prices .tt_enterprise .card-header h2 {
  color: #7c3aed !important;
}

.es_prices .tt_enterprise.card-price .card-header,
.en_prices .tt_enterprise.card-price .card-header {
  border-top: 4px solid #7c3aed !important;
}

/* Stone/Gold/Diamond/Enterprise background overrides — NO background colors en headers */
.es_prices .card-header.stone-bg,
.es_prices .card-header.gold-bg,
.es_prices .card-header.diamond-bg,
.es_prices .card-header.enterprise-bg,
.en_prices .card-header.stone-bg,
.en_prices .card-header.gold-bg,
.en_prices .card-header.diamond-bg,
.en_prices .card-header.enterprise-bg {
  background: var(--ct-white) !important;
}

/* Quitar backgrounds en celdas de grid también */
.es_prices .stone-bg,
.es_prices .gold-bg,
.es_prices .diamond-bg,
.es_prices .enterprise-bg,
.en_prices .stone-bg,
.en_prices .gold-bg,
.en_prices .diamond-bg,
.en_prices .enterprise-bg {
  background: transparent !important;
}

/* Card description — altura fija para alinear botones */
.es_prices .card-price .card-description,
.en_prices .card-price .card-description {
  padding: 8px 24px !important;
  margin-bottom: 0 !important;
  min-height: 100px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.es_prices .card-price .card-description h4,
.en_prices .card-price .card-description h4 {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--ct-text) !important;
  margin-bottom: 4px !important;
}

.es_prices .card-price .card-description p,
.en_prices .card-price .card-description p {
  font-size: 13px !important;
  color: var(--ct-text-light) !important;
  line-height: 1.5 !important;
}

/* Gold card — force transparent backgrounds on ALL internal elements */
.es_prices .tt_gold.card-price .card-description,
.es_prices .tt_gold.card-price .card-body,
.es_prices .tt_gold.card-price .card-footer,
.es_prices .tt_gold.card-price .prices-checklists,
.es_prices .tt_gold.card-price form,
.es_prices .tt_gold.card-price .card-title,
.en_prices .tt_gold.card-price .card-description,
.en_prices .tt_gold.card-price .card-body,
.en_prices .tt_gold.card-price .card-footer,
.en_prices .tt_gold.card-price .prices-checklists,
.en_prices .tt_gold.card-price form,
.en_prices .tt_gold.card-price .card-title {
  background: transparent !important;
  background-color: transparent !important;
}

/* Gold card description — dark text */
.es_prices .tt_gold .card-description h4,
.es_prices .tt_gold .card-description strong,
.en_prices .tt_gold .card-description h4,
.en_prices .tt_gold .card-description strong {
  color: var(--ct-text-dark) !important;
  -webkit-text-fill-color: initial !important;
  background: none !important;
  -webkit-background-clip: initial !important;
}

.es_prices .tt_gold .card-description p,
.en_prices .tt_gold .card-description p {
  color: var(--ct-text) !important;
}

/* Gold card pricing text — dark text */
.es_prices .tt_gold .card-title.pricing-card-title,
.en_prices .tt_gold .card-title.pricing-card-title {
  color: var(--ct-text-dark) !important;
  -webkit-text-fill-color: initial !important;
  background: none !important;
  -webkit-background-clip: initial !important;
}

.es_prices .tt_gold .card-body .btn + small,
.en_prices .tt_gold .card-body .btn + small {
  color: var(--ct-text-dark) !important;
  -webkit-text-fill-color: initial !important;
}

/* Gold card button text */
.es_prices .tt_gold .card-body .btn.btn-primary,
.en_prices .tt_gold .card-body .btn.btn-primary {
  color: var(--ct-white) !important;
}

/* --- PRICE AMOUNT — Big bold number --- */
.es_prices .card-price .card-title.pricing-card-title,
.en_prices .card-price .card-title.pricing-card-title {
  padding: 8px 24px !important;
  margin: 0 !important;
  color: var(--ct-text-dark) !important;
  min-height: 95px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
}

.es_prices .card-price .js_prices.tt_prices,
.en_prices .card-price .js_prices.tt_prices {
  font-size: 3.2rem !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
  color: var(--ct-text-dark) !important;
  display: inline-block !important;
}

.es_prices .tt_gold .js_prices.tt_prices,
.en_prices .tt_gold .js_prices.tt_prices {
  color: var(--ct-text-dark) !important;
}

.es_prices .card-price .js_prices-recurrence,
.en_prices .card-price .js_prices-recurrence {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--ct-text-light) !important;
  display: block !important;
  margin-top: 4px !important;
}

.es_prices .tt_gold .js_prices-recurrence,
.en_prices .tt_gold .js_prices-recurrence {
  color: var(--ct-text-light) !important;
}

/* Enterprise "A medida" — reducir tamaño para que quepa en 1 línea */
.es_prices .tt_enterprise .card-title.pricing-card-title,
.en_prices .tt_enterprise .card-title.pricing-card-title {
  font-size: 1.6rem !important;
  white-space: nowrap !important;
}

.es_prices .tt_enterprise.card-price .js_prices.tt_prices,
.en_prices .tt_enterprise.card-price .js_prices.tt_prices {
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  white-space: nowrap !important;
}

/* --- CTA BUTTON — Consistent red gradient across all plans --- */
.es_prices .card-price .card-body .btn.btn-primary,
.en_prices .card-price .card-body .btn.btn-primary {
  background: linear-gradient(135deg, var(--ct-red) 0%, #ff2d5e 100%) !important;
  color: var(--ct-white) !important;
  border: none !important;
  border-radius: var(--ct-radius-pill) !important;
  padding: 12px 24px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  transition: all 0.3s var(--ct-ease) !important;
  animation: none !important;
  box-shadow: 0 4px 15px rgba(219, 7, 60, 0.35) !important;
}

.es_prices .card-price .card-body .btn.btn-primary:hover,
.en_prices .card-price .card-body .btn.btn-primary:hover {
  color: var(--ct-white) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(219, 7, 60, 0.45) !important;
}

/* All plan CTAs use the same red style */
.es_prices .tt_stone .card-body .btn.btn-primary,
.es_prices .tt_gold .card-body .btn.btn-primary,
.es_prices .tt_diamond .card-body .btn.btn-primary,
.es_prices .tt_enterprise .card-body .btn.btn-primary,
.en_prices .tt_stone .card-body .btn.btn-primary,
.en_prices .tt_gold .card-body .btn.btn-primary,
.en_prices .tt_diamond .card-body .btn.btn-primary,
.en_prices .tt_enterprise .card-body .btn.btn-primary {
  background: linear-gradient(135deg, var(--ct-red) 0%, #ff2d5e 100%) !important;
  color: var(--ct-white) !important;
  border: none !important;
  box-shadow: 0 4px 15px rgba(219, 7, 60, 0.35) !important;
}

.es_prices .tt_stone .card-body .btn.btn-primary:hover,
.es_prices .tt_gold .card-body .btn.btn-primary:hover,
.es_prices .tt_diamond .card-body .btn.btn-primary:hover,
.es_prices .tt_enterprise .card-body .btn.btn-primary:hover,
.en_prices .tt_stone .card-body .btn.btn-primary:hover,
.en_prices .tt_gold .card-body .btn.btn-primary:hover,
.en_prices .tt_diamond .card-body .btn.btn-primary:hover,
.en_prices .tt_enterprise .card-body .btn.btn-primary:hover {
  color: var(--ct-white) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(219, 7, 60, 0.45) !important;
}

/* --- COLORED ACCENT LINE BELOW CTA — per plan (SOLO 1 borde) --- */
.es_prices .card-price .card-body .w-100.my-3,
.en_prices .card-price .card-body .w-100.my-3 {
  border: none !important;
  padding-bottom: 12px !important;
  margin-bottom: 0 !important;
}

.es_prices .tt_stone .card-body .w-100.my-3,
.en_prices .tt_stone .card-body .w-100.my-3 {
  border-bottom: 3px solid #64748b !important;
}

.es_prices .tt_gold .card-body .w-100.my-3,
.en_prices .tt_gold .card-body .w-100.my-3 {
  border-bottom: 3px solid #d97706 !important;
}

.es_prices .tt_diamond .card-body .w-100.my-3,
.en_prices .tt_diamond .card-body .w-100.my-3 {
  border-bottom: 3px solid var(--ct-blue) !important;
}

.es_prices .tt_enterprise .card-body .w-100.my-3,
.en_prices .tt_enterprise .card-body .w-100.my-3 {
  border-bottom: 3px solid #7c3aed !important;
}

/* --- FEATURES CHECKLIST — Texto siempre visible --- */
.es_prices .card-price .prices-checklists,
.en_prices .card-price .prices-checklists {
  background: transparent !important;
  padding: 0 !important;
  border-top: none !important;
}

.es_prices .card-price .checks-left-list,
.en_prices .card-price .checks-left-list {
  list-style: none !important;
  padding: 12px 24px !important;
  margin: 0 !important;
}

.es_prices .card-price .checks-left-list li,
.en_prices .card-price .checks-left-list li {
  padding: 8px 0 8px 28px !important;
  border-bottom: 1px solid var(--ct-gray-100) !important;
  font-size: 13.5px !important;
  color: var(--ct-text) !important;
  position: relative !important;
}

/* FORZAR texto visible en TODOS los elementos dentro de features */
.es_prices .card-price .checks-left-list li,
.es_prices .card-price .checks-left-list li *,
.es_prices .card-price .checks-left-list li strong,
.es_prices .card-price .checks-left-list li b,
.es_prices .card-price .checks-left-list li em,
.es_prices .card-price .checks-left-list li span,
.en_prices .card-price .checks-left-list li,
.en_prices .card-price .checks-left-list li *,
.en_prices .card-price .checks-left-list li strong,
.en_prices .card-price .checks-left-list li b,
.en_prices .card-price .checks-left-list li em,
.en_prices .card-price .checks-left-list li span {
  color: var(--ct-text) !important;
  -webkit-text-fill-color: initial !important;
  background: none !important;
}

.es_prices .card-price .checks-left-list li strong,
.es_prices .card-price .checks-left-list li b,
.en_prices .card-price .checks-left-list li strong,
.en_prices .card-price .checks-left-list li b {
  color: var(--ct-text-dark) !important;
  font-weight: 700 !important;
}

/* <small> dentro de features — texto auxiliar, más pequeño y alineado */
.es_prices .card-price .checks-left-list li small,
.en_prices .card-price .checks-left-list li small {
  display: block !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  color: var(--ct-text-light) !important;
  margin-top: 2px !important;
  padding: 0 !important;
  font-weight: 400 !important;
}

/* FIX doble check: ocultar el <span> con SVG y el <div class="mr-2"> (width:0) que causan escalera */
/* El check ::before es suficiente — los hijos span(svg) y div.mr-2 sobran */
.es_prices .card-price .checks-left-list li > span:first-child,
.en_prices .card-price .checks-left-list li > span:first-child {
  display: none !important;
}

.es_prices .card-price .checks-left-list li > div.mr-2,
.en_prices .card-price .checks-left-list li > div.mr-2 {
  display: none !important;
}

/* El tercer span (texto real) debe fluir normal como inline */
.es_prices .card-price .checks-left-list li > span:last-child,
.en_prices .card-price .checks-left-list li > span:last-child {
  display: inline !important;
  width: auto !important;
}

.es_prices .card-price .checks-left-list li:last-child,
.en_prices .card-price .checks-left-list li:last-child {
  border-bottom: none !important;
}

.es_prices .card-price .checks-left-list li::before,
.en_prices .card-price .checks-left-list li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 9px !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: var(--ct-gray-50) !important;
  color: var(--ct-blue) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

/* Card footer */
.es_prices .card-price .card-footer,
.en_prices .card-price .card-footer {
  background: transparent !important;
  border-top: none !important;
  padding: 0 24px 24px !important;
}

.es_prices .card-price .card-footer a,
.en_prices .card-price .card-footer a {
  color: var(--ct-blue) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-decoration-color: transparent !important;
  transition: all 0.2s ease !important;
}

.es_prices .card-price .card-footer a:hover,
.en_prices .card-price .card-footer a:hover {
  text-decoration-color: var(--ct-blue) !important;
}

/* --- 30.3b TEXTO "Precios sin IVA..." — compacto, derecha, debajo de tarjetas --- */
.es_prices main > section:first-of-type > .container:not(.prices-switch-contender),
.en_prices main > section:first-of-type > .container:not(.prices-switch-contender) {
  max-width: 100% !important;
  padding: 0 24px !important;
}

.es_prices main > section:first-of-type > .container:not(.prices-switch-contender) .row,
.en_prices main > section:first-of-type > .container:not(.prices-switch-contender) .row {
  justify-content: flex-end !important;
}

.es_prices main > section:first-of-type > .container:not(.prices-switch-contender) .col-12.mb-3,
.en_prices main > section:first-of-type > .container:not(.prices-switch-contender) .col-12.mb-3 {
  flex: 0 0 auto !important;
  max-width: none !important;
  width: auto !important;
  text-align: right !important;
  margin-bottom: 0 !important;
}

.es_prices main > section:first-of-type > .container:not(.prices-switch-contender) p,
.en_prices main > section:first-of-type > .container:not(.prices-switch-contender) p {
  font-size: 11px !important;
  color: var(--ct-text-light) !important;
  line-height: 1.5 !important;
  margin-bottom: 2px !important;
  text-align: right !important;
}

/* --- 30.3c BANNER "Todos nuestros planes incluyen..." — separador con fondo --- */
.es_prices .analytics-info-container,
.en_prices .analytics-info-container {
  background: linear-gradient(135deg, var(--ct-blue) 0%, #364a8a 60%, #2a3d7a 100%) !important;
  padding: 40px 0 !important;
  margin: 48px 0 0 !important;
  text-align: center !important;
}

.es_prices .analytics-info-container .container,
.en_prices .analytics-info-container .container {
  max-width: 900px !important;
}

.es_prices .analytics-info-container .row,
.en_prices .analytics-info-container .row {
  justify-content: center !important;
  align-items: center !important;
}

.es_prices .analytics-info-container .col-12.col-xl-9,
.en_prices .analytics-info-container .col-12.col-xl-9 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.es_prices .analytics-info-container .col-9,
.es_prices .analytics-info-container .col-lg-7,
.en_prices .analytics-info-container .col-9,
.en_prices .analytics-info-container .col-lg-7 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  text-align: center !important;
}

.es_prices .analytics-info-container p.analytics-info,
.en_prices .analytics-info-container p.analytics-info {
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  margin-bottom: 16px !important;
  line-height: 1.6 !important;
}

.es_prices .analytics-info-container p.analytics-info strong,
.en_prices .analytics-info-container p.analytics-info strong {
  color: var(--ct-white) !important;
  font-weight: 700 !important;
  -webkit-text-fill-color: initial !important;
  background: none !important;
}

.es_prices .analytics-info-container .btn.btn-primary,
.en_prices .analytics-info-container .btn.btn-primary {
  background: var(--ct-white) !important;
  color: var(--ct-blue) !important;
  border: none !important;
  border-radius: var(--ct-radius-pill) !important;
  padding: 12px 32px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
  transition: all 0.3s var(--ct-ease) !important;
  width: auto !important;
  max-width: 200px !important;
  display: inline-block !important;
}

/* Col que contiene el botón — centrar */
.es_prices .analytics-info-container .col-12.col-sm-8,
.es_prices .analytics-info-container [class*=col-lg-3],
.en_prices .analytics-info-container .col-12.col-sm-8,
.en_prices .analytics-info-container [class*=col-lg-3] {
  flex: 0 0 auto !important;
  max-width: 100% !important;
  text-align: center !important;
  margin: 0 auto !important;
}

.es_prices .analytics-info-container .btn.btn-primary:hover,
.en_prices .analytics-info-container .btn.btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2) !important;
}

/* Icono SVG del banner — blanco en vez de azul */
.es_prices .analytics-info-container #prices-analytics--icon,
.es_prices .analytics-info-container #prices-analytics--icon path,
.es_prices .analytics-info-container #prices-analytics--icon .st0,
.es_prices #prices-analytics--icon .st0,
.en_prices .analytics-info-container #prices-analytics--icon,
.en_prices .analytics-info-container #prices-analytics--icon path,
.en_prices .analytics-info-container #prices-analytics--icon .st0,
.en_prices #prices-analytics--icon .st0 {
  fill: #ffffff !important;
}

/* Ocultar spacers vacíos innecesarios entre secciones */
.es_prices main > section:first-of-type > .w-100.mt-3,
.en_prices main > section:first-of-type > .w-100.mt-3 {
  display: none !important;
}

.es_prices main > section:first-of-type > .w-100.mt-42,
.en_prices main > section:first-of-type > .w-100.mt-42 {
  margin-top: 0 !important;
  height: 0 !important;
}

/* --- 30.4 PLANS COMPARISON GRID — Tabla moderna, limpia, minimal --- */
.es_prices .plans-grid,
.en_prices .plans-grid {
  background: var(--ct-white) !important;
  padding: 64px 0 !important;
}

.es_prices .grid-contender,
.en_prices .grid-contender {
  border: none !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  display: block !important;
  background: var(--ct-white) !important;
}

/* Grid rows as CSS Grid 5-column layout */
.es_prices .grid-row,
.en_prices .grid-row {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr !important;
  align-items: center !important;
  transition: background 0.15s ease !important;
}

/* ===== HEADER ROWS — cada columna con su color de plan ===== */
.es_prices .grid-row.header,
.en_prices .grid-row.header {
  background: transparent !important;
}

.es_prices .grid-row.header .cell,
.en_prices .grid-row.header .cell {
  font-weight: 700 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 18px 12px !important;
  border: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}

/* Header aside — "Tipos de Campañas" / "Otros servicios" — sutil, no protagonista */
.es_prices .grid-row.header .cell.aside,
.en_prices .grid-row.header .cell.aside {
  background: var(--ct-gray-50) !important;
  color: var(--ct-text-light) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Header plan columns — cada una con su color de acento */
.es_prices .grid-row.header .cell.stone-bg,
.es_prices .grid-row.header .cell.stone,
.en_prices .grid-row.header .cell.stone-bg,
.en_prices .grid-row.header .cell.stone {
  background: #64748b !important;
  color: var(--ct-white) !important;
}

.es_prices .grid-row.header .cell.gold-bg,
.es_prices .grid-row.header .cell.gold,
.en_prices .grid-row.header .cell.gold-bg,
.en_prices .grid-row.header .cell.gold {
  background: #d97706 !important;
  color: var(--ct-white) !important;
}

.es_prices .grid-row.header .cell.diamond-bg,
.es_prices .grid-row.header .cell.diamond,
.en_prices .grid-row.header .cell.diamond-bg,
.en_prices .grid-row.header .cell.diamond {
  background: var(--ct-blue) !important;
  color: var(--ct-white) !important;
}

.es_prices .grid-row.header .cell.enterprise-bg,
.es_prices .grid-row.header .cell.enterprise,
.en_prices .grid-row.header .cell.enterprise-bg,
.en_prices .grid-row.header .cell.enterprise {
  background: #7c3aed !important;
  color: var(--ct-white) !important;
}

/* ===== DATA ROWS — minimal, sin bordes verticales ===== */
.es_prices .grid-row:not(.header),
.en_prices .grid-row:not(.header) {
  background: var(--ct-white) !important;
}

.es_prices .grid-row:not(.header):nth-child(even),
.en_prices .grid-row:not(.header):nth-child(even) {
  background: #fafbfc !important;
}

.es_prices .grid-row:not(.header):hover,
.en_prices .grid-row:not(.header):hover {
  background: #f0f4ff !important;
}

/* ===== CELLS — sin bordes verticales, solo separador horizontal sutil ===== */
.es_prices .grid-row .cell,
.en_prices .grid-row .cell {
  padding: 11px 12px !important;
  font-size: 13.5px !important;
  color: var(--ct-text) !important;
  border: none !important;
  border-bottom: 1px solid #f0f1f4 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  vertical-align: middle !important;
  text-align: center !important;
  background: transparent !important;
}

/* Aside cell — feature name — peso visual reducido para equilibrar con checks */
.es_prices .grid-row:not(.header) .cell.aside,
.en_prices .grid-row:not(.header) .cell.aside {
  font-weight: 500 !important;
  color: var(--ct-text) !important;
  font-size: 13px !important;
  text-align: left !important;
  padding-left: 20px !important;
  background: transparent !important;
}

/* NUCLEAR: forzar background transparent en TODAS las celdas de datos con clase de plan */
.es_prices .grid-row:not(.header) .cell.stone,
.es_prices .grid-row:not(.header) .cell.gold,
.es_prices .grid-row:not(.header) .cell.diamond,
.es_prices .grid-row:not(.header) .cell.enterprise,
.es_prices .grid-row:not(.header) .cell.stone-bg,
.es_prices .grid-row:not(.header) .cell.gold-bg,
.es_prices .grid-row:not(.header) .cell.diamond-bg,
.es_prices .grid-row:not(.header) .cell.enterprise-bg,
.en_prices .grid-row:not(.header) .cell.stone,
.en_prices .grid-row:not(.header) .cell.gold,
.en_prices .grid-row:not(.header) .cell.diamond,
.en_prices .grid-row:not(.header) .cell.enterprise,
.en_prices .grid-row:not(.header) .cell.stone-bg,
.en_prices .grid-row:not(.header) .cell.gold-bg,
.en_prices .grid-row:not(.header) .cell.diamond-bg,
.en_prices .grid-row:not(.header) .cell.enterprise-bg {
  background: transparent !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
}

/* Last row — sin borde inferior */
.es_prices .grid-row:last-child .cell,
.en_prices .grid-row:last-child .cell {
  border-bottom: none !important;
}

/* ===== SVG CHECK/X ICONS EN GRID — FORZAR VISIBILIDAD ===== */
.es_prices .grid-row .cell span,
.en_prices .grid-row .cell span {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  min-width: 18px !important;
  min-height: 18px !important;
  visibility: visible !important;
}

.es_prices .grid-row .cell svg,
.en_prices .grid-row .cell svg {
  display: inline-block !important;
  visibility: visible !important;
  width: 18px !important;
  height: 18px !important;
  overflow: visible !important;
  color: #16a34a !important;
}

.es_prices .grid-row .cell svg path,
.es_prices .grid-row .cell svg polyline,
.es_prices .grid-row .cell svg line,
.es_prices .grid-row .cell svg circle,
.en_prices .grid-row .cell svg path,
.en_prices .grid-row .cell svg polyline,
.en_prices .grid-row .cell svg line,
.en_prices .grid-row .cell svg circle {
  display: inline !important;
  visibility: visible !important;
  fill: #16a34a !important;
}

/* Texto dentro de celdas de grid — siempre visible */
.es_prices .grid-row .cell,
.es_prices .grid-row .cell *,
.en_prices .grid-row .cell,
.en_prices .grid-row .cell * {
  color: var(--ct-text) !important;
}

.es_prices .grid-row.header .cell,
.es_prices .grid-row.header .cell *,
.en_prices .grid-row.header .cell,
.en_prices .grid-row.header .cell * {
  color: var(--ct-white) !important;
}

/* Header aside override — texto oscuro, no blanco */
.es_prices .grid-row.header .cell.aside,
.es_prices .grid-row.header .cell.aside *,
.en_prices .grid-row.header .cell.aside,
.en_prices .grid-row.header .cell.aside * {
  color: var(--ct-text-dark) !important;
}

/* Mobile menu in plans-grid */
.es_prices .mobile-menu,
.en_prices .mobile-menu {
  background: var(--ct-gray-50) !important;
  border-radius: var(--ct-radius) !important;
  padding: 12px !important;
  margin-bottom: 16px !important;
}

.es_prices .mobile-menu a,
.en_prices .mobile-menu a {
  color: var(--ct-blue) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}

/* Collapse inside plans-grid */
.es_prices .plans-grid .collapse-options,
.en_prices .plans-grid .collapse-options {
  border-radius: var(--ct-radius) !important;
}

/* Botones CTA al final de la tabla comparativa — mismo estilo que el resto del sitio */
.es_prices .plans-grid .btn,
.es_prices .plans-grid .btn.btn-primary,
.es_prices .plans-grid .grid-contender .btn,
.es_prices .plans-grid .grid-row .cell .btn,
.en_prices .plans-grid .btn,
.en_prices .plans-grid .btn.btn-primary,
.en_prices .plans-grid .grid-contender .btn,
.en_prices .plans-grid .grid-row .cell .btn {
  background: var(--ct-red) !important;
  color: var(--ct-white) !important;
  border: none !important;
  border-radius: var(--ct-radius-pill) !important;
  padding: 12px 28px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  box-shadow: 0 4px 15px rgba(219, 7, 60, 0.3) !important;
  transition: all 0.2s ease !important;
  letter-spacing: 0 !important;
}

/* Forzar blanco en TODOS los hijos de los botones (span, small, etc.) */
.es_prices .plans-grid .btn *,
.es_prices .plans-grid .btn span,
.es_prices .plans-grid .btn small,
.en_prices .plans-grid .btn *,
.en_prices .plans-grid .btn span,
.en_prices .plans-grid .btn small {
  color: var(--ct-white) !important;
}

.es_prices .plans-grid .btn:hover,
.es_prices .plans-grid .btn.btn-primary:hover,
.en_prices .plans-grid .btn:hover,
.en_prices .plans-grid .btn.btn-primary:hover {
  background: #c40636 !important;
  color: var(--ct-white) !important;
  box-shadow: 0 6px 20px rgba(219, 7, 60, 0.4) !important;
  transform: translateY(-1px) !important;
}

/* --- 30.5 FAQ SECTION — Accordion-style cards (como la landing) --- */
.es_prices main > section:nth-of-type(3),
.en_prices main > section:nth-of-type(3) {
  background: var(--ct-gray-50) !important;
  padding: 80px 0 !important;
}

/* FAQ title container */
.es_prices main > section:nth-of-type(3) .left-list > .col-12:first-child,
.en_prices main > section:nth-of-type(3) .left-list > .col-12:first-child {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  margin-bottom: 16px !important;
}

/* "PREGUNTAS FRECUENTES" small label above title */
.es_prices main > section:nth-of-type(3) .left-list > .col-12:first-child h2::before,
.en_prices main > section:nth-of-type(3) .left-list > .col-12:first-child h2::before {
  content: "PREGUNTAS FRECUENTES" !important;
  display: block !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  color: var(--ct-red) !important;
  margin-bottom: 12px !important;
  text-transform: uppercase !important;
}

.es_prices main > section:nth-of-type(3) .left-list > .col-12:first-child h2,
.en_prices main > section:nth-of-type(3) .left-list > .col-12:first-child h2 {
  text-align: center !important;
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  font-weight: 800 !important;
  color: var(--ct-text-dark) !important;
  margin-bottom: 48px !important;
  position: relative !important;
}

/* Remove the old gradient underline */
.es_prices main > section:nth-of-type(3) .left-list > .col-12:first-child h2::after,
.en_prices main > section:nth-of-type(3) .left-list > .col-12:first-child h2::after {
  display: none !important;
}

/* Force the left-list row to single-column centered layout — display:block para evitar conflictos con Bootstrap flex */
.es_prices main > section:nth-of-type(3) .left-list,
.en_prices main > section:nth-of-type(3) .left-list {
  display: block !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 0 15px !important;
}

/* Individual FAQ items — accordion card style, full width */
.es_prices main > section:nth-of-type(3) .col-12.col-md-6.mb-4,
.es_prices main > section:nth-of-type(3) .row.left-list > .col-12.col-md-6,
.en_prices main > section:nth-of-type(3) .col-12.col-md-6.mb-4,
.en_prices main > section:nth-of-type(3) .row.left-list > .col-12.col-md-6 {
  display: block !important;
  float: none !important;
  flex: none !important;
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin-bottom: 12px !important;
  background: var(--ct-white) !important;
  border: 1px solid #e8eaef !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: box-shadow 0.2s ease !important;
}

.es_prices main > section:nth-of-type(3) .col-12.col-md-6.mb-4:hover,
.en_prices main > section:nth-of-type(3) .col-12.col-md-6.mb-4:hover {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
}

/* Question heading — card style (sin toggle, solo CSS) */
.es_prices main > section:nth-of-type(3) .col-12.col-md-6 > h4,
.en_prices main > section:nth-of-type(3) .col-12.col-md-6 > h4 {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--ct-text-dark) !important;
  margin-bottom: 0 !important;
  padding: 20px 24px 12px !important;
  border-left: none !important;
  line-height: 1.5 !important;
}

/* Sin chevron — no hay toggle sin JS */
.es_prices main > section:nth-of-type(3) .col-12.col-md-6 > h4::after,
.en_prices main > section:nth-of-type(3) .col-12.col-md-6 > h4::after {
  display: none !important;
}

/* Answer container — siempre visible */
.es_prices main > section:nth-of-type(3) .col-12.col-md-6 > .bg-gray-light,
.en_prices main > section:nth-of-type(3) .col-12.col-md-6 > .bg-gray-light {
  background: transparent !important;
  padding: 0 24px 20px !important;
  border-top: none !important;
  margin-top: 0 !important;
}

/* Respuestas directas (p sin .bg-gray-light wrapper) */
.es_prices main > section:nth-of-type(3) .col-12.col-md-6 > p,
.en_prices main > section:nth-of-type(3) .col-12.col-md-6 > p {
  padding: 4px 24px !important;
  margin-bottom: 8px !important;
}

/* Answer text */
.es_prices main > section:nth-of-type(3) .col-12.col-md-6 p,
.en_prices main > section:nth-of-type(3) .col-12.col-md-6 p {
  font-size: 14px !important;
  color: var(--ct-text) !important;
  line-height: 1.7 !important;
  padding-left: 0 !important;
  margin-bottom: 8px !important;
}

.es_prices main > section:nth-of-type(3) .col-12.col-md-6 p:last-child,
.en_prices main > section:nth-of-type(3) .col-12.col-md-6 p:last-child {
  margin-bottom: 0 !important;
}

/* Strong text inside answers */
.es_prices main > section:nth-of-type(3) .col-12.col-md-6 p strong,
.en_prices main > section:nth-of-type(3) .col-12.col-md-6 p strong {
  color: var(--ct-text-dark) !important;
  font-weight: 600 !important;
}

/* Hide the old separator line under the title */
.es_prices main > section:nth-of-type(3) .left-list > .col-12:first-child .w-100,
.en_prices main > section:nth-of-type(3) .left-list > .col-12:first-child .w-100 {
  display: none !important;
}

/* --- 30.6 "ESTARÁS CON LOS MEJORES" --- */
.es_prices main > section:last-of-type,
.en_prices main > section:last-of-type {
  background: var(--ct-white) !important;
  padding: 48px 0 !important;
}

.es_prices main > section:last-of-type h2,
.en_prices main > section:last-of-type h2 {
  font-size: 1.1rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: var(--ct-text-light) !important;
  text-align: center !important;
  font-weight: 600 !important;
}

/* --- 30.7 SPACERS — Kill excess whitespace on pricing --- */
.es_prices .w-100.mt-42,
.en_prices .w-100.mt-42 {
  margin-top: 0 !important;
  height: 0 !important;
}

.es_prices .mb-194,
.en_prices .mb-194 {
  margin-bottom: 0 !important;
  height: 0 !important;
}

/* --- 30.8 PRICING RESPONSIVE --- */
/* ===== TABLET — max 991px ===== */
@media (max-width: 991px) {
  .es_prices .tt_gold.card-price {
    transform: scale(1) !important;
  }
  .es_prices .tt_gold.card-price:hover {
    transform: translateY(-8px) !important;
  }
  .es_prices main > .container:first-child {
    padding: 48px 16px 32px !important;
  }
  .es_prices main > section:first-of-type {
    padding: 0 0 40px !important;
  }
  .es_prices .plans-grid {
    padding: 40px 0 !important;
  }
  /* Cards: 2x2 grid en tablet — DESACTIVAR SWIPER */
  .es_prices .prices-card-contender,
  .es_prices .prices-cards .swiper-wrapper {
    flex-wrap: wrap !important;
    gap: 16px !important;
    transform: none !important;
    transition: none !important;
    height: auto !important;
  }
  .es_prices .card-price.swiper-slide,
  .es_prices .swiper-slide {
    width: calc(50% - 12px) !important;
    min-width: 0 !important;
    max-width: none !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  /* Ocultar paginación swiper en tablet */
  .es_prices .swiper-pagination,
  .es_prices .swiper-button-next,
  .es_prices .swiper-button-prev {
    display: none !important;
  }
  /* Ocultar mobile-menu en tablet también */
  .es_prices .mobile-menu {
    display: none !important;
  }
  /* Comparison grid */
  .es_prices .grid-contender {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  /* Banner analytics: stack vertical */
  .es_prices .analytics-info-container .row {
    flex-direction: column !important;
    text-align: center !important;
  }
  .es_prices .analytics-info-container .col-md-8,
  .es_prices .analytics-info-container .col-md-4 {
    max-width: 100% !important;
    flex: 0 0 100% !important;
    text-align: center !important;
  }
}
/* ===== MOBILE — max 767px ===== */
@media (max-width: 767px) {
  /* Hero */
  .es_prices main > .container:first-child {
    padding: 36px 16px 24px !important;
  }
  .es_prices main > .container:first-child > .row {
    flex-direction: column !important;
  }
  .es_prices main > .container:first-child .col-md-7,
  .es_prices main > .container:first-child .col-md-5 {
    max-width: 100% !important;
    flex: 0 0 100% !important;
    text-align: center !important;
  }
  .es_prices main > .container:first-child h1 {
    font-size: clamp(1.5rem, 5vw, 2rem) !important;
  }
  .es_prices main > .container:first-child h2 {
    font-size: clamp(1rem, 3.5vw, 1.3rem) !important;
  }
  /* Toggle switch centrado */
  .es_prices .prices-switch-contender > .d-flex.flex-wrap {
    justify-content: center !important;
    text-align: center !important;
  }
  /* Cards: 1 columna en móvil — DESACTIVAR SWIPER */
  .es_prices .prices-card-contender,
  .es_prices .prices-cards .swiper-wrapper {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 16px !important;
    transform: none !important;
    transition: none !important;
    height: auto !important;
  }
  .es_prices .card-price.swiper-slide,
  .es_prices .swiper-slide {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 400px !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  /* Ocultar paginación swiper y flechas en móvil */
  .es_prices .swiper-pagination,
  .es_prices .swiper-button-next,
  .es_prices .swiper-button-prev {
    display: none !important;
  }
  /* Card description: reducir min-height en móvil */
  .es_prices .card-price .card-description {
    min-height: auto !important;
  }
  /* Price title: reducir min-height en móvil */
  .es_prices .card-price .card-title.pricing-card-title {
    min-height: auto !important;
  }
  /* Precio más pequeño */
  .es_prices .card-price .js_prices.tt_prices {
    font-size: 2.5rem !important;
  }
  /* ===== COMPARISON GRID — MOBILE: columna única vertical ===== */
  /* Ocultar el menú "Cambiar" móvil del sitio original */
  .es_prices .mobile-menu,
  .es_prices .collapse-options {
    display: none !important;
  }
  /* Grid container: sin scroll horizontal */
  .es_prices .grid-contender {
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 12px !important;
  }
  /* Cada fila: aside ocupa ancho completo, 4 plan-cells debajo en fila */
  .es_prices .grid-row {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    min-width: 0 !important;
    border-bottom: 1px solid #eee !important;
  }
  /* Nombre de la feature — ocupa las 4 columnas */
  .es_prices .grid-row .cell.aside {
    grid-column: 1/-1 !important;
    text-align: left !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 10px 12px 2px !important;
    background: transparent !important;
    border-bottom: none !important;
  }
  /* FORZAR VISIBILIDAD — Override del CSS original que oculta columnas en móvil */
  .es_prices .grid-row .cell,
  .es_prices .grid-row .cell.stone,
  .es_prices .grid-row .cell.gold,
  .es_prices .grid-row .cell.diamond,
  .es_prices .grid-row .cell.enterprise,
  .es_prices .grid-row .cell.disabled,
  .es_prices .grid-row .cell.diamond.disabled,
  .es_prices .grid-row .cell.enterprise.disabled,
  .es_prices .grid-row.header .cell.stone-bg,
  .es_prices .grid-row.header .cell.gold-bg,
  .es_prices .grid-row.header .cell.diamond-bg,
  .es_prices .grid-row.header .cell.enterprise-bg,
  .es_prices .grid-row.header .cell.stone,
  .es_prices .grid-row.header .cell.gold,
  .es_prices .grid-row.header .cell.diamond,
  .es_prices .grid-row.header .cell.enterprise {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  /* Plan cells — 4 en fila debajo del feature name */
  .es_prices .grid-row .cell:not(.aside) {
    text-align: center !important;
    padding: 4px 4px 10px !important;
    font-size: 11px !important;
    border: none !important;
  }
  /* Header fila de planes — sticky y con colores */
  .es_prices .grid-row.header {
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important;
    background: var(--ct-white) !important;
    border-bottom: 2px solid #e8eaef !important;
  }
  /* Ocultar "Tipos de Campañas" / "Otros Servicios" label en header móvil */
  .es_prices .grid-row.header .cell.aside {
    display: none !important;
  }
  /* Plan header cells: 4 columnas iguales, visibles */
  .es_prices .grid-row.header .cell:not(.aside) {
    display: block !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    padding: 10px 4px !important;
    letter-spacing: 0.05em !important;
  }
  /* Forzar orden correcto — override del order:1 del CSS original en Gold */
  .es_prices .grid-row .cell.stone,
  .es_prices .grid-row .cell.stone-bg {
    order: 0 !important;
  }
  .es_prices .grid-row .cell.gold,
  .es_prices .grid-row .cell.gold-bg {
    order: 1 !important;
  }
  .es_prices .grid-row .cell.diamond,
  .es_prices .grid-row .cell.diamond-bg {
    order: 2 !important;
  }
  .es_prices .grid-row .cell.enterprise,
  .es_prices .grid-row .cell.enterprise-bg {
    order: 3 !important;
  }
  /* Grid CTA buttons compactos en móvil */
  .es_prices .grid-row .cell .btn,
  .es_prices .grid-row .cell a.btn {
    font-size: 8px !important;
    padding: 8px 2px !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    display: block !important;
    text-align: center !important;
    border-radius: 8px !important;
    word-break: break-word !important;
  }
  /* Check icons más pequeños en móvil */
  .es_prices .grid-row .cell svg {
    width: 14px !important;
    height: 14px !important;
  }
  /* Plans grid section */
  .es_prices .plans-grid {
    padding: 32px 8px !important;
  }
  .es_prices .grid-contender {
    padding: 0 4px !important;
  }
  /* FAQ section */
  .es_prices main > section:nth-of-type(3) {
    padding: 40px 0 !important;
  }
  .es_prices main > section:nth-of-type(3) .left-list {
    padding: 0 8px !important;
  }
  /* Banner analytics */
  .es_prices .analytics-info-container {
    padding: 40px 16px !important;
  }
  .es_prices .analytics-info-container p.analytics-info {
    font-size: 1rem !important;
  }
  /* Plans grid section padding */
  .es_prices .plans-grid {
    padding: 32px 0 !important;
  }
  /* Disclaimer text */
  .es_prices main > section:first-of-type .container .text-right {
    text-align: center !important;
  }
}
/* ===== SMALL MOBILE — max 480px ===== */
@media (max-width: 480px) {
  .es_prices .card-price.swiper-slide,
  .es_prices .swiper-slide {
    max-width: 100% !important;
  }
  .es_prices .card-price .card-header {
    padding: 16px 16px 6px !important;
  }
  .es_prices .card-price .card-description {
    padding: 6px 16px !important;
  }
  .es_prices .card-price .js_prices.tt_prices {
    font-size: 2.2rem !important;
  }
  .es_prices .card-price .checks-left-list {
    padding: 8px 12px !important;
  }
  .es_prices .card-price .checks-left-list li {
    font-size: 12.5px !important;
    padding: 8px 0 !important;
  }
  /* Grid: aún más compacto en 480px */
  .es_prices .grid-row .cell.aside {
    font-size: 12px !important;
    padding: 8px 10px 2px !important;
  }
  .es_prices .grid-row .cell:not(.aside) {
    padding: 2px 2px 8px !important;
    font-size: 10px !important;
  }
  .es_prices .grid-row.header .cell:not(.aside) {
    font-size: 8px !important;
    padding: 8px 2px !important;
  }
  /* FAQ cards más compactas */
  .es_prices main > section:nth-of-type(3) .col-12.col-md-6 > h4 {
    font-size: 14px !important;
    padding: 16px 16px 8px !important;
  }
  .es_prices main > section:nth-of-type(3) .col-12.col-md-6 > .bg-gray-light {
    padding: 0 16px 16px !important;
  }
}
/* ==========================================================================
   31. PAGINAS SECUNDARIAS — Rediseño completo de todas las subpáginas
   ==========================================================================
   Selectores basados en clases reales del body:
   - es_case_studies  (casos de éxito)
   - es_about_us      (quiénes somos)
   - es_resources     (recursos)
   - es_social_listening (lakegreen-theme)
   - es_social_walls  (yellow-theme)
   - es_jobs          (empleo)
   - es_affiliates_partners (afiliados)
   - es_privacy       (política de privacidad)
   ========================================================================== */
/* ==========================================================================
   30.5 SISTEMA TIPOGRÁFICO UNIFICADO — Heroes de subpáginas
   ========================================================================== */
/* ---------- H1 Hero unificado para TODAS las subpáginas ---------- */
.es_campaigns main h1,
.es_catalogue .row.header h1,
.es_case_studies main h1,
.es_prices main h1,
.es_resources main h1,
.es_about_us main h1,
.es_jobs main h1,
.es_social_listening main h1,
.es_social_walls main h1,
.es_privacy main h1,
.es_campaigns .container-fluid.custom-ratio-header h1,
.es_campaigns .inside-aspect-ratio h1,
.en_campaigns main h1,
.en_catalogue .row.header h1,
.en_case_studies main h1,
.en_prices main h1,
.en_resources main h1,
.en_about_us main h1,
.en_jobs main h1,
.en_social_listening main h1,
.en_social_walls main h1,
.en_privacy main h1,
.en_campaigns .container-fluid.custom-ratio-header h1,
.en_campaigns .inside-aspect-ratio h1 {
  font-size: clamp(2.5rem, 5vw, 3.8rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.03em !important;
}

/* ---------- Párrafo hero unificado ---------- */
.es_campaigns .inside-aspect-ratio p,
.es_campaigns .container-fluid.custom-ratio-header p,
.es_case_studies .row.header p,
.es_prices .row.header p,
.es_resources .row.header p,
.es_about_us .row.header p,
.es_jobs .row.header p,
.en_campaigns .inside-aspect-ratio p,
.en_campaigns .container-fluid.custom-ratio-header p,
.en_case_studies .row.header p,
.en_prices .row.header p,
.en_resources .row.header p,
.en_about_us .row.header p,
.en_jobs .row.header p {
  font-size: 16px !important;
  line-height: 1.65 !important;
  /* Antes 600px: la intro quedaba mucho más estrecha que el título y dejaba un
     hueco vacío evidente a la derecha. La subimos para que llegue cerca del ancho
     del título sin volverse demasiado larga de leer. */
  max-width: 900px !important;
  opacity: 0.85 !important;
}

/* ---------- Colores hero — páginas con degradado azul ---------- */
.es_campaigns main h1,
.es_campaigns .inside-aspect-ratio p,
.es_case_studies .row.header h1,
.es_case_studies .row.header p,
.es_prices .row.header h1,
.es_prices main > .container:first-child h1,
.es_resources .row.header h1,
.es_resources .row.header p,
.en_campaigns main h1,
.en_campaigns .inside-aspect-ratio p,
.en_case_studies .row.header h1,
.en_case_studies .row.header p,
.en_prices .row.header h1,
.en_prices main > .container:first-child h1,
.en_resources .row.header h1,
.en_resources .row.header p {
  color: var(--ct-white) !important;
}

/* ---------- Colores hero — páginas sin degradado (catálogo) ---------- */
.es_catalogue .row.header h1,
.en_catalogue .row.header h1 {
  color: var(--ct-text-dark) !important;
}

/* ---------- Espaciado hero unificado — .row.header ---------- */
.es_case_studies .row.header,
.es_resources .row.header,
.es_about_us .row.header,
.en_case_studies .row.header,
.en_resources .row.header,
.en_about_us .row.header {
  padding-top: 40px !important;
  padding-bottom: 20px !important;
}

/* ---------- H2 de secciones internas — unificado ---------- */
.es_campaigns main h2,
.es_catalogue main h2,
.es_case_studies main h2,
.es_prices main h2,
.es_resources main h2,
.en_campaigns main h2,
.en_catalogue main h2,
.en_case_studies main h2,
.en_prices main h2,
.en_resources main h2 {
  font-size: clamp(1.5rem, 2.8vw, 2rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: var(--ct-text-dark) !important;
}

/* --------------------------------------------------------------------------
   31.0 VARIABLES DE TEMA — Social Listening (lakegreen) & Social Wall (yellow)
   -------------------------------------------------------------------------- */
.lakegreen-theme {
  --ct-theme: #2EC4B6;
  --ct-theme-dark: #229e93;
  --ct-theme-light: #e8faf8;
  --ct-theme-glow: rgba(46, 196, 182, 0.15);
  --ct-theme-gradient-start: #A2E9E3;
  --ct-theme-gradient-end: #2EC4B6;
}

.yellow-theme {
  --ct-theme: #e6a429;
  --ct-theme-dark: #c88b1a;
  --ct-theme-light: #fdf6e8;
  --ct-theme-glow: rgba(230, 164, 41, 0.15);
  --ct-theme-gradient-start: #f3d59c;
  --ct-theme-gradient-end: #e6a429;
}

/* --------------------------------------------------------------------------
   31.1 HERO COMPARTIDO — Todas las subpáginas con .custom-ratio-header
   -------------------------------------------------------------------------- */
.container-fluid.custom-ratio-header {
  position: relative !important;
  overflow: hidden !important;
  padding: 72px 0 56px !important;
}

.container-fluid.custom-ratio-header h1,
.container-fluid.custom-ratio-header h2 {
  color: var(--ct-white) !important;
  font-weight: 800 !important;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem) !important;
  letter-spacing: -0.03em !important;
  position: relative !important;
  z-index: 2 !important;
}

.container-fluid.custom-ratio-header p {
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 16px !important;
  /* Antes 560px: la intro quedaba mucho más estrecha que el título y dejaba un
     hueco vacío evidente a la derecha. La subimos para acercarse al ancho del título. */
  max-width: 900px !important;
  line-height: 1.7 !important;
  position: relative !important;
  z-index: 2 !important;
}

.container-fluid.custom-ratio-header .pattern-header {
  opacity: 0.12 !important;
}

/* --------------------------------------------------------------------------
   31.2 POLYGON SECTIONS — Secciones decorativas compartidas
   -------------------------------------------------------------------------- */
.polygon {
  position: relative !important;
  overflow: hidden !important;
}

.polygon svg {
  opacity: 0.06 !important;
}

.left-form-container,
.right-form-container,
.left-chart-container {
  position: relative !important;
  z-index: 1 !important;
}

/* --------------------------------------------------------------------------
   31.3 CONTENT SECTIONS — Estilos compartidos para secciones de contenido
   -------------------------------------------------------------------------- */
.es_case_studies main > section,
.es_case_studies main > .container,
.es_about_us main > section,
.es_about_us main > .container,
.es_resources main > section,
.es_resources main > .container,
.es_social_listening main > section,
.es_social_listening main > .container,
.es_social_walls main > section,
.es_social_walls main > .container,
.es_jobs main > section,
.es_jobs main > .container,
.es_privacy main > section,
.es_privacy main > .container,
.en_case_studies main > section,
.en_case_studies main > .container,
.en_about_us main > section,
.en_about_us main > .container,
.en_resources main > section,
.en_resources main > .container,
.en_social_listening main > section,
.en_social_listening main > .container,
.en_social_walls main > section,
.en_social_walls main > .container,
.en_jobs main > section,
.en_jobs main > .container,
.en_privacy main > section,
.en_privacy main > .container {
  padding: 56px 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Títulos de sección en subpáginas */
.es_case_studies main h2,
.es_about_us main h2,
.es_resources main h2,
.es_jobs main h2,
.es_privacy main h2,
.en_case_studies main h2,
.en_about_us main h2,
.en_resources main h2,
.en_jobs main h2,
.en_privacy main h2 {
  font-size: clamp(1.5rem, 2.8vw, 2rem) !important;
  font-weight: 800 !important;
  color: var(--ct-text-dark) !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 16px !important;
}

/* Subtítulos h3 */
.es_case_studies main h3,
.es_about_us main h3,
.es_resources main h3,
.es_jobs main h3,
.es_privacy main h3,
.en_case_studies main h3,
.en_about_us main h3,
.en_resources main h3,
.en_jobs main h3,
.en_privacy main h3 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--ct-text-dark) !important;
  margin-bottom: 12px !important;
}

/* Párrafos en subpáginas */
.es_case_studies main p,
.es_about_us main p,
.es_resources main p,
.es_jobs main p,
.es_privacy main p,
.en_case_studies main p,
.en_about_us main p,
.en_resources main p,
.en_jobs main p,
.en_privacy main p {
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: var(--ct-text) !important;
}

/* Fondo blanco para secciones de contenido (debajo del hero gradient) */
.es_case_studies main > section,
.es_resources main > section,
.en_case_studies main > section,
.en_resources main > section {
  background: var(--ct-white) !important;
}

/* Secciones alternadas con fondo */
.es_case_studies main > section:nth-child(even),
.es_about_us main > section:nth-child(even),
.es_about_us main > .container-fluid:nth-of-type(even),
.en_case_studies main > section:nth-child(even),
.en_about_us main > section:nth-child(even),
.en_about_us main > .container-fluid:nth-of-type(even) {
  background: var(--ct-gray-50) !important;
}

/* --------------------------------------------------------------------------
   31.4 CASOS DE ÉXITO (.es_case_studies)
   -------------------------------------------------------------------------- */
/* Hero — gradient background via main pseudo-element */
.es_case_studies main,
.en_case_studies main {
  position: relative !important;
}

.es_case_studies main::before,
.en_case_studies main::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 520px !important;
  background: linear-gradient(135deg, var(--ct-blue) 0%, var(--ct-blue-dark) 55%, #2a3d7a 100%) !important;
  z-index: 0 !important;
}

.es_case_studies .container-fluid,
.en_case_studies .container-fluid {
  position: relative !important;
  z-index: 1 !important;
}

.es_case_studies main > .container,
.en_case_studies main > .container {
  position: relative !important;
  z-index: 1 !important;
}

/* Hero text white */
.es_case_studies .row.header h1,
.es_case_studies .row.header h2,
.es_case_studies .row.header h3,
.es_case_studies .row.header p,
.es_case_studies .row.header .col-md-7,
.en_case_studies .row.header h1,
.en_case_studies .row.header h2,
.en_case_studies .row.header h3,
.en_case_studies .row.header p,
.en_case_studies .row.header .col-md-7 {
  color: var(--ct-white) !important;
}

.es_case_studies .row.header p strong,
.en_case_studies .row.header p strong {
  color: var(--ct-white) !important;
}

/* Resetear .left-list cuando está DENTRO de un article-columna (testimoniales).
   La regla genérica .left-list (línea ~497) usa calc(50%-50vw) para full-bleed
   pero eso rompe cuando el .left-list está dentro de un flex col-lg-5. */
.es_case_studies article[class*=col-] .left-list,
.en_case_studies article[class*=col-] .left-list {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: none !important;
  width: 100% !important;
}

/* Logos de empresas en casos */
.es_case_studies .logos-companies,
.en_case_studies .logos-companies {
  padding: 40px 0 !important;
}

.es_case_studies .logos-companies img,
.en_case_studies .logos-companies img {
  filter: grayscale(100%) !important;
  opacity: 0.5 !important;
  transition: all 0.3s ease !important;
}

.es_case_studies .logos-companies img:hover,
.en_case_studies .logos-companies img:hover {
  filter: grayscale(0%) !important;
  opacity: 1 !important;
}

/* --------------------------------------------------------------------------
   31.5 QUIÉNES SOMOS (.es_about_us)
   -------------------------------------------------------------------------- */
/* Hero */
.es_about_us .container-fluid.custom-ratio-header,
.en_about_us .container-fluid.custom-ratio-header {
  background: linear-gradient(135deg, var(--ct-gray-900) 0%, #2a3050 50%, var(--ct-blue) 100%) !important;
}

/* Claim principal */
.es_about_us .claim-ct h2,
.es_about_us .claim-ct h1,
.en_about_us .claim-ct h2,
.en_about_us .claim-ct h1 {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 900 !important;
  color: var(--ct-text-dark) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.03em !important;
}

/* Secciones con fondo alternado */
.es_about_us main > .container-fluid.polygon,
.en_about_us main > .container-fluid.polygon {
  padding: 64px 0 !important;
}

/* Imágenes con bordes redondeados */
.es_about_us main img,
.en_about_us main img {
  border-radius: var(--ct-radius-lg) !important;
  box-shadow: var(--ct-shadow-sm) !important;
}

/* Team / valores cards */
.es_about_us .center-list > div,
.en_about_us .center-list > div {
  padding: 24px !important;
}

.es_about_us .center-list h3,
.en_about_us .center-list h3 {
  color: var(--ct-blue) !important;
  font-weight: 700 !important;
}

/* --------------------------------------------------------------------------
   31.6 RECURSOS (.es_resources)
   -------------------------------------------------------------------------- */
/* Hero — gradient background via main pseudo-element */
.es_resources main,
.en_resources main {
  position: relative !important;
}

.es_resources main::before,
.en_resources main::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 480px !important;
  background: linear-gradient(135deg, var(--ct-blue) 0%, var(--ct-blue-dark) 55%, #2a3d7a 100%) !important;
  z-index: 0 !important;
}

.es_resources .container-fluid,
.en_resources .container-fluid {
  position: relative !important;
  z-index: 1 !important;
}

.es_resources main > .container,
.en_resources main > .container {
  position: relative !important;
  z-index: 1 !important;
}

/* Hero text white */
.es_resources .row.header h1,
.es_resources .row.header h2,
.es_resources .row.header h3,
.es_resources .row.header p,
.es_resources .row.header .col-md-7,
.es_resources .row.header .col-lg-7,
.en_resources .row.header h1,
.en_resources .row.header h2,
.en_resources .row.header h3,
.en_resources .row.header p,
.en_resources .row.header .col-md-7,
.en_resources .row.header .col-lg-7 {
  color: var(--ct-white) !important;
}

.es_resources .row.header p strong,
.en_resources .row.header p strong {
  color: var(--ct-white) !important;
}

/* Filter navbar — solo pastillas, sin borde contenedor */
.es_resources .navbar-filters,
.en_resources .navbar-filters {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 8px 0 !important;
  margin-bottom: 32px !important;
  box-shadow: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: center !important;
  overflow: visible !important;
}

/* Guides container — layout 2/3 cards + 1/3 sidebar */
.es_resources .guides-section-container,
.en_resources .guides-section-container {
  display: grid !important;
  grid-template-columns: 2fr 1fr !important;
  gap: 32px !important;
  align-items: start !important;
}

.es_resources .guides-section-container > aside,
.en_resources .guides-section-container > aside {
  position: sticky !important;
  top: 80px !important;
}

.es_resources .navbar-filters .nav-link,
.es_resources .navbar-filters a,
.en_resources .navbar-filters .nav-link,
.en_resources .navbar-filters a {
  border-radius: var(--ct-radius-pill) !important;
  border: 1px solid var(--ct-gray-200) !important;
  padding: 10px 22px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--ct-text) !important;
  margin: 0 !important;
  transition: all 0.2s ease !important;
  background: var(--ct-white) !important;
}

/* El texto va envuelto en <small> que por defecto se reduce al 80%; anulamos
   el shrink para que las pastillas se lean al tamaño completo del enlace. */
.es_resources .navbar-filters a small,
.en_resources .navbar-filters a small {
  font-size: 1em !important;
}

.es_resources .navbar-filters .nav-link:hover,
.es_resources .navbar-filters a:hover,
.en_resources .navbar-filters .nav-link:hover,
.en_resources .navbar-filters a:hover {
  background: var(--ct-gray-50) !important;
  color: var(--ct-text-dark) !important;
  border-color: var(--ct-gray-300) !important;
}

.es_resources .navbar-filters .nav-link.active,
.es_resources .navbar-filters a.active,
.en_resources .navbar-filters .nav-link.active,
.en_resources .navbar-filters a.active {
  background: var(--ct-blue) !important;
  color: var(--ct-white) !important;
  border-color: var(--ct-blue) !important;
  box-shadow: 0 4px 15px rgba(68, 92, 173, 0.3) !important;
}

/* Resource cards grid — 2 columnas en desktop */
.es_resources .guides-section,
.en_resources .guides-section {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px !important;
}

.es_resources .guides-section > div,
.es_resources .guides-section article,
.en_resources .guides-section > div,
.en_resources .guides-section article {
  background: var(--ct-white) !important;
  border: 1px solid var(--ct-gray-200) !important;
  border-radius: var(--ct-radius-lg) !important;
  overflow: hidden !important;
  transition: all 0.3s var(--ct-ease) !important;
  box-shadow: var(--ct-shadow-xs) !important;
  max-width: 100% !important;
  width: 100% !important;
}

.es_resources .guides-section > div:hover,
.es_resources .guides-section article:hover,
.en_resources .guides-section > div:hover,
.en_resources .guides-section article:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--ct-shadow-md) !important;
  border-color: transparent !important;
}

.es_resources .guides-section img,
.en_resources .guides-section img {
  border-radius: var(--ct-radius-lg) var(--ct-radius-lg) 0 0 !important;
  width: 100% !important;
  object-fit: cover !important;
}

/* --------------------------------------------------------------------------
   31.7 SOCIAL LISTENING (.es_social_listening) — Tema Lakegreen
   -------------------------------------------------------------------------- */
/* Hero con gradiente lakegreen */
.es_social_listening .container-fluid.custom-ratio-header,
.en_social_listening .container-fluid.custom-ratio-header {
  background: linear-gradient(160deg, #0a2e2b 0%, #134e48 30%, var(--ct-theme-dark, #229e93) 60%, var(--ct-theme, #2EC4B6) 100%) !important;
}

.es_social_listening .container-fluid.custom-ratio-header::before,
.en_social_listening .container-fluid.custom-ratio-header::before {
  content: "" !important;
  position: absolute !important;
  top: -100px !important;
  right: -60px !important;
  width: 350px !important;
  height: 350px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(162, 233, 227, 0.25) 0%, transparent 70%) !important;
  pointer-events: none !important;
  animation: float 8s ease-in-out infinite !important;
}

/* Accent color en headings dentro de content */
.es_social_listening main h2,
.en_social_listening main h2 {
  font-size: clamp(1.5rem, 2.8vw, 2rem) !important;
  font-weight: 800 !important;
  color: var(--ct-text-dark) !important;
}

.es_social_listening main h2::after,
.en_social_listening main h2::after {
  content: "" !important;
  display: block !important;
  width: 50px !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--ct-theme, #2EC4B6), var(--ct-theme-gradient-start, #A2E9E3)) !important;
  margin-top: 12px !important;
  border-radius: 2px !important;
}

/* Points section — fondo limpio con acento temático sutil */
.es_social_listening article[id*=points],
.en_social_listening article[id*=points] {
  padding: 64px 0 !important;
  background: linear-gradient(180deg, #f0faf9 0%, #e4f5f3 100%) !important;
  margin-top: -2px !important;
  position: relative !important;
}

.es_social_listening article[id*=points] h3,
.en_social_listening article[id*=points] h3 {
  color: var(--ct-text-dark, #1a1a2e) !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
}

.es_social_listening article[id*=points] p,
.es_social_listening article[id*=points] span,
.es_social_listening article[id*=points] strong,
.en_social_listening article[id*=points] p,
.en_social_listening article[id*=points] span,
.en_social_listening article[id*=points] strong {
  color: var(--ct-text-muted, #555) !important;
}

/* Cards/items dentro de social listening */
.es_social_listening .center-list > div,
.es_social_listening article .col-md-4,
.en_social_listening .center-list > div,
.en_social_listening article .col-md-4 {
  padding: 24px !important;
}

.es_social_listening .center-list h3,
.es_social_listening article h3,
.en_social_listening .center-list h3,
.en_social_listening article h3 {
  color: var(--ct-theme, #2EC4B6) !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
}

/* Links y CTAs en lakegreen */
.es_social_listening main a:not(.navbar a):not(.footer a),
.en_social_listening main a:not(.navbar a):not(.footer a) {
  color: var(--ct-theme, #2EC4B6) !important;
  font-weight: 600 !important;
}

.es_social_listening main a:not(.navbar a):not(.footer a):hover,
.en_social_listening main a:not(.navbar a):not(.footer a):hover {
  color: var(--ct-theme-dark, #229e93) !important;
}

/* Botones en lakegreen — incluir hero */
.es_social_listening .btn-primary,
.es_social_listening main .btn,
.es_social_listening .container-fluid.custom-ratio-header .btn,
.es_social_listening .inside-aspect-ratio .btn,
.en_social_listening .btn-primary,
.en_social_listening main .btn,
.en_social_listening .container-fluid.custom-ratio-header .btn,
.en_social_listening .inside-aspect-ratio .btn {
  background: var(--ct-theme, #2EC4B6) !important;
  color: var(--ct-white) !important;
  border: none !important;
  border-radius: var(--ct-radius-pill) !important;
  padding: 14px 32px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  box-shadow: 0 4px 15px var(--ct-theme-glow, rgba(46, 196, 182, 0.35)) !important;
  transition: all 0.3s var(--ct-ease) !important;
}

.es_social_listening .btn-primary:hover,
.es_social_listening main .btn:hover,
.es_social_listening .container-fluid.custom-ratio-header .btn:hover,
.es_social_listening .inside-aspect-ratio .btn:hover,
.en_social_listening .btn-primary:hover,
.en_social_listening main .btn:hover,
.en_social_listening .container-fluid.custom-ratio-header .btn:hover,
.en_social_listening .inside-aspect-ratio .btn:hover {
  background: var(--ct-theme-dark, #229e93) !important;
  color: var(--ct-white) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px var(--ct-theme-glow, rgba(46, 196, 182, 0.45)) !important;
}

/* Polygon sections con accent lakegreen */
.es_social_listening .polygon .left-form-container,
.es_social_listening .polygon .right-form-container,
.en_social_listening .polygon .left-form-container,
.en_social_listening .polygon .right-form-container {
  background: linear-gradient(135deg, var(--ct-theme-light, #e8faf8) 0%, rgba(46, 196, 182, 0.05) 100%) !important;
  border-radius: var(--ct-radius-xl) !important;
  padding: 48px 32px !important;
}

/* Highlights — layout y estilo visual avanzado */
.es_social_listening article[id*=highlights] h2,
.en_social_listening article[id*=highlights] h2 {
  text-align: center !important;
}

.es_social_listening .highlights-left-list > div,
.en_social_listening .highlights-left-list > div {
  padding: 32px !important;
  background: var(--ct-white) !important;
  border-radius: var(--ct-radius-xl) !important;
  border: 1px solid var(--ct-gray-200) !important;
  margin-bottom: 24px !important;
  box-shadow: var(--ct-shadow-sm) !important;
  transition: all 0.3s ease !important;
}

.es_social_listening .highlights-left-list > div:hover,
.en_social_listening .highlights-left-list > div:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 30px rgba(46, 196, 182, 0.15) !important;
  border-color: var(--ct-theme, #2EC4B6) !important;
}

.es_social_listening .highlights-left-list h5,
.en_social_listening .highlights-left-list h5 {
  color: var(--ct-text-dark) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}

.es_social_listening .highlights-left-list p,
.en_social_listening .highlights-left-list p {
  color: var(--ct-text, #4a5568) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

/* Override base white text: strong, links y spans deben ser oscuros sobre fondo blanco */
.es_social_listening .highlights-left-list strong,
.en_social_listening .highlights-left-list strong {
  color: var(--ct-text-dark) !important;
}

.es_social_listening .highlights-left-list a,
.es_social_listening .highlights-left-list .link-arrow-medium--svg,
.es_social_listening .highlights-left-list .link-arrow-medium--svg span,
.en_social_listening .highlights-left-list a,
.en_social_listening .highlights-left-list .link-arrow-medium--svg,
.en_social_listening .highlights-left-list .link-arrow-medium--svg span {
  color: var(--ct-theme, #2EC4B6) !important;
  border-bottom-color: rgba(46, 196, 182, 0.3) !important;
}

.es_social_listening .highlights-left-list a:hover,
.es_social_listening .highlights-left-list .link-arrow-medium--svg:hover,
.en_social_listening .highlights-left-list a:hover,
.en_social_listening .highlights-left-list .link-arrow-medium--svg:hover {
  color: var(--ct-theme-dark, #229e93) !important;
  border-bottom-color: var(--ct-theme, #2EC4B6) !important;
}

.es_social_listening .highlights-left-list svg,
.es_social_listening .highlights-left-list .link-arrow-medium--svg svg path,
.es_social_listening .highlights-left-list .link-arrow-medium--svg svg line,
.en_social_listening .highlights-left-list svg,
.en_social_listening .highlights-left-list .link-arrow-medium--svg svg path,
.en_social_listening .highlights-left-list .link-arrow-medium--svg svg line {
  stroke: var(--ct-theme, #2EC4B6) !important;
  fill: var(--ct-theme, #2EC4B6) !important;
  color: var(--ct-theme, #2EC4B6) !important;
}

/* Section alternating backgrounds — social listening */
.es_social_listening main > section:nth-of-type(odd),
.en_social_listening main > section:nth-of-type(odd) {
  background: var(--ct-white) !important;
}

.es_social_listening main > section:nth-of-type(even),
.en_social_listening main > section:nth-of-type(even) {
  background: var(--ct-theme-light, #e8faf8) !important;
}

/* Feature cards: points = tarjetas blancas con acento temático */
.es_social_listening .center-list > div,
.en_social_listening .center-list > div {
  background: var(--ct-white, #fff) !important;
  border-radius: var(--ct-radius-xl) !important;
  border: 1px solid rgba(46, 196, 182, 0.15) !important;
  box-shadow: 0 4px 20px rgba(46, 196, 182, 0.08) !important;
  transition: all 0.3s ease !important;
  margin-bottom: 16px !important;
  position: relative !important;
}

.es_social_listening .center-list > div:hover,
.en_social_listening .center-list > div:hover {
  background: var(--ct-white, #fff) !important;
  transform: translateY(-4px) !important;
  border-color: rgba(46, 196, 182, 0.3) !important;
  box-shadow: 0 8px 30px rgba(46, 196, 182, 0.14) !important;
}

.es_social_listening article[id*=types] .col-md-4,
.en_social_listening article[id*=types] .col-md-4 {
  background: var(--ct-white) !important;
  border-radius: var(--ct-radius-xl) !important;
  border: 1px solid var(--ct-gray-200) !important;
  box-shadow: var(--ct-shadow-sm) !important;
  transition: all 0.3s ease !important;
  margin-bottom: 16px !important;
}

.es_social_listening article[id*=types] .col-md-4:hover,
.en_social_listening article[id*=types] .col-md-4:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 30px rgba(46, 196, 182, 0.12) !important;
  border-color: var(--ct-theme, #2EC4B6) !important;
}

/* Feature h4 styling */
.es_social_listening article h4,
.en_social_listening article h4 {
  color: var(--ct-text-dark) !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  margin-bottom: 8px !important;
}

/* Polygon/decorative section: oculto para diseño limpio */
.es_social_listening .container-fluid:not(.custom-ratio-header),
.en_social_listening .container-fluid:not(.custom-ratio-header) {
  display: none !important;
}

/* Hide original polygon SVGs */
.es_social_listening .polygon svg,
.es_social_listening .container-fluid:not(.custom-ratio-header) > svg,
.en_social_listening .polygon svg,
.en_social_listening .container-fluid:not(.custom-ratio-header) > svg {
  display: none !important;
}

/* Spacers between sections */
.es_social_listening .w-100.mb-96,
.es_social_listening .w-100.mb-194,
.en_social_listening .w-100.mb-96,
.en_social_listening .w-100.mb-194 {
  display: none !important;
}

/* --------------------------------------------------------------------------
   31.8 SOCIAL WALLS (.es_social_walls) — Tema Yellow
   -------------------------------------------------------------------------- */
/* Hero con gradiente yellow/gold */
.es_social_walls .container-fluid.custom-ratio-header,
.en_social_walls .container-fluid.custom-ratio-header {
  background: linear-gradient(160deg, #3d2a00 0%, #7a5500 30%, var(--ct-theme-dark, #c88b1a) 60%, var(--ct-theme, #e6a429) 100%) !important;
}

.es_social_walls .container-fluid.custom-ratio-header::before,
.en_social_walls .container-fluid.custom-ratio-header::before {
  content: "" !important;
  position: absolute !important;
  top: -100px !important;
  right: -60px !important;
  width: 350px !important;
  height: 350px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(243, 213, 156, 0.3) 0%, transparent 70%) !important;
  pointer-events: none !important;
  animation: float 8s ease-in-out infinite !important;
}

/* Accent color en headings */
.es_social_walls main h2,
.en_social_walls main h2 {
  font-size: clamp(1.5rem, 2.8vw, 2rem) !important;
  font-weight: 800 !important;
  color: var(--ct-text-dark) !important;
}

.es_social_walls main h2::after,
.en_social_walls main h2::after {
  content: "" !important;
  display: block !important;
  width: 50px !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--ct-theme, #e6a429), var(--ct-theme-gradient-start, #f3d59c)) !important;
  margin-top: 12px !important;
  border-radius: 2px !important;
}

/* Points section — fondo limpio con acento temático sutil */
.es_social_walls article[id*=points],
.en_social_walls article[id*=points] {
  padding: 64px 0 !important;
  background: linear-gradient(180deg, #fdf8ef 0%, #faf1de 100%) !important;
  margin-top: -2px !important;
  position: relative !important;
}

.es_social_walls article[id*=points] h3,
.en_social_walls article[id*=points] h3 {
  color: var(--ct-text-dark, #1a1a2e) !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
}

.es_social_walls article[id*=points] p,
.es_social_walls article[id*=points] span,
.es_social_walls article[id*=points] strong,
.en_social_walls article[id*=points] p,
.en_social_walls article[id*=points] span,
.en_social_walls article[id*=points] strong {
  color: var(--ct-text-muted, #555) !important;
}

/* Cards/items */
.es_social_walls .center-list > div,
.es_social_walls article .col-md-4,
.es_social_walls article .col-sm-6,
.en_social_walls .center-list > div,
.en_social_walls article .col-md-4,
.en_social_walls article .col-sm-6 {
  padding: 24px !important;
}

.es_social_walls .center-list h3,
.es_social_walls article h3,
.en_social_walls .center-list h3,
.en_social_walls article h3 {
  color: var(--ct-theme, #e6a429) !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
}

/* Links y CTAs en yellow */
.es_social_walls main a:not(.navbar a):not(.footer a),
.en_social_walls main a:not(.navbar a):not(.footer a) {
  color: var(--ct-theme, #e6a429) !important;
  font-weight: 600 !important;
}

.es_social_walls main a:not(.navbar a):not(.footer a):hover,
.en_social_walls main a:not(.navbar a):not(.footer a):hover {
  color: var(--ct-theme-dark, #c88b1a) !important;
}

/* Botones en yellow — incluir hero */
.es_social_walls .btn-primary,
.es_social_walls main .btn,
.es_social_walls .container-fluid.custom-ratio-header .btn,
.es_social_walls .inside-aspect-ratio .btn,
.en_social_walls .btn-primary,
.en_social_walls main .btn,
.en_social_walls .container-fluid.custom-ratio-header .btn,
.en_social_walls .inside-aspect-ratio .btn {
  background: var(--ct-theme, #e6a429) !important;
  color: var(--ct-white) !important;
  border: none !important;
  border-radius: var(--ct-radius-pill) !important;
  padding: 14px 32px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  box-shadow: 0 4px 15px var(--ct-theme-glow, rgba(230, 164, 41, 0.35)) !important;
  transition: all 0.3s var(--ct-ease) !important;
}

.es_social_walls .btn-primary:hover,
.es_social_walls main .btn:hover,
.es_social_walls .container-fluid.custom-ratio-header .btn:hover,
.es_social_walls .inside-aspect-ratio .btn:hover,
.en_social_walls .btn-primary:hover,
.en_social_walls main .btn:hover,
.en_social_walls .container-fluid.custom-ratio-header .btn:hover,
.en_social_walls .inside-aspect-ratio .btn:hover {
  background: var(--ct-theme-dark, #c88b1a) !important;
  color: var(--ct-white) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px var(--ct-theme-glow, rgba(230, 164, 41, 0.45)) !important;
}

/* Polygon sections con accent yellow */
.es_social_walls .polygon .left-form-container,
.es_social_walls .polygon .right-form-container,
.en_social_walls .polygon .left-form-container,
.en_social_walls .polygon .right-form-container {
  background: linear-gradient(135deg, var(--ct-theme-light, #fdf6e8) 0%, rgba(230, 164, 41, 0.05) 100%) !important;
  border-radius: var(--ct-radius-xl) !important;
  padding: 48px 32px !important;
}

/* Highlights — layout y estilo visual avanzado */
.es_social_walls article[id*=highlights] h2,
.en_social_walls article[id*=highlights] h2 {
  text-align: center !important;
}

.es_social_walls .highlights-left-list > div,
.en_social_walls .highlights-left-list > div {
  padding: 32px !important;
  background: var(--ct-white) !important;
  border-radius: var(--ct-radius-xl) !important;
  border: 1px solid var(--ct-gray-200) !important;
  margin-bottom: 24px !important;
  box-shadow: var(--ct-shadow-sm) !important;
  transition: all 0.3s ease !important;
}

.es_social_walls .highlights-left-list > div:hover,
.en_social_walls .highlights-left-list > div:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 30px rgba(230, 164, 41, 0.15) !important;
  border-color: var(--ct-theme, #e6a429) !important;
}

.es_social_walls .highlights-left-list h5,
.en_social_walls .highlights-left-list h5 {
  color: var(--ct-text-dark) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}

.es_social_walls .highlights-left-list p,
.en_social_walls .highlights-left-list p {
  color: var(--ct-text, #4a5568) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

/* Override base white text: strong, links y spans deben ser oscuros sobre fondo blanco */
.es_social_walls .highlights-left-list strong,
.en_social_walls .highlights-left-list strong {
  color: var(--ct-text-dark) !important;
}

.es_social_walls .highlights-left-list a,
.es_social_walls .highlights-left-list .link-arrow-medium--svg,
.es_social_walls .highlights-left-list .link-arrow-medium--svg span,
.en_social_walls .highlights-left-list a,
.en_social_walls .highlights-left-list .link-arrow-medium--svg,
.en_social_walls .highlights-left-list .link-arrow-medium--svg span {
  color: var(--ct-theme, #e6a429) !important;
  border-bottom-color: rgba(230, 164, 41, 0.3) !important;
}

.es_social_walls .highlights-left-list a:hover,
.es_social_walls .highlights-left-list .link-arrow-medium--svg:hover,
.en_social_walls .highlights-left-list a:hover,
.en_social_walls .highlights-left-list .link-arrow-medium--svg:hover {
  color: var(--ct-theme-dark, #c88b1a) !important;
  border-bottom-color: var(--ct-theme, #e6a429) !important;
}

.es_social_walls .highlights-left-list svg,
.es_social_walls .highlights-left-list .link-arrow-medium--svg svg path,
.es_social_walls .highlights-left-list .link-arrow-medium--svg svg line,
.en_social_walls .highlights-left-list svg,
.en_social_walls .highlights-left-list .link-arrow-medium--svg svg path,
.en_social_walls .highlights-left-list .link-arrow-medium--svg svg line {
  stroke: var(--ct-theme, #e6a429) !important;
  fill: var(--ct-theme, #e6a429) !important;
  color: var(--ct-theme, #e6a429) !important;
}

/* Section alternating backgrounds — social walls */
.es_social_walls main > section:nth-of-type(odd),
.en_social_walls main > section:nth-of-type(odd) {
  background: var(--ct-white) !important;
}

.es_social_walls main > section:nth-of-type(even),
.en_social_walls main > section:nth-of-type(even) {
  background: var(--ct-theme-light, #fdf6e8) !important;
}

/* Feature cards: points = tarjetas blancas con acento temático */
.es_social_walls .center-list > div,
.es_social_walls article[id*=points] .col-md-4,
.es_social_walls article[id*=points] .col-sm-6,
.en_social_walls .center-list > div,
.en_social_walls article[id*=points] .col-md-4,
.en_social_walls article[id*=points] .col-sm-6 {
  background: var(--ct-white, #fff) !important;
  border-radius: var(--ct-radius-xl) !important;
  border: 1px solid rgba(230, 164, 41, 0.15) !important;
  box-shadow: 0 4px 20px rgba(230, 164, 41, 0.08) !important;
  transition: all 0.3s ease !important;
  margin-bottom: 16px !important;
  position: relative !important;
}

.es_social_walls .center-list > div:hover,
.es_social_walls article[id*=points] .col-md-4:hover,
.es_social_walls article[id*=points] .col-sm-6:hover,
.en_social_walls .center-list > div:hover,
.en_social_walls article[id*=points] .col-md-4:hover,
.en_social_walls article[id*=points] .col-sm-6:hover {
  background: var(--ct-white, #fff) !important;
  transform: translateY(-4px) !important;
  border-color: rgba(230, 164, 41, 0.3) !important;
  box-shadow: 0 8px 30px rgba(230, 164, 41, 0.14) !important;
}

/* Step cards: top accent border + counter numbers */
.es_social_walls article[id*=points] .center-list,
.en_social_walls article[id*=points] .center-list,
.es_social_listening article[id*=points] .center-list,
.en_social_listening article[id*=points] .center-list {
  counter-reset: step-counter !important;
}

.es_social_walls article[id*=points] .center-list > .col-md-4,
.en_social_walls article[id*=points] .center-list > .col-md-4 {
  border-top: 3px solid var(--ct-theme, #e6a429) !important;
  counter-increment: step-counter !important;
}

.es_social_walls article[id*=points] .center-list > .col-md-4::before,
.en_social_walls article[id*=points] .center-list > .col-md-4::before {
  content: counter(step-counter) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: var(--ct-theme, #e6a429) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  margin: 0 auto 12px !important;
}

.es_social_listening article[id*=points] .center-list > .col-md-4,
.en_social_listening article[id*=points] .center-list > .col-md-4 {
  border-top: 3px solid var(--ct-theme, #2EC4B6) !important;
  counter-increment: step-counter !important;
}

.es_social_listening article[id*=points] .center-list > .col-md-4::before,
.en_social_listening article[id*=points] .center-list > .col-md-4::before {
  content: counter(step-counter) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: var(--ct-theme, #2EC4B6) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  margin: 0 auto 12px !important;
}

/* Feature h4 styling */
.es_social_walls article h4,
.en_social_walls article h4 {
  color: var(--ct-text-dark) !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  margin-bottom: 8px !important;
}

/* Polygon/decorative section: oculto para diseño limpio */
.es_social_walls .container-fluid:not(.custom-ratio-header),
.en_social_walls .container-fluid:not(.custom-ratio-header) {
  display: none !important;
}

/* Hide original polygon SVGs */
.es_social_walls .polygon svg,
.es_social_walls .container-fluid:not(.custom-ratio-header) > svg,
.en_social_walls .polygon svg,
.en_social_walls .container-fluid:not(.custom-ratio-header) > svg {
  display: none !important;
}

/* Spacers between sections */
.es_social_walls .w-100.mb-96,
.es_social_walls .w-100.mb-194,
.en_social_walls .w-100.mb-96,
.en_social_walls .w-100.mb-194 {
  display: none !important;
}

/* --------------------------------------------------------------------------
   31.9 EMPLEO (.es_jobs)
   -------------------------------------------------------------------------- */
/* Hero */
.es_jobs .container-fluid.custom-ratio-header,
.en_jobs .container-fluid.custom-ratio-header {
  background: linear-gradient(135deg, var(--ct-blue) 0%, var(--ct-blue-dark) 55%, #2a3d7a 100%) !important;
}

/* Main container */
.es_jobs main > .container,
.en_jobs main > .container {
  padding: 56px 0 !important;
}

/* Título principal */
.es_jobs main h1,
.en_jobs main h1 {
  font-size: clamp(1.8rem, 3vw, 2.4rem) !important;
  font-weight: 900 !important;
  color: var(--ct-text-dark) !important;
  margin-bottom: 32px !important;
  position: relative !important;
}

.es_jobs main h1::after,
.en_jobs main h1::after {
  content: "" !important;
  display: block !important;
  width: 60px !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--ct-red), var(--ct-blue)) !important;
  margin-top: 16px !important;
  border-radius: 2px !important;
}

/* Job art (imagen lateral) */
.es_jobs .job-art,
.en_jobs .job-art {
  border-radius: var(--ct-radius-xl) !important;
  overflow: hidden !important;
}

.es_jobs .job-art img,
.en_jobs .job-art img {
  border-radius: var(--ct-radius-xl) !important;
  box-shadow: var(--ct-shadow) !important;
}

/* Job cards */
.es_jobs .card.jobs,
.es_jobs .card-body.jobs,
.en_jobs .card.jobs,
.en_jobs .card-body.jobs {
  background: var(--ct-white) !important;
  border: 1px solid var(--ct-gray-200) !important;
  border-radius: var(--ct-radius-lg) !important;
  padding: 24px !important;
  margin-bottom: 16px !important;
  transition: all 0.3s var(--ct-ease) !important;
  box-shadow: var(--ct-shadow-xs) !important;
}

.es_jobs .card.jobs:hover,
.es_jobs .card-body.jobs:hover,
.en_jobs .card.jobs:hover,
.en_jobs .card-body.jobs:hover {
  border-color: var(--ct-blue) !important;
  box-shadow: var(--ct-shadow-sm) !important;
}

/* Collapse triggers */
.es_jobs [data-toggle=collapse],
.es_jobs [data-bs-toggle=collapse],
.en_jobs [data-toggle=collapse],
.en_jobs [data-bs-toggle=collapse] {
  cursor: pointer !important;
  color: var(--ct-blue) !important;
  font-weight: 600 !important;
  font-size: 1.1rem !important;
  transition: color 0.2s ease !important;
}

.es_jobs [data-toggle=collapse]:hover,
.es_jobs [data-bs-toggle=collapse]:hover,
.en_jobs [data-toggle=collapse]:hover,
.en_jobs [data-bs-toggle=collapse]:hover {
  color: var(--ct-blue-dark) !important;
}

/* Collapsed content */
.es_jobs .collapse .card-body,
.en_jobs .collapse .card-body {
  border-top: 1px solid var(--ct-gray-100) !important;
  padding-top: 20px !important;
  margin-top: 16px !important;
}

/* CTA de empleo */
.es_jobs .btn-primary,
.en_jobs .btn-primary {
  background: var(--ct-blue) !important;
  color: var(--ct-white) !important;
  border-radius: var(--ct-radius-pill) !important;
  padding: 14px 36px !important;
  font-weight: 700 !important;
  border: none !important;
  box-shadow: 0 4px 15px rgba(68, 92, 173, 0.35) !important;
  transition: all 0.3s var(--ct-ease) !important;
}

.es_jobs .btn-primary:hover,
.en_jobs .btn-primary:hover {
  background: var(--ct-blue-dark) !important;
  color: var(--ct-white) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(68, 92, 173, 0.45) !important;
}

/* --------------------------------------------------------------------------
   31.10 AFILIADOS — los estilos viven en _page-affiliates.scss
   (rediseño 2026 con clases prefijadas `aff-*`).
   -------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------
   31.11 POLÍTICA DE PRIVACIDAD (.es_privacy)
   -------------------------------------------------------------------------- */
/* Hero */
.es_privacy .container-fluid.custom-ratio-header,
.en_privacy .container-fluid.custom-ratio-header {
  background: linear-gradient(135deg, var(--ct-gray-900) 0%, var(--ct-gray-800) 50%, var(--ct-gray-700) 100%) !important;
}

/* Content container */
.es_privacy main > .container,
.en_privacy main > .container {
  max-width: 860px !important;
  padding: 56px 24px !important;
}

/* Prose styling for legal text */
.es_privacy main h2,
.en_privacy main h2 {
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: var(--ct-text-dark) !important;
  margin: 40px 0 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--ct-gray-100) !important;
}

.es_privacy main h3,
.en_privacy main h3 {
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--ct-text-dark) !important;
  margin: 24px 0 10px !important;
}

.es_privacy main p,
.en_privacy main p {
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: var(--ct-text) !important;
  margin-bottom: 16px !important;
}

.es_privacy main ul,
.es_privacy main ol,
.en_privacy main ul,
.en_privacy main ol {
  padding-left: 24px !important;
  margin-bottom: 16px !important;
}

.es_privacy main li,
.en_privacy main li {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--ct-text) !important;
  margin-bottom: 8px !important;
}

.es_privacy main a,
.en_privacy main a {
  color: var(--ct-blue) !important;
  text-decoration: underline !important;
  text-decoration-color: transparent !important;
  transition: text-decoration-color 0.2s ease !important;
}

.es_privacy main a:hover,
.en_privacy main a:hover {
  text-decoration-color: var(--ct-blue) !important;
}

/* --------------------------------------------------------------------------
   31.12 RESPONSIVE SUBPÁGINAS
   -------------------------------------------------------------------------- */
@media (max-width: 991px) {
  .container-fluid.custom-ratio-header {
    padding: 56px 0 44px !important;
  }
  .es_case_studies main > section,
  .es_case_studies main > .container,
  .en_case_studies main > section,
  .en_case_studies main > .container,
  .es_about_us main > section,
  .es_about_us main > .container,
  .en_about_us main > section,
  .en_about_us main > .container,
  .es_resources main > section,
  .es_resources main > .container,
  .en_resources main > section,
  .en_resources main > .container,
  .es_social_listening main > section,
  .es_social_listening main > .container,
  .en_social_listening main > section,
  .en_social_listening main > .container,
  .es_social_walls main > section,
  .es_social_walls main > .container,
  .en_social_walls main > section,
  .en_social_walls main > .container,
  .es_jobs main > section,
  .es_jobs main > .container,
  .en_jobs main > section,
  .en_jobs main > .container,
  .es_privacy main > section,
  .es_privacy main > .container,
  .en_privacy main > section,
  .en_privacy main > .container {
    padding: 40px 0 !important;
  }
  /* Recursos: layout apilado en tablet */
  .es_resources .guides-section-container,
  .en_resources .guides-section-container {
    display: flex !important;
    flex-direction: column !important;
  }
  .es_resources .guides-section-container > aside,
  .en_resources .guides-section-container > aside {
    order: 2 !important;
    width: 100% !important;
    position: static !important;
    margin-top: 32px !important;
  }
  .es_resources .guides-section,
  .en_resources .guides-section {
    grid-template-columns: repeat(2, 1fr) !important;
    order: 1 !important;
    width: 100% !important;
  }
}
@media (max-width: 767px) {
  .container-fluid.custom-ratio-header {
    padding: 44px 16px 36px !important;
  }
  .container-fluid.custom-ratio-header h1,
  .container-fluid.custom-ratio-header h2 {
    font-size: 1.6rem !important;
  }
  .es_case_studies main > section,
  .es_case_studies main > .container,
  .en_case_studies main > section,
  .en_case_studies main > .container,
  .es_about_us main > section,
  .es_about_us main > .container,
  .en_about_us main > section,
  .en_about_us main > .container,
  .es_resources main > section,
  .es_resources main > .container,
  .en_resources main > section,
  .en_resources main > .container,
  .es_social_listening main > section,
  .es_social_listening main > .container,
  .en_social_listening main > section,
  .en_social_listening main > .container,
  .es_social_walls main > section,
  .es_social_walls main > .container,
  .en_social_walls main > section,
  .en_social_walls main > .container,
  .es_jobs main > section,
  .es_jobs main > .container,
  .en_jobs main > section,
  .en_jobs main > .container,
  .es_privacy main > section,
  .es_privacy main > .container,
  .en_privacy main > section,
  .en_privacy main > .container {
    padding: 32px 0 !important;
  }
  /* Recursos: layout apilado en mobile */
  .es_resources .guides-section-container,
  .en_resources .guides-section-container {
    display: flex !important;
    flex-direction: column !important;
  }
  .es_resources .guides-section-container > aside,
  .en_resources .guides-section-container > aside {
    order: 2 !important;
    width: 100% !important;
    position: static !important;
    margin-top: 32px !important;
  }
  .es_resources .guides-section,
  .en_resources .guides-section {
    grid-template-columns: 1fr !important;
    order: 1 !important;
    width: 100% !important;
  }
  .es_privacy main > .container,
  .en_privacy main > .container {
    padding: 32px 16px !important;
  }
}
/* ==========================================================================
   INTERNAL PAGES REDESIGN — Subpáginas de Social Listening & Social Walls
   Pages: monitorizacion-marca, social-analytics, social-listening,
          social-walls-corporativos, social-walls-eventos
   Todas comparten estructura idéntica: Hero + Features grid + Checklist +
   Case studies con SVG decorativos
   ========================================================================== */
/* --- Selector base combinado para las 5 páginas --- */
.es_brand_monitoring,
.es_social_analytics,
.es_more_social_listening,
.es_social_walls_corporate,
.es_social_walls_events,
.en_brand_monitoring,
.en_social_analytics,
.en_more_social_listening,
.en_social_walls_corporate,
.en_social_walls_events {
  background: var(--ct-off-white, #f8f9fa) !important;
}

/* ===== HERO SECTION ===== */
/* El hero se compone de: main > .container-fluid (SVG bg) + main > .container (contenido) */
/* Hero: gradiente de fondo temático con overlay */
/* Gradiente consistente con las landing pages principales */
.es_brand_monitoring main > .container-fluid:first-child,
.es_social_analytics main > .container-fluid:first-child,
.es_more_social_listening main > .container-fluid:first-child,
.en_brand_monitoring main > .container-fluid:first-child,
.en_social_analytics main > .container-fluid:first-child,
.en_more_social_listening main > .container-fluid:first-child {
  background: linear-gradient(160deg, #0a2e2b 0%, #134e48 30%, #229e93 60%, var(--ct-theme, #2EC4B6) 100%) !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 640px !important;
  z-index: 0 !important;
  overflow: hidden !important;
}

.es_social_walls_corporate main > .container-fluid:first-child,
.es_social_walls_events main > .container-fluid:first-child,
.en_social_walls_corporate main > .container-fluid:first-child,
.en_social_walls_events main > .container-fluid:first-child {
  background: linear-gradient(160deg, #3d2800 0%, #7a5500 30%, #c88b1a 60%, var(--ct-theme, #e6a429) 100%) !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 640px !important;
  z-index: 0 !important;
  overflow: hidden !important;
}

/* Ocultar SVG decorativos originales del hero */
.es_brand_monitoring main > .container-fluid:first-child .right-form-container,
.es_social_analytics main > .container-fluid:first-child .right-form-container,
.es_more_social_listening main > .container-fluid:first-child .right-form-container,
.es_social_walls_corporate main > .container-fluid:first-child .right-form-container,
.es_social_walls_events main > .container-fluid:first-child .right-form-container,
.en_brand_monitoring main > .container-fluid:first-child .right-form-container,
.en_social_analytics main > .container-fluid:first-child .right-form-container,
.en_more_social_listening main > .container-fluid:first-child .right-form-container,
.en_social_walls_corporate main > .container-fluid:first-child .right-form-container,
.en_social_walls_events main > .container-fluid:first-child .right-form-container {
  opacity: 0.15 !important;
}

/* Hero content container */
.es_brand_monitoring main > .container:nth-child(2),
.es_social_analytics main > .container:nth-child(2),
.es_more_social_listening main > .container:nth-child(2),
.es_social_walls_corporate main > .container:nth-child(2),
.es_social_walls_events main > .container:nth-child(2),
.en_brand_monitoring main > .container:nth-child(2),
.en_social_analytics main > .container:nth-child(2),
.en_more_social_listening main > .container:nth-child(2),
.en_social_walls_corporate main > .container:nth-child(2),
.en_social_walls_events main > .container:nth-child(2) {
  position: relative !important;
  z-index: 1 !important;
  padding-top: 72px !important;
  padding-bottom: 56px !important;
  min-height: 540px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

/* Hero spacer */
.es_brand_monitoring main > .container:nth-child(2) .mb-96,
.es_social_analytics main > .container:nth-child(2) .mb-96,
.es_more_social_listening main > .container:nth-child(2) .mb-96,
.es_social_walls_corporate main > .container:nth-child(2) .mb-96,
.es_social_walls_events main > .container:nth-child(2) .mb-96,
.en_brand_monitoring main > .container:nth-child(2) .mb-96,
.en_social_analytics main > .container:nth-child(2) .mb-96,
.en_more_social_listening main > .container:nth-child(2) .mb-96,
.en_social_walls_corporate main > .container:nth-child(2) .mb-96,
.en_social_walls_events main > .container:nth-child(2) .mb-96 {
  display: none !important;
}

/* Hero H1 — blanco, grande, elegante */
.es_brand_monitoring main > .container:nth-child(2) h1,
.es_social_analytics main > .container:nth-child(2) h1,
.es_more_social_listening main > .container:nth-child(2) h1,
.es_social_walls_corporate main > .container:nth-child(2) h1,
.es_social_walls_events main > .container:nth-child(2) h1,
.en_brand_monitoring main > .container:nth-child(2) h1,
.en_social_analytics main > .container:nth-child(2) h1,
.en_more_social_listening main > .container:nth-child(2) h1,
.en_social_walls_corporate main > .container:nth-child(2) h1,
.en_social_walls_events main > .container:nth-child(2) h1 {
  color: var(--ct-white) !important;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  margin-bottom: 20px !important;
  letter-spacing: -0.03em !important;
}

/* Hero párrafo */
.es_brand_monitoring main > .container:nth-child(2) p,
.es_social_analytics main > .container:nth-child(2) p,
.es_more_social_listening main > .container:nth-child(2) p,
.es_social_walls_corporate main > .container:nth-child(2) p,
.es_social_walls_events main > .container:nth-child(2) p,
.en_brand_monitoring main > .container:nth-child(2) p,
.en_social_analytics main > .container:nth-child(2) p,
.en_more_social_listening main > .container:nth-child(2) p,
.en_social_walls_corporate main > .container:nth-child(2) p,
.en_social_walls_events main > .container:nth-child(2) p {
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  /* Antes 600px: la intro quedaba mucho más estrecha que el título y dejaba un
     hueco vacío evidente a la derecha. La subimos para que llegue cerca del ancho
     del título sin volverse demasiado larga de leer. */
  max-width: 900px !important;
}

/* Hero strong */
.es_brand_monitoring main > .container:nth-child(2) strong,
.es_social_analytics main > .container:nth-child(2) strong,
.es_more_social_listening main > .container:nth-child(2) strong,
.es_social_walls_corporate main > .container:nth-child(2) strong,
.es_social_walls_events main > .container:nth-child(2) strong,
.en_brand_monitoring main > .container:nth-child(2) strong,
.en_social_analytics main > .container:nth-child(2) strong,
.en_more_social_listening main > .container:nth-child(2) strong,
.en_social_walls_corporate main > .container:nth-child(2) strong,
.en_social_walls_events main > .container:nth-child(2) strong {
  color: var(--ct-white) !important;
}

/* Hero secondary links (no .btn) — blanco sobre fondo temático */
.es_brand_monitoring main > .container:nth-child(2) a:not(.btn),
.es_social_analytics main > .container:nth-child(2) a:not(.btn),
.es_more_social_listening main > .container:nth-child(2) a:not(.btn),
.es_social_walls_corporate main > .container:nth-child(2) a:not(.btn),
.es_social_walls_events main > .container:nth-child(2) a:not(.btn),
.en_brand_monitoring main > .container:nth-child(2) a:not(.btn),
.en_social_analytics main > .container:nth-child(2) a:not(.btn),
.en_more_social_listening main > .container:nth-child(2) a:not(.btn),
.en_social_walls_corporate main > .container:nth-child(2) a:not(.btn),
.en_social_walls_events main > .container:nth-child(2) a:not(.btn) {
  color: var(--ct-white) !important;
  opacity: 0.85 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.es_brand_monitoring main > .container:nth-child(2) a:not(.btn):hover,
.es_social_analytics main > .container:nth-child(2) a:not(.btn):hover,
.es_more_social_listening main > .container:nth-child(2) a:not(.btn):hover,
.es_social_walls_corporate main > .container:nth-child(2) a:not(.btn):hover,
.es_social_walls_events main > .container:nth-child(2) a:not(.btn):hover,
.en_brand_monitoring main > .container:nth-child(2) a:not(.btn):hover,
.en_social_analytics main > .container:nth-child(2) a:not(.btn):hover,
.en_more_social_listening main > .container:nth-child(2) a:not(.btn):hover,
.en_social_walls_corporate main > .container:nth-child(2) a:not(.btn):hover,
.en_social_walls_events main > .container:nth-child(2) a:not(.btn):hover {
  opacity: 1 !important;
}

/* Hero CTA button — consistente con las landing pages */
.es_brand_monitoring main > .container:nth-child(2) .btn,
.es_social_analytics main > .container:nth-child(2) .btn,
.es_more_social_listening main > .container:nth-child(2) .btn,
.en_brand_monitoring main > .container:nth-child(2) .btn,
.en_social_analytics main > .container:nth-child(2) .btn,
.en_more_social_listening main > .container:nth-child(2) .btn {
  background: var(--ct-theme, #2EC4B6) !important;
  color: var(--ct-white) !important;
  border: 2px solid var(--ct-theme, #2EC4B6) !important;
  padding: 14px 32px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
  transition: all 0.3s ease !important;
  text-transform: none !important;
}

.es_brand_monitoring main > .container:nth-child(2) .btn:hover,
.es_social_analytics main > .container:nth-child(2) .btn:hover,
.es_more_social_listening main > .container:nth-child(2) .btn:hover,
.en_brand_monitoring main > .container:nth-child(2) .btn:hover,
.en_social_analytics main > .container:nth-child(2) .btn:hover,
.en_more_social_listening main > .container:nth-child(2) .btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2) !important;
  background: var(--ct-theme-dark, #229e93) !important;
  border-color: var(--ct-theme-dark, #229e93) !important;
}

.es_social_walls_corporate main > .container:nth-child(2) .btn,
.es_social_walls_events main > .container:nth-child(2) .btn,
.en_social_walls_corporate main > .container:nth-child(2) .btn,
.en_social_walls_events main > .container:nth-child(2) .btn {
  background: var(--ct-theme, #e6a429) !important;
  color: var(--ct-white) !important;
  border: 2px solid var(--ct-theme, #e6a429) !important;
  padding: 14px 32px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
  transition: all 0.3s ease !important;
}

.es_social_walls_corporate main > .container:nth-child(2) .btn:hover,
.es_social_walls_events main > .container:nth-child(2) .btn:hover,
.en_social_walls_corporate main > .container:nth-child(2) .btn:hover,
.en_social_walls_events main > .container:nth-child(2) .btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2) !important;
  background: var(--ct-theme-dark, #c88b1a) !important;
  border-color: var(--ct-theme-dark, #c88b1a) !important;
}

/* ===== MAIN SECTION — contenedor principal ===== */
.es_brand_monitoring main > section,
.es_social_analytics main > section,
.es_more_social_listening main > section,
.es_social_walls_corporate main > section,
.es_social_walls_events main > section,
.en_brand_monitoring main > section,
.en_social_analytics main > section,
.en_more_social_listening main > section,
.en_social_walls_corporate main > section,
.en_social_walls_events main > section {
  position: relative !important;
  z-index: 1 !important;
  margin-top: 0 !important;
  padding-top: 120px !important;
}

/* ===== FEATURES GRID (primer article) ===== */
/* H2 centrado */
.es_brand_monitoring section > .container:first-child h2,
.es_social_analytics section > .container:first-child h2,
.es_more_social_listening section > .container:first-child h2,
.es_social_walls_corporate section > .container:first-child h2,
.es_social_walls_events section > .container:first-child h2,
.en_brand_monitoring section > .container:first-child h2,
.en_social_analytics section > .container:first-child h2,
.en_more_social_listening section > .container:first-child h2,
.en_social_walls_corporate section > .container:first-child h2,
.en_social_walls_events section > .container:first-child h2 {
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 800 !important;
  color: var(--ct-text-dark) !important;
  margin-bottom: 48px !important;
  position: relative !important;
}

/* Feature cards — cada col-lg-4 dentro del primer article */
.es_brand_monitoring section > .container:first-child article:first-child .col-lg-4,
.es_social_analytics section > .container:first-child article:first-child .col-lg-4,
.es_more_social_listening section > .container:first-child article:first-child .col-lg-4,
.es_social_walls_corporate section > .container:first-child article:first-child .col-lg-4,
.es_social_walls_events section > .container:first-child article:first-child .col-lg-4,
.en_brand_monitoring section > .container:first-child article:first-child .col-lg-4,
.en_social_analytics section > .container:first-child article:first-child .col-lg-4,
.en_more_social_listening section > .container:first-child article:first-child .col-lg-4,
.en_social_walls_corporate section > .container:first-child article:first-child .col-lg-4,
.en_social_walls_events section > .container:first-child article:first-child .col-lg-4 {
  padding: 0 12px !important;
  margin-bottom: 48px !important;
}

.es_brand_monitoring section > .container:first-child article:first-child .col-lg-4 > div,
.es_social_analytics section > .container:first-child article:first-child .col-lg-4 > div,
.es_more_social_listening section > .container:first-child article:first-child .col-lg-4 > div,
.es_social_walls_corporate section > .container:first-child article:first-child .col-lg-4 > div,
.es_social_walls_events section > .container:first-child article:first-child .col-lg-4 > div,
.en_brand_monitoring section > .container:first-child article:first-child .col-lg-4 > div,
.en_social_analytics section > .container:first-child article:first-child .col-lg-4 > div,
.en_more_social_listening section > .container:first-child article:first-child .col-lg-4 > div,
.en_social_walls_corporate section > .container:first-child article:first-child .col-lg-4 > div,
.en_social_walls_events section > .container:first-child article:first-child .col-lg-4 > div {
  background: var(--ct-white) !important;
  border-radius: var(--ct-radius-xl, 16px) !important;
  padding: 32px 28px !important;
  border: 1px solid var(--ct-gray-200, #e2e8f0) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
  overflow: hidden !important;
  margin-bottom: 20px !important;
}

.es_brand_monitoring section > .container:first-child article:first-child .col-lg-4 > div::before,
.es_social_analytics section > .container:first-child article:first-child .col-lg-4 > div::before,
.es_more_social_listening section > .container:first-child article:first-child .col-lg-4 > div::before,
.en_brand_monitoring section > .container:first-child article:first-child .col-lg-4 > div::before,
.en_social_analytics section > .container:first-child article:first-child .col-lg-4 > div::before,
.en_more_social_listening section > .container:first-child article:first-child .col-lg-4 > div::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--ct-theme, #2EC4B6), var(--ct-theme-dark, #229e93)) !important;
  border-radius: 16px 16px 0 0 !important;
}

.es_social_walls_corporate section > .container:first-child article:first-child .col-lg-4 > div::before,
.es_social_walls_events section > .container:first-child article:first-child .col-lg-4 > div::before,
.en_social_walls_corporate section > .container:first-child article:first-child .col-lg-4 > div::before,
.en_social_walls_events section > .container:first-child article:first-child .col-lg-4 > div::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--ct-theme, #e6a429), #d4920e) !important;
  border-radius: 16px 16px 0 0 !important;
}

.es_brand_monitoring section > .container:first-child article:first-child .col-lg-4 > div:hover,
.es_social_analytics section > .container:first-child article:first-child .col-lg-4 > div:hover,
.es_more_social_listening section > .container:first-child article:first-child .col-lg-4 > div:hover,
.en_brand_monitoring section > .container:first-child article:first-child .col-lg-4 > div:hover,
.en_social_analytics section > .container:first-child article:first-child .col-lg-4 > div:hover,
.en_more_social_listening section > .container:first-child article:first-child .col-lg-4 > div:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(46, 196, 182, 0.12) !important;
  border-color: rgba(46, 196, 182, 0.3) !important;
}

.es_social_walls_corporate section > .container:first-child article:first-child .col-lg-4 > div:hover,
.es_social_walls_events section > .container:first-child article:first-child .col-lg-4 > div:hover,
.en_social_walls_corporate section > .container:first-child article:first-child .col-lg-4 > div:hover,
.en_social_walls_events section > .container:first-child article:first-child .col-lg-4 > div:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(230, 164, 41, 0.12) !important;
  border-color: rgba(230, 164, 41, 0.3) !important;
}

/* Feature card headings */
.es_brand_monitoring section > .container:first-child article:first-child h3,
.es_social_analytics section > .container:first-child article:first-child h3,
.es_more_social_listening section > .container:first-child article:first-child h3,
.es_social_walls_corporate section > .container:first-child article:first-child h3,
.es_social_walls_events section > .container:first-child article:first-child h3,
.en_brand_monitoring section > .container:first-child article:first-child h3,
.en_social_analytics section > .container:first-child article:first-child h3,
.en_more_social_listening section > .container:first-child article:first-child h3,
.en_social_walls_corporate section > .container:first-child article:first-child h3,
.en_social_walls_events section > .container:first-child article:first-child h3 {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--ct-text-dark) !important;
  margin-bottom: 12px !important;
}

/* Feature card text */
.es_brand_monitoring section > .container:first-child article:first-child p,
.es_social_analytics section > .container:first-child article:first-child p,
.es_more_social_listening section > .container:first-child article:first-child p,
.es_social_walls_corporate section > .container:first-child article:first-child p,
.es_social_walls_events section > .container:first-child article:first-child p,
.en_brand_monitoring section > .container:first-child article:first-child p,
.en_social_analytics section > .container:first-child article:first-child p,
.en_more_social_listening section > .container:first-child article:first-child p,
.en_social_walls_corporate section > .container:first-child article:first-child p,
.en_social_walls_events section > .container:first-child article:first-child p {
  color: var(--ct-text, #4a5568) !important;
  font-size: 0.95rem !important;
  line-height: 1.65 !important;
  padding: 0 4px !important;
}

/* Primer article (features grid) — más padding inferior */
.es_brand_monitoring section > .container:first-child article:first-child,
.es_social_analytics section > .container:first-child article:first-child,
.es_more_social_listening section > .container:first-child article:first-child,
.es_social_walls_corporate section > .container:first-child article:first-child,
.es_social_walls_events section > .container:first-child article:first-child,
.en_brand_monitoring section > .container:first-child article:first-child,
.en_social_analytics section > .container:first-child article:first-child,
.en_more_social_listening section > .container:first-child article:first-child,
.en_social_walls_corporate section > .container:first-child article:first-child,
.en_social_walls_events section > .container:first-child article:first-child {
  padding-bottom: 24px !important;
}

/* Segundo article (checklist) — más padding superior para separar del grid */
.es_brand_monitoring section > .container:first-child article:nth-child(2),
.es_social_analytics section > .container:first-child article:nth-child(2),
.es_more_social_listening section > .container:first-child article:nth-child(2),
.es_social_walls_corporate section > .container:first-child article:nth-child(2),
.es_social_walls_events section > .container:first-child article:nth-child(2),
.en_brand_monitoring section > .container:first-child article:nth-child(2),
.en_social_analytics section > .container:first-child article:nth-child(2),
.en_more_social_listening section > .container:first-child article:nth-child(2),
.en_social_walls_corporate section > .container:first-child article:nth-child(2),
.en_social_walls_events section > .container:first-child article:nth-child(2) {
  padding-top: 32px !important;
  padding-bottom: 64px !important;
  margin-top: 16px !important;
  border-top: 1px solid var(--ct-gray-200, #e2e8f0) !important;
}

/* ===== CHECKLIST SECTION (segundo article dentro de section > .container) ===== */
.es_brand_monitoring section > .container:first-child .checks-left-list,
.es_social_analytics section > .container:first-child .checks-left-list,
.es_more_social_listening section > .container:first-child .checks-left-list,
.es_social_walls_corporate section > .container:first-child .checks-left-list,
.es_social_walls_events section > .container:first-child .checks-left-list,
.en_brand_monitoring section > .container:first-child .checks-left-list,
.en_social_analytics section > .container:first-child .checks-left-list,
.en_more_social_listening section > .container:first-child .checks-left-list,
.en_social_walls_corporate section > .container:first-child .checks-left-list,
.en_social_walls_events section > .container:first-child .checks-left-list {
  background: var(--ct-white) !important;
  border-radius: var(--ct-radius-xl, 16px) !important;
  padding: 36px 32px !important;
  border: 1px solid var(--ct-gray-200, #e2e8f0) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

/* Checklist icon color — teal para green-theme */
.es_brand_monitoring section .checks-left-list svg,
.es_social_analytics section .checks-left-list svg,
.es_more_social_listening section .checks-left-list svg,
.en_brand_monitoring section .checks-left-list svg,
.en_social_analytics section .checks-left-list svg,
.en_more_social_listening section .checks-left-list svg {
  color: var(--ct-theme, #2EC4B6) !important;
}

.es_brand_monitoring section .checks-left-list svg path,
.es_social_analytics section .checks-left-list svg path,
.es_more_social_listening section .checks-left-list svg path,
.en_brand_monitoring section .checks-left-list svg path,
.en_social_analytics section .checks-left-list svg path,
.en_more_social_listening section .checks-left-list svg path {
  fill: var(--ct-theme, #2EC4B6) !important;
}

/* Checklist icon — gold para yellow-theme */
.es_social_walls_corporate section .checks-left-list svg path,
.es_social_walls_events section .checks-left-list svg path,
.en_social_walls_corporate section .checks-left-list svg path,
.en_social_walls_events section .checks-left-list svg path {
  fill: var(--ct-theme, #e6a429) !important;
}

/* Checklist heading */
.es_brand_monitoring section .checks-left-list h4,
.es_social_analytics section .checks-left-list h4,
.es_more_social_listening section .checks-left-list h4,
.es_social_walls_corporate section .checks-left-list h4,
.es_social_walls_events section .checks-left-list h4,
.en_brand_monitoring section .checks-left-list h4,
.en_social_analytics section .checks-left-list h4,
.en_more_social_listening section .checks-left-list h4,
.en_social_walls_corporate section .checks-left-list h4,
.en_social_walls_events section .checks-left-list h4 {
  color: var(--ct-text-dark) !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
}

/* Checklist paragraph */
.es_brand_monitoring section .checks-left-list p,
.es_social_analytics section .checks-left-list p,
.es_more_social_listening section .checks-left-list p,
.es_social_walls_corporate section .checks-left-list p,
.es_social_walls_events section .checks-left-list p,
.en_brand_monitoring section .checks-left-list p,
.en_social_analytics section .checks-left-list p,
.en_more_social_listening section .checks-left-list p,
.en_social_walls_corporate section .checks-left-list p,
.en_social_walls_events section .checks-left-list p {
  color: var(--ct-text, #4a5568) !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
}

/* ===== SVG POLYGON DECORATIVE SECTIONS ===== */
/* Convertir container-fluid con SVGs en secciones decorativas con gradiente */
.es_brand_monitoring section > .container-fluid,
.es_social_analytics section > .container-fluid,
.es_more_social_listening section > .container-fluid,
.en_brand_monitoring section > .container-fluid,
.en_social_analytics section > .container-fluid,
.en_more_social_listening section > .container-fluid {
  background: linear-gradient(160deg, #0a2e2b 0%, #134e48 50%, var(--ct-theme, #2EC4B6) 100%) !important;
  padding: 80px 0 !important;
  margin: 48px 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

.es_social_walls_corporate section > .container-fluid,
.es_social_walls_events section > .container-fluid,
.en_social_walls_corporate section > .container-fluid,
.en_social_walls_events section > .container-fluid {
  background: linear-gradient(160deg, #3d2800 0%, #6b4a0a 50%, var(--ct-theme, #e6a429) 100%) !important;
  padding: 80px 0 !important;
  margin: 48px 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Hacer los SVGs decorativos sutiles */
.es_brand_monitoring section > .container-fluid .left-form-container,
.es_brand_monitoring section > .container-fluid .right-form-container,
.es_social_analytics section > .container-fluid .left-form-container,
.es_social_analytics section > .container-fluid .right-form-container,
.es_more_social_listening section > .container-fluid .left-form-container,
.es_more_social_listening section > .container-fluid .right-form-container,
.es_social_walls_corporate section > .container-fluid .left-form-container,
.es_social_walls_corporate section > .container-fluid .right-form-container,
.es_social_walls_events section > .container-fluid .left-form-container,
.es_social_walls_events section > .container-fluid .right-form-container,
.en_brand_monitoring section > .container-fluid .left-form-container,
.en_brand_monitoring section > .container-fluid .right-form-container,
.en_social_analytics section > .container-fluid .left-form-container,
.en_social_analytics section > .container-fluid .right-form-container,
.en_more_social_listening section > .container-fluid .left-form-container,
.en_more_social_listening section > .container-fluid .right-form-container,
.en_social_walls_corporate section > .container-fluid .left-form-container,
.en_social_walls_corporate section > .container-fluid .right-form-container,
.en_social_walls_events section > .container-fluid .left-form-container,
.en_social_walls_events section > .container-fluid .right-form-container {
  opacity: 0.12 !important;
}

/* ===== CASE STUDY SECTIONS ===== */
/* Containers de casos de uso (los .container que están después de los .container-fluid) */
.es_brand_monitoring section > .container:not(:first-child),
.es_social_analytics section > .container:not(:first-child),
.es_more_social_listening section > .container:not(:first-child),
.es_social_walls_corporate section > .container:not(:first-child),
.es_social_walls_events section > .container:not(:first-child),
.en_brand_monitoring section > .container:not(:first-child),
.en_social_analytics section > .container:not(:first-child),
.en_more_social_listening section > .container:not(:first-child),
.en_social_walls_corporate section > .container:not(:first-child),
.en_social_walls_events section > .container:not(:first-child) {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

/* Case study articles — card style */
.es_brand_monitoring section > .container:not(:first-child) article,
.es_social_analytics section > .container:not(:first-child) article,
.es_more_social_listening section > .container:not(:first-child) article,
.es_social_walls_corporate section > .container:not(:first-child) article,
.es_social_walls_events section > .container:not(:first-child) article,
.en_brand_monitoring section > .container:not(:first-child) article,
.en_social_analytics section > .container:not(:first-child) article,
.en_more_social_listening section > .container:not(:first-child) article,
.en_social_walls_corporate section > .container:not(:first-child) article,
.en_social_walls_events section > .container:not(:first-child) article {
  background: var(--ct-white) !important;
  border-radius: var(--ct-radius-xl, 16px) !important;
  padding: 40px !important;
  border: 1px solid var(--ct-gray-200, #e2e8f0) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
  transition: all 0.35s ease !important;
  overflow: hidden !important;
}

.es_brand_monitoring section > .container:not(:first-child) article:hover,
.es_social_analytics section > .container:not(:first-child) article:hover,
.es_more_social_listening section > .container:not(:first-child) article:hover,
.es_social_walls_corporate section > .container:not(:first-child) article:hover,
.es_social_walls_events section > .container:not(:first-child) article:hover,
.en_brand_monitoring section > .container:not(:first-child) article:hover,
.en_social_analytics section > .container:not(:first-child) article:hover,
.en_more_social_listening section > .container:not(:first-child) article:hover,
.en_social_walls_corporate section > .container:not(:first-child) article:hover,
.en_social_walls_events section > .container:not(:first-child) article:hover {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1) !important;
  transform: translateY(-4px) !important;
}

/* Case study H2 centered */
.es_brand_monitoring section > .container:not(:first-child) h2,
.es_social_analytics section > .container:not(:first-child) h2,
.es_more_social_listening section > .container:not(:first-child) h2,
.es_social_walls_corporate section > .container:not(:first-child) h2,
.es_social_walls_events section > .container:not(:first-child) h2,
.en_brand_monitoring section > .container:not(:first-child) h2,
.en_social_analytics section > .container:not(:first-child) h2,
.en_more_social_listening section > .container:not(:first-child) h2,
.en_social_walls_corporate section > .container:not(:first-child) h2,
.en_social_walls_events section > .container:not(:first-child) h2 {
  font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
  font-weight: 800 !important;
  color: var(--ct-text-dark) !important;
  margin-bottom: 32px !important;
}

/* Case study subtitle */
.es_brand_monitoring section .sub-title-section,
.es_social_analytics section .sub-title-section,
.es_more_social_listening section .sub-title-section,
.en_brand_monitoring section .sub-title-section,
.en_social_analytics section .sub-title-section,
.en_more_social_listening section .sub-title-section {
  color: var(--ct-theme, #2EC4B6) !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

.es_social_walls_corporate section .sub-title-section,
.es_social_walls_events section .sub-title-section,
.en_social_walls_corporate section .sub-title-section,
.en_social_walls_events section .sub-title-section {
  color: var(--ct-theme, #e6a429) !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

/* Case study heading (h3, h5, h6) */
.es_brand_monitoring section > .container:not(:first-child) h3,
.es_brand_monitoring section > .container:not(:first-child) h5,
.es_brand_monitoring section > .container:not(:first-child) h6:not(.sub-title-section),
.es_social_analytics section > .container:not(:first-child) h3,
.es_social_analytics section > .container:not(:first-child) h5,
.es_social_analytics section > .container:not(:first-child) h6:not(.sub-title-section),
.es_more_social_listening section > .container:not(:first-child) h3,
.es_more_social_listening section > .container:not(:first-child) h5,
.es_more_social_listening section > .container:not(:first-child) h6:not(.sub-title-section),
.es_social_walls_corporate section > .container:not(:first-child) h3,
.es_social_walls_corporate section > .container:not(:first-child) h5,
.es_social_walls_corporate section > .container:not(:first-child) h6:not(.sub-title-section),
.es_social_walls_events section > .container:not(:first-child) h3,
.es_social_walls_events section > .container:not(:first-child) h5,
.es_social_walls_events section > .container:not(:first-child) h6:not(.sub-title-section),
.en_brand_monitoring section > .container:not(:first-child) h3,
.en_brand_monitoring section > .container:not(:first-child) h5,
.en_brand_monitoring section > .container:not(:first-child) h6:not(.sub-title-section),
.en_social_analytics section > .container:not(:first-child) h3,
.en_social_analytics section > .container:not(:first-child) h5,
.en_social_analytics section > .container:not(:first-child) h6:not(.sub-title-section),
.en_more_social_listening section > .container:not(:first-child) h3,
.en_more_social_listening section > .container:not(:first-child) h5,
.en_more_social_listening section > .container:not(:first-child) h6:not(.sub-title-section),
.en_social_walls_corporate section > .container:not(:first-child) h3,
.en_social_walls_corporate section > .container:not(:first-child) h5,
.en_social_walls_corporate section > .container:not(:first-child) h6:not(.sub-title-section),
.en_social_walls_events section > .container:not(:first-child) h3,
.en_social_walls_events section > .container:not(:first-child) h5,
.en_social_walls_events section > .container:not(:first-child) h6:not(.sub-title-section) {
  color: var(--ct-text-dark) !important;
  font-weight: 700 !important;
}

/* Case study images — rounded with subtle shadow */
.es_brand_monitoring section > .container:not(:first-child) img,
.es_social_analytics section > .container:not(:first-child) img,
.es_more_social_listening section > .container:not(:first-child) img,
.es_social_walls_corporate section > .container:not(:first-child) img,
.es_social_walls_events section > .container:not(:first-child) img,
.en_brand_monitoring section > .container:not(:first-child) img,
.en_social_analytics section > .container:not(:first-child) img,
.en_more_social_listening section > .container:not(:first-child) img,
.en_social_walls_corporate section > .container:not(:first-child) img,
.en_social_walls_events section > .container:not(:first-child) img {
  border-radius: var(--ct-radius-lg, 12px) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
  transition: transform 0.4s ease !important;
}

.es_brand_monitoring section > .container:not(:first-child) img:hover,
.es_social_analytics section > .container:not(:first-child) img:hover,
.es_more_social_listening section > .container:not(:first-child) img:hover,
.es_social_walls_corporate section > .container:not(:first-child) img:hover,
.es_social_walls_events section > .container:not(:first-child) img:hover,
.en_brand_monitoring section > .container:not(:first-child) img:hover,
.en_social_analytics section > .container:not(:first-child) img:hover,
.en_more_social_listening section > .container:not(:first-child) img:hover,
.en_social_walls_corporate section > .container:not(:first-child) img:hover,
.en_social_walls_events section > .container:not(:first-child) img:hover {
  transform: scale(1.02) !important;
}

/* Case study text */
.es_brand_monitoring section > .container:not(:first-child) p,
.es_social_analytics section > .container:not(:first-child) p,
.es_more_social_listening section > .container:not(:first-child) p,
.es_social_walls_corporate section > .container:not(:first-child) p,
.es_social_walls_events section > .container:not(:first-child) p,
.en_brand_monitoring section > .container:not(:first-child) p,
.en_social_analytics section > .container:not(:first-child) p,
.en_more_social_listening section > .container:not(:first-child) p,
.en_social_walls_corporate section > .container:not(:first-child) p,
.en_social_walls_events section > .container:not(:first-child) p {
  color: var(--ct-text, #4a5568) !important;
  line-height: 1.7 !important;
}

/* Case study links — themed arrow links */
.es_brand_monitoring section > .container:not(:first-child) a:not(.btn),
.es_social_analytics section > .container:not(:first-child) a:not(.btn),
.es_more_social_listening section > .container:not(:first-child) a:not(.btn),
.en_brand_monitoring section > .container:not(:first-child) a:not(.btn),
.en_social_analytics section > .container:not(:first-child) a:not(.btn),
.en_more_social_listening section > .container:not(:first-child) a:not(.btn) {
  color: var(--ct-theme, #2EC4B6) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.es_brand_monitoring section > .container:not(:first-child) a:not(.btn):hover,
.es_social_analytics section > .container:not(:first-child) a:not(.btn):hover,
.es_more_social_listening section > .container:not(:first-child) a:not(.btn):hover,
.en_brand_monitoring section > .container:not(:first-child) a:not(.btn):hover,
.en_social_analytics section > .container:not(:first-child) a:not(.btn):hover,
.en_more_social_listening section > .container:not(:first-child) a:not(.btn):hover {
  color: var(--ct-theme-dark, #229e93) !important;
}

.es_social_walls_corporate section > .container:not(:first-child) a:not(.btn),
.es_social_walls_events section > .container:not(:first-child) a:not(.btn),
.en_social_walls_corporate section > .container:not(:first-child) a:not(.btn),
.en_social_walls_events section > .container:not(:first-child) a:not(.btn) {
  color: var(--ct-theme, #e6a429) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.es_social_walls_corporate section > .container:not(:first-child) a:not(.btn):hover,
.es_social_walls_events section > .container:not(:first-child) a:not(.btn):hover,
.en_social_walls_corporate section > .container:not(:first-child) a:not(.btn):hover,
.en_social_walls_events section > .container:not(:first-child) a:not(.btn):hover {
  color: var(--ct-theme-dark, #c88b1a) !important;
}

/* ===== SPACER REDUCTIONS ===== */
.es_brand_monitoring .mb-96,
.es_social_analytics .mb-96,
.es_more_social_listening .mb-96,
.es_social_walls_corporate .mb-96,
.es_social_walls_events .mb-96,
.en_brand_monitoring .mb-96,
.en_social_analytics .mb-96,
.en_more_social_listening .mb-96,
.en_social_walls_corporate .mb-96,
.en_social_walls_events .mb-96 {
  margin-bottom: 32px !important;
}

.es_brand_monitoring .mb-194,
.es_social_analytics .mb-194,
.es_more_social_listening .mb-194,
.es_social_walls_corporate .mb-194,
.es_social_walls_events .mb-194,
.en_brand_monitoring .mb-194,
.en_social_analytics .mb-194,
.en_more_social_listening .mb-194,
.en_social_walls_corporate .mb-194,
.en_social_walls_events .mb-194 {
  margin-bottom: 64px !important;
}

/* ===== RESPONSIVE — Mobile ===== */
@media (max-width: 767px) {
  .es_brand_monitoring main > .container-fluid:first-child,
  .es_social_analytics main > .container-fluid:first-child,
  .es_more_social_listening main > .container-fluid:first-child,
  .es_social_walls_corporate main > .container-fluid:first-child,
  .es_social_walls_events main > .container-fluid:first-child {
    height: 480px !important;
  }
  .es_brand_monitoring main > .container:nth-child(2),
  .es_social_analytics main > .container:nth-child(2),
  .es_more_social_listening main > .container:nth-child(2),
  .es_social_walls_corporate main > .container:nth-child(2),
  .es_social_walls_events main > .container:nth-child(2) {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
    min-height: 380px !important;
  }
  .es_brand_monitoring main > .container:nth-child(2) h1,
  .es_social_analytics main > .container:nth-child(2) h1,
  .es_more_social_listening main > .container:nth-child(2) h1,
  .es_social_walls_corporate main > .container:nth-child(2) h1,
  .es_social_walls_events main > .container:nth-child(2) h1 {
    font-size: 2rem !important;
  }
  .es_brand_monitoring section > .container:not(:first-child) article,
  .es_social_analytics section > .container:not(:first-child) article,
  .es_more_social_listening section > .container:not(:first-child) article,
  .es_social_walls_corporate section > .container:not(:first-child) article,
  .es_social_walls_events section > .container:not(:first-child) article {
    padding: 24px !important;
  }
  .es_brand_monitoring section > .container-fluid,
  .es_social_analytics section > .container-fluid,
  .es_more_social_listening section > .container-fluid,
  .es_social_walls_corporate section > .container-fluid,
  .es_social_walls_events section > .container-fluid {
    padding: 40px 0 !important;
    margin: 24px 0 !important;
  }
  .es_brand_monitoring section > .container:first-child .checks-left-list,
  .es_social_analytics section > .container:first-child .checks-left-list,
  .es_more_social_listening section > .container:first-child .checks-left-list,
  .es_social_walls_corporate section > .container:first-child .checks-left-list,
  .es_social_walls_events section > .container:first-child .checks-left-list {
    padding: 24px 20px !important;
    margin-bottom: 16px !important;
  }
}
/* ======================================================================
   REGISTRO & LOGIN — Páginas de autenticación (es_signup, es_login)
   NO tocar max-width del .container — la página usa col-md-6 en grid.
   Solo mejorar visual: fondo, tipografía, botones, inputs.
   ====================================================================== */
/* Fondo sutil para romper el blanco total */
.es_signup,
.es_login,
.en_signup,
.en_login {
  background: linear-gradient(180deg, var(--ct-off-white, #f8f9fc) 0%, var(--ct-white, #fff) 50%) !important;
}

/* Header "clean" — centrar logo y dar aire */
.es_signup header.clean,
.es_login header.clean,
.en_signup header.clean,
.en_login header.clean {
  padding: 28px 0 16px !important;
  text-align: center !important;
  border-bottom: 1px solid var(--ct-gray-200, #e2e8f0) !important;
  margin-bottom: 16px !important;
  background: var(--ct-white) !important;
}

/* Contenedor principal — NO restringir ancho, solo mejorar visual */
.es_signup section .container,
.es_login section .container,
.en_signup section .container,
.en_login section .container {
  background: var(--ct-white) !important;
  border-radius: var(--ct-radius-xl, 28px) !important;
  padding: 40px 48px !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06) !important;
  border: 1px solid var(--ct-gray-200, #e2e8f0) !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

/* H1 — reducir tamaño */
.es_signup h1,
.es_login h1,
.en_signup h1,
.en_login h1 {
  font-size: clamp(1.5rem, 3vw, 2rem) !important;
  font-weight: 800 !important;
  color: var(--ct-text-dark, #1a202c) !important;
  text-align: center !important;
  margin-bottom: 8px !important;
  letter-spacing: -0.02em !important;
}

/* Subtítulo */
.es_signup .sign-up-section > h3,
.es_login .sign-up-section > h3,
.es_signup section h3,
.es_login section h3,
.en_signup .sign-up-section > h3,
.en_login .sign-up-section > h3,
.en_signup section h3,
.en_login section h3 {
  font-size: 0.95rem !important;
  color: var(--ct-text, #4a5568) !important;
  font-weight: 600 !important;
  text-align: center !important;
}

/* Separadores HR */
.es_signup hr,
.es_login hr,
.en_signup hr,
.en_login hr {
  border-color: var(--ct-gray-200, #e2e8f0) !important;
  margin: 16px 0 !important;
  opacity: 0.5 !important;
}

/* Párrafo descriptivo */
.es_signup .sign-up-section > p,
.es_login .sign-up-section > p,
.en_signup .sign-up-section > p,
.en_login .sign-up-section > p {
  color: var(--ct-text, #4a5568) !important;
  font-size: 0.92rem !important;
  line-height: 1.65 !important;
  text-align: center !important;
  margin-bottom: 20px !important;
}

/* Botones sociales — dar estilo de card/botón */
.es_signup [class*=signup_link],
.es_login [class*=signup_link],
.es_signup a[class*=d-flex][class*=justify-content],
.es_login a[class*=d-flex][class*=justify-content],
.en_signup [class*=signup_link],
.en_login [class*=signup_link],
.en_signup a[class*=d-flex][class*=justify-content],
.en_login a[class*=d-flex][class*=justify-content] {
  background: var(--ct-white) !important;
  border: 1.5px solid var(--ct-gray-300, #d1d5e0) !important;
  border-radius: var(--ct-radius, 12px) !important;
  padding: 14px 20px !important;
  color: var(--ct-text-dark, #1a202c) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.es_signup [class*=signup_link]:hover,
.es_login [class*=signup_link]:hover,
.es_signup a[class*=d-flex][class*=justify-content]:hover,
.es_login a[class*=d-flex][class*=justify-content]:hover,
.en_signup [class*=signup_link]:hover,
.en_login [class*=signup_link]:hover,
.en_signup a[class*=d-flex][class*=justify-content]:hover,
.en_login a[class*=d-flex][class*=justify-content]:hover {
  border-color: var(--ct-red, #DB073C) !important;
  box-shadow: 0 2px 8px rgba(219, 7, 60, 0.1) !important;
}

/* SVG iconos sociales */
.es_signup [class*=signup_link] svg,
.es_login [class*=signup_link] svg,
.es_signup a[class*=d-flex] svg,
.es_login a[class*=d-flex] svg,
.en_signup [class*=signup_link] svg,
.en_login [class*=signup_link] svg,
.en_signup a[class*=d-flex] svg,
.en_login a[class*=d-flex] svg {
  width: 22px !important;
  height: 22px !important;
  flex-shrink: 0 !important;
}

/* Form inputs */
.es_login .form-control,
.es_signup .form-control,
.en_login .form-control,
.en_signup .form-control {
  border: 1.5px solid var(--ct-gray-300, #d1d5e0) !important;
  border-radius: var(--ct-radius, 12px) !important;
  padding: 12px 16px !important;
  font-size: 0.95rem !important;
  transition: border-color 0.2s ease !important;
}

.es_login .form-control:focus,
.es_signup .form-control:focus,
.en_login .form-control:focus,
.en_signup .form-control:focus {
  border-color: var(--ct-red, #DB073C) !important;
  box-shadow: 0 0 0 3px rgba(219, 7, 60, 0.1) !important;
  outline: none !important;
}

/* Botón primario */
.es_login .btn-primary,
.es_signup .btn-primary,
.en_login .btn-primary,
.en_signup .btn-primary {
  background: var(--ct-red, #DB073C) !important;
  border: none !important;
  border-radius: var(--ct-radius-pill, 999px) !important;
  padding: 12px 32px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  transition: all 0.3s ease !important;
}

.es_login .btn-primary:hover,
.es_signup .btn-primary:hover,
.en_login .btn-primary:hover,
.en_signup .btn-primary:hover {
  background: var(--ct-red-dark, #b8062f) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 15px rgba(219, 7, 60, 0.3) !important;
}

/* Labels */
.es_login label,
.es_signup label,
.en_login label,
.en_signup label {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--ct-text, #4a5568) !important;
}

/* Checkboxes */
.es_signup .form-check,
.es_login .form-check,
.en_signup .form-check,
.en_login .form-check {
  margin-bottom: 6px !important;
}

/* ======================================================================
   CASOS DE ÉXITO — Fix hero vertical centering + spacing
   ====================================================================== */
/* El fondo azul viene de main::before. Ampliar para cubrir el hero completo */
.es_case_studies main::before,
.en_case_studies main::before {
  height: 620px !important;
}

/* Container del hero — usar nth-child(2) porque first-of-type falla con divs */
.es_case_studies main > .container:nth-child(2),
.en_case_studies main > .container:nth-child(2) {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

/* El .row.header — flex center para centrar contenido verticalmente */
.es_case_studies .row.header,
.en_case_studies .row.header {
  align-items: center !important;
  padding: 40px 0 !important;
}

/* Quitar los spacers .mb-96 y .mt-154 que generan el espacio vacío */
.es_case_studies .row.header .mb-96,
.es_case_studies .row.header .w-100.mb-96,
.en_case_studies .row.header .mb-96,
.en_case_studies .row.header .w-100.mb-96 {
  margin-bottom: 0 !important;
  height: 0 !important;
}

.es_case_studies .row.header .mt-154,
.es_case_studies .row.header .w-100.mt-154,
.en_case_studies .row.header .mt-154,
.en_case_studies .row.header .w-100.mt-154 {
  margin-top: 0 !important;
  height: 0 !important;
}

.es_case_studies .row.header .w-100.mt-3,
.es_case_studies .row.header .w-100.mt-md-4,
.en_case_studies .row.header .w-100.mt-3,
.en_case_studies .row.header .w-100.mt-md-4 {
  margin-top: 8px !important;
  height: 0 !important;
}

/* H1 del hero */
.es_case_studies .row.header h1,
.en_case_studies .row.header h1 {
  font-size: clamp(1.8rem, 3.5vw, 2.6rem) !important;
  line-height: 1.15 !important;
  margin-bottom: 16px !important;
}

/* Párrafo del hero */
.es_case_studies .row.header p,
.en_case_studies .row.header p {
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
  max-width: 580px !important;
}

/* Sección siguiente — reducir espacio superior */
.es_case_studies main > section,
.en_case_studies main > section {
  padding-top: 40px !important;
}

/* Tabs MARCAS/AGENCIAS/MEDIOS */
.es_case_studies .nav-tabs,
.en_case_studies .nav-tabs {
  border-bottom: 2px solid var(--ct-gray-200, #e2e8f0) !important;
}

.es_case_studies .nav-tabs .nav-link,
.en_case_studies .nav-tabs .nav-link {
  font-weight: 600 !important;
  color: var(--ct-text, #4a5568) !important;
  padding: 12px 24px !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
}

.es_case_studies .nav-tabs .nav-link.active,
.en_case_studies .nav-tabs .nav-link.active {
  color: var(--ct-blue, #445CAD) !important;
  border-bottom-color: var(--ct-blue, #445CAD) !important;
  background: transparent !important;
}

/* Responsive */
@media (max-width: 767px) {
  .es_signup section .container,
  .es_login section .container,
  .en_signup section .container,
  .en_login section .container {
    padding: 28px 20px !important;
    margin: 0 12px !important;
    border-radius: var(--ct-radius-lg, 20px) !important;
    max-width: 100% !important;
  }
  .es_case_studies .row.header,
  .en_case_studies .row.header {
    padding: 32px 0 !important;
  }
}
/* ==========================================================================
   CONTACTO (.es_contact_form) — Rediseño completo
   ========================================================================== */
/* Hero background */
.es_contact_form main,
.en_contact_form main {
  position: relative !important;
}

.es_contact_form main::before,
.en_contact_form main::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 380px !important;
  background: linear-gradient(135deg, var(--ct-blue) 0%, var(--ct-blue-dark) 55%, #2a3d7a 100%) !important;
  z-index: 0 !important;
}

.es_contact_form main > .container,
.en_contact_form main > .container {
  position: relative !important;
  z-index: 1 !important;
}

/* Hero text blanco */
.es_contact_form .row.header h1,
.en_contact_form .row.header h1 {
  color: var(--ct-white) !important;
}

.es_contact_form .row.header p,
.en_contact_form .row.header p {
  color: rgba(255, 255, 255, 0.85) !important;
}

.es_contact_form .row.header,
.en_contact_form .row.header {
  padding-top: 48px !important;
  padding-bottom: 40px !important;
}

/* Tarjetas de contacto */
.es_contact_form main section .container > .row,
.en_contact_form main section .container > .row {
  display: flex !important;
  gap: 32px !important;
  flex-wrap: wrap !important;
}

.es_contact_form main section .container > .row > .col-md-6,
.es_contact_form main section .container > .row > [class*=col-],
.en_contact_form main section .container > .row > .col-md-6,
.en_contact_form main section .container > .row > [class*=col-] {
  background: var(--ct-white) !important;
  border-radius: var(--ct-radius-xl) !important;
  border: 1px solid var(--ct-gray-200) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
  padding: 40px 32px !important;
  transition: all 0.3s ease !important;
  flex: 1 !important;
  min-width: 280px !important;
}

.es_contact_form main section .container > .row > [class*=col-]:hover,
.en_contact_form main section .container > .row > [class*=col-]:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1) !important;
}

/* Teléfono grande */
.es_contact_form main h2,
.en_contact_form main h2 {
  font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
  font-weight: 800 !important;
  color: var(--ct-text-dark) !important;
}

/* Links de contacto */
.es_contact_form main a,
.en_contact_form main a {
  color: var(--ct-blue) !important;
  font-weight: 600 !important;
}

.es_contact_form main a:hover,
.en_contact_form main a:hover {
  color: var(--ct-blue-dark) !important;
}

/* ==========================================================================
   EMPLEO (.es_jobs) — Fix broken image + mejoras
   ========================================================================== */
/* Ocultar imagen rota del RSS feed */
.es_jobs main img[alt="rss feed"],
.en_jobs main img[alt="rss feed"],
.es_jobs img[alt="rss feed"],
.en_jobs img[alt="rss feed"] {
  display: none !important;
}

/* Hero background para empleo — mismo gradiente azul que contacto */
.es_jobs main,
.en_jobs main {
  position: relative !important;
}

.es_jobs main::before,
.en_jobs main::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 380px !important;
  background: linear-gradient(135deg, var(--ct-blue) 0%, var(--ct-blue-dark) 55%, #2a3d7a 100%) !important;
  z-index: 0 !important;
}

.es_jobs main > .container,
.en_jobs main > .container {
  position: relative !important;
  z-index: 1 !important;
}

/* Ocultar spacer .mb-96 y descripción larga — solo dejamos el título */
.es_jobs .row.header > .w-100.mb-96,
.en_jobs .row.header > .w-100.mb-96 {
  display: none !important;
}

.es_jobs .row.header .col-md-6,
.en_jobs .row.header .col-md-6 {
  display: none !important;
}

/* Ocultar también los spacers intermedios */
.es_jobs .row.header > .w-100.mt-3,
.en_jobs .row.header > .w-100.mt-3 {
  display: none !important;
}

/* Centrar título en el gradiente */
.es_jobs .row.header,
.en_jobs .row.header {
  padding-top: 80px !important;
  padding-bottom: 60px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Título blanco sobre hero, centrado */
.es_jobs .row.header h1,
.en_jobs .row.header h1 {
  color: var(--ct-white) !important;
  text-align: center !important;
  width: 100% !important;
}

.es_jobs .row.header h1::after,
.en_jobs .row.header h1::after {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.3)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Sección ofertas empleo — card estilo */
.es_jobs main .bg-light,
.en_jobs main .bg-light {
  background: var(--ct-gray-50, #f8fafc) !important;
  border-radius: var(--ct-radius-xl) !important;
  padding: 48px 32px !important;
}

/* ==========================================================================
   RECURSOS (.es_resources) — Fix header vertical centering
   ========================================================================== */
/* Ocultar spacer .mb-96 y centrar texto verticalmente en el gradiente */
.es_resources .row.header > .w-100.mb-96,
.en_resources .row.header > .w-100.mb-96 {
  display: none !important;
}

.es_resources .row.header,
.en_resources .row.header {
  padding-top: 48px !important;
  padding-bottom: 40px !important;
}

/* ==========================================================================
   VIDEO MODAL (#videoModal) — Fix close button + stacking context
   ========================================================================== */
/* Fix: el modal está anidado en .inside-aspect-ratio (z-index:2) que crea un
   stacking context, atrapando al modal por debajo del backdrop (z-index:1040).
   Quitamos el z-index cuando contiene el modal para romper el stacking context. */
.inside-aspect-ratio:has(#videoModal) {
  z-index: auto !important;
}

/* Modal dialog — tamaño y posición */
#videoModal .modal-dialog {
  max-width: 800px !important;
  margin-top: 80px !important;
}

/* Modal header — botón de cierre visible y bien posicionado */
#videoModal .modal-header {
  border: none !important;
  padding: 8px 12px !important;
  background: transparent !important;
  display: flex !important;
  justify-content: flex-end !important;
}

#videoModal .modal-header .close,
#videoModal .modal-header .btn-close {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 2px solid rgba(255, 255, 255, 0.5) !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  opacity: 1 !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Ocultar el span original y usar un × limpio */
#videoModal .modal-header .close span {
  display: none !important;
}

#videoModal .modal-header .close::after {
  content: "×" !important;
  color: #fff !important;
  font-size: 1.4rem !important;
  line-height: 1 !important;
  font-weight: 300 !important;
  display: block !important;
}

#videoModal .modal-header .close:hover,
#videoModal .modal-header .btn-close:hover {
  background: rgba(255, 255, 255, 0.3) !important;
  border-color: rgba(255, 255, 255, 0.8) !important;
}

/* NO tocar position del iframe — el mixin aspect-ratio necesita position:absolute */
/* ==========================================================================
   CATÁLOGO CAMPAÑAS — Diseño con contrastes y ritmo visual
   ========================================================================== */
/* --- Selector compuesto para todas las páginas de campaña --- */
/* Hero: borde izquierdo de acento + sombra sutil para separar del content */
.es_instagram_contest main > .container:first-child,
.es_photo_contest main > .container:first-child,
.es_facebook_contest main > .container:first-child,
.es_twitter_contest main > .container:first-child,
.es_quiz main > .container:first-child,
.es_surveys main > .container:first-child,
.es_landing main > .container:first-child,
.es_advent_calendar main > .container:first-child,
.es_custom_campaign main > .container:first-child,
.en_instagram_contest main > .container:first-child,
.en_photo_contest main > .container:first-child,
.en_facebook_contest main > .container:first-child,
.en_twitter_contest main > .container:first-child,
.en_quiz main > .container:first-child,
.en_surveys main > .container:first-child,
.en_landing main > .container:first-child,
.en_advent_calendar main > .container:first-child,
.en_custom_campaign main > .container:first-child {
  padding-top: 48px !important;
  padding-bottom: 56px !important;
  margin-bottom: 0 !important;
  border-bottom: 1px solid var(--ct-gray-200, #e5e7eb) !important;
}

/* Sección "Características Principales" (article 1) — fondo blanco para uniformidad
   con el resto de landings de mecánicas (antes esto tenía un gradiente azul que
   creaba inconsistencia entre páginas: Concurso Fotografía azul, Pronóstico deportivo
   blanco, etc.). */
.es_instagram_contest .container-fluid > article:nth-child(1),
.es_photo_contest .container-fluid > article:nth-child(1),
.es_facebook_contest .container-fluid > article:nth-child(1),
.es_twitter_contest .container-fluid > article:nth-child(1),
.es_quiz .container-fluid > article:nth-child(1),
.es_surveys .container-fluid > article:nth-child(1),
.es_landing .container-fluid > article:nth-child(1),
.es_advent_calendar .container-fluid > article:nth-child(1),
.es_custom_campaign .container-fluid > article:nth-child(1),
.en_instagram_contest .container-fluid > article:nth-child(1),
.en_photo_contest .container-fluid > article:nth-child(1),
.en_facebook_contest .container-fluid > article:nth-child(1),
.en_twitter_contest .container-fluid > article:nth-child(1),
.en_quiz .container-fluid > article:nth-child(1),
.en_surveys .container-fluid > article:nth-child(1),
.en_landing .container-fluid > article:nth-child(1),
.en_advent_calendar .container-fluid > article:nth-child(1),
.en_custom_campaign .container-fluid > article:nth-child(1) {
  background: var(--ct-white) !important;
  padding: 64px 0 !important;
  margin-bottom: 0 !important;
}

/* Fix: columnas internas en article 1 tienen fondo blanco que tapa el gradiente azul */
.es_instagram_contest .container-fluid > article:nth-child(1) .col-12,
.es_instagram_contest .container-fluid > article:nth-child(1) .col-md-6,
.es_instagram_contest .container-fluid > article:nth-child(1) .checks-left-list,
.es_photo_contest .container-fluid > article:nth-child(1) .col-12,
.es_photo_contest .container-fluid > article:nth-child(1) .col-md-6,
.es_photo_contest .container-fluid > article:nth-child(1) .checks-left-list,
.es_facebook_contest .container-fluid > article:nth-child(1) .col-12,
.es_facebook_contest .container-fluid > article:nth-child(1) .col-md-6,
.es_facebook_contest .container-fluid > article:nth-child(1) .checks-left-list,
.es_twitter_contest .container-fluid > article:nth-child(1) .col-12,
.es_twitter_contest .container-fluid > article:nth-child(1) .col-md-6,
.es_twitter_contest .container-fluid > article:nth-child(1) .checks-left-list,
.es_quiz .container-fluid > article:nth-child(1) .col-12,
.es_quiz .container-fluid > article:nth-child(1) .col-md-6,
.es_quiz .container-fluid > article:nth-child(1) .checks-left-list,
.es_surveys .container-fluid > article:nth-child(1) .col-12,
.es_surveys .container-fluid > article:nth-child(1) .col-md-6,
.es_surveys .container-fluid > article:nth-child(1) .checks-left-list,
.es_landing .container-fluid > article:nth-child(1) .col-12,
.es_landing .container-fluid > article:nth-child(1) .col-md-6,
.es_landing .container-fluid > article:nth-child(1) .checks-left-list,
.es_advent_calendar .container-fluid > article:nth-child(1) .col-12,
.es_advent_calendar .container-fluid > article:nth-child(1) .col-md-6,
.es_advent_calendar .container-fluid > article:nth-child(1) .checks-left-list,
.es_custom_campaign .container-fluid > article:nth-child(1) .col-12,
.es_custom_campaign .container-fluid > article:nth-child(1) .col-md-6,
.es_custom_campaign .container-fluid > article:nth-child(1) .checks-left-list,
.en_instagram_contest .container-fluid > article:nth-child(1) .col-12,
.en_instagram_contest .container-fluid > article:nth-child(1) .col-md-6,
.en_instagram_contest .container-fluid > article:nth-child(1) .checks-left-list,
.en_photo_contest .container-fluid > article:nth-child(1) .col-12,
.en_photo_contest .container-fluid > article:nth-child(1) .col-md-6,
.en_photo_contest .container-fluid > article:nth-child(1) .checks-left-list,
.en_facebook_contest .container-fluid > article:nth-child(1) .col-12,
.en_facebook_contest .container-fluid > article:nth-child(1) .col-md-6,
.en_facebook_contest .container-fluid > article:nth-child(1) .checks-left-list,
.en_twitter_contest .container-fluid > article:nth-child(1) .col-12,
.en_twitter_contest .container-fluid > article:nth-child(1) .col-md-6,
.en_twitter_contest .container-fluid > article:nth-child(1) .checks-left-list,
.en_quiz .container-fluid > article:nth-child(1) .col-12,
.en_quiz .container-fluid > article:nth-child(1) .col-md-6,
.en_quiz .container-fluid > article:nth-child(1) .checks-left-list,
.en_surveys .container-fluid > article:nth-child(1) .col-12,
.en_surveys .container-fluid > article:nth-child(1) .col-md-6,
.en_surveys .container-fluid > article:nth-child(1) .checks-left-list,
.en_landing .container-fluid > article:nth-child(1) .col-12,
.en_landing .container-fluid > article:nth-child(1) .col-md-6,
.en_landing .container-fluid > article:nth-child(1) .checks-left-list,
.en_advent_calendar .container-fluid > article:nth-child(1) .col-12,
.en_advent_calendar .container-fluid > article:nth-child(1) .col-md-6,
.en_advent_calendar .container-fluid > article:nth-child(1) .checks-left-list,
.en_custom_campaign .container-fluid > article:nth-child(1) .col-12,
.en_custom_campaign .container-fluid > article:nth-child(1) .col-md-6,
.en_custom_campaign .container-fluid > article:nth-child(1) .checks-left-list {
  background-color: transparent !important;
  background: transparent !important;
}

/* Texto blanco en sección oscura — incluye h2, h3 y h4 */
.es_instagram_contest .container-fluid > article:nth-child(1) h2,
.es_instagram_contest .container-fluid > article:nth-child(1) h3,
.es_instagram_contest .container-fluid > article:nth-child(1) h4,
.es_photo_contest .container-fluid > article:nth-child(1) h2,
.es_photo_contest .container-fluid > article:nth-child(1) h3,
.es_photo_contest .container-fluid > article:nth-child(1) h4,
.es_facebook_contest .container-fluid > article:nth-child(1) h2,
.es_facebook_contest .container-fluid > article:nth-child(1) h3,
.es_facebook_contest .container-fluid > article:nth-child(1) h4,
.es_twitter_contest .container-fluid > article:nth-child(1) h2,
.es_twitter_contest .container-fluid > article:nth-child(1) h3,
.es_twitter_contest .container-fluid > article:nth-child(1) h4,
.es_quiz .container-fluid > article:nth-child(1) h2,
.es_quiz .container-fluid > article:nth-child(1) h3,
.es_quiz .container-fluid > article:nth-child(1) h4,
.es_surveys .container-fluid > article:nth-child(1) h2,
.es_surveys .container-fluid > article:nth-child(1) h3,
.es_surveys .container-fluid > article:nth-child(1) h4,
.es_landing .container-fluid > article:nth-child(1) h2,
.es_landing .container-fluid > article:nth-child(1) h3,
.es_landing .container-fluid > article:nth-child(1) h4,
.es_advent_calendar .container-fluid > article:nth-child(1) h2,
.es_advent_calendar .container-fluid > article:nth-child(1) h3,
.es_advent_calendar .container-fluid > article:nth-child(1) h4,
.es_custom_campaign .container-fluid > article:nth-child(1) h2,
.es_custom_campaign .container-fluid > article:nth-child(1) h3,
.es_custom_campaign .container-fluid > article:nth-child(1) h4,
.en_instagram_contest .container-fluid > article:nth-child(1) h2,
.en_instagram_contest .container-fluid > article:nth-child(1) h3,
.en_instagram_contest .container-fluid > article:nth-child(1) h4,
.en_photo_contest .container-fluid > article:nth-child(1) h2,
.en_photo_contest .container-fluid > article:nth-child(1) h3,
.en_photo_contest .container-fluid > article:nth-child(1) h4,
.en_facebook_contest .container-fluid > article:nth-child(1) h2,
.en_facebook_contest .container-fluid > article:nth-child(1) h3,
.en_facebook_contest .container-fluid > article:nth-child(1) h4,
.en_twitter_contest .container-fluid > article:nth-child(1) h2,
.en_twitter_contest .container-fluid > article:nth-child(1) h3,
.en_twitter_contest .container-fluid > article:nth-child(1) h4,
.en_quiz .container-fluid > article:nth-child(1) h2,
.en_quiz .container-fluid > article:nth-child(1) h3,
.en_quiz .container-fluid > article:nth-child(1) h4,
.en_surveys .container-fluid > article:nth-child(1) h2,
.en_surveys .container-fluid > article:nth-child(1) h3,
.en_surveys .container-fluid > article:nth-child(1) h4,
.en_landing .container-fluid > article:nth-child(1) h2,
.en_landing .container-fluid > article:nth-child(1) h3,
.en_landing .container-fluid > article:nth-child(1) h4,
.en_advent_calendar .container-fluid > article:nth-child(1) h2,
.en_advent_calendar .container-fluid > article:nth-child(1) h3,
.en_advent_calendar .container-fluid > article:nth-child(1) h4,
.en_custom_campaign .container-fluid > article:nth-child(1) h2,
.en_custom_campaign .container-fluid > article:nth-child(1) h3,
.en_custom_campaign .container-fluid > article:nth-child(1) h4 {
  color: var(--ct-text-dark) !important;
}

.es_instagram_contest .container-fluid > article:nth-child(1) p,
.es_instagram_contest .container-fluid > article:nth-child(1) li,
.es_instagram_contest .container-fluid > article:nth-child(1) span,
.es_photo_contest .container-fluid > article:nth-child(1) p,
.es_photo_contest .container-fluid > article:nth-child(1) li,
.es_photo_contest .container-fluid > article:nth-child(1) span,
.es_facebook_contest .container-fluid > article:nth-child(1) p,
.es_facebook_contest .container-fluid > article:nth-child(1) li,
.es_facebook_contest .container-fluid > article:nth-child(1) span,
.es_twitter_contest .container-fluid > article:nth-child(1) p,
.es_twitter_contest .container-fluid > article:nth-child(1) li,
.es_twitter_contest .container-fluid > article:nth-child(1) span,
.es_quiz .container-fluid > article:nth-child(1) p,
.es_quiz .container-fluid > article:nth-child(1) li,
.es_quiz .container-fluid > article:nth-child(1) span,
.es_surveys .container-fluid > article:nth-child(1) p,
.es_surveys .container-fluid > article:nth-child(1) li,
.es_surveys .container-fluid > article:nth-child(1) span,
.es_landing .container-fluid > article:nth-child(1) p,
.es_landing .container-fluid > article:nth-child(1) li,
.es_landing .container-fluid > article:nth-child(1) span,
.es_advent_calendar .container-fluid > article:nth-child(1) p,
.es_advent_calendar .container-fluid > article:nth-child(1) li,
.es_advent_calendar .container-fluid > article:nth-child(1) span,
.es_custom_campaign .container-fluid > article:nth-child(1) p,
.es_custom_campaign .container-fluid > article:nth-child(1) li,
.es_custom_campaign .container-fluid > article:nth-child(1) span,
.en_instagram_contest .container-fluid > article:nth-child(1) p,
.en_instagram_contest .container-fluid > article:nth-child(1) li,
.en_instagram_contest .container-fluid > article:nth-child(1) span,
.en_photo_contest .container-fluid > article:nth-child(1) p,
.en_photo_contest .container-fluid > article:nth-child(1) li,
.en_photo_contest .container-fluid > article:nth-child(1) span,
.en_facebook_contest .container-fluid > article:nth-child(1) p,
.en_facebook_contest .container-fluid > article:nth-child(1) li,
.en_facebook_contest .container-fluid > article:nth-child(1) span,
.en_twitter_contest .container-fluid > article:nth-child(1) p,
.en_twitter_contest .container-fluid > article:nth-child(1) li,
.en_twitter_contest .container-fluid > article:nth-child(1) span,
.en_quiz .container-fluid > article:nth-child(1) p,
.en_quiz .container-fluid > article:nth-child(1) li,
.en_quiz .container-fluid > article:nth-child(1) span,
.en_surveys .container-fluid > article:nth-child(1) p,
.en_surveys .container-fluid > article:nth-child(1) li,
.en_surveys .container-fluid > article:nth-child(1) span,
.en_landing .container-fluid > article:nth-child(1) p,
.en_landing .container-fluid > article:nth-child(1) li,
.en_landing .container-fluid > article:nth-child(1) span,
.en_advent_calendar .container-fluid > article:nth-child(1) p,
.en_advent_calendar .container-fluid > article:nth-child(1) li,
.en_advent_calendar .container-fluid > article:nth-child(1) span,
.en_custom_campaign .container-fluid > article:nth-child(1) p,
.en_custom_campaign .container-fluid > article:nth-child(1) li,
.en_custom_campaign .container-fluid > article:nth-child(1) span {
  color: var(--ct-text) !important;
}

/* Sección "Características Generales" (article 2) — fondo claro con borde */
.es_instagram_contest .container-fluid > article:nth-child(2),
.es_photo_contest .container-fluid > article:nth-child(2),
.es_facebook_contest .container-fluid > article:nth-child(2),
.es_twitter_contest .container-fluid > article:nth-child(2),
.es_quiz .container-fluid > article:nth-child(2),
.es_surveys .container-fluid > article:nth-child(2),
.es_landing .container-fluid > article:nth-child(2),
.es_advent_calendar .container-fluid > article:nth-child(2),
.es_custom_campaign .container-fluid > article:nth-child(2),
.en_instagram_contest .container-fluid > article:nth-child(2),
.en_photo_contest .container-fluid > article:nth-child(2),
.en_facebook_contest .container-fluid > article:nth-child(2),
.en_twitter_contest .container-fluid > article:nth-child(2),
.en_quiz .container-fluid > article:nth-child(2),
.en_surveys .container-fluid > article:nth-child(2),
.en_landing .container-fluid > article:nth-child(2),
.en_advent_calendar .container-fluid > article:nth-child(2),
.en_custom_campaign .container-fluid > article:nth-child(2) {
  background: #fff !important;
  padding: 56px 0 !important;
}

/* Fix: .general-features-title hereda blanco de _page-game-landing, forzar oscuro en fondo claro */
.es_instagram_contest .container-fluid > article:nth-child(2) .general-features-title,
.es_photo_contest .container-fluid > article:nth-child(2) .general-features-title,
.es_facebook_contest .container-fluid > article:nth-child(2) .general-features-title,
.es_twitter_contest .container-fluid > article:nth-child(2) .general-features-title,
.es_quiz .container-fluid > article:nth-child(2) .general-features-title,
.es_surveys .container-fluid > article:nth-child(2) .general-features-title,
.es_landing .container-fluid > article:nth-child(2) .general-features-title,
.es_advent_calendar .container-fluid > article:nth-child(2) .general-features-title,
.es_custom_campaign .container-fluid > article:nth-child(2) .general-features-title,
.en_instagram_contest .container-fluid > article:nth-child(2) .general-features-title,
.en_photo_contest .container-fluid > article:nth-child(2) .general-features-title,
.en_facebook_contest .container-fluid > article:nth-child(2) .general-features-title,
.en_twitter_contest .container-fluid > article:nth-child(2) .general-features-title,
.en_quiz .container-fluid > article:nth-child(2) .general-features-title,
.en_surveys .container-fluid > article:nth-child(2) .general-features-title,
.en_landing .container-fluid > article:nth-child(2) .general-features-title,
.en_advent_calendar .container-fluid > article:nth-child(2) .general-features-title,
.en_custom_campaign .container-fluid > article:nth-child(2) .general-features-title {
  color: var(--ct-gray-900, #1a202c) !important;
}

/* Sección "Paso a Paso" (article 3) — fondo gris muy claro */
.es_instagram_contest .container-fluid > article:nth-child(3),
.es_photo_contest .container-fluid > article:nth-child(3),
.es_facebook_contest .container-fluid > article:nth-child(3),
.es_twitter_contest .container-fluid > article:nth-child(3),
.es_quiz .container-fluid > article:nth-child(3),
.es_surveys .container-fluid > article:nth-child(3),
.es_landing .container-fluid > article:nth-child(3),
.es_advent_calendar .container-fluid > article:nth-child(3),
.es_custom_campaign .container-fluid > article:nth-child(3),
.en_instagram_contest .container-fluid > article:nth-child(3),
.en_photo_contest .container-fluid > article:nth-child(3),
.en_facebook_contest .container-fluid > article:nth-child(3),
.en_twitter_contest .container-fluid > article:nth-child(3),
.en_quiz .container-fluid > article:nth-child(3),
.en_surveys .container-fluid > article:nth-child(3),
.en_landing .container-fluid > article:nth-child(3),
.en_advent_calendar .container-fluid > article:nth-child(3),
.en_custom_campaign .container-fluid > article:nth-child(3) {
  background: var(--ct-off-white, #f8f9fa) !important;
  padding: 56px 0 !important;
}

/* ==========================================================================
   Página /es/afiliados — Redesign 2026

   Estructura: hero rojo común + dos bloques simétricos (afiliados, partners)
   con misma jerarquía visual + bloque final oscuro con doble CTA. Las clases
   van prefijadas `aff-` para que las reglas globales del cherry-theme
   (`a`, `h2`, `p`...) no las pisen sin querer.
   ========================================================================== */
.aff-hero {
  background: var(--ct-red) !important;
  color: var(--ct-white);
  padding: 96px 0 88px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.aff-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.1) 0%, transparent 55%), radial-gradient(circle at 100% 0%, rgba(255, 255, 255, 0.08) 0%, transparent 55%);
  pointer-events: none;
}

.aff-hero-container {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
  z-index: 1;
}

.aff-hero-eyebrow {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 16px;
}

.aff-hero h1 {
  font-family: var(--ct-font-display);
  font-size: clamp(2.2rem, 4.5vw, 3.4rem) !important;
  font-weight: 800 !important;
  line-height: 1.1;
  letter-spacing: -0.02em !important;
  color: var(--ct-white) !important;
  margin: 0 0 20px;
}

.aff-hero-intro {
  font-size: 17px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.92) !important;
  max-width: 620px;
  margin: 0 auto;
}

/* ---------- Sección base ---------- */
.aff-section {
  background: var(--ct-white);
  padding: 96px 0 88px;
}

.aff-section-partners {
  background: var(--ct-gray-50, #f4f5f9);
}

.aff-container {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px;
}

.aff-section-header {
  text-align: center;
  margin-bottom: 48px;
}

.aff-section-label {
  display: inline-block;
  color: var(--ct-red);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.aff-section-header h2 {
  font-family: var(--ct-font-display);
  font-size: clamp(1.8rem, 3.5vw, 2.5rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: var(--ct-text-dark) !important;
  margin: 0 0 16px;
}

.aff-section-intro {
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: var(--ct-text) !important;
  max-width: 640px !important;
  margin: 0 auto !important;
  font-weight: 300 !important;
  opacity: 1 !important;
}

/* ---------- Stats (afiliados): 30% / 10% / 50€ ---------- */
.aff-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}

.aff-stat-card {
  background: #f5efe9;
  border-radius: var(--ct-radius-lg, 20px);
  padding: 32px 20px;
  text-align: center;
}

.aff-stat-value {
  font-family: var(--ct-font-display);
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 800;
  color: var(--ct-red);
  line-height: 1;
  margin-bottom: 10px;
  letter-spacing: -0.02em;
}

.aff-stat-label {
  font-size: 14px;
  color: var(--ct-text);
  font-weight: 500;
}

/* ---------- Steps (afiliados): 01 / 02 / 03 ---------- */
.aff-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}

.aff-card {
  background: var(--ct-white);
  border: 1px solid var(--ct-gray-200, #e0e3eb);
  border-radius: var(--ct-radius-lg, 20px);
  padding: 32px 28px;
  transition: transform 0.25s var(--ct-ease, ease), box-shadow 0.25s var(--ct-ease, ease);
}

.aff-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ct-shadow, 0 4px 20px rgba(0, 0, 0, 0.08));
}

.aff-card-num {
  font-family: var(--ct-font-mono, monospace);
  font-size: 13px;
  font-weight: 600;
  color: var(--ct-text-light, #718096);
  letter-spacing: 1px;
  margin-bottom: 12px;
}

.aff-card-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--ct-radius-sm, 10px);
  background: var(--ct-red-light, #fef1f4);
  color: var(--ct-red);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}

.aff-card-icon svg {
  width: 20px;
  height: 20px;
}

.aff-card h3 {
  font-family: var(--ct-font-display);
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--ct-text-dark) !important;
  margin: 0 0 10px;
  letter-spacing: -0.01em !important;
}

.aff-card p {
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  color: var(--ct-text) !important;
  margin: 0 !important;
  font-weight: 400 !important;
}

/* ---------- CTA por sección ---------- */
.aff-section-cta {
  text-align: center;
}

/* ---------- Botones ---------- */
.aff-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 32px;
  border-radius: var(--ct-radius-pill, 999px);
  font-family: var(--ct-font-body);
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  border: 2px solid transparent;
  transition: all 0.25s var(--ct-ease, ease);
  cursor: pointer;
}

.aff-btn-primary {
  background: var(--ct-red);
  color: var(--ct-white);
  border-color: var(--ct-red);
}

.aff-btn-primary:hover,
.aff-btn-primary:focus {
  background: var(--ct-red-dark, #b8062f);
  color: var(--ct-white);
  border-color: var(--ct-red-dark, #b8062f);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(219, 7, 60, 0.3);
}

.aff-btn-outline {
  background: transparent;
  color: var(--ct-red);
  border-color: var(--ct-red);
}

.aff-btn-outline:hover,
.aff-btn-outline:focus {
  background: var(--ct-red);
  color: var(--ct-white);
  border-color: var(--ct-red);
  transform: translateY(-2px);
}

/* ---------- Bloque final oscuro ¿Listo para empezar? ---------- */
.aff-final {
  background: var(--ct-gray-900, #1a1f2e);
  padding: 88px 0;
  text-align: center;
}

.aff-final-container {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 24px;
}

.aff-final h2 {
  font-family: var(--ct-font-display);
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  font-weight: 800 !important;
  color: var(--ct-white) !important;
  margin: 0 0 14px;
  letter-spacing: -0.02em !important;
}

.aff-final p {
  font-size: 16px !important;
  color: rgba(255, 255, 255, 0.75) !important;
  margin: 0 0 32px !important;
  font-weight: 300 !important;
  opacity: 1 !important;
}

.aff-final-actions {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

.aff-final .aff-btn-outline:hover, .aff-final .aff-btn-outline:focus {
  background: var(--ct-white);
  color: var(--ct-red);
  border-color: var(--ct-white);
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .aff-stats-grid,
  .aff-cards-grid {
    grid-template-columns: 1fr;
  }
  .aff-hero {
    padding: 64px 0 56px;
  }
  .aff-section {
    padding: 64px 0 56px;
  }
  .aff-final {
    padding: 56px 0;
  }
}
/* ==========================================================================
   Redesign 2026 — Solo frontend (cherry-theme)
   Antes: `body.cherry-theme` (specificity 0,2,1) ganaba sobre estilos `<style>`
   inline de landings con `.cta-section h2`, `.btn-secondary`, `.partner-logo`
   etc. (todos 0,1,1) y los pisaba con los colores genéricos del tema, dejando
   p. ej. `.cta-section h2` en negro sobre fondo gris oscuro y haciendo
   invisibles botones outline. Bajamos un nivel de specificity (0,2,1 → 0,1,1)
   para que el inline pueda ganar por orden de cascada.
   ========================================================================== */
.cherry-theme {
  font-family: var(--ct-font-body) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: var(--ct-text) !important;
  background: var(--ct-white) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
.cherry-theme h1, .cherry-theme h2, .cherry-theme h3, .cherry-theme h4, .cherry-theme h5, .cherry-theme h6 {
  line-height: 1.15;
}
.cherry-theme h1 {
  font-family: var(--ct-font-display);
  font-weight: 800;
  letter-spacing: -0.03em;
  font-size: clamp(2.5rem, 5vw, 3.8rem);
  color: var(--ct-text-dark);
}
.cherry-theme h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-family: var(--ct-font-display);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--ct-text-dark);
}
.cherry-theme h3 {
  font-family: var(--ct-font-display);
  font-size: clamp(1.3rem, 2.5vw, 1.6rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ct-text-dark);
}
.cherry-theme h4 {
  font-size: clamp(1.1rem, 2vw, 1.3rem);
  font-weight: 700;
}
.cherry-theme p {
  font-family: var(--ct-font-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--ct-text);
}
.cherry-theme strong, .cherry-theme b {
  font-weight: 700;
  color: var(--ct-text-dark);
}
.cherry-theme {
  /* Color por defecto de enlaces.
     Excluimos cualquier <a> que ya tenga una clase que contenga `btn`
     (.btn, .btn-primary, .qm-btn, …): las landings con su propio <style>
     definen el color del texto del botón en función del fondo, y este
     override genérico hacía que el texto pasara a azul (invisible sobre
     fondos azules tipo .btn-secondary o .btn-ghost) y a rojo en hover. */
}
.cherry-theme a:not([class*=btn]), .cherry-theme button.btn-link {
  font-family: var(--ct-font-body);
  font-weight: 500;
  color: var(--ct-blue);
  text-decoration: none;
  transition: all var(--ct-duration) var(--ct-ease);
}
.cherry-theme a:not([class*=btn]):hover, .cherry-theme a:not([class*=btn]):focus, .cherry-theme button.btn-link:hover, .cherry-theme button.btn-link:focus {
  color: var(--ct-red);
}
.cherry-theme {
  /* Secciones — Espaciado y fondos globales */
}
.cherry-theme section,
.cherry-theme article {
  padding: 40px 0;
  position: relative;
}
.cherry-theme section + section {
  border-top: none;
}
.cherry-theme {
  /* Imagenes — Bordes redondeados */
}
.cherry-theme img.img-fluid {
  border-radius: var(--ct-radius-lg) !important;
}
.cherry-theme {
  /* Hero h2 — font monospace */
}
.cherry-theme .inside-aspect-ratio h2 {
  font-family: var(--ct-font-mono);
}
.cherry-theme {
  /* Hero compact padding */
}
.cherry-theme .container-fluid.custom-ratio-header {
  padding: 72px 0 56px !important;
}
.cherry-theme {
  /* Badge / Label — Tags y etiquetas */
}
.cherry-theme .badge,
.cherry-theme .label {
  font-family: var(--ct-font-body);
  font-weight: 600;
  border-radius: var(--ct-radius-pill);
  padding: 4px 12px;
  font-size: 12px;
  letter-spacing: 0.03em;
}
.cherry-theme {
  /* Ocultar spacers excesivos */
}
.cherry-theme .mb-194 {
  margin-bottom: 0 !important;
  height: 0 !important;
}
.cherry-theme .w-100.mt-mix {
  margin-top: 0 !important;
  height: 0 !important;
}
.cherry-theme section .w-100[class*=mt-] {
  margin-top: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
}
.cherry-theme main > .w-100 {
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
}
.cherry-theme {
  /* Patron de fondo decorativo — ocultar originales */
}
.cherry-theme [class*=pattern-st],
.cherry-theme [id^=head-pattern],
.cherry-theme [id^=back-left],
.cherry-theme [id^=back-right],
.cherry-theme .polygon,
.cherry-theme .pattern-header,
.cherry-theme .pattern-header-mobile {
  display: none !important;
  visibility: hidden;
  opacity: 0;
}
.cherry-theme {
  /* Compact spacing — reducir Bootstrap margins */
}
.cherry-theme .row.mb-5 {
  margin-bottom: 1.5rem !important;
}
.cherry-theme .row.mb-4 {
  margin-bottom: 1rem !important;
}
.cherry-theme .mt-5 {
  margin-top: 1.5rem !important;
}
.cherry-theme .mb-5 {
  margin-bottom: 1.5rem !important;
}
.cherry-theme .pt-5 {
  padding-top: 1.5rem !important;
}
.cherry-theme .pb-5 {
  padding-bottom: 1.5rem !important;
}
.cherry-theme {
  /* Responsive — Secciones y footer */
}
@media (max-width: 991px) {
  .cherry-theme header > nav.navbar {
    padding: 0 16px;
  }
  .cherry-theme section, .cherry-theme article:not(#more-options) {
    padding: 32px 0;
  }
}
@media (max-width: 767px) {
  .cherry-theme h2 {
    font-size: 1.6rem;
  }
  .cherry-theme section, .cherry-theme article:not(#more-options) {
    padding: 24px 0;
  }
  .cherry-theme footer {
    padding: 32px 0 20px;
  }
}

/* ==========================================================================
   Signup & Login — Redesign 2026
   ========================================================================== */
.es_signup,
.es_login,
.en_signup,
.en_login {
  background: linear-gradient(180deg, var(--ct-off-white, #f8f9fc) 0%, var(--ct-white, #fff) 50%) !important;
}

.es_signup header.clean,
.es_login header.clean,
.en_signup header.clean,
.en_login header.clean {
  padding: 28px 0 16px !important;
  text-align: center !important;
  border-bottom: 1px solid var(--ct-gray-200, #e2e8f0) !important;
  margin-bottom: 16px !important;
  background: var(--ct-white) !important;
}

.es_signup section .container,
.es_login section .container,
.en_signup section .container,
.en_login section .container {
  background: var(--ct-white) !important;
  border-radius: var(--ct-radius-xl, 28px) !important;
  padding: 40px 48px !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06) !important;
  border: 1px solid var(--ct-gray-200, #e2e8f0) !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.es_signup h1,
.es_login h1,
.en_signup h1,
.en_login h1 {
  font-size: clamp(1.5rem, 3vw, 2rem) !important;
  font-weight: 800 !important;
  color: var(--ct-text-dark, #1a202c) !important;
  text-align: center !important;
  margin-bottom: 8px !important;
  letter-spacing: -0.02em !important;
}

.es_signup .sign-up-section > h3,
.es_login .sign-up-section > h3,
.es_signup section h3,
.es_login section h3,
.en_signup .sign-up-section > h3,
.en_login .sign-up-section > h3,
.en_signup section h3,
.en_login section h3 {
  font-size: 0.95rem !important;
  color: var(--ct-text, #4a5568) !important;
  font-weight: 600 !important;
  text-align: center !important;
}

.es_signup hr,
.es_login hr,
.en_signup hr,
.en_login hr {
  border-color: var(--ct-gray-200, #e2e8f0) !important;
  margin: 16px 0 !important;
  opacity: 0.5 !important;
}

.es_signup .sign-up-section > p,
.es_login .sign-up-section > p,
.en_signup .sign-up-section > p,
.en_login .sign-up-section > p {
  color: var(--ct-text, #4a5568) !important;
  font-size: 0.92rem !important;
  line-height: 1.65 !important;
  text-align: center !important;
  margin-bottom: 20px !important;
}

.es_signup [class*=signup_link],
.es_login [class*=signup_link],
.es_signup a[class*=d-flex][class*=justify-content],
.es_login a[class*=d-flex][class*=justify-content],
.en_signup [class*=signup_link],
.en_login [class*=signup_link],
.en_signup a[class*=d-flex][class*=justify-content],
.en_login a[class*=d-flex][class*=justify-content] {
  background: var(--ct-white) !important;
  border: 1.5px solid var(--ct-gray-300, #d1d5e0) !important;
  border-radius: var(--ct-radius, 12px) !important;
  padding: 14px 20px !important;
  color: var(--ct-text-dark, #1a202c) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.es_signup [class*=signup_link]:hover,
.es_login [class*=signup_link]:hover,
.en_signup [class*=signup_link]:hover,
.en_login [class*=signup_link]:hover {
  border-color: var(--ct-red, #DB073C) !important;
  box-shadow: 0 2px 8px rgba(219, 7, 60, 0.1) !important;
}

.es_signup [class*=signup_link] svg,
.es_login [class*=signup_link] svg,
.en_signup [class*=signup_link] svg,
.en_login [class*=signup_link] svg {
  width: 22px !important;
  height: 22px !important;
  flex-shrink: 0 !important;
}

.es_login .form-control,
.es_signup .form-control,
.en_login .form-control,
.en_signup .form-control {
  border: 1.5px solid var(--ct-gray-300, #d1d5e0) !important;
  border-radius: var(--ct-radius, 12px) !important;
  padding: 12px 16px !important;
  font-size: 0.95rem !important;
  transition: border-color 0.2s ease !important;
}

.es_login .form-control:focus,
.es_signup .form-control:focus,
.en_login .form-control:focus,
.en_signup .form-control:focus {
  border-color: var(--ct-red, #DB073C) !important;
  box-shadow: 0 0 0 3px rgba(219, 7, 60, 0.1) !important;
  outline: none !important;
}

.es_login .btn-primary,
.es_signup .btn-primary,
.en_login .btn-primary,
.en_signup .btn-primary,
.login_form_wrapper .btn-primary {
  background: var(--ct-red, #DB073C) !important;
  border: none !important;
  border-radius: var(--ct-radius-pill, 999px) !important;
  padding: 12px 32px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--ct-white, #fff) !important;
  transition: all 0.3s ease !important;
}

.es_login .btn-primary:hover,
.es_signup .btn-primary:hover,
.en_login .btn-primary:hover,
.en_signup .btn-primary:hover,
.login_form_wrapper .btn-primary:hover {
  background: var(--ct-red-dark, #b8062f) !important;
  color: var(--ct-white, #fff) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 15px rgba(219, 7, 60, 0.3) !important;
}

.es_login label,
.es_signup label,
.en_login label,
.en_signup label {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--ct-text, #4a5568) !important;
}

.es_signup .form-check,
.es_login .form-check,
.en_signup .form-check,
.en_login .form-check {
  margin-bottom: 6px !important;
}

/* "¿Has olvidado la contraseña?" — sin clase propia el link heredaba el
   tamaño 18px del cuerpo y, al no caber en el ancho del contenedor, hacía
   wrap en dos líneas. Lo bajamos a 14px y centramos el bloque para que
   case con el resto del formulario. */
.es_login .reset_pass,
.en_login .reset_pass {
  text-align: center !important;
  margin-top: 8px !important;
}

.es_login .reset_pass a,
.en_login .reset_pass a {
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--ct-text, #4a5568) !important;
  text-decoration: none !important;
}

.es_login .reset_pass a:hover,
.en_login .reset_pass a:hover {
  color: var(--ct-red, #DB073C) !important;
  text-decoration: underline !important;
}

@media (max-width: 767px) {
  .es_signup section .container,
  .es_login section .container,
  .en_signup section .container,
  .en_login section .container {
    padding: 28px 20px !important;
    margin: 0 12px !important;
    border-radius: var(--ct-radius-lg, 20px) !important;
    max-width: 100% !important;
  }
}
/* === Landings con `<style>` inline (p. ej. /es/integraciones, /es/landings/quiniela-…
   servidas desde MarketingLandingPage en BD) ===============================
   Las landings traen su propio <style> con clases tipo `.partner-logo`,
   `.btn-secondary`, `.cta-section`, `.qm-cta`, etc. Aquí afinamos contraste
   en zonas concretas donde reglas globales del tema seguían pisando al inline. */
/* `.partner-logo` venía con `color: var(--ct-gray-300)` (#dee2e6) — gris casi
   invisible sobre fondo blanco; pasamos a un gris medio para que los nombres
   de las herramientas se lean cómodamente sin perder el aire ligero. */
.partner-logo {
  color: var(--ct-gray-700, #495057) !important;
}

/* CTA con fondo gris/oscuro: el h2 y el párrafo deben mantenerse en blanco/
   blanco translúcido. La regla genérica `.cherry-theme h2 { color: oscuro }`
   y `.cherry-theme p { color: gris }` (specificity 0,1,1) empataba con el
   inline `.cta-section h2` y dejaba el título en negro y la descripción
   prácticamente ilegibles sobre el fondo #617580. */
.cta-section h2,
.qm-cta h2 {
  color: var(--ct-white, #fff) !important;
}

.cta-section p,
.qm-cta p {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* Cards de integraciones — el círculo blanco translúcido (rgba 0.15) que
   envuelve el icono SVG sobre el degradado azul oscuro deja el icono
   apenas visible: parece que el lado izquierdo de la tarjeta está vacío.
   Subimos la opacidad del círculo y engrosamos el trazo para que se note. */
.integration-card-visual .integration-icon-main {
  background: rgba(255, 255, 255, 0.28) !important;
}

.integration-card-visual .integration-icon-main svg {
  stroke-width: 2.25 !important;
}

/* Cards de planes en landings (.qm-precio-card) — el borde gris muy claro
   (#e9ecef) era prácticamente invisible y dejaba el badge "Recomendado"
   como flotando, sin línea sobre la que apoyarse. Subimos el borde a un
   gris medio y mantenemos rojo en la card destacada. */
.qm-precio-card {
  border-color: var(--ct-gray-300, #cbd5e0) !important;
}

.qm-precio-card.destacado {
  border-color: var(--ct-primary, #DB073C) !important;
}
/*



*/
