@charset "UTF-8";
:root {
  /* Primary Scale - Grey/Black Mastery */
  --color-primary-50: #F6F6F6;
  --color-primary-100: #E7E7E7;
  --color-primary-200: #D1D1D1;
  --color-primary-300: #B0B0B0;
  --color-primary-400: #888888;
  --color-primary-500: #6D6D6D;
  --color-primary-600: #5D5D5D;
  --color-primary-700: #4F4F4F;
  --color-primary-800: #454545;
  --color-primary-900: #3D3D3D;
  --color-primary-950: #222222;
  --color-primary: #222222;
  /* Alias for 950 as requested in DS */
  /* Gray scale (mismos tonos, nombre semántico gray) */
  --color-gray-50: #f6f6f6;
  --color-gray-100: #e7e7e7;
  --color-gray-200: #d1d1d1;
  --color-gray-300: #b0b0b0;
  --color-gray-400: #888;
  --color-gray-500: #6d6d6d;
  --color-gray-600: #5d5d5d;
  --color-gray-700: #4f4f4f;
  --color-gray-800: #454545;
  --color-gray-900: #3d3d3d;
  --color-gray-950: #222;
  --color-gray: #222;
  --color-foreground: #222222;
  /* Texto principal DS */
  --color-accent: #E91E63;
  /* Acento DS */
  /* Semantic Palette */
  --color-success: #10B981;
  --color-danger: #EF4444;
  --color-warning: #F59E0B;
  --color-info: #3B82F6;
  /* Legacy/Direct Mapping for Clean Look */
  --color-black: var(--color-primary-950);
  --color-white: #FFFFFF;
  /* Typography */
  --font-primary: 'Roboto Condensed', sans-serif;
  /* Usado por Tailwind v4 como fuente base */
  --font-sans: 'Roboto Condensed', sans-serif;
  --font-logo: 'Roboto Condensed', sans-serif;
  /* Spacing */
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --space-48: 48px;
  --space-64: 64px;
  /* Transitions */
  --transition-base: 200ms ease-in-out; }

.bg-primary {
  background-color: var(--color-primary); }

.bg-primary-50 {
  background-color: var(--color-primary-50); }

.bg-primary-100 {
  background-color: var(--color-primary-100); }

.bg-primary-200 {
  background-color: var(--color-primary-200); }

.bg-primary-300 {
  background-color: var(--color-primary-300); }

.bg-primary-400 {
  background-color: var(--color-primary-400); }

.bg-primary-500 {
  background-color: var(--color-primary-500); }

.bg-primary-600 {
  background-color: var(--color-primary-600); }

.bg-primary-700 {
  background-color: var(--color-primary-700); }

.bg-primary-800 {
  background-color: var(--color-primary-800); }

.bg-primary-900 {
  background-color: var(--color-primary-900); }

.bg-primary-950 {
  background-color: var(--color-primary-950); }

.bg-primary\/20 {
  background-color: color-mix(in oklab, var(--color-primary) 20%, transparent); }

.bg-gray {
  background-color: var(--color-gray); }

.bg-gray-50 {
  background-color: var(--color-gray-50); }

.bg-gray-100 {
  background-color: var(--color-gray-100); }

.bg-gray-200 {
  background-color: var(--color-gray-200); }

.bg-gray-300 {
  background-color: var(--color-gray-300); }

.bg-gray-400 {
  background-color: var(--color-gray-400); }

.bg-gray-500 {
  background-color: var(--color-gray-500); }

.bg-gray-600 {
  background-color: var(--color-gray-600); }

.bg-gray-700 {
  background-color: var(--color-gray-700); }

.bg-gray-800 {
  background-color: var(--color-gray-800); }

.bg-gray-900 {
  background-color: var(--color-gray-900); }

.bg-gray-950 {
  background-color: var(--color-gray-950); }

.bg-gray\/20 {
  background-color: color-mix(in oklab, var(--color-gray) 20%, transparent); }

.text-primary {
  color: var(--color-primary); }

.text-primary-50 {
  color: var(--color-primary-50); }

.text-primary-100 {
  color: var(--color-primary-100); }

.text-primary-200 {
  color: var(--color-primary-200); }

.text-primary-300 {
  color: var(--color-primary-300); }

.text-primary-400 {
  color: var(--color-primary-400); }

.text-primary-500 {
  color: var(--color-primary-500); }

.text-primary-600 {
  color: var(--color-primary-600); }

.text-primary-700 {
  color: var(--color-primary-700); }

.text-primary-800 {
  color: var(--color-primary-800); }

.text-primary-900 {
  color: var(--color-primary-900); }

.text-primary-950 {
  color: var(--color-primary-950); }

.text-foreground {
  color: var(--color-foreground); }

.text-accent {
  color: var(--color-accent); }

.text-gray {
  color: var(--color-gray); }

.text-gray-50 {
  color: var(--color-gray-50); }

.text-gray-100 {
  color: var(--color-gray-100); }

.text-gray-200 {
  color: var(--color-gray-200); }

.text-gray-300 {
  color: var(--color-gray-300); }

.text-gray-400 {
  color: var(--color-gray-400); }

.text-gray-500 {
  color: var(--color-gray-500); }

.text-gray-600 {
  color: var(--color-gray-600); }

.text-gray-700 {
  color: var(--color-gray-700); }

.text-gray-800 {
  color: var(--color-gray-800); }

.text-gray-900 {
  color: var(--color-gray-900); }

.text-gray-950 {
  color: var(--color-gray-950); }

.border-primary {
  border-color: var(--color-primary); }

.border-primary-50 {
  border-color: var(--color-primary-50); }

.border-primary-100 {
  border-color: var(--color-primary-100); }

.border-primary-200 {
  border-color: var(--color-primary-200); }

.border-primary-300 {
  border-color: var(--color-primary-300); }

.border-primary-400 {
  border-color: var(--color-primary-400); }

.border-primary-500 {
  border-color: var(--color-primary-500); }

.border-primary-600 {
  border-color: var(--color-primary-600); }

.border-primary-700 {
  border-color: var(--color-primary-700); }

.border-primary-800 {
  border-color: var(--color-primary-800); }

.border-primary-900 {
  border-color: var(--color-primary-900); }

.border-primary-950 {
  border-color: var(--color-primary-950); }

.border-gray {
  border-color: var(--color-gray); }

.border-gray-50 {
  border-color: var(--color-gray-50); }

.border-gray-100 {
  border-color: var(--color-gray-100); }

.border-gray-200 {
  border-color: var(--color-gray-200); }

.border-gray-300 {
  border-color: var(--color-gray-300); }

.border-gray-400 {
  border-color: var(--color-gray-400); }

.border-gray-500 {
  border-color: var(--color-gray-500); }

.border-gray-600 {
  border-color: var(--color-gray-600); }

.border-gray-700 {
  border-color: var(--color-gray-700); }

.border-gray-800 {
  border-color: var(--color-gray-800); }

.border-gray-900 {
  border-color: var(--color-gray-900); }

.border-gray-950 {
  border-color: var(--color-gray-950); }

.bg-success {
  background-color: var(--color-success); }

.bg-danger {
  background-color: var(--color-danger); }

.bg-warning {
  background-color: var(--color-warning); }

.bg-info {
  background-color: var(--color-info); }

.text-success {
  color: var(--color-success); }

.text-danger {
  color: var(--color-danger); }

.text-warning {
  color: var(--color-warning); }

.text-info {
  color: var(--color-info); }

.border-success {
  border-color: var(--color-success); }

.border-danger {
  border-color: var(--color-danger); }

.border-warning {
  border-color: var(--color-warning); }

.border-info {
  border-color: var(--color-info); }

.hover\:bg-primary:hover {
  background-color: var(--color-primary); }

.hover\:bg-primary-50:hover {
  background-color: var(--color-primary-50); }

.hover\:bg-primary-100:hover {
  background-color: var(--color-primary-100); }

.hover\:bg-primary-200:hover {
  background-color: var(--color-primary-200); }

.hover\:bg-primary-300:hover {
  background-color: var(--color-primary-300); }

.hover\:bg-primary-400:hover {
  background-color: var(--color-primary-400); }

.hover\:bg-primary-500:hover {
  background-color: var(--color-primary-500); }

.hover\:bg-primary-600:hover {
  background-color: var(--color-primary-600); }

.hover\:bg-primary-700:hover {
  background-color: var(--color-primary-700); }

.hover\:bg-primary-800:hover {
  background-color: var(--color-primary-800); }

.hover\:bg-primary-900:hover {
  background-color: var(--color-primary-900); }

.hover\:bg-primary-950:hover {
  background-color: var(--color-primary-950); }

.hover\:text-primary:hover {
  color: var(--color-primary); }

.hover\:text-primary-50:hover {
  color: var(--color-primary-50); }

.hover\:text-primary-100:hover {
  color: var(--color-primary-100); }

.hover\:text-primary-200:hover {
  color: var(--color-primary-200); }

.hover\:text-primary-300:hover {
  color: var(--color-primary-300); }

.hover\:text-primary-400:hover {
  color: var(--color-primary-400); }

.hover\:text-primary-500:hover {
  color: var(--color-primary-500); }

.hover\:text-primary-600:hover {
  color: var(--color-primary-600); }

.hover\:text-primary-700:hover {
  color: var(--color-primary-700); }

.hover\:text-primary-800:hover {
  color: var(--color-primary-800); }

.hover\:text-primary-900:hover {
  color: var(--color-primary-900); }

.hover\:text-primary-950:hover {
  color: var(--color-primary-950); }

.hover\:border-primary:hover {
  border-color: var(--color-primary); }

.hover\:border-primary-50:hover {
  border-color: var(--color-primary-50); }

.hover\:border-primary-100:hover {
  border-color: var(--color-primary-100); }

.hover\:border-primary-200:hover {
  border-color: var(--color-primary-200); }

.hover\:border-primary-300:hover {
  border-color: var(--color-primary-300); }

.hover\:border-primary-400:hover {
  border-color: var(--color-primary-400); }

.hover\:border-primary-500:hover {
  border-color: var(--color-primary-500); }

.hover\:border-primary-600:hover {
  border-color: var(--color-primary-600); }

.hover\:border-primary-700:hover {
  border-color: var(--color-primary-700); }

.hover\:border-primary-800:hover {
  border-color: var(--color-primary-800); }

.hover\:border-primary-900:hover {
  border-color: var(--color-primary-900); }

.hover\:border-primary-950:hover {
  border-color: var(--color-primary-950); }

.hover\:bg-gray:hover {
  background-color: var(--color-gray); }

.hover\:bg-gray-50:hover {
  background-color: var(--color-gray-50); }

.hover\:bg-gray-100:hover {
  background-color: var(--color-gray-100); }

.hover\:bg-gray-200:hover {
  background-color: var(--color-gray-200); }

.hover\:bg-gray-300:hover {
  background-color: var(--color-gray-300); }

.hover\:bg-gray-400:hover {
  background-color: var(--color-gray-400); }

.hover\:bg-gray-500:hover {
  background-color: var(--color-gray-500); }

.hover\:bg-gray-600:hover {
  background-color: var(--color-gray-600); }

.hover\:bg-gray-700:hover {
  background-color: var(--color-gray-700); }

.hover\:bg-gray-800:hover {
  background-color: var(--color-gray-800); }

.hover\:bg-gray-900:hover {
  background-color: var(--color-gray-900); }

.hover\:bg-gray-950:hover {
  background-color: var(--color-gray-950); }

.hover\:text-gray:hover {
  color: var(--color-gray); }

.hover\:text-gray-50:hover {
  color: var(--color-gray-50); }

.hover\:text-gray-100:hover {
  color: var(--color-gray-100); }

.hover\:text-gray-200:hover {
  color: var(--color-gray-200); }

.hover\:text-gray-300:hover {
  color: var(--color-gray-300); }

.hover\:text-gray-400:hover {
  color: var(--color-gray-400); }

.hover\:text-gray-500:hover {
  color: var(--color-gray-500); }

.hover\:text-gray-600:hover {
  color: var(--color-gray-600); }

.hover\:text-gray-700:hover {
  color: var(--color-gray-700); }

.hover\:text-gray-800:hover {
  color: var(--color-gray-800); }

.hover\:text-gray-900:hover {
  color: var(--color-gray-900); }

.hover\:text-gray-950:hover {
  color: var(--color-gray-950); }

.hover\:border-gray:hover {
  border-color: var(--color-gray); }

.hover\:border-gray-50:hover {
  border-color: var(--color-gray-50); }

.hover\:border-gray-100:hover {
  border-color: var(--color-gray-100); }

.hover\:border-gray-200:hover {
  border-color: var(--color-gray-200); }

.hover\:border-gray-300:hover {
  border-color: var(--color-gray-300); }

.hover\:border-gray-400:hover {
  border-color: var(--color-gray-400); }

.hover\:border-gray-500:hover {
  border-color: var(--color-gray-500); }

.hover\:border-gray-600:hover {
  border-color: var(--color-gray-600); }

.hover\:border-gray-700:hover {
  border-color: var(--color-gray-700); }

.hover\:border-gray-800:hover {
  border-color: var(--color-gray-800); }

.hover\:border-gray-900:hover {
  border-color: var(--color-gray-900); }

.hover\:border-gray-950:hover {
  border-color: var(--color-gray-950); }

.hover\:bg-success:hover {
  background-color: var(--color-success); }

.hover\:bg-danger:hover {
  background-color: var(--color-danger); }

.hover\:bg-warning:hover {
  background-color: var(--color-warning); }

.hover\:bg-info:hover {
  background-color: var(--color-info); }

.hover\:text-success:hover {
  color: var(--color-success); }

.hover\:text-danger:hover {
  color: var(--color-danger); }

.hover\:text-warning:hover {
  color: var(--color-warning); }

.hover\:text-info:hover {
  color: var(--color-info); }

.hover\:border-success:hover {
  border-color: var(--color-success); }

.hover\:border-danger:hover {
  border-color: var(--color-danger); }

.hover\:border-warning:hover {
  border-color: var(--color-warning); }

.hover\:border-info:hover {
  border-color: var(--color-info); }

/* Equivalente a .[\&_\.wp-block-list_li::before]:bg-primary */
.wp-block-list li::before {
  background-color: var(--color-primary); }

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

:focus,
:focus-visible {
  outline: none;
  box-shadow: none; }

body {
  background-color: var(--color-white);
  color: var(--color-foreground);
  font-family: var(--font-primary);
  -webkit-font-smoothing: antialiased; }

@keyframes marquee {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-100%); } }
.animate-marquee {
  animation: marquee 60s linear infinite; }

p::selection,
h1::selection,
h2::selection,
h3::selection,
h4::selection,
h5::selection,
h6::selection,
a::selection,
label::selection,
span::selection,
img::selection,
td::selection,
tr::selection,
th::selection,
strong::selection,
address::selection,
mark::selection,
.wpcf7-response-output::selection,
ol li::selection,
ul li::selection,
em::selection,
time::selection,
div::selection,
i::selection {
  background: var(--tsel-bg, var(--color-black));
  color: var(--tsel-fg, var(--color-white));
  text-shadow: var(--tsel-text-shadow, none); }

/* Firefox (asi como el bloque anterior) */
p::-moz-selection,
h1::-moz-selection,
h2::-moz-selection,
h3::-moz-selection,
h4::-moz-selection,
h5::-moz-selection,
h6::-moz-selection,
a::-moz-selection,
label::-moz-selection,
span::-moz-selection,
img::-moz-selection,
td::-moz-selection,
tr::-moz-selection,
th::-moz-selection,
strong::-moz-selection,
address::-moz-selection,
mark::-moz-selection,
time::-moz-selection,
div::-moz-selection,
i::-moz-selection {
  background: var(--tsel-bg, var(--color-black));
  color: var(--tsel-fg, var(--color-white));
  text-shadow: var(--tsel-text-shadow, none); }

:root {
  --tsel-bg: var(--color-black);
  --tsel-fg: var(--color-white);
  --tsel-text-shadow: none; }

.text-selection-default {
  --tsel-bg: var(--color-black);
  --tsel-fg: var(--color-white);
  --tsel-text-shadow: 0px 0px var(--color-white); }

.text-selection-invert {
  --tsel-bg: var(--color-white);
  --tsel-fg: var(--color-black);
  --tsel-text-shadow: none; }

.text-selection-primary {
  --tsel-bg: var(--color-primary-950);
  --tsel-fg: var(--color-white);
  --tsel-text-shadow: none; }

.text-selection-soft {
  --tsel-bg: var(--color-primary-100);
  --tsel-fg: var(--color-primary-950);
  --tsel-text-shadow: none; }

.text-shadow-sm {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15); }

.text-shadow-md {
  text-shadow: 0 10px 25px rgba(0, 0, 0, 0.25); }

.text-glow-primary {
  text-shadow: 0 0 12px rgba(34, 34, 34, 0.35); }

.text-stroke {
  color: transparent;
  -webkit-text-stroke: 1px var(--stroke-color, var(--color-primary-950));
  -webkit-text-fill-color: transparent; }

.text-outline {
  color: transparent;
  -webkit-text-stroke: var(--stroke-size, 2px) var(--stroke-color, var(--color-primary-950));
  -webkit-text-fill-color: transparent; }

.text-gradient {
  --grad-1: var(--color-primary-950);
  --grad-2: var(--color-primary);
  background-image: linear-gradient(90deg, var(--grad-1), var(--grad-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent; }

.text-underline-animate {
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-size: 0% 2px;
  background-position: 0 100%;
  transition: background-size 250ms ease-in-out; }

.text-underline-animate:hover {
  background-size: 100% 2px; }

.text-wipe {
  --wipe-1: var(--color-primary-950);
  --wipe-2: var(--color-primary);
  background-image: linear-gradient(90deg, var(--wipe-1), var(--wipe-2));
  background-repeat: no-repeat;
  background-size: 0% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  transition: background-size 400ms ease; }

.text-wipe:hover {
  background-size: 100% 100%; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  font-family: var(--font-mono);
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: var(--transition-base);
  text-decoration: none;
  font-size: 0.875rem;
  border: none; }

.btn-primary {
  background-color: var(--color-acid);
  color: #000; }

.btn-primary:hover {
  background-color: var(--color-text);
  transform: translateY(-2px); }

.btn-outline {
  background-color: transparent;
  border: 1px solid var(--color-border);
  color: var(--color-text); }

.btn-outline:hover {
  border-color: var(--color-acid);
  color: var(--color-acid); }

html,
body {
  font-family: 'Roboto Condensed', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 300; }

.seo-h2 {
  font-size: 1.875rem;
  font-weight: 900;
  letter-spacing: -0.05em;
  text-transform: uppercase;
  line-height: 1.1;
  margin-bottom: 1.5rem; }
  @media (min-width: 768px) {
    .seo-h2 {
      font-size: 2.25rem; } }
  @media (min-width: 1024px) {
    .seo-h2 {
      font-size: 3rem; } }

.seo-h3 {
  font-size: 1.125rem;
  font-weight: 900;
  letter-spacing: -0.025em;
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid #f5f5f5; }
  @media (min-width: 768px) {
    .seo-h3 {
      font-size: 1.25rem; } }

.sub-section {
  margin-bottom: 1.5rem; }

.form--content {
  display: flex;
  flex-direction: column;
  gap: 24px; }
  .form--content .input--content {
    position: relative; }
    .form--content .input--content > p label {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 8px; }
      .form--content .input--content > p label br {
        display: none; }
      .form--content .input--content > p label span.label {
        color: var(--color-primary);
        text-transform: uppercase;
        font-weight: 700;
        --tw-tracking: 0.1em;
        letter-spacing: 0.1em;
        font-size: 0.75rem;
        line-height: calc(1 / 0.75); }
        .form--content .input--content > p label span.label span {
          margin-left: 0.25rem;
          display: inline;
          color: var(--color-danger); }
      .form--content .input--content > p label span:not(.label) {
        position: initial;
        display: flex;
        flex-direction: column;
        gap: 4px;
        width: 100%; }
        .form--content .input--content > p label span:not(.label) input, .form--content .input--content > p label span:not(.label) textarea {
          border: 1px solid var(--color-primary-200);
          box-sizing: border-box;
          width: 100%;
          outline: none;
          font-size: 0.875rem;
          line-height: calc(1.25 / 0.875);
          padding: 1rem;
          background-color: var(--color-white); }
          .form--content .input--content > p label span:not(.label) input.wpcf7-not-valid, .form--content .input--content > p label span:not(.label) textarea.wpcf7-not-valid {
            border-color: var(--color-danger); }
        .form--content .input--content > p label span:not(.label) textarea {
          resize: none;
          height: 114px; }
        .form--content .input--content > p label span:not(.label) span {
          position: absolute;
          top: 0;
          right: 0;
          color: var(--color-danger);
          font-size: 0.75rem;
          line-height: calc(1.25 / 0.75);
          font-weight: 400;
          width: initial;
          text-transform: none;
          --tw-tracking: 0.1em;
          letter-spacing: 0.1em; }
  .form--content .acceptance--content > p span span span {
    margin-left: 0; }
    .form--content .acceptance--content > p span span span label input {
      display: none; }
      .form--content .acceptance--content > p span span span label input:checked + span::before {
        background-color: var(--color-primary);
        border-color: var(--color-primary); }
      .form--content .acceptance--content > p span span span label input:checked + span::after {
        opacity: 1;
        transform: translateY(-50%) scale(1); }
    .form--content .acceptance--content > p span span span label span {
      cursor: pointer;
      color: var(--color-primary-600);
      font-size: 0.875rem;
      line-height: calc(1.25 / 0.875);
      font-weight: 400;
      text-transform: none;
      --tw-tracking: 0em;
      letter-spacing: 0em;
      display: inline-flex;
      position: relative; }
      .form--content .acceptance--content > p span span span label span a {
        margin: 0 0.25rem;
        color: var(--color-primary-600);
        font-size: 0.875rem;
        line-height: calc(1.25 / 0.875);
        font-weight: 700;
        text-decoration: underline; }
      .form--content .acceptance--content > p span span span label span::before {
        content: '';
        box-sizing: border-box;
        border: 1px solid var(--color-primary);
        margin-right: 0.75rem;
        margin-top: 1px;
        width: 16px;
        height: 16px;
        display: block;
        background-color: var(--color-white);
        transition: var(--transition-base); }
      .form--content .acceptance--content > p span span span label span::after {
        content: '✔';
        position: absolute;
        left: 4px;
        top: 50%;
        transform: translateY(-50%) scale(0.7);
        font-size: 0.75rem;
        color: var(--color-white);
        pointer-events: none;
        opacity: 0;
        transition: var(--transition-base); }
  .form--content .info--content div p {
    font-size: 10px;
    --tw-tracking: 1.625;
    line-height: 1.625;
    font-weight: 300;
    color: var(--color-primary-400); }
  .form--content .submit--content > p {
    display: flex;
    position: relative; }
    .form--content .submit--content > p br {
      display: none; }
    .form--content .submit--content > p span:not(.wpcf7-spinner) {
      z-index: 1;
      position: relative;
      display: inline-block;
      width: 100%;
      cursor: pointer;
      border: 1px solid var(--color-primary);
      background-color: var(--color-primary);
      color: var(--color-white);
      font-family: 'Roboto Condensed', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      text-transform: uppercase;
      font-weight: 700;
      letter-spacing: 0.1em;
      font-size: 0.875rem;
      padding: 1rem 0;
      overflow: hidden;
      transition: var(--transition-base);
      text-align: center; }
      .form--content .submit--content > p span:not(.wpcf7-spinner)::before {
        content: '';
        position: absolute;
        inset: 0;
        background-color: var(--color-white);
        transform-origin: 100%;
        transform: scaleX(0);
        transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
        z-index: -1; }
    .form--content .submit--content > p:hover span:not(.wpcf7-spinner)::before {
      transform-origin: left;
      transform: scaleX(1); }
    .form--content .submit--content > p:hover span:not(.wpcf7-spinner) {
      color: var(--color-primary); }
    .form--content .submit--content > p input[type="submit"] {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      cursor: pointer;
      border: none;
      background: transparent;
      padding: 0;
      margin: 0;
      z-index: 5; }
      .form--content .submit--content > p input[type="submit"]:disabled {
        cursor: not-allowed; }
    .form--content .submit--content > p:has(input[type="submit"]:disabled) span:not(.wpcf7-spinner) {
      cursor: not-allowed;
      border-color: var(--color-primary-300);
      background-color: var(--color-primary-300);
      color: var(--color-white); }
      .form--content .submit--content > p:has(input[type="submit"]:disabled) span:not(.wpcf7-spinner)::before {
        display: none; }
    .form--content .submit--content > p:has(input[type="submit"]:disabled):hover span:not(.wpcf7-spinner)::before {
      transform: scaleX(0); }
    .form--content .submit--content > p:has(input[type="submit"]:disabled):hover span:not(.wpcf7-spinner) {
      color: var(--color-white); }
    .form--content .submit--content > p span.wpcf7-spinner {
      margin: 0;
      z-index: 10;
      position: absolute;
      right: 20px;
      top: 50%;
      transform: translateY(-50%);
      width: 24px;
      height: 24px;
      display: flex; }

.wpcf7-response-output {
  margin: 0 !important;
  margin-top: 24px !important;
  padding: 12px 24px !important;
  text-align: center;
  color: var(--color-primary-600);
  font-size: 0.875rem;
  line-height: calc(1.25 / 0.875);
  font-weight: 400;
  text-transform: none;
  --tw-tracking: 0em; }

/* Checkout step save button (Fluid Checkout) - Exit BCN style */
.woocommerce-checkout button.fc-step__substep-save.button,
.woocommerce-checkout .fc-step__substep-save.button,
.woocommerce-checkout button[data-step-save],
.woocommerce-checkout .fc-place-order .fc-place-order-button.button,
.woocommerce-checkout button#place_order.fc-place-order-button {
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 0.75rem 1rem !important;
  border: 1px solid var(--color-primary) !important;
  border-radius: 0 !important;
  background: var(--color-primary) !important;
  color: var(--color-white) !important;
  font-family: 'Roboto Condensed', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  box-shadow: none !important;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease !important; }

.woocommerce-checkout button.fc-step__substep-save.button:hover,
.woocommerce-checkout .fc-step__substep-save.button:hover,
.woocommerce-checkout button[data-step-save]:hover,
.woocommerce-checkout .fc-place-order .fc-place-order-button.button:hover,
.woocommerce-checkout button#place_order.fc-place-order-button:hover {
  border-color: var(--color-primary) !important;
  background: var(--color-white) !important;
  color: var(--color-primary) !important; }

.woocommerce-checkout button.fc-step__substep-save.button:disabled,
.woocommerce-checkout .fc-step__substep-save.button:disabled,
.woocommerce-checkout button[data-step-save]:disabled,
.woocommerce-checkout .fc-place-order .fc-place-order-button.button:disabled,
.woocommerce-checkout button#place_order.fc-place-order-button:disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important; }

/* Checkout (Fluid Checkout): inputs/selects aligned with site style */
.woocommerce-checkout #fc-wrapper .fc-step__substep input[type="text"],
.woocommerce-checkout #fc-wrapper .fc-step__substep input[type="email"],
.woocommerce-checkout #fc-wrapper .fc-step__substep input[type="tel"],
.woocommerce-checkout #fc-wrapper .fc-step__substep input[type="number"],
.woocommerce-checkout #fc-wrapper .fc-step__substep input[type="password"],
.woocommerce-checkout #fc-wrapper .fc-step__substep textarea,
.woocommerce-checkout #fc-wrapper .fc-step__substep select {
  width: 100% !important;
  min-height: 46px !important;
  border: 1px solid var(--color-primary-200) !important;
  border-radius: 0 !important;
  background-color: var(--color-white) !important;
  color: var(--color-black) !important;
  font-family: 'Roboto Condensed', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  padding: 0.75rem 1rem !important;
  box-shadow: none !important; }

.woocommerce-checkout #fc-wrapper .fc-step__substep textarea {
  min-height: 110px !important;
  resize: vertical !important; }

.woocommerce-checkout #fc-wrapper .fc-step__substep input:focus,
.woocommerce-checkout #fc-wrapper .fc-step__substep textarea:focus,
.woocommerce-checkout #fc-wrapper .fc-step__substep select:focus {
  border-color: var(--color-primary-500) !important;
  outline: none !important;
  box-shadow: none !important; }

.woocommerce-checkout #fc-wrapper .fc-step__substep label {
  color: var(--color-primary-700) !important; }

/* Cart block sidebar: button "Finalizar compra" */
.wc-block-cart__submit-button,
.wc-block-cart__submit-button-container .wc-block-components-button,
.wp-block-woocommerce-cart .wc-block-components-button,
.wp-block-woocommerce-filled-cart-block .wc-block-components-button,
.woocommerce .wp-block-woocommerce-cart-totals-block .wc-block-cart__submit-button,
.woocommerce .wp-block-woocommerce-cart-totals-block .wc-block-components-button,
.woocommerce .wp-block-woocommerce-cart-totals-block .wc-block-components-button.wp-element-button,
.woocommerce .wp-block-woocommerce-cart-totals-block a.wc-block-components-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 0.75rem 1rem !important;
  border: 1px solid var(--color-primary) !important;
  border-radius: 0 !important;
  background: var(--color-primary) !important;
  color: var(--color-white) !important;
  font-family: 'Roboto Condensed', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease !important; }

.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button-container .wc-block-components-button:hover,
.wp-block-woocommerce-cart .wc-block-components-button:hover,
.wp-block-woocommerce-filled-cart-block .wc-block-components-button:hover,
.woocommerce .wp-block-woocommerce-cart-totals-block .wc-block-cart__submit-button:hover,
.woocommerce .wp-block-woocommerce-cart-totals-block .wc-block-components-button:hover,
.woocommerce .wp-block-woocommerce-cart-totals-block .wc-block-components-button.wp-element-button:hover,
.woocommerce .wp-block-woocommerce-cart-totals-block a.wc-block-components-button:hover {
  border-color: var(--color-primary) !important;
  background: var(--color-white) !important;
  color: var(--color-primary) !important; }

.image--content {
  position: relative;
  overflow: hidden; }
  .image--content img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block; }

/* Cards */
.category-card {
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  transition: var(--transition-base);
  position: relative;
  overflow: hidden;
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  justify-content: flex-end; }

.category-card:hover {
  border-color: var(--color-acid); }

.category-card h3 {
  font-size: 2rem;
  font-weight: 800;
  margin-bottom: var(--space-xs);
  font-family: var(--font-heading); }

.category-card p {
  color: var(--color-text-muted);
  margin-bottom: var(--space-sm); }

.text-link {
  font-family: var(--font-mono);
  color: var(--color-acid);
  text-decoration: none;
  font-size: 0.75rem; }

/* Badges */
.badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  color: var(--color-acid);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  border: 1px solid var(--color-acid);
  margin-bottom: var(--space-sm);
  text-transform: uppercase; }

/* Section Titles */
.section-title {
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: var(--space-md);
  letter-spacing: -0.02em;
  text-transform: uppercase; }

/* Tag Lists */
.tag-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem; }

.tag-list li {
  padding: 0.5rem 1rem;
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  font-family: var(--font-mono);
  font-size: 0.8125rem; }

/* =========================================================
 * Header flotante + navegación (desde css/main.css)
 * =======================================================*/
.floating-header {
  position: fixed;
  top: 1rem;
  left: 1rem;
  right: 1rem;
  background-color: rgba(5, 5, 5, 0.8);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--color-border);
  z-index: 1000;
  padding: 0.75rem 0; }
  .floating-header nav {
    display: flex;
    justify-content: space-between;
    align-items: center; }

.logo a {
  color: var(--color-text);
  text-decoration: none;
  font-weight: 800;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  font-family: var(--font-heading); }
.logo span {
  color: var(--color-acid); }

.nav-links {
  list-style: none;
  display: flex;
  gap: var(--space-md); }
  .nav-links a {
    color: var(--color-text);
    text-decoration: none;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    transition: var(--transition-fast); }
    .nav-links a:hover {
      color: var(--color-acid); }

.nav-actions {
  display: flex;
  gap: var(--space-sm); }
  .nav-actions button {
    background: none;
    border: none;
    color: var(--color-text);
    cursor: pointer;
    transition: var(--transition-fast); }
    .nav-actions button:hover {
      color: var(--color-acid); }

/* =========================================================
 * Hero genérico de altura completa
 * =======================================================*/
.full-viewport-hero {
  height: 100vh;
  display: flex;
  align-items: center;
  position: relative;
  padding-top: 80px;
  background-color: #0c0c0c; }

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 800px; }
  .hero-content h1 {
    font-size: clamp(3rem, 10vw, 6rem);
    line-height: 0.95;
    font-weight: 900;
    margin-bottom: var(--space-md);
    letter-spacing: -0.04em; }

.intro-text {
  font-size: 1.25rem;
  color: var(--color-text-muted);
  margin-bottom: var(--space-md);
  max-width: 600px; }

.seo-container {
  max-width: 72rem;
  /* Tailwind: max-w-6xl */
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  /* Tailwind: px-6 */
  padding-right: 1.5rem;
  /* Tailwind: px-6 */ }

@media (min-width: 768px) {
  .seo-container {
    padding-left: 3rem;
    /* Tailwind: md:px-12 */
    padding-right: 3rem;
    /* Tailwind: md:px-12 */ } }
.cta-group {
  display: flex;
  gap: var(--space-sm); }

/* =========================================================
 * Sección manifest / bloques de texto
 * =======================================================*/
.manifest-section {
  background-color: var(--color-surface);
  padding: var(--space-xl) 0;
  border-top: 1px solid var(--color-border); }

.eyebrow {
  display: block;
  font-family: var(--font-mono);
  color: var(--color-acid);
  font-size: 0.75rem;
  text-transform: uppercase;
  margin-bottom: var(--space-sm); }

.manifest-text h2 {
  font-size: 3.5rem;
  font-weight: 900;
  line-height: 1;
  margin-bottom: var(--space-md); }
.manifest-text p {
  font-size: 1.125rem;
  color: var(--color-text-muted); }

/* =========================================================
 * Footer base
 * =======================================================*/
#main-footer {
  padding: var(--space-xl) 0 var(--space-md);
  border-top: 1px solid var(--color-border);
  background-color: var(--color-bg); }

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: var(--space-lg);
  margin-bottom: var(--space-lg); }

.footer-brand .logo {
  margin-bottom: var(--space-sm); }

.footer-grid h4 {
  text-transform: uppercase;
  font-size: 0.75rem;
  margin-bottom: var(--space-md);
  color: var(--color-acid);
  letter-spacing: 0.1em; }

.footer-links ul {
  list-style: none; }
.footer-links li {
  margin-bottom: var(--space-xs); }
.footer-links a {
  color: var(--color-text-muted);
  text-decoration: none;
  font-size: 0.875rem;
  transition: var(--transition-fast); }
  .footer-links a:hover {
    color: var(--color-text); }

.status {
  margin-top: var(--space-sm);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--color-acid); }

.footer-bottom {
  padding-top: var(--space-md);
  border-top: 1px solid var(--color-border);
  font-size: 0.75rem;
  color: var(--color-text-muted);
  text-align: center; }

@media (max-width: 768px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md); }

  .hero-content h1 {
    font-size: 3.5rem; } }
.footer-payment-logos img {
  max-width: none !important;
  height: 100% !important;
  width: auto !important; }

.main-menu-link {
  position: relative;
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  color: inherit; }

.main-menu-link__label,
.main-menu-link__label-clone {
  position: relative;
  display: inline-block;
  transition: transform 0.3s cubic-bezier(0.5, 0.5, 0.3, 1); }

.main-menu-link__label-clone {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translate3d(150%, 0, 0); }

.main-menu-link__underline {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: currentColor;
  transform-origin: 100% 50%;
  transform: scale3d(0, 1, 1);
  transition: transform 0.3s cubic-bezier(0.5, 0.5, 0.3, 1); }

.main-menu-link:hover .main-menu-link__label,
.main-menu-link:focus-visible .main-menu-link__label {
  transform: translate3d(-150%, 0, 0); }

.main-menu-link:hover .main-menu-link__label-clone,
.main-menu-link:focus-visible .main-menu-link__label-clone {
  transform: translate3d(0, 0, 0); }

.main-menu-link:hover .main-menu-link__underline,
.main-menu-link:focus-visible .main-menu-link__underline {
  transform-origin: 0% 50%;
  transform: scale3d(1, 1, 1); }

#mobile-menu {
  transition: opacity 0.25s ease, transform 0.25s ease;
  transform: translateY(10px);
  opacity: 0; }

#mobile-menu.mobile-menu-open {
  opacity: 1;
  transform: translateY(0); }

#header-search-overlay {
  transition: opacity 0.25s ease;
  opacity: 0;
  pointer-events: none;
  visibility: hidden; }

#header-search-overlay.search-overlay-open {
  opacity: 1;
  pointer-events: auto;
  visibility: visible; }

.mobile-submenu-panel {
  transition: opacity 0.25s ease, transform 0.25s ease;
  transform: translateX(100%);
  opacity: 0; }

.mobile-submenu-panel.is-active {
  transform: translateX(0);
  opacity: 1; }

#discount-floating-badge {
  opacity: 0;
  transform: translateY(16px);
  pointer-events: none;
  transition: opacity 300ms ease, transform 300ms ease; }

#discount-floating-badge.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto; }

.front-page-home {
  min-height: 300vh;
  background-color: #504d4d; }

html {
  scroll-behavior: auto; }

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto; } }
@keyframes marquee {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-50%); } }
.animate-marquee {
  display: flex;
  white-space: nowrap;
  animation: marquee 30s linear infinite; }

@keyframes fadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(30px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
.product-card {
  opacity: 0;
  cursor: pointer; }

.product-card.is-visible {
  animation: fadeSlideUp 0.6s ease-out forwards; }

.product-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 12px; }

@media (min-width: 768px) {
  .product-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 56px 12px; } }
@media (min-width: 1024px) {
  .product-grid {
    grid-template-columns: repeat(4, 1fr); } }
/* Hero banner buttons: Hyperion-style wipe + text jump (Codrops ButtonHoverStyles #02) */
@keyframes button-text-up {
  0% {
    transform: translateY(0); }
  49% {
    transform: translateY(-100%); }
  50% {
    transform: translateY(100%); }
  100% {
    transform: translateY(0); } }
.animate-button-text-up {
  animation: button-text-up 0.4s forwards; }

/* Generic animated button text (used by primary/secondary buttons) */
.btn-animated-text-initial {
  transform: translateY(0); }

.btn-animated:hover .btn-animated-text-initial {
  transform: translateY(-120%);
  transition: none; }

.group:hover .btn-animated .btn-animated-text-initial {
  transform: translateY(-120%);
  transition: none; }

.btn-animated-text-hover {
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(120%); }

@keyframes btn-text-hover-in {
  0% {
    transform: translateY(120%); }
  100% {
    transform: translateY(0); } }
.btn-animated:hover .btn-animated-text-hover {
  animation: btn-text-hover-in 0.3s ease-out forwards; }

.group:hover .btn-animated .btn-animated-text-hover {
  animation: btn-text-hover-in 0.3s ease-out forwards; }

/* Secondary button: borde primary, fondo blanco -> wipe a fondo primary */
.btn-secondary {
  position: relative;
  display: inline-block;
  cursor: pointer;
  border-width: 1px;
  border-style: solid;
  border-color: #222222;
  background-color: #ffffff;
  color: #222222;
  text-transform: uppercase;
  font-weight: 700;
  overflow: hidden;
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease; }

.btn-secondary-bg {
  position: absolute;
  inset: 0;
  background-color: #222222;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1); }

.btn-secondary:hover .btn-secondary-bg {
  transform-origin: left;
  transform: scaleX(1); }

.btn-secondary:hover {
  color: #ffffff; }

.group:hover .btn-secondary .btn-secondary-bg {
  transform-origin: left;
  transform: scaleX(1); }

.group:hover .btn-secondary {
  color: #ffffff; }

/* Hijos con .text-primary no heredan el color del botón (TW v4 :where). */
.btn-secondary:hover .btn-animated-text-initial,
.btn-secondary:hover .btn-animated-text-hover,
.btn-secondary:hover > span.relative,
.group:hover .btn-secondary .btn-animated-text-initial,
.group:hover .btn-secondary .btn-animated-text-hover,
.group:hover .btn-secondary > span.relative {
  color: #ffffff; }

/* Primary button: fondo negro -> wipe a blanco con borde negro */
.btn-primary {
  position: relative;
  display: inline-block;
  cursor: pointer;
  border-width: 1px;
  border-style: solid;
  border-color: #000000;
  background-color: #000000;
  color: #ffffff;
  text-transform: uppercase;
  font-weight: 700;
  overflow: hidden;
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease; }

.btn-primary-bg {
  position: absolute;
  inset: 0;
  background-color: #ffffff;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1); }

.btn-primary:hover .btn-primary-bg {
  transform-origin: left;
  transform: scaleX(1); }

.btn-primary:hover {
  color: #000000; }

.btn-primary:hover .btn-animated-text-initial,
.btn-primary:hover .btn-animated-text-hover,
.btn-primary:hover > span.relative {
  color: #000000; }

/* Piezas destacadas: barra deslizante bajo la pestaña activa */
.product-tabs-wrap {
  position: relative; }

.product-tab-slider {
  bottom: 0;
  will-change: left, width; }

/* Categories grid: transición suave entre grupos (padres) */
.categories-grid-transition {
  transition: opacity 0.3s ease, transform 0.3s ease; }

.categories-grid-fade-out {
  opacity: 0;
  transform: translateY(10px); }

/* Categories tabs: barra deslizante bajo la pestaña activa */
.category-tabs-wrap {
  position: relative; }

.category-tabs-slider {
  left: 0;
  will-change: left, width;
  transition: left 0.3s ease, width 0.3s ease; }

/* Custom Thin Scrollbar - Only visible on hover (para secciones como Blog) */
.custom-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: transparent transparent; }

.custom-scrollbar:hover {
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent; }

.custom-scrollbar::-webkit-scrollbar {
  width: 4px;
  height: 4px; }

.custom-scrollbar::-webkit-scrollbar-track {
  background: transparent; }

.custom-scrollbar::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 10px; }

.custom-scrollbar:hover::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2); }

/* Team panel: base background (se anima por JS) */
.team-panel {
  background-color: #ffffff;
  transition: background-color 0.2s linear; }

/* Filosofía: evitar que los <br> de ACF rompan el layout / shortcodes */
.philosophy-content br {
  display: none; }

/* Single post (Gutenberg) styling portado desde `single.php` */
.wat-mainrow.single-page .wat-single-content {
  font-weight: 300;
  /* Tailwind font-light */
  color: var(--color-primary-700);
  line-height: 1.625;
  /* Tailwind leading-relaxed */
  font-size: 1.125rem;
  /* Tailwind text-lg */ }

@media (min-width: 768px) {
  .wat-mainrow.single-page .wat-single-content {
    font-size: 1.15rem;
    /* md:text-[1.15rem] */ } }
/* Paragraphs */
.wat-mainrow.single-page .wat-single-content .wp-block-paragraph {
  margin-bottom: 2rem;
  /* mb-8 */
  line-height: 1.9;
  /* leading-[1.9] */ }

/* Drop cap (primer párrafo) */
.wat-mainrow.single-page .wat-single-content > p:first-of-type::first-letter,
.wat-mainrow.single-page .wat-single-content .wp-block-paragraph:first-of-type::first-letter {
  font-size: 4.5rem;
  /* text-7xl */
  font-weight: 900;
  /* font-black */
  color: var(--color-primary);
  /* text-primary */
  margin-right: 1rem;
  /* mr-4 */
  float: left;
  /* float-left */
  line-height: 1;
  /* leading-none */
  margin-top: 0.5rem;
  /* mt-2 */ }

/* Headings */
.wat-mainrow.single-page .wat-single-content .wp-block-heading {
  font-weight: 900;
  /* font-black */
  text-transform: uppercase;
  letter-spacing: -0.05em;
  /* tracking-tighter/tighter-ish */
  color: var(--color-primary); }

.wat-mainrow.single-page .wat-single-content h2.wp-block-heading {
  font-size: 1.875rem;
  /* text-3xl */
  margin-top: 6rem;
  /* mt-24 */
  margin-bottom: 2.5rem;
  /* mb-10 */ }

@media (min-width: 768px) {
  .wat-mainrow.single-page .wat-single-content h2.wp-block-heading {
    font-size: 3rem;
    /* md:text-5xl */ } }
.wat-mainrow.single-page .wat-single-content h3.wp-block-heading {
  font-size: 1.5rem;
  /* text-2xl */
  margin-top: 4rem;
  /* mt-16 */
  margin-bottom: 2rem;
  /* mb-8 */ }

/* Images + breakout */
.wat-mainrow.single-page .wat-single-content .wp-block-image {
  margin: 5rem 0;
  /* my-20 */ }

@media (min-width: 768px) {
  .wat-mainrow.single-page .wat-single-content .wp-block-image {
    margin-left: -3rem;
    /* md:-mx-12 */
    margin-right: -3rem; } }
@media (min-width: 1280px) {
  .wat-mainrow.single-page .wat-single-content .wp-block-image {
    margin-left: -8rem;
    /* xl:-mx-32 */
    margin-right: -8rem; } }
.wat-mainrow.single-page .wat-single-content .wp-block-image img {
  width: 100%;
  max-height: 800px;
  /* max-h-[800px] */
  object-fit: cover;
  /* object-cover */
  display: block; }

/* aligncenter */
.wat-mainrow.single-page .wat-single-content .aligncenter,
.wat-mainrow.single-page .wat-single-content figure.aligncenter {
  text-align: center;
  margin-left: auto;
  margin-right: auto; }

.wat-mainrow.single-page .wat-single-content .wp-block-image.aligncenter {
  margin-left: auto !important;
  margin-right: auto !important; }

/* Captions (Gutenberg) */
.wat-mainrow.single-page .wat-single-content figcaption.wp-element-caption,
.wat-mainrow.single-page .wat-single-content figcaption.wp-caption-text,
.wat-mainrow.single-page .wat-single-content .wp-block-image_figcaption {
  text-align: center;
  font-size: 10px;
  /* text-[10px] */
  font-weight: 700;
  /* font-bold */
  text-transform: uppercase;
  letter-spacing: 0.2em;
  /* tracking-[0.2em] */
  color: var(--color-primary-400);
  margin-top: 1.5rem;
  /* mt-6 */ }

/* Blockquote */
.wat-mainrow.single-page .wat-single-content .wp-block-quote {
  margin: 6rem 0;
  /* my-24 */
  padding: 4rem 2rem;
  /* py-16 px-8 */
  background-color: var(--color-primary-50);
  border-left: 4px solid var(--color-primary); }

@media (min-width: 768px) {
  .wat-mainrow.single-page .wat-single-content .wp-block-quote {
    padding-left: 4rem;
    /* md:px-16 */
    padding-right: 4rem; } }
.wat-mainrow.single-page .wat-single-content .wp-block-quote p {
  font-size: 1.5rem;
  /* text-2xl */
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.025em;
  /* tracking-tight-ish */
  color: var(--color-primary);
  margin-bottom: 2rem;
  /* mb-8 */ }

@media (min-width: 768px) {
  .wat-mainrow.single-page .wat-single-content .wp-block-quote p {
    font-size: 1.875rem;
    /* md:text-3xl */ } }
.wat-mainrow.single-page .wat-single-content .wp-block-quote cite {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  /* tracking-[0.3em] */
  color: var(--color-primary-500);
  font-style: normal;
  /* not-italic */ }

/* Caso real en tu contenido: quote exterior sin clase y un quote interior (wp-block-quote) solo para el cite */
.wat-mainrow.single-page .wat-single-content blockquote:not(.wp-block-quote) {
  margin: 6rem 0;
  /* my-24 */
  padding: 4rem 2rem;
  /* py-16 px-8 */
  background-color: var(--color-primary-50);
  border-left: 4px solid var(--color-primary); }

@media (min-width: 768px) {
  .wat-mainrow.single-page .wat-single-content blockquote:not(.wp-block-quote) {
    padding-left: 4rem;
    /* md:px-16 */
    padding-right: 4rem; } }
.wat-mainrow.single-page .wat-single-content blockquote:not(.wp-block-quote) > p {
  font-size: 1.5rem;
  /* text-2xl */
  font-weight: 900;
  /* font-black */
  text-transform: uppercase;
  letter-spacing: -0.025em;
  color: var(--color-primary);
  margin-bottom: 2rem;
  /* mb-8 */ }

@media (min-width: 768px) {
  .wat-mainrow.single-page .wat-single-content blockquote:not(.wp-block-quote) > p {
    font-size: 1.875rem;
    /* md:text-3xl */ } }
.wat-mainrow.single-page .wat-single-content blockquote:not(.wp-block-quote) .wp-block-quote {
  /* El interior solo debe mostrar el cite; sin “caja” de quote */
  margin: 0;
  padding: 0;
  background-color: transparent;
  border-left: none; }

.wat-mainrow.single-page .wat-single-content blockquote:not(.wp-block-quote) .wp-block-quote p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  color: inherit !important; }

/* Lists */
.wat-mainrow.single-page .wat-single-content .wp-block-list {
  margin: 2.5rem 0;
  /* my-10 */
  padding-left: 0;
  /* pl-0 */ }

.wat-mainrow.single-page .wat-single-content .wp-block-list li {
  padding-left: 2.5rem;
  /* pl-10 */
  position: relative; }

.wat-mainrow.single-page .wat-single-content .wp-block-list li + li {
  margin-top: 1.5rem;
  /* space-y-6 */ }

.wat-mainrow.single-page .wat-single-content .wp-block-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.7rem;
  width: 0.625rem;
  /* w-2.5 */
  height: 0.625rem;
  /* h-2.5 */
  background-color: var(--color-primary); }

/* Strong & links */
.wat-mainrow.single-page .wat-single-content strong {
  font-weight: 900;
  color: var(--color-primary); }

.wat-mainrow.single-page .wat-single-content a {
  font-weight: 700;
  text-decoration: underline;
  color: var(--color-primary);
  transition: color 200ms ease-in-out; }

.wat-mainrow.single-page .wat-single-content a:hover {
  color: var(--color-primary-400); }

/* Buttons row */
.wat-mainrow.single-page .wat-single-content .wp-block-buttons {
  margin-top: 5rem;
  /* mt-20 */
  display: flex;
  /* flex */
  justify-content: flex-start;
  /* justify-start */ }

/* Blog (Swiper freemode) - evitar que .swiper-slide ocupe 100% */
@media (max-width: 1279px) {
  #exitbcn-blog-swiper .swiper-slide {
    width: 290px;
    flex: 0 0 auto; }

  /* Forzamos también el ancho interno de la tarjeta del blog
     para que no se desborde con las clases Tailwind (md:w-320). */
  #exitbcn-blog-swiper .swiper-slide > article {
    width: 290px;
    min-width: 290px; }

  /* Archive categories swiper: que los slides no ocupen 100% */
  #exitbcn-archive-cats-swiper .swiper-slide {
    width: auto !important;
    flex: 0 0 auto !important; } }
/* También en desktop mantenemos el ancho natural de cada slide */
#exitbcn-archive-cats-swiper .swiper-slide {
  width: auto !important;
  flex: 0 0 auto !important; }

/* Product single: marquesina horizontal continua */
.exitbcn-product-ticker-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: exitbcn-product-ticker-scroll var(--exitbcn-product-ticker-duration, 120s) linear infinite; }

.exitbcn-product-ticker-track.exitbcn-product-ticker--waapi {
  animation: none !important; }

@keyframes exitbcn-product-ticker-scroll {
  from {
    transform: translate3d(0, 0, 0); }
  to {
    transform: translate3d(-50%, 0, 0); } }
.exitbcn-product-carousel-viewport.exitbcn-product-ticker--paused .exitbcn-product-ticker-track {
  animation-play-state: paused; }

.exitbcn-product-carousel-viewport.exitbcn-product-ticker--grabbing {
  cursor: grabbing; }

/* Team page: carrusel continuo de tienda */
.exitbcn-team-ticker-track {
  display: flex;
  width: max-content;
  will-change: transform; }

.exitbcn-team-carousel-viewport.exitbcn-team-ticker--grabbing {
  cursor: grabbing; }

@media (prefers-reduced-motion: reduce) {
  .exitbcn-product-ticker-track {
    animation: none !important; } }
:root {
  /* Alineado con Tailwind red-500 (favoritos / estados error) */
  --color-red-500: #ef4444; }

/* Toast favoritos — alineado con Hero Exit Html (.fav-toast), sin depender de Tailwind */
#favNotification.fav-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-width: 300px;
  max-width: min(100vw - 2rem, 28rem);
  background: #fff;
  padding: 20px 30px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  border-left: 4px solid #000;
  opacity: 0;
  transform: translateY(100px);
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0.4s; }

#favNotification.fav-toast.fav-toast--visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0s; }

#favNotification.fav-toast .fav-toast-title {
  margin: 0;
  font-weight: 900;
  font-size: 14px;
  line-height: 1.25;
  letter-spacing: -0.025em; }

#favNotification.fav-toast .exitbcn-fav-toast-link {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  background: #000;
  color: #fff;
  padding: 12px 24px;
  text-decoration: none;
  transition: background-color 0.3s ease; }

#favNotification.fav-toast .exitbcn-fav-toast-link:hover,
#favNotification.fav-toast .exitbcn-fav-toast-link:focus {
  background: #1f2937;
  color: #fff; }

#favNotification.fav-toast.fav-toast--danger {
  border-left-color: var(--color-danger, #dc2626); }

#favNotification.fav-toast > div:last-child {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0; }

#favNotification.fav-toast #closeFavToast {
  color: #9ca3af;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  line-height: 0;
  transition: color 0.2s ease; }

#favNotification.fav-toast #closeFavToast:hover,
#favNotification.fav-toast #closeFavToast:focus {
  color: #000; }

#favNotification.fav-toast #closeFavToast svg,
#favNotification.fav-toast #closeFavToast i {
  width: 1.25rem;
  height: 1.25rem; }

/* Favorito activo: corazón relleno (stroke + fill) */
.fav-btn.is-favorite .fav-svg-filled svg,
.fav-btn.is-favorite .fav-svg-filled svg path {
  fill: var(--color-red-500);
  stroke: var(--color-red-500); }

.fav-btn.is-favorite .fav-svg-filled svg {
  color: var(--color-red-500); }

/* Tailwind v4: .inline-block va después de .hidden; si coexisten gana inline-block (doble corazón). */
.fav-btn .fav-svg-outline.hidden,
.fav-btn .fav-svg-filled.hidden {
  display: none !important; }

/* Talla obligatoria: equivalente a border-red-500 text-red-500 bg-red-50/50 */
.exitbcn-talla-error {
  border-color: var(--color-red-500) !important;
  color: var(--color-red-500) !important;
  background-color: rgba(254, 242, 242, 0.5) !important; }

.exitbcn-size-option-selected {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px) scale(1.02); }

.exitbcn-talla-error-label {
  color: var(--color-red-500) !important; }

.seo-p {
  color: #6a7282; }

.seo-p a {
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 600;
  color: var(--color-primary);
  transition: color .2s; }

.seo-p a:hover {
  color: var(--color-primary); }

/* Pages (aviso legal / política privacidad / textos largos) */
.page-mainrow {
  background: linear-gradient(180deg, #f7f8fa 0%, #ffffff 45%); }

.page-mainrow .page-contenido {
  padding: 2.5rem 5vw 3.5rem; }

.page-mainrow .page-contenido--content {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  background-color: #ffffff;
  border: 1px solid #e8ebef;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(17, 24, 39, 0.06);
  overflow: hidden; }

.page-mainrow .page-contenido__header {
  padding: 1.5rem 1.25rem 1.25rem;
  border-bottom: 1px solid #eef1f4;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%); }

.page-mainrow .page-contenido__title {
  margin: 0;
  color: #111827;
  font-size: 1.55rem;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.02em;
  text-transform: uppercase; }

.page-mainrow .page-contenido .contenido-texto {
  padding: 1.5rem 1.25rem 2.25rem;
  color: #374151;
  font-size: 0.985rem;
  line-height: 1.78; }

.page-mainrow .page-contenido .contenido-texto > *:first-child {
  margin-top: 0; }

.page-mainrow .page-contenido .contenido-texto > *:last-child {
  margin-bottom: 0; }

.page-mainrow .page-contenido .contenido-texto p {
  margin: 0 0 1rem; }

.page-mainrow .page-contenido .contenido-texto h2,
.page-mainrow .page-contenido .contenido-texto h3,
.page-mainrow .page-contenido .contenido-texto h4 {
  margin: 1.9rem 0 0.85rem;
  color: #0f172a;
  font-weight: 800;
  line-height: 1.25; }

.page-mainrow .page-contenido .contenido-texto h2 {
  font-size: 1.22rem; }

.page-mainrow .page-contenido .contenido-texto h3 {
  font-size: 1.08rem; }

.page-mainrow .page-contenido .contenido-texto h4 {
  font-size: 1rem; }

.page-mainrow .page-contenido .contenido-texto ul,
.page-mainrow .page-contenido .contenido-texto ol {
  margin: 0 0 1rem;
  padding-left: 1.1rem; }

.page-mainrow .page-contenido .contenido-texto li {
  margin-bottom: 0.45rem; }

.page-mainrow .page-contenido .contenido-texto strong {
  color: #111827;
  font-weight: 800; }

.page-mainrow .page-contenido .contenido-texto a {
  color: #0f4c81;
  text-decoration: underline;
  text-underline-offset: 0.16em;
  text-decoration-thickness: 1px;
  transition: color 0.2s ease; }

.page-mainrow .page-contenido .contenido-texto a:hover {
  color: #2563eb; }

@media (min-width: 768px) {
  .page-mainrow .page-contenido {
    padding: 3.75rem 0 4.75rem; }

  .page-mainrow .page-contenido__header {
    padding: 2.5rem 2.75rem 1.85rem; }

  .page-mainrow .page-contenido__title {
    font-size: 2.35rem; }

  .page-mainrow .page-contenido .contenido-texto {
    padding: 2.2rem 2.75rem 3rem;
    font-size: 1.02rem;
    line-height: 1.82; }

  .page-mainrow .page-contenido .contenido-texto h2 {
    font-size: 1.45rem; }

  .page-mainrow .page-contenido .contenido-texto h3 {
    font-size: 1.2rem; } }
/* WooCommerce My Account inside generic page template */
.woocommerce-account .page-mainrow .page-contenido .contenido-texto .woocommerce-MyAccount-navigation ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem;
  margin: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
  overflow: visible; }

.woocommerce-account .page-mainrow .page-contenido .contenido-texto .woocommerce-MyAccount-navigation li {
  margin: 0 !important;
  flex: 0 0 auto; }

@media (max-width: 767px) {
  .woocommerce-account .page-mainrow .page-contenido .contenido-texto .woocommerce-MyAccount-navigation ul {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch; } }

.woocommerce-account .page-mainrow .page-contenido .contenido-texto .woocommerce-MyAccount-navigation a {
  text-decoration: none !important; }

.woocommerce-account .woocommerce-MyAccount-navigation a[aria-current="page"] {
  background: var(--color-primary-100) !important;
  color: var(--color-primary) !important; }

/*# sourceMappingURL=wat.css.map */
