.elementor-kit-5{--e-global-color-primary:#FFFFFF;--e-global-color-secondary:#9A9A9A;--e-global-color-text:#E8E6E3;--e-global-color-accent:#E3121B;--e-global-color-rcblack:#000000;--e-global-color-rcabyss:#0A0A0A;--e-global-color-rccarbon:#111111;--e-global-color-rcgraphite:#1A1A1A;--e-global-color-rcsmoke:#7A7A7A;--e-global-color-rchot:#FF2A33;--e-global-color-rcdeep:#7A0A0F;--e-global-color-rcline:#FFFFFF12;--e-global-color-rcline2:#FFFFFF24;--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-size:80px;--e-global-typography-primary-font-weight:300;--e-global-typography-primary-line-height:1em;--e-global-typography-primary-letter-spacing:-0.015em;--e-global-typography-secondary-font-family:"Inter Tight";--e-global-typography-secondary-font-size:16px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-text-font-family:"Inter Tight";--e-global-typography-text-font-size:15px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Inter Tight";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0.18em;--e-global-typography-rcdisplay-font-family:"Cormorant Garamond";--e-global-typography-rcdisplay-font-size:136px;--e-global-typography-rcdisplay-font-weight:300;--e-global-typography-rcdisplay-line-height:0.92em;--e-global-typography-rcdisplay-letter-spacing:-0.02em;--e-global-typography-rch2-font-family:"Cormorant Garamond";--e-global-typography-rch2-font-size:80px;--e-global-typography-rch2-font-weight:300;--e-global-typography-rch2-line-height:1em;--e-global-typography-rch2-letter-spacing:-0.015em;--e-global-typography-rclead-font-family:"Inter Tight";--e-global-typography-rclead-font-size:19px;--e-global-typography-rclead-font-weight:300;--e-global-typography-rclead-line-height:1.65em;--e-global-typography-rch3-font-family:"Inter Tight";--e-global-typography-rch3-font-size:20px;--e-global-typography-rch3-font-weight:500;--e-global-typography-rch3-line-height:1.3em;--e-global-typography-rch3-letter-spacing:-0.01em;--e-global-typography-rcartist-font-family:"Inter Tight";--e-global-typography-rcartist-font-size:16px;--e-global-typography-rcartist-font-weight:500;--e-global-typography-rcartist-line-height:1.3em;--e-global-typography-rctitle-font-family:"Cormorant Garamond";--e-global-typography-rctitle-font-size:19px;--e-global-typography-rctitle-font-weight:400;--e-global-typography-rctitle-font-style:italic;--e-global-typography-rctitle-line-height:1.25em;--e-global-typography-rcmono-font-family:"JetBrains Mono";--e-global-typography-rcmono-font-size:11px;--e-global-typography-rcmono-font-weight:400;--e-global-typography-rcmono-text-transform:uppercase;--e-global-typography-rcmono-line-height:1.5em;--e-global-typography-rcmono-letter-spacing:0.22em;--e-global-typography-rcmicro-font-family:"JetBrains Mono";--e-global-typography-rcmicro-font-size:10px;--e-global-typography-rcmicro-font-weight:400;--e-global-typography-rcmicro-text-transform:uppercase;--e-global-typography-rcmicro-line-height:1.6em;--e-global-typography-rcmicro-letter-spacing:0.2em;--e-global-typography-rcprice-font-family:"JetBrains Mono";--e-global-typography-rcprice-font-size:16px;--e-global-typography-rcprice-font-weight:500;--e-global-typography-rcprice-line-height:1em;--e-global-typography-rcprice-letter-spacing:0.04em;--e-global-typography-rcstat-font-family:"Cormorant Garamond";--e-global-typography-rcstat-font-size:56px;--e-global-typography-rcstat-font-weight:300;--e-global-typography-rcstat-line-height:1em;--e-global-typography-rcemail-font-family:"Cormorant Garamond";--e-global-typography-rcemail-font-size:64px;--e-global-typography-rcemail-font-weight:300;--e-global-typography-rcemail-line-height:1.1em;--e-global-typography-rcemail-letter-spacing:-0.01em;background-color:#000000;color:#E8E6E3;font-family:"Inter Tight", Sans-serif;font-size:15px;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1344px;}.e-con{--container-max-width:1344px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-5{--e-global-typography-primary-font-size:60px;--e-global-typography-text-font-size:15px;--e-global-typography-rcdisplay-font-size:96px;--e-global-typography-rch2-font-size:60px;--e-global-typography-rclead-font-size:18px;--e-global-typography-rch3-font-size:19px;--e-global-typography-rcstat-font-size:48px;--e-global-typography-rcemail-font-size:44px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-primary-font-size:42px;--e-global-typography-text-font-size:14px;--e-global-typography-rcdisplay-font-size:48px;--e-global-typography-rch2-font-size:42px;--e-global-typography-rclead-font-size:16px;--e-global-typography-rch3-font-size:18px;--e-global-typography-rcstat-font-size:40px;--e-global-typography-rcemail-font-size:28px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ==========================================================================
   REDCOLLECTIV3 · CSS DEL SITIO (WordPress: Astra + Elementor / Pro Elements)
   --------------------------------------------------------------------------
   Instalado en : Elementor → Ajustes del sitio → Custom CSS
   Filosofía    : colores y tipografías viven en los Globales de Elementor;
                  el layout en el panel de cada contenedor. Este CSS aporta
                  solo la ATMÓSFERA: bordes de 1px, luz roja, grano, hovers,
                  y el estilo de la cabecera/pie de Astra, WPForms y Woo.
   ========================================================================== */



/* 00 · TOKENS ------------------------------------------------------------ */
:root{
  /* Superficies */
  --rc-black:#000000;
  --rc-abyss:#0A0A0A;
  --rc-carbon:#111111;
  --rc-graphite:#1A1A1A;
  /* Texto */
  --rc-white:#FFFFFF;
  --rc-pearl:#E8E6E3;
  --rc-mist:#9A9A9A;
  --rc-smoke:#7A7A7A;
  /* Rojo RC3 */
  --rc-red:#E3121B;          /* rellenos: botones, badges sólidos        */
  --rc-red-hot:#FF2A33;      /* texto rojo pequeño, puntos, líneas, glow */
  --rc-red-deep:#7A0A0F;     /* profundidad en degradados                */
  --rc-glow:rgba(227,18,27,.35);
  /* Líneas (bordes premium de 1px) */
  --rc-line:rgba(255,255,255,.07);
  --rc-line-strong:rgba(255,255,255,.14);
  --rc-line-red:rgba(227,18,27,.38);
  /* Tipografía */
  --rc-f-display:"Cormorant Garamond","Times New Roman",serif;
  --rc-f-sans:"Inter Tight","Helvetica Neue",Arial,sans-serif;
  --rc-f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  /* Movimiento */
  --rc-ease:cubic-bezier(.2,.7,.2,1);   /* UI: 250–600 ms            */
  --rc-cine:cubic-bezier(.16,1,.3,1);   /* cinematográfico: 0.9–1.6 s */
  /* Máscara de forma de onda (tarjetas de producto) */
  --rc-wave-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='192' height='32'><rect x='0' y='14' width='2' height='4'/><rect x='4' y='5' width='2' height='22'/><rect x='8' y='5' width='2' height='21'/><rect x='12' y='1' width='2' height='29'/><rect x='16' y='6' width='2' height='19'/><rect x='20' y='10' width='2' height='12'/><rect x='24' y='8' width='2' height='15'/><rect x='28' y='7' width='2' height='17'/><rect x='32' y='2' width='2' height='27'/><rect x='36' y='3' width='2' height='26'/><rect x='40' y='5' width='2' height='21'/><rect x='44' y='10' width='2' height='12'/><rect x='48' y='11' width='2' height='10'/><rect x='52' y='3' width='2' height='26'/><rect x='56' y='4' width='2' height='23'/><rect x='60' y='4' width='2' height='23'/><rect x='64' y='9' width='2' height='14'/><rect x='68' y='13' width='2' height='6'/><rect x='72' y='8' width='2' height='15'/><rect x='76' y='2' width='2' height='28'/><rect x='80' y='3' width='2' height='26'/><rect x='84' y='6' width='2' height='20'/><rect x='88' y='9' width='2' height='14'/><rect x='92' y='9' width='2' height='14'/><rect x='96' y='9' width='2' height='14'/><rect x='100' y='2' width='2' height='27'/><rect x='104' y='3' width='2' height='26'/><rect x='108' y='4' width='2' height='24'/><rect x='112' y='10' width='2' height='11'/><rect x='116' y='9' width='2' height='14'/><rect x='120' y='5' width='2' height='21'/><rect x='124' y='2' width='2' height='28'/><rect x='128' y='1' width='2' height='30'/><rect x='132' y='5' width='2' height='21'/><rect x='136' y='13' width='2' height='6'/><rect x='140' y='11' width='2' height='10'/><rect x='144' y='2' width='2' height='28'/><rect x='148' y='2' width='2' height='27'/><rect x='152' y='5' width='2' height='22'/><rect x='156' y='5' width='2' height='22'/><rect x='160' y='12' width='2' height='8'/><rect x='164' y='6' width='2' height='20'/><rect x='168' y='1' width='2' height='29'/><rect x='172' y='3' width='2' height='25'/><rect x='176' y='5' width='2' height='22'/><rect x='180' y='7' width='2' height='18'/><rect x='184' y='12' width='2' height='7'/><rect x='188' y='4' width='2' height='23'/></svg>");
}


/* 01 · BASE --------------------------------------------------------------- */
html,
body{ background-color:var(--rc-black); }

body{
  color:var(--rc-pearl);
  font-family:var(--rc-f-sans);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

::selection{ background:var(--rc-red); color:var(--rc-white); }

a{ transition:color .25s var(--rc-ease); }

:focus-visible{ outline:1px solid var(--rc-red-hot) !important; outline-offset:4px; }

/* Scrollbar de estudio: casi invisible, se enciende en rojo */
html{ scrollbar-width:thin; scrollbar-color:#262626 var(--rc-black); }
::-webkit-scrollbar{ width:8px; height:8px; }
::-webkit-scrollbar-track{ background:var(--rc-black); }
::-webkit-scrollbar-thumb{ background:#262626; border:2px solid var(--rc-black); }
::-webkit-scrollbar-thumb:hover{ background:var(--rc-red); }

/* Grano de película (cinta análoga) sobre todo el sitio */
body::after{
  content:"";
  position:fixed;
  inset:-100%;
  z-index:9990;
  pointer-events:none;
  opacity:.045;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:rc-grain .9s steps(5) infinite;
}
@keyframes rc-grain{
  0%  { transform:translate(0,0); }
  20% { transform:translate(-2%,1.5%); }
  40% { transform:translate(1.5%,-2%); }
  60% { transform:translate(-1%,-1%); }
  80% { transform:translate(2%,1%); }
  100%{ transform:translate(0,0); }
}


/* 02 · TIPOGRAFÍA -------------------------------------------------------- */
/* Tamaños fluidos (clamp). Si defines un tamaño en el widget, ese gana. */

/* Display: H1 del Hero y gran CTA del Footer */
.elementor .rc-display .elementor-heading-title{
  font-family:var(--rc-f-display);
  font-weight:300;
  font-size:clamp(3rem, 9.4vw, 8.5rem);
  line-height:.92;
  letter-spacing:-.02em;
  color:var(--rc-white);
}

/* H2 de sección */
.elementor .rc-h2 .elementor-heading-title{
  font-family:var(--rc-f-display);
  font-weight:300;
  font-size:clamp(2.625rem, 5.6vw, 5rem);
  line-height:1;
  letter-spacing:-.015em;
  color:var(--rc-white);
}

/* Palabra en cursiva con brillo metálico: escribe <em>palabra</em> en el título */
.elementor .rc-display em,
.elementor .rc-h2 em{
  font-style:italic;
  font-weight:300;
  padding-right:.06em;
  background:linear-gradient(180deg,#FFFFFF 15%,#8C8C8C 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* Punto final rojo: escribe <span class="rc-dot">.</span> */
.elementor .rc-dot{ color:var(--rc-red-hot); -webkit-text-fill-color:var(--rc-red-hot); }

/* Lead (subtítulos) y cuerpo */
.elementor .rc-lead,
.elementor .rc-lead p{
  font-family:var(--rc-f-sans);
  font-weight:300;
  font-size:clamp(1rem, 1.3vw, 1.1875rem);
  line-height:1.65;
  color:var(--rc-mist);
  max-width:34em;
}
.elementor .rc-body,
.elementor .rc-body p{
  font-family:var(--rc-f-sans);
  font-size:15px;
  line-height:1.7;
  color:var(--rc-mist);
}
.elementor .rc-lead p:last-child,
.elementor .rc-body p:last-child{ margin-bottom:0; }

/* Etiquetas técnicas monoespaciadas */
.elementor .rc-mono .elementor-heading-title,
.elementor .rc-mono p{
  font-family:var(--rc-f-mono);
  font-size:11px;
  font-weight:400;
  line-height:1.5;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--rc-smoke);
}

/* Eyebrow de sección: línea roja + índice  →  ——  [ 02 ] SELECTED WORKS */
.elementor .rc-eyebrow .elementor-heading-title{
  display:inline-flex;
  align-items:center;
  gap:14px;
  font-family:var(--rc-f-mono);
  font-size:11px;
  font-weight:400;
  line-height:1;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--rc-mist);
}
.elementor .rc-eyebrow .elementor-heading-title::before{
  content:"";
  width:28px;
  height:1px;
  background:var(--rc-red-hot);
  box-shadow:0 0 8px var(--rc-red);
}


/* 03 · BOTONES ----------------------------------------------------------- */
/* rc-btn = primario rojo · rc-btn-ghost = secundario de 1px · rc-link = texto */
.elementor .rc-btn .elementor-button,
.elementor .rc-btn-ghost .elementor-button{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  display:inline-flex;
  align-items:center;
  gap:.9em;
  padding:19px 34px;
  border-radius:0;
  font-family:var(--rc-f-sans);
  font-size:12px;
  font-weight:500;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  transition:
    color .5s var(--rc-ease),
    background-color .5s var(--rc-ease),
    border-color .5s var(--rc-ease),
    box-shadow .8s var(--rc-ease),
    transform .25s var(--rc-ease);
}

/* Primario: rojo sólido + barrido de luz + resplandor en la oscuridad */
.elementor .rc-btn .elementor-button{
  background:var(--rc-red);
  border:1px solid var(--rc-red);
  color:var(--rc-white);
}
.elementor .rc-btn .elementor-button::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.26) 50%,transparent 70%);
  transform:translateX(-120%);
  transition:transform 1s var(--rc-cine);
}
.elementor .rc-btn .elementor-button:hover{
  color:var(--rc-white);
  box-shadow:0 0 0 1px rgba(255,42,51,.35), 0 0 34px -4px var(--rc-glow), 0 0 90px -20px var(--rc-glow);
}
.elementor .rc-btn .elementor-button:hover::before{ transform:translateX(120%); }

/* Secundario: línea de 1px + brasa roja que sube desde abajo */
.elementor .rc-btn-ghost .elementor-button{
  background:transparent;
  border:1px solid var(--rc-line-strong);
  color:var(--rc-pearl);
}
.elementor .rc-btn-ghost .elementor-button::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(120% 140% at 50% 130%,rgba(227,18,27,.32),transparent 60%);
  opacity:0;
  transition:opacity .6s var(--rc-ease);
}
.elementor .rc-btn-ghost .elementor-button:hover{
  color:var(--rc-white);
  border-color:var(--rc-line-red);
}
.elementor .rc-btn-ghost .elementor-button:hover::before{ opacity:1; }

.elementor .rc-btn .elementor-button:active,
.elementor .rc-btn-ghost .elementor-button:active{ transform:translateY(1px); }

/* Icono (flecha) dentro de cualquier botón rc-* */
.elementor .rc-btn .elementor-button-icon,
.elementor .rc-btn-ghost .elementor-button-icon,
.elementor .rc-link .elementor-button-icon{ transition:transform .6s var(--rc-cine); }
.elementor .rc-btn .elementor-button:hover .elementor-button-icon,
.elementor .rc-btn-ghost .elementor-button:hover .elementor-button-icon,
.elementor .rc-link .elementor-button:hover .elementor-button-icon{ transform:translateX(5px); }

/* Enlace de texto: "Discografía completa →" */
.elementor .rc-link .elementor-button{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:0 0 8px;
  background:transparent;
  border:0;
  border-bottom:1px solid var(--rc-line-strong);
  border-radius:0;
  color:var(--rc-pearl);
  font-family:var(--rc-f-mono);
  font-size:11px;
  font-weight:400;
  letter-spacing:.22em;
  text-transform:uppercase;
  transition:color .3s var(--rc-ease), border-color .5s var(--rc-ease);
}
.elementor .rc-link .elementor-button:hover{
  color:var(--rc-white);
  border-bottom-color:var(--rc-red-hot);
}


/* 04 · HERO -------------------------------------------------------------- */
.elementor .rc-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background-color:var(--rc-black);
}
/* Atmósfera: scanlines + luz roja ambiental + viñeta + fundido a negro.
   (Usamos ::after porque Elementor reserva ::before para el overlay.)     */
.elementor .rc-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    repeating-linear-gradient(180deg,rgba(255,255,255,.022) 0 1px,transparent 1px 3px),
    radial-gradient(55% 45% at 78% 105%,rgba(227,18,27,.30),transparent 70%),
    radial-gradient(40% 35% at 6% 0%,rgba(227,18,27,.10),transparent 70%),
    radial-gradient(130% 100% at 50% 35%,transparent 35%,rgba(0,0,0,.92) 100%),
    linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.35) 45%,transparent 70%),
    linear-gradient(180deg,rgba(0,0,0,.65) 0%,transparent 28%,transparent 62%,#000 100%);
}
.elementor .rc-hero > .e-con-inner,
.elementor .rc-hero > .elementor-element{
  position:relative;
  z-index:2;
}

/* Indicador REC que respira:  ● REC · 96 kHz / 24-bit */
.elementor .rc-rec .elementor-heading-title{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.elementor .rc-rec .elementor-heading-title::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--rc-red-hot);
  box-shadow:0 0 12px var(--rc-red), 0 0 2px var(--rc-red-hot);
  animation:rc-rec 2.4s var(--rc-ease) infinite;
}
@keyframes rc-rec{
  0%,100%{ opacity:1; }
  50%    { opacity:.2; }
}

/* Indicador de scroll: línea vertical con pulso rojo */
.elementor .rc-scroll .elementor-heading-title{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.elementor .rc-scroll .elementor-heading-title::after{
  content:"";
  width:1px;
  height:56px;
  background:linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) 0 -16px / 1px 16px no-repeat var(--rc-line-strong);
  animation:rc-scroll 2.4s var(--rc-cine) infinite;
}
@keyframes rc-scroll{
  0%  { background-position:0 -16px; }
  100%{ background-position:0 56px; }
}

/* Métricas (widget Counter) con marca roja de "nivel" */
.elementor .rc-stat{
  position:relative;
  border-top:1px solid var(--rc-line-strong);
}
.elementor .rc-stat::after{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:24px;
  height:1px;
  background:var(--rc-red-hot);
  box-shadow:0 0 10px var(--rc-red);
}
.elementor .rc-stat .elementor-counter{ align-items:flex-start; }
.elementor .rc-stat .elementor-counter-number-wrapper{
  margin:0;
  text-align:left;
  justify-content:flex-start;
  font-family:var(--rc-f-display);
  font-weight:300;
  font-size:clamp(2.5rem, 3.9vw, 3.5rem);
  line-height:1;
  color:var(--rc-white);
}
.elementor .rc-stat .elementor-counter-title{
  text-align:left;
  font-family:var(--rc-f-mono);
  font-size:10px;
  font-weight:400;
  line-height:1.5;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--rc-smoke);
}


/* 05 · SECCIONES Y MICRODETALLES ---------------------------------------- */
/* Cada sección se "atornilla" al rack con una línea de 1px */
.elementor .rc-section{
  position:relative;
  border-top:1px solid var(--rc-line);
}
/* Halo rojo cenital (para la Boutique) */
.elementor .rc-section--glow{
  overflow:hidden;
  isolation:isolate;
}
.elementor .rc-section--glow::after{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  z-index:-1;
  width:min(1100px,90vw);
  height:520px;
  transform:translate(-50%,-58%);
  background:radial-gradient(closest-side,rgba(227,18,27,.17),transparent);
  pointer-events:none;
}

/* Línea superior de 1px para barras (confianza, footer inferior) */
.elementor .rc-border-top{ border-top:1px solid var(--rc-line); }

/* Divisor degradado (Divider widget o contenedor vacío de 1px de alto) */
.elementor .rc-hairline,
.elementor .rc-hairline .elementor-divider-separator{
  border:0 !important;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--rc-line-strong) 20%,var(--rc-line-strong) 80%,transparent);
}

/* Esquinas de visor (viewfinder) reutilizables para cualquier contenedor */
.elementor .rc-corners{ position:relative; }
.elementor .rc-corners::after{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background:
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) top left    / 12px 1px no-repeat,
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) top left    / 1px 12px no-repeat,
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) top right   / 12px 1px no-repeat,
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) top right   / 1px 12px no-repeat,
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) bottom left / 12px 1px no-repeat,
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) bottom left / 1px 12px no-repeat,
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) bottom right/ 12px 1px no-repeat,
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) bottom right/ 1px 12px no-repeat;
}

/* Filtros de la Boutique (widget Taxonomy Filter del Loop Grid) */
.elementor .rc-filter .e-filter{ gap:4px; }
.elementor .rc-filter .e-filter-item{
  padding:11px 16px;
  background:transparent;
  border:1px solid transparent;
  border-radius:0;
  color:var(--rc-smoke);
  font-family:var(--rc-f-mono);
  font-size:11px;
  font-weight:400;
  letter-spacing:.2em;
  text-transform:uppercase;
  transition:color .3s var(--rc-ease), border-color .5s var(--rc-ease), box-shadow .5s var(--rc-ease);
}
.elementor .rc-filter .e-filter-item:hover{ color:var(--rc-white); }
.elementor .rc-filter .e-filter-item[aria-pressed="true"]{
  color:var(--rc-white);
  border-color:var(--rc-line-strong);
  box-shadow:inset 0 -1px 0 var(--rc-red-hot);
}


/* 06 · PORTAFOLIO · SELECTED WORKS -------------------------------------- */
.elementor .rc-work{ position:relative; cursor:pointer; }

.elementor .rc-work__cover{
  position:relative;
  overflow:hidden;
  background:var(--rc-abyss);
  border:1px solid var(--rc-line);
  transition:border-color .8s var(--rc-ease);
}
/* Portada: nace en blanco y negro, a oscuras; al hover "se encienden las luces" */
.elementor .rc-work__cover img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:cover;
  filter:grayscale(1) brightness(.62) contrast(1.08);
  transform:scale(1.001);
  transition:filter 1.2s var(--rc-cine), transform 1.6s var(--rc-cine);
}
.elementor .rc-work__cover::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(0deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,0) 55%);
  opacity:0;
  transition:opacity .9s var(--rc-cine);
}
/* Capa de información sobre la portada (se posiciona sola) */
.elementor .rc-work__overlay{
  position:absolute !important;
  inset:0;
  z-index:2;
  width:auto !important;
  opacity:0;
  transform:translateY(10px);
  transition:opacity .7s var(--rc-cine), transform .9s var(--rc-cine);
  pointer-events:none;
}
.elementor .rc-work:hover .rc-work__cover{ border-color:var(--rc-line-red); }
.elementor .rc-work:hover .rc-work__cover img{
  filter:grayscale(0) brightness(1) contrast(1);
  transform:scale(1.045);
}
.elementor .rc-work:hover .rc-work__cover::after{ opacity:1; }
.elementor .rc-work:hover .rc-work__overlay{ opacity:1; transform:none; }

.elementor .rc-work__artist .elementor-heading-title{
  font-family:var(--rc-f-sans);
  font-size:16px;
  font-weight:500;
  line-height:1.3;
  letter-spacing:-.005em;
  color:var(--rc-white);
}
.elementor .rc-work__title .elementor-heading-title{
  font-family:var(--rc-f-display);
  font-style:italic;
  font-size:19px;
  font-weight:400;
  line-height:1.25;
  color:var(--rc-mist);
}
.elementor .rc-work__role .elementor-heading-title{
  font-family:var(--rc-f-mono);
  font-size:10px;
  font-weight:400;
  line-height:1.5;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--rc-red-hot);
}


/* 07 · BOUTIQUE · TARJETA DE PRODUCTO (Loop Item) ----------------------- */
.elementor .rc-product{
  position:relative;
  background:var(--rc-abyss);
  border:1px solid var(--rc-line);
  transition:
    border-color .6s var(--rc-ease),
    box-shadow 1.1s var(--rc-cine),
    transform 1.1s var(--rc-cine);
}
.elementor .rc-product:hover{
  border-color:rgba(227,18,27,.30);
  box-shadow:0 0 0 1px rgba(227,18,27,.06), 0 40px 90px -50px rgba(227,18,27,.6);
  transform:translateY(-4px);
}
/* Luz que sigue al cursor + línea superior + esquinas de visor que "enfocan" */
.elementor .rc-product::after{
  content:"";
  position:absolute;
  inset:-9px;
  z-index:3;
  pointer-events:none;
  opacity:0;
  mix-blend-mode:screen;
  background:
    radial-gradient(360px circle at var(--mx,50%) var(--my,0%),rgba(227,18,27,.10),transparent 60%),
    linear-gradient(90deg,transparent,var(--rc-red-hot),transparent) 50% 0 / 70% 1px no-repeat,
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) top left    / 14px 1px no-repeat,
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) top left    / 1px 14px no-repeat,
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) top right   / 14px 1px no-repeat,
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) top right   / 1px 14px no-repeat,
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) bottom left / 14px 1px no-repeat,
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) bottom left / 1px 14px no-repeat,
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) bottom right/ 14px 1px no-repeat,
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) bottom right/ 1px 14px no-repeat;
  transition:opacity .6s var(--rc-ease), inset .8s var(--rc-cine);
}
.elementor .rc-product:hover::after{
  opacity:1;
  inset:-1px;
}

/* Media */
.elementor .rc-product__media{
  position:relative;
  overflow:hidden;
  background:#050505;
}
.elementor .rc-product__media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:cover;
  filter:brightness(.8) saturate(.9);
  transition:transform 1.4s var(--rc-cine), filter 1s var(--rc-cine);
}
.elementor .rc-product:hover .rc-product__media img{
  transform:scale(1.05);
  filter:brightness(1) saturate(1);
}
/* Fundido de la imagen hacia el cuerpo de la tarjeta */
.elementor .rc-product__media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(0deg,var(--rc-abyss) 0%,rgba(10,10,10,0) 42%);
}
/* Badges y reproductor se posicionan solos sobre la imagen */
.elementor .rc-product__badges{
  position:absolute !important;
  top:16px;
  left:16px;
  z-index:2;
  width:auto !important;
}
.elementor .rc-product__preview{
  position:absolute !important;
  left:16px;
  right:16px;
  bottom:14px;
  z-index:2;
  width:auto !important;
}

/* Badges: NEW (contorno) · LIMITED (sólido) */
.elementor .rc-badge .elementor-heading-title{
  display:inline-block;
  padding:6px 9px 5px;
  background:rgba(0,0,0,.55);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  border:1px solid rgba(255,42,51,.55);
  color:var(--rc-red-hot);
  font-family:var(--rc-f-mono);
  font-size:10px;
  font-weight:500;
  line-height:1;
  letter-spacing:.2em;
  text-transform:uppercase;
}
/* Si el campo ACF del badge está vacío, no se dibuja la caja */
.elementor .rc-badge .elementor-heading-title:empty{ display:none; }
.elementor .rc-badge--solid .elementor-heading-title{
  background:var(--rc-red);
  border-color:var(--rc-red);
  color:var(--rc-white);
  box-shadow:0 0 18px -2px var(--rc-glow);
}

/* Botón de preview ▶ (widget Button solo con icono) */
.elementor .rc-play .elementor-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  padding:0;
  border-radius:50%;
  background:rgba(0,0,0,.55);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  border:1px solid var(--rc-line-strong);
  color:var(--rc-white);
  font-size:12px;
  transition:background-color .4s var(--rc-ease), border-color .4s var(--rc-ease), box-shadow .6s var(--rc-ease);
}
.elementor .rc-play .elementor-button:hover,
.elementor .rc-product.is-playing .rc-play .elementor-button{
  background:var(--rc-red);
  border-color:var(--rc-red);
  box-shadow:0 0 24px -2px var(--rc-glow);
}

/* Forma de onda: contenedor vacío con clase rc-wave (alto 28px) */
.elementor .rc-wave{
  height:28px;
  background:
    linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) 0 0 / 0% 100% no-repeat,
    rgba(255,255,255,.32);
  -webkit-mask:var(--rc-wave-mask) 0 50% / 192px 100% repeat-x;
  mask:var(--rc-wave-mask) 0 50% / 192px 100% repeat-x;
  opacity:.75;
  transition:background-size 1.4s var(--rc-cine), opacity .6s var(--rc-ease);
}
.elementor .rc-product:hover .rc-wave,
.elementor .rc-product.is-playing .rc-wave{
  opacity:1;
  background-size:38% 100%, auto;
}
.elementor .rc-product.is-playing .rc-wave{
  animation:rc-wave 5s linear infinite;
}
@keyframes rc-wave{
  to{ -webkit-mask-position:-192px 50%; mask-position:-192px 50%; }
}

/* Textos de la tarjeta */
.elementor .rc-product__cat .elementor-heading-title,
.elementor .rc-product__cat a{
  font-family:var(--rc-f-mono);
  font-size:10px;
  font-weight:400;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--rc-red-hot);
}
.elementor .rc-product__title .elementor-heading-title{
  font-family:var(--rc-f-sans);
  font-size:20px;
  font-weight:500;
  line-height:1.3;
  letter-spacing:-.01em;
  color:var(--rc-white);
}
.elementor .rc-product__title .elementor-heading-title a{ color:inherit; }
.elementor .rc-product__desc,
.elementor .rc-product__desc p{
  margin:0;
  font-size:14px;
  line-height:1.65;
  color:var(--rc-mist);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.elementor .rc-product__specs .elementor-heading-title{
  font-family:var(--rc-f-mono);
  font-size:10px;
  font-weight:400;
  line-height:1.6;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--rc-smoke);
}
.elementor .rc-product__footer{ border-top:1px solid var(--rc-line); }

/* Precio (widget WooCommerce "Product Price") */
.elementor .rc-price .price{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:0;
  font-family:var(--rc-f-mono);
  font-size:16px;
  font-weight:500;
  letter-spacing:.04em;
  color:var(--rc-white) !important;
}
.elementor .rc-price del{
  order:2;
  font-size:12px;
  font-weight:400;
  color:var(--rc-smoke);
  opacity:1;
}
.elementor .rc-price ins{ text-decoration:none; background:none; }

/* Añadir al carrito (widget WooCommerce "Add To Cart" o Button) */
.elementor .rc-add .elementor-button,
.elementor .rc-add .button,
.elementor .rc-add .add_to_cart_button{
  display:inline-flex !important;
  align-items:center;
  gap:10px;
  padding:13px 18px !important;
  background:transparent !important;
  border:1px solid var(--rc-line-strong) !important;
  border-radius:0 !important;
  color:var(--rc-pearl) !important;
  font-family:var(--rc-f-sans);
  font-size:11px;
  font-weight:500;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  transition:background-color .5s var(--rc-ease), border-color .5s var(--rc-ease), color .3s var(--rc-ease), box-shadow .7s var(--rc-ease);
}
.elementor .rc-add .elementor-button:hover,
.elementor .rc-add .button:hover,
.elementor .rc-add .add_to_cart_button:hover{
  background:var(--rc-red) !important;
  border-color:var(--rc-red) !important;
  color:var(--rc-white) !important;
  box-shadow:0 0 30px -6px var(--rc-glow);
}
.elementor .rc-add .loading{ opacity:.55; pointer-events:none; }
.elementor .rc-add .added{ border-color:var(--rc-line-red) !important; }
.elementor .rc-add .added_to_cart{
  margin-left:12px;
  font-family:var(--rc-f-mono);
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--rc-red-hot);
}

/* Barra de confianza bajo la tienda (Icon List en línea) */
.elementor .rc-trust .elementor-icon-list-items{ justify-content:space-between; }
.elementor .rc-trust .elementor-icon-list-text{
  font-family:var(--rc-f-mono);
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--rc-mist);
}
.elementor .rc-trust .elementor-icon-list-icon svg,
.elementor .rc-trust .elementor-icon-list-icon i{
  fill:var(--rc-red-hot);
  color:var(--rc-red-hot);
}


/* 08 · EMAIL GIGANTE (bloque de contacto) ---------------------------- */
/* Email gigante con subrayado rojo que se dibuja */
.elementor .rc-email .elementor-heading-title,
.elementor .rc-email .elementor-heading-title a{
  font-family:var(--rc-f-display);
  font-weight:300;
  font-size:clamp(1.75rem, 4.4vw, 4rem);
  line-height:1.1;
  letter-spacing:-.01em;
  color:var(--rc-white);
}
.elementor .rc-email .elementor-heading-title a{
  background:linear-gradient(var(--rc-red-hot),var(--rc-red-hot)) 0 100% / 0% 1px no-repeat;
  padding-bottom:6px;
  transition:background-size 1s var(--rc-cine), color .4s var(--rc-ease);
}
.elementor .rc-email .elementor-heading-title a:hover{ background-size:100% 1px; }


/* 09 · ASTRA · CABECERA ------------------------------------------------- */
/* Astra gratis no tiene cabecera fija: la fijamos aquí y el JS de
   Custom Code añade body.rc-scrolled al hacer scroll (cristal ahumado). */
#masthead{
  position:fixed !important;
  top:0; left:0; right:0;
  z-index:999;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background-color .6s var(--rc-ease), border-color .6s var(--rc-ease);
}
.admin-bar #masthead{ top:32px; }
@media (max-width:782px){ .admin-bar #masthead{ top:46px; } }
#masthead .main-header-bar,
#masthead .ast-primary-header-bar,
#masthead .ast-mobile-header-wrap .ast-primary-header-bar{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
#masthead .site-primary-header-wrap{ min-height:84px; padding-left:48px; padding-right:48px; max-width:none; }
body.rc-scrolled #masthead{
  background:rgba(0,0,0,.72);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  backdrop-filter:blur(18px) saturate(140%);
  border-bottom-color:var(--rc-line);
}
/* Páginas que no empiezan con un hero de Elementor (carrito, checkout…) */
body:not(.elementor-template-full-width) #content{ padding-top:132px; }
/* Páginas de Elementor a ancho completo: sin el marco de .ast-container */
.elementor-template-full-width #content > .ast-container{
  display:block;
  max-width:none !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
/* Botón "volver arriba" de Astra */
#ast-scroll-top{
  right:28px !important;
  bottom:28px !important;
  width:40px;
  height:40px;
  background:rgba(0,0,0,.6) !important;
  border:1px solid var(--rc-line-strong);
  border-radius:0 !important;
  color:var(--rc-pearl) !important;
  transition:border-color .4s var(--rc-ease), box-shadow .6s var(--rc-ease);
}
#ast-scroll-top:hover{ border-color:var(--rc-line-red); box-shadow:0 0 24px -6px var(--rc-glow); }
#ast-scroll-top .ast-icon svg{ fill:currentColor; }

/* Wordmark: el último carácter ("3") se enciende en rojo */
#masthead .site-title{ margin:0; line-height:1; }
#masthead .site-title a,
#masthead .site-title a:hover{
  font-family:var(--rc-f-sans);
  font-size:13px;
  font-weight:600;
  letter-spacing:.34em;
  text-transform:uppercase;
  background:linear-gradient(90deg,#FFFFFF calc(100% - 1.02em),var(--rc-red-hot) calc(100% - 1.02em));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
  -webkit-text-fill-color:transparent;
}

/* Menú principal: mono, línea roja de 16px bajo el activo */
#ast-desktop-header .main-header-menu > .menu-item > .menu-link{
  position:relative;
  padding:0 18px;
  font-family:var(--rc-f-mono);
  font-size:11px;
  font-weight:400;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--rc-mist) !important;
  transition:color .3s var(--rc-ease);
}
#ast-desktop-header .main-header-menu > .menu-item > .menu-link::after{
  content:"";
  position:absolute;
  left:50%;
  top:calc(50% + 14px);
  width:16px;
  height:1px;
  background:var(--rc-red-hot);
  box-shadow:0 0 8px var(--rc-red);
  transform:translateX(-50%) scaleX(0);
  transition:transform .5s var(--rc-cine);
}
#ast-desktop-header .main-header-menu > .menu-item > .menu-link:hover,
#ast-desktop-header .main-header-menu > .current-menu-item > .menu-link,
#ast-desktop-header .main-header-menu > .current_page_item > .menu-link{ color:var(--rc-white) !important; }
#ast-desktop-header .main-header-menu > .menu-item > .menu-link:hover::after,
#ast-desktop-header .main-header-menu > .current-menu-item > .menu-link::after,
#ast-desktop-header .main-header-menu > .current_page_item > .menu-link::after{ transform:translateX(-50%) scaleX(1); }

/* Elemento destacado del menú: RED LAB (clase "rc-menu-cta" en Apariencia → Menús).
   Mismo marco que los botones .rc-btn: 1px rojo, esquinas rectas, y al pasar
   el cursor anillo + resplandor rojo y barrido de luz. Se dibuja con ::before
   para no mover la alineación ni el espaciado. Solo en la cabecera de escritorio. */
#ast-desktop-header .main-header-menu > .menu-item.rc-menu-cta > .menu-link{ color:var(--rc-pearl) !important; }
#ast-desktop-header .main-header-menu > .menu-item.rc-menu-cta > .menu-link::before{
  content:"";
  position:absolute;
  left:5px;                                    /* 5/7 compensa el interletraje final del texto */
  right:7px;
  top:50%;
  height:38px;
  transform:translateY(-50%);
  border:1px solid var(--rc-red);
  border-radius:0;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.12) 50%,transparent 70%) 160% 0 / 260% 100% no-repeat;
  pointer-events:none;
  transition:border-color .5s var(--rc-ease), box-shadow .8s var(--rc-ease), background-position 1s var(--rc-cine);
}
#ast-desktop-header .main-header-menu > .menu-item.rc-menu-cta > .menu-link:hover,
#ast-desktop-header .main-header-menu > .menu-item.rc-menu-cta > .menu-link:focus-visible{ color:var(--rc-white) !important; }
#ast-desktop-header .main-header-menu > .menu-item.rc-menu-cta > .menu-link:hover::before,
#ast-desktop-header .main-header-menu > .menu-item.rc-menu-cta > .menu-link:focus-visible::before{
  box-shadow:0 0 0 1px rgba(255,42,51,.35), 0 0 34px -4px var(--rc-glow), 0 0 90px -20px var(--rc-glow);
  background-position:-60% 0;
}
/* su marco ya indica el estado: sin la línea roja inferior del resto */
#ast-desktop-header .main-header-menu > .menu-item.rc-menu-cta > .menu-link::after{ display:none; }

/* Carrito de Astra */
#masthead .ast-site-header-cart .ast-cart-menu-wrap,
#masthead .ast-site-header-cart .ast-addon-cart-wrap{
  border:1px solid var(--rc-line-strong) !important;
  border-radius:0 !important;
  color:var(--rc-pearl) !important;
  background:transparent !important;
  transition:border-color .4s var(--rc-ease), box-shadow .6s var(--rc-ease);
}
#masthead .ast-site-header-cart:hover .ast-cart-menu-wrap,
#masthead .ast-site-header-cart:hover .ast-addon-cart-wrap{
  border-color:var(--rc-line-red) !important;
  box-shadow:0 0 28px -8px var(--rc-glow);
}
#masthead .ast-site-header-cart .ast-cart-menu-wrap .count,
#masthead .ast-site-header-cart .ast-icon-shopping-bag .count,
#masthead .ast-site-header-cart .ast-icon-shopping-cart .count,
#masthead .ast-site-header-cart .ast-icon-shopping-basket .count{
  color:var(--rc-pearl) !important;
  font-family:var(--rc-f-mono);
  font-size:10px;
}
#masthead .ast-site-header-cart svg,
#masthead .ast-site-header-cart .ast-icon svg{ fill:var(--rc-pearl) !important; color:var(--rc-pearl) !important; }
#masthead .ast-site-header-cart .ast-count-text,
#masthead .ast-site-header-cart .count:not(:empty)::after{ color:var(--rc-white); }
#masthead .ast-site-header-cart .astra-icon .count,
#masthead .ast-site-header-cart i.astra-icon::after{
  background:var(--rc-red) !important;
  color:var(--rc-white) !important;
  border-radius:0 !important;
  font-family:var(--rc-f-mono);
  font-size:9px;
  box-shadow:0 0 12px var(--rc-glow);
}
/* Mini-carrito desplegable */
#masthead .ast-site-header-cart .widget_shopping_cart,
#masthead .ast-site-header-cart-data .widget_shopping_cart{
  background:var(--rc-abyss) !important;
  border:1px solid var(--rc-line) !important;
  border-radius:0 !important;
  color:var(--rc-pearl);
}
#masthead .widget_shopping_cart .woocommerce-mini-cart__buttons .button{
  border-radius:0 !important;
  font-family:var(--rc-f-sans);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
#masthead .widget_shopping_cart .woocommerce-mini-cart__buttons .checkout{ background:var(--rc-red) !important; color:#fff !important; }

/* Menú móvil desplegable de Astra */
#ast-mobile-header .ast-mobile-header-content{
  background:rgba(10,10,10,.97) !important;
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  border-top:1px solid var(--rc-line);
  border-bottom:1px solid var(--rc-line);
}
#ast-mobile-header .ast-mobile-header-content .main-header-menu .menu-link{
  padding:18px 20px !important;
  border-bottom:1px solid var(--rc-line) !important;
  background:transparent !important;
  font-family:var(--rc-f-mono);
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--rc-pearl) !important;
}
#ast-mobile-header .ast-mobile-header-content .current-menu-item > .menu-link{ color:var(--rc-red-hot) !important; }
#ast-mobile-header .ast-mobile-header-content .main-header-menu .menu-link::after{ display:none; }

/* Hamburguesa y menú móvil */
#masthead .menu-toggle,
#masthead .ast-mobile-menu-trigger-minimal{
  border:1px solid var(--rc-line-strong) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--rc-pearl) !important;
}
#masthead .menu-toggle .ast-mobile-svg{ fill:var(--rc-pearl) !important; }
.ast-mobile-popup-drawer .ast-mobile-popup-inner{
  background:var(--rc-abyss) !important;
  border-left:1px solid var(--rc-line);
}
.ast-mobile-popup-drawer .main-header-menu .menu-link,
.ast-mobile-popup-drawer .menu-link{
  font-family:var(--rc-f-mono);
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--rc-pearl) !important;
  border-color:var(--rc-line) !important;
  background:transparent !important;
}
.ast-mobile-popup-drawer .current-menu-item > .menu-link{ color:var(--rc-red-hot) !important; }
.ast-mobile-popup-drawer .menu-toggle-close{ color:var(--rc-pearl) !important; }

@media (max-width:1024px){
  #masthead .site-primary-header-wrap,
  #masthead .ast-mobile-header-wrap .site-primary-header-wrap{ min-height:72px; padding-left:32px; padding-right:32px; }
}
@media (max-width:767px){
  #masthead .site-primary-header-wrap,
  #masthead .ast-mobile-header-wrap .site-primary-header-wrap{ min-height:64px; padding-left:20px; padding-right:20px; }
  body:not(.elementor-template-full-width) #content{ padding-top:104px; }
}


/* 10 · ASTRA · PIE DE PÁGINA -------------------------------------------- */
.site-footer{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:var(--rc-black) !important;
  border-top:1px solid var(--rc-line);
}
.site-footer::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  z-index:-1;
  width:min(1400px,120vw);
  height:420px;
  transform:translate(-50%,62%);
  background:radial-gradient(closest-side,rgba(227,18,27,.22),transparent);
  pointer-events:none;
}
.site-footer .site-above-footer-wrap,
.site-footer .site-primary-footer-wrap,
.site-footer .site-below-footer-wrap{
  background:transparent !important;
  border:0 !important;
}
/* Fila superior: plantilla de Elementor a todo el ancho */
.site-footer .site-above-footer-wrap{ padding:0 !important; }
.site-footer .site-above-footer-wrap .ast-builder-grid-row,
.site-footer .site-above-footer-wrap .site-footer-section,
.site-footer .site-above-footer-wrap .footer-widget-area,
.site-footer .site-above-footer-wrap .widget{ display:block; width:100%; max-width:none; margin:0; padding:0; }
.site-footer .site-above-footer-wrap .ast-builder-grid-row-container-inner{ padding:0; }
/* Fila principal y barra inferior */
.site-footer .site-primary-footer-wrap{ padding:0 48px 72px !important; }
.site-footer .site-primary-footer-wrap .ast-builder-grid-row{ max-width:1344px; margin:0 auto; gap:48px; align-items:start; }
.site-footer .site-below-footer-wrap{ padding:0 48px 36px !important; }
.site-footer .site-below-footer-wrap .ast-builder-grid-row{
  max-width:1344px;
  margin:0 auto;
  padding-top:28px;
  border-top:1px solid var(--rc-line);
}
.site-footer .site-footer-section{ gap:22px; }
.site-footer .footer-widget-area .widget,
.site-footer .footer-widget-area p{ margin-bottom:0; }

/* Títulos de columna en mono */
.site-footer .rc-ft-title,
.site-footer .ast-footer-html-1 p,
.site-footer .footer-widget-area[data-section="section-fb-html-1"] p{
  margin:0 0 20px;
  font-family:var(--rc-f-mono) !important;
  font-size:11px !important;
  font-weight:400 !important;
  letter-spacing:.22em;
  text-transform:uppercase;
  line-height:1.5 !important;
  color:var(--rc-smoke) !important;
}
.site-footer .rc-ft-logo{
  margin:0 0 18px !important;
  font-family:var(--rc-f-sans);
  font-size:13px;
  font-weight:600;
  letter-spacing:.34em;
  text-transform:uppercase;
  background:linear-gradient(90deg,#FFFFFF calc(100% - 1.02em),var(--rc-red-hot) calc(100% - 1.02em));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  display:inline-block;
}
.site-footer .rc-ft-text{
  font-family:var(--rc-f-sans);
  font-size:14px;
  line-height:1.7;
  color:var(--rc-mist);
  max-width:30em;
}
/* Enlaces (menú del pie y listas de widgets) */
.site-footer .rc-ft-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.site-footer .rc-ft-list a,
.site-footer #astra-footer-menu .menu-link,
.site-footer .footer-nav-wrap .menu-link{
  display:inline-block;
  padding:0 !important;
  font-family:var(--rc-f-sans);
  font-size:14px;
  color:var(--rc-mist) !important;
  text-decoration:none;
  transition:color .3s var(--rc-ease), transform .5s var(--rc-cine);
}
.site-footer #astra-footer-menu .menu-item{ padding:0 0 12px; border:0 !important; }
.site-footer .rc-ft-list a:hover,
.site-footer #astra-footer-menu .menu-link:hover{ color:var(--rc-white) !important; transform:translateX(4px); }
/* Iconos sociales */
.site-footer .ast-footer-social-1-wrap .ast-builder-social-element,
.site-footer .ast-footer-social-wrap .ast-builder-social-element{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  margin-right:8px;
  padding:0 !important;
  border:1px solid var(--rc-line) !important;
  border-radius:0 !important;
  background:transparent !important;
  transition:border-color .4s var(--rc-ease), box-shadow .6s var(--rc-ease);
}
.site-footer .ast-builder-social-element svg{ width:15px; height:15px; fill:var(--rc-mist) !important; transition:fill .3s; }
.site-footer .ast-builder-social-element:hover{ border-color:var(--rc-line-red) !important; box-shadow:0 0 20px -6px var(--rc-glow); }
.site-footer .ast-builder-social-element:hover svg{ fill:var(--rc-white) !important; }
/* Copyright y firma */
.site-footer .ast-footer-copyright,
.site-footer .ast-footer-copyright p,
.site-footer .ast-footer-html-2 p,
.site-footer .footer-widget-area[data-section="section-fb-html-2"] p{
  margin:0;
  font-family:var(--rc-f-mono);
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--rc-smoke) !important;
}
.site-footer .ast-footer-html-2 p::before,
.site-footer .footer-widget-area[data-section="section-fb-html-2"] p::before{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:10px;
  border-radius:50%;
  background:var(--rc-red-hot);
  box-shadow:0 0 12px var(--rc-red);
  vertical-align:1px;
  animation:rc-rec 2.4s var(--rc-ease) infinite;
}
/* En Contacto no repetimos el bloque grande de contacto */
.page-id-144 .site-footer .site-above-footer-wrap{ display:none; }
.page-id-144 .site-footer .site-primary-footer-wrap{ padding-top:96px !important; }

@media (max-width:1024px){
  .site-footer .site-primary-footer-wrap{ padding:0 32px 56px !important; }
  .site-footer .site-below-footer-wrap{ padding:0 32px 32px !important; }
}
@media (max-width:767px){
  .site-footer .site-primary-footer-wrap{ padding:0 20px 48px !important; }
  .site-footer .site-primary-footer-wrap .ast-builder-grid-row{ gap:40px; }
  .site-footer .site-below-footer-wrap{ padding:0 20px 28px !important; }
  .site-footer .site-below-footer-wrap .ast-builder-grid-row{ gap:14px; }
}


/* 11 · WPFORMS ---------------------------------------------------------- */
.rc-wpf,
div.wpforms-container-full.rc-wpf{
  --wpforms-field-border-radius:0px;
  --wpforms-field-background-color:#0A0A0A;
  --wpforms-field-border-color:rgba(255,255,255,.14);
  --wpforms-field-text-color:#FFFFFF;
  --wpforms-label-color:#9A9A9A;
  --wpforms-label-sublabel-color:#7A7A7A;
  --wpforms-label-error-color:#FF2A33;
  --wpforms-button-border-radius:0px;
  --wpforms-button-background-color:#E3121B;
  --wpforms-button-text-color:#FFFFFF;
  --wpforms-page-break-color:#E3121B;
  margin:0 !important;
}
div.wpforms-container-full.rc-wpf .wpforms-form .wpforms-field{ padding:0 0 22px; }
div.wpforms-container-full.rc-wpf .wpforms-form .wpforms-field-label{
  margin-bottom:10px;
  font-family:var(--rc-f-mono);
  font-size:10px;
  font-weight:400;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--rc-mist);
}
div.wpforms-container-full.rc-wpf .wpforms-form .wpforms-required-label{ color:var(--rc-red-hot); }
div.wpforms-container-full.rc-wpf .wpforms-form input[type=text],
div.wpforms-container-full.rc-wpf .wpforms-form input[type=email],
div.wpforms-container-full.rc-wpf .wpforms-form input[type=url],
div.wpforms-container-full.rc-wpf .wpforms-form select,
div.wpforms-container-full.rc-wpf .wpforms-form textarea{
  width:100%;
  max-width:100% !important;
  background:var(--rc-abyss) !important;
  border:1px solid var(--rc-line-strong) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:var(--rc-white) !important;
  font-family:var(--rc-f-sans);
  font-size:15px;
  padding:14px 16px;
  height:auto;
  transition:border-color .4s var(--rc-ease), box-shadow .4s var(--rc-ease);
}
div.wpforms-container-full.rc-wpf .wpforms-form select{ appearance:auto; }
div.wpforms-container-full.rc-wpf .wpforms-form input::placeholder,
div.wpforms-container-full.rc-wpf .wpforms-form textarea::placeholder{ color:var(--rc-smoke); }
div.wpforms-container-full.rc-wpf .wpforms-form input:focus,
div.wpforms-container-full.rc-wpf .wpforms-form select:focus,
div.wpforms-container-full.rc-wpf .wpforms-form textarea:focus{
  outline:none;
  border-color:var(--rc-red-hot) !important;
  box-shadow:0 0 0 1px rgba(255,42,51,.25), 0 0 30px -12px var(--rc-glow) !important;
}
div.wpforms-container-full.rc-wpf .wpforms-form button[type=submit],
div.wpforms-container-full.rc-wpf .wpforms-form .wpforms-submit{
  position:relative;
  overflow:hidden;
  padding:19px 34px !important;
  height:auto !important;
  background:var(--rc-red) !important;
  border:1px solid var(--rc-red) !important;
  border-radius:0 !important;
  color:var(--rc-white) !important;
  font-family:var(--rc-f-sans);
  font-size:12px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  line-height:1;
  transition:box-shadow .8s var(--rc-ease);
}
div.wpforms-container-full.rc-wpf .wpforms-form button[type=submit]:hover{
  box-shadow:0 0 0 1px rgba(255,42,51,.35), 0 0 34px -4px var(--rc-glow), 0 0 90px -20px var(--rc-glow) !important;
}
div.wpforms-container-full.rc-wpf .wpforms-confirmation-container-full{
  background:var(--rc-abyss) !important;
  border:1px solid var(--rc-line-red) !important;
  color:var(--rc-pearl) !important;
  font-family:var(--rc-f-sans);
}
div.wpforms-container-full.rc-wpf label.wpforms-error,
div.wpforms-container-full.rc-wpf em.wpforms-error{ color:var(--rc-red-hot) !important; font-size:12px; }
/* Newsletter del pie: campo con subrayado y botón en línea */
div.wpforms-container-full.rc-wpf--news .wpforms-form{ display:flex; align-items:flex-end; gap:12px; }
div.wpforms-container-full.rc-wpf--news .wpforms-field-container{ flex:1; }
div.wpforms-container-full.rc-wpf--news .wpforms-form .wpforms-field{ padding:0; }
div.wpforms-container-full.rc-wpf--news .wpforms-form input[type=email]{
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid var(--rc-line-strong) !important;
  padding:14px 0 !important;
  font-size:14px;
}
div.wpforms-container-full.rc-wpf--news .wpforms-form input[type=email]:focus{
  border-bottom-color:var(--rc-red-hot) !important;
  box-shadow:0 1px 0 0 var(--rc-red-hot) !important;
}
div.wpforms-container-full.rc-wpf--news .wpforms-submit-container{ padding:0 !important; margin:0 !important; }
div.wpforms-container-full.rc-wpf--news .wpforms-form button[type=submit]{ padding:15px 20px !important; font-size:11px; }


/* 12 · LOOP GRID, ACORDEÓN Y AJUSTES DE WIDGETS ------------------------ */
.elementor .e-loop-item > .rc-product{ height:100%; }
.elementor .rc-work{ text-decoration:none; }
/* Sin audio de preview: el botón ▶ se oculta y la onda queda decorativa */
.elementor .rc-play:has(a:not([href])),
.elementor .rc-play:has(a[href=""]),
.elementor .rc-play:has(a[href="#"]){ display:none; }
.elementor .rc-product__cat .elementor-heading-title a{ color:inherit; }
/* Estado "nada encontrado" del Loop Grid */
.elementor .e-loop-nothing-found-message{ color:var(--rc-mist); font-family:var(--rc-f-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; }
/* Botón "Cargar más" del Loop Grid */
.elementor .rc-works-grid .e-load-more-anchor + .elementor-button-wrapper .elementor-button,
.elementor .rc-shop-grid .e-load-more-anchor + .elementor-button-wrapper .elementor-button{
  background:transparent;
  border:1px solid var(--rc-line-strong);
  border-radius:0;
  color:var(--rc-pearl);
  font-family:var(--rc-f-mono);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
}
/* Acordeón de preguntas (Boutique) */
.elementor .rc-faq .elementor-accordion-item{ border:0 !important; border-top:1px solid var(--rc-line) !important; }
.elementor .rc-faq .elementor-accordion-item:last-child{ border-bottom:1px solid var(--rc-line) !important; }
.elementor .rc-faq .elementor-tab-title{
  padding:26px 0 !important;
  font-family:var(--rc-f-sans);
  font-size:17px;
  font-weight:500;
  color:var(--rc-white);
  transition:color .3s var(--rc-ease);
}
.elementor .rc-faq .elementor-tab-title a{ color:inherit !important; }
.elementor .rc-faq .elementor-tab-title.elementor-active{ color:var(--rc-red-hot); }
.elementor .rc-faq .elementor-accordion-icon{ color:var(--rc-red-hot) !important; }
.elementor .rc-faq .elementor-tab-content{
  padding:0 0 28px !important;
  border:0 !important;
  font-family:var(--rc-f-sans);
  font-size:15px;
  line-height:1.7;
  color:var(--rc-mist);
  max-width:46em;
}
/* Filas numeradas (Colectivo) */
.elementor .rc-row{ border-top:1px solid var(--rc-line); }
.elementor .rc-row:last-child{ border-bottom:1px solid var(--rc-line); }
.elementor .rc-row .rc-row__num .elementor-heading-title{ color:var(--rc-red-hot); }
/* Panel con borde premium (formulario de contacto) */
.elementor .rc-panel{
  position:relative;
  background:var(--rc-abyss);
  border:1px solid var(--rc-line);
}
.elementor .rc-panel::after{
  content:"";
  position:absolute;
  left:15%;
  right:15%;
  top:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--rc-red-hot),transparent);
  opacity:.6;
  pointer-events:none;
}
/* Lista de datos de contacto */
.elementor .rc-details .elementor-icon-list-item{ padding:16px 0 !important; border-top:1px solid var(--rc-line); }
.elementor .rc-details .elementor-icon-list-item:last-child{ border-bottom:1px solid var(--rc-line); }
.elementor .rc-details .elementor-icon-list-text{ color:var(--rc-pearl); font-size:15px; }
.elementor .rc-details .elementor-icon-list-text b,
.elementor .rc-details .elementor-icon-list-text strong{
  display:inline-block;
  min-width:120px;
  font-family:var(--rc-f-mono);
  font-size:10px;
  font-weight:400;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--rc-smoke);
}
/* Redes sociales (widget Social Icons, página de Contacto) */
.elementor .rc-social .elementor-social-icon{
  background:transparent !important;
  border:1px solid var(--rc-line) !important;
  border-radius:0 !important;
  transition:border-color .4s var(--rc-ease), box-shadow .6s var(--rc-ease);
}
.elementor .rc-social .elementor-social-icon i,
.elementor .rc-social .elementor-social-icon svg{ color:var(--rc-mist); fill:var(--rc-mist); transition:color .3s, fill .3s; }
.elementor .rc-social .elementor-social-icon:hover{ border-color:var(--rc-line-red) !important; box-shadow:0 0 20px -6px var(--rc-glow); }
.elementor .rc-social .elementor-social-icon:hover i,
.elementor .rc-social .elementor-social-icon:hover svg{ color:var(--rc-white); fill:var(--rc-white); }
/* Imagen con marco de 1px y esquinas (Colectivo) */
.elementor .rc-frame img{ display:block; width:100%; border:1px solid var(--rc-line); filter:grayscale(.3) brightness(.85); }
/* Hero de páginas interiores */
.elementor .rc-page-hero{ position:relative; overflow:hidden; isolation:isolate; }
.elementor .rc-page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    repeating-linear-gradient(180deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px),
    radial-gradient(45% 60% at 85% 0%,rgba(227,18,27,.16),transparent 70%);
}


/* 13 · WOOCOMMERCE (producto, tienda, carrito y checkout) -------------- */
.woocommerce-page #content,
.woocommerce #content{ background:var(--rc-black); }
.woocommerce .ast-container,
.woocommerce-page .ast-container{ max-width:1440px; padding-left:48px; padding-right:48px; }
.woocommerce h1, .woocommerce h2, .woocommerce h3,
.woocommerce-page h1, .woocommerce-page h2, .woocommerce-page h3{
  font-family:var(--rc-f-display);
  font-weight:300;
  color:var(--rc-white);
  letter-spacing:-.015em;
}
.woocommerce div.product .product_title{ font-size:clamp(2.5rem,5vw,4.5rem); line-height:1; margin-bottom:18px; }
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price{
  font-family:var(--rc-f-mono) !important;
  font-weight:500;
  letter-spacing:.04em;
  color:var(--rc-white) !important;
}
.woocommerce div.product p.price del,
.woocommerce ul.products li.product .price del{ color:var(--rc-smoke) !important; opacity:1; }
.woocommerce div.product p.price ins{ text-decoration:none; }
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-Tabs-panel{ color:var(--rc-mist); }
.woocommerce div.product .woocommerce-product-gallery__image,
.woocommerce div.product .woocommerce-product-gallery{ background:#050505; border:1px solid var(--rc-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li{ background:transparent !important; border-color:var(--rc-line) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ font-family:var(--rc-f-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--rc-mist) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:var(--rc-white) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ border-bottom-color:var(--rc-red-hot) !important; }
.woocommerce .product_meta,
.woocommerce .product_meta a{ font-family:var(--rc-f-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--rc-smoke) !important; }
.woocommerce a.button:not(.rc-cart *),
.woocommerce button.button:not(.rc-cart *),
.woocommerce input.button:not(.rc-cart *),
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.wc-block-components-button:not(.is-link){
  border-radius:0 !important;
  font-family:var(--rc-f-sans) !important;
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  padding:18px 30px !important;
  transition:box-shadow .8s var(--rc-ease), background-color .5s var(--rc-ease), border-color .5s var(--rc-ease) !important;
}
.woocommerce .single_add_to_cart_button,
.woocommerce a.checkout-button:not(.rc-cart *),
.woocommerce #place_order,
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button{
  background:var(--rc-red) !important;
  border:1px solid var(--rc-red) !important;
  color:var(--rc-white) !important;
}
.woocommerce .single_add_to_cart_button:hover,
.woocommerce a.checkout-button:not(.rc-cart *):hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover{
  box-shadow:0 0 0 1px rgba(255,42,51,.35), 0 0 34px -4px var(--rc-glow) !important;
}
/* Listado de la tienda por defecto */
.woocommerce ul.products li.product{
  background:var(--rc-abyss);
  border:1px solid var(--rc-line);
  padding:0 0 24px !important;
  transition:border-color .6s var(--rc-ease), box-shadow 1.1s var(--rc-cine);
}
.woocommerce ul.products li.product:hover{ border-color:rgba(227,18,27,.30); box-shadow:0 40px 90px -50px rgba(227,18,27,.6); }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding:0 24px;
  font-family:var(--rc-f-sans) !important;
  font-size:18px !important;
  font-weight:500 !important;
  color:var(--rc-white) !important;
}
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .ast-woo-product-category{ margin-left:24px !important; margin-right:24px !important; }
.woocommerce ul.products li.product .ast-woo-product-category{ font-family:var(--rc-f-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--rc-red-hot) !important; }
.woocommerce ul.products li.product .button{ background:transparent !important; border:1px solid var(--rc-line-strong) !important; color:var(--rc-pearl) !important; padding:12px 18px !important; font-size:11px !important; }
.woocommerce ul.products li.product .button:hover{ background:var(--rc-red) !important; border-color:var(--rc-red) !important; color:#fff !important; }
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb a,
.woocommerce .woocommerce-result-count{ font-family:var(--rc-f-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--rc-smoke) !important; }
.woocommerce .woocommerce-ordering select{ background:var(--rc-abyss); border:1px solid var(--rc-line-strong); color:var(--rc-pearl); border-radius:0; }
/* Carrito y checkout (bloques de WooCommerce) */
.wc-block-cart,
.wc-block-checkout,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{ color:var(--rc-pearl); }
.wc-block-components-product-name,
.wc-block-components-totals-item__label,
.wc-block-components-title,
.wc-block-components-checkout-step__title{ color:var(--rc-white) !important; }
.wc-block-components-product-metadata,
.wc-block-components-checkout-step__description,
.wc-block-components-totals-item__description{ color:var(--rc-mist) !important; }
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-form .wc-block-components-text-input input{
  background:var(--rc-abyss) !important;
  border:1px solid var(--rc-line-strong) !important;
  border-radius:0 !important;
  color:var(--rc-white) !important;
}
.wc-block-components-text-input label,
.wc-blocks-components-select__label{ color:var(--rc-smoke) !important; }
.wc-block-components-text-input.is-active input,
.wc-block-components-text-input input:focus{ border-color:var(--rc-red-hot) !important; box-shadow:none !important; }
.wc-block-cart-items,
.wc-block-cart-items td,
.wc-block-cart-items th,
.wc-block-components-totals-wrapper,
.wc-block-components-sidebar-layout .wc-block-components-main,
.wc-block-components-order-summary,
.wc-block-components-panel{ border-color:var(--rc-line) !important; }
.wc-block-components-formatted-money-amount,
.wc-block-components-product-price{ font-family:var(--rc-f-mono); color:var(--rc-white); }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox],
.wc-block-components-radio-control__input{ background:var(--rc-abyss) !important; border-color:var(--rc-line-strong) !important; }
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option{ border-color:var(--rc-line) !important; }
.wc-block-components-notice-banner{ background:var(--rc-abyss) !important; color:var(--rc-pearl) !important; border-color:var(--rc-line-red) !important; border-radius:0 !important; }
.woocommerce-message:not(.rc-cart *),
.woocommerce-info:not(.rc-cart *),
.woocommerce-error:not(.rc-cart *){ background:var(--rc-abyss) !important; border-top-color:var(--rc-red) !important; color:var(--rc-pearl) !important; }
.woocommerce-message:not(.rc-cart *) a.button{ background:transparent !important; border:1px solid var(--rc-line-strong) !important; color:var(--rc-pearl) !important; }
/* Modo "Próximamente" de WooCommerce y otras páginas de texto */
.woocommerce-coming-soon-banner,
.entry-content p{ color:var(--rc-mist); }
@media (max-width:767px){
  .woocommerce .ast-container,
  .woocommerce-page .ast-container{ padding-left:20px; padding-right:20px; }
}


/* 14 · ENTRADAS CINEMATOGRÁFICAS ---------------------------------------- */
/* Reemplaza el "Fade In Up" de Elementor (Avanzado → Motion Effects →
   Entrance Animation) por un fundido corto con desenfoque de lente.        */
@keyframes rcFadeUp{
  from{ opacity:0; transform:translate3d(0,28px,0); filter:blur(8px); }
  to  { opacity:1; transform:none; filter:blur(0); }
}
@keyframes rcFadeIn{
  from{ opacity:0; filter:blur(6px); }
  to  { opacity:1; filter:blur(0); }
}
.elementor-element.animated.fadeInUp{
  animation-name:rcFadeUp;
  animation-timing-function:var(--rc-cine);
}
.elementor-element.animated.fadeIn{
  animation-name:rcFadeIn;
  animation-timing-function:var(--rc-cine);
}


/* 15 · TÁCTIL, MÓVIL Y ACCESIBILIDAD ------------------------------------ */
/* En pantallas táctiles no hay hover: las portadas se muestran encendidas */
@media (hover:none){
  .elementor .rc-work__cover img{ filter:grayscale(.15) brightness(.9); }
  .elementor .rc-work__cover::after,
  .elementor .rc-work__overlay{ opacity:1; transform:none; }
  .elementor .rc-product:hover{ transform:none; }
}

@media (max-width:767px){
  body::after{ opacity:.035; }
  .elementor .rc-ctas .elementor-button{ justify-content:center; }
  .elementor .rc-btn .elementor-button,
  .elementor .rc-btn-ghost .elementor-button{ padding:18px 26px; }
}

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  body::after{ display:none; }
}


/* 16 · HERO · FOTOS DEL COLECTIVO (enlace al pasar el cursor) ----------- */
/* La foto y sus animaciones siguen en el widget de imagen; el contenedor
   "rc-member" solo hereda la posición y los Motion Effects que tenía.
   El texto y el enlace se editan en la pestaña Contenido del botón.       */
.elementor .rc-member{ pointer-events:none; }              /* deja pasar el cursor a la capa de cada foto */
.elementor .rc-member__overlay{
  bottom:0;                                                /* la capa cubre todo el alto de la foto */
  pointer-events:auto;
  opacity:0;
  cursor:pointer;
  background:radial-gradient(closest-side at 50% 50%,rgba(0,0,0,.80),rgba(0,0,0,.35) 45%,rgba(0,0,0,0) 78%);
  transition:opacity .55s var(--rc-ease);
}
.elementor .rc-member__overlay:hover,
.elementor .rc-member__overlay:focus-within{ opacity:1; }
.elementor .rc-member__link .elementor-button{
  transform:translateY(8px);
  transition:transform .7s var(--rc-cine), color .5s var(--rc-ease), background-color .5s var(--rc-ease), border-color .5s var(--rc-ease), box-shadow .8s var(--rc-ease);
}
.elementor .rc-member__overlay:hover .rc-member__link .elementor-button,
.elementor .rc-member__overlay:focus-within .rc-member__link .elementor-button{ transform:none; }
/* Pantallas táctiles: sin hover, el enlace queda visible */
@media (hover:none){
  .elementor .rc-member__overlay{ opacity:1; background:radial-gradient(closest-side at 50% 50%,rgba(0,0,0,.60),rgba(0,0,0,0) 78%); }
  .elementor .rc-member__link .elementor-button{ transform:none; }
}

/* Móvil: la composición ocupa el ancho de la pantalla y el nombre baja al
   pie de cada foto, en formato compacto, para no tapar las caras.
   (Posición, ancho y tamaño de letra están en los ajustes "móvil" de Elementor.) */
@media (max-width:767px){
  .elementor .rc-member__overlay{ background:radial-gradient(70% 26% at 50% 78%,rgba(0,0,0,.72),rgba(0,0,0,0) 100%); }
  .elementor .rc-member__link .elementor-button{ white-space:normal; text-align:center; }
  .elementor .rc-member__link .elementor-button-content-wrapper{ justify-content:center; }
}

/* 17 · COLECTIVO · CARRUSEL DE CADA INTEGRANTE ------------------------- */
/* Flechas y puntos discretos: gris perla en reposo, rojo al pasar el cursor.
   El resto (altura, imágenes, autoplay) se configura en el propio widget.  */
.elementor .rc-carousel .elementor-swiper-button{
  color:var(--rc-mist);
  transition:color .3s var(--rc-ease), transform .4s var(--rc-ease);
}
.elementor .rc-carousel .elementor-swiper-button:hover{ color:var(--rc-red-hot); }
.elementor .rc-carousel .elementor-swiper-button-prev:hover{ transform:translateX(-3px); }
.elementor .rc-carousel .elementor-swiper-button-next:hover{ transform:translateX(3px); }
.elementor .rc-carousel .swiper-pagination-bullet{ border-radius:0 !important; opacity:1; }
.elementor .rc-carousel .swiper-pagination-bullets{ margin-top:22px; }
.elementor .rc-member-section .rc-lead p{ max-width:32em; }


/* 18 · BOUTIQUE DE INICIO · 2 COLUMNAS EN MÓVIL ------------------------ */
/* Las columnas y separaciones son ajustes nativos del Loop Grid (pestaña
   móvil). Aquí solo se reescala el interior de la tarjeta para que respire a
   ~160 px de ancho. Afecta únicamente al grid con la clase
   "rc-shop-grid--compact" (inicio) y solo por debajo de 768 px: la página
   Boutique, la tablet y la web quedan igual.                              */
@media (max-width:767px){
  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-product__badges{ top:8px; left:8px; --gap:4px; --row-gap:4px; --column-gap:4px; }
  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-badge .elementor-heading-title{ padding:4px 6px 3px; font-size:8px; letter-spacing:.14em; }
  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-product__preview{ left:8px; right:8px; bottom:8px; --gap:8px; --row-gap:8px; --column-gap:8px; }
  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-play .elementor-button{ width:30px; height:30px; font-size:9px; }
  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-wave{ height:18px; --min-height:18px; min-height:18px; }

  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-product__body{
    --padding-top:14px; --padding-right:12px; --padding-bottom:12px; --padding-left:12px;
    --gap:6px; --row-gap:6px; --column-gap:6px;
  }
  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-product__cat .elementor-heading-title,
  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-product__cat .elementor-heading-title a{ font-size:9px; letter-spacing:.14em; line-height:1.4; }
  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-product__title .elementor-heading-title{ font-size:14px; line-height:1.25; letter-spacing:-.005em; }
  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-product__desc,
  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-product__desc p{ font-size:12px; line-height:1.5; }
  /* la línea técnica (specs) ocupaba 3-4 líneas a este ancho: queda para la ficha */
  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-product__specs{ display:none; }

  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-product__footer{
    --flex-direction:column; --align-items:stretch; --justify-content:flex-start;
    --gap:10px; --row-gap:10px; --column-gap:10px;
    --padding-top:12px; --padding-right:12px; --padding-bottom:12px; --padding-left:12px;
  }
  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-price .price{ font-size:13px; gap:6px; flex-wrap:wrap; }
  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-price del{ font-size:10px; }
  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-add{ width:100%; --container-widget-width:100%; }
  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-add .elementor-button{
    width:100%; justify-content:center; gap:6px;
    padding:10px 8px !important; font-size:10px; letter-spacing:.14em;
  }
  .elementor .elementor-widget.rc-shop-grid--compact .rc-product .rc-add .elementor-button-content-wrapper{ justify-content:center; }
}


/* 19 · COLECTIVO · INSTAGRAM DE CADA INTEGRANTE ------------------------ */
/* Widget Iconos sociales con clase rc-ig. El color (gris niebla) y el hover
   (rojo encendido) viven en el propio widget; aquí solo la transición suave,
   un brillo rojo tenue y un área táctil cómoda sin descolocar el icono.     */
.elementor .rc-ig .elementor-social-icon{
  margin-left:-.55em;                        /* compensa el relleno: el icono queda alineado con el texto */
  background:transparent !important;
  transition:transform .5s var(--rc-ease);
}
.elementor .rc-ig .elementor-social-icon svg,
.elementor .rc-ig .elementor-social-icon i{
  transition:fill .45s var(--rc-ease), color .45s var(--rc-ease), filter .6s var(--rc-ease);
}
.elementor .rc-ig .elementor-social-icon:hover,
.elementor .rc-ig .elementor-social-icon:focus-visible{ transform:translateY(-1px); }
.elementor .rc-ig .elementor-social-icon:hover svg,
.elementor .rc-ig .elementor-social-icon:focus-visible svg,
.elementor .rc-ig .elementor-social-icon:hover i{ filter:drop-shadow(0 0 8px rgba(255,42,51,.45)); }

/* 20 · CARRITO · EA WOO CART (clase rc-cart) --------------------------- */
/* Colores, tipografías, bordes y radios viven en los controles nativos del
   widget (Estilo). Aquí solo lo que EA no ofrece: la duración de las
   transiciones y el color de borde en hover (sus controles de hover de borde
   no generan CSS por una condición interna de EA).                         */
.elementor .rc-cart .eael-woo-cart-wrapper a,
.elementor .rc-cart .eael-woo-cart-wrapper button,
.elementor .rc-cart .eael-woo-cart-wrapper .button,
.elementor .rc-cart .eael-woo-cart-wrapper input{
  transition:color .45s var(--rc-ease), background-color .55s var(--rc-ease), border-color .55s var(--rc-ease), box-shadow .8s var(--rc-ease);
}
.elementor .rc-cart .product-remove a svg,
.elementor .rc-cart .product-remove a i{ transition:fill .45s var(--rc-ease), color .45s var(--rc-ease); }
.elementor .rc-cart .product-thumbnail img{ border-radius:0 !important; }
.elementor .rc-cart .cart-collaterals .checkout-button:hover,
.elementor .rc-cart .cart-collaterals button:hover{
  border-color:var(--rc-red-hot) !important;
  box-shadow:0 0 34px -12px var(--rc-glow);
}
.elementor .rc-cart .eael-cart-coupon-wrapper button:hover{ border-color:rgba(255,42,51,.55) !important; }
.elementor .rc-cart .eael-cart-coupon-wrapper input:focus{ outline:none; border-color:var(--rc-red-hot) !important; }


/* ==========================================================================
   21 · LIENZO CONTINUO · FONDO GLOBAL DE REDCOLLECTIV3
   --------------------------------------------------------------------------
   Pegar AL FINAL de: Elementor → Ajustes del sitio → Custom CSS
   (debe ir después del resto porque redefine el grano, las líneas entre
   secciones y los resplandores rojos anteriores).

   Capas, de abajo a arriba:
   1. <html>  · el lienzo: negro absoluto + grises de profundidad + rojo en
                sombra. Mide TODO el documento y se desplaza con él, así que
                no hay costuras entre secciones.
   2. body::before · viñeta fija: oscurece los bordes de la pantalla.
   3. body::after  · grano fino estático, POR ENCIMA de todo (fotos y hero incluidos),
                     sin bloquear clics; en modo "screen" no altera el texto blanco.
   4. Contenido: las secciones pasan a ser transparentes sobre el lienzo.
   ========================================================================== */

/* ── PERILLAS · lo único que hace falta tocar ─────────────────────────────── */
:root{
  --rc-glow:2;                     /* intensidad del rojo: 0 = sin rojo · 0.5 = la mitad · 1 = actual · 1.5 = más */
  --rc-ember-rgb:50 0 0;           /* tono del rojo en R G B (sin comas). Más alto = más brillante: 64 0 0 · 80 4 4 */
  --rc-grain-opacity:.09;          /* grano: 0 = sin grano · .06 = actual · .12 = muy marcado (en móvil se usa un 85 %) */
  --rc-scanlines:.0;             /* líneas horizontales finas del hero y cabeceras: 0 = sin líneas · .018 = actual · .04 = marcadas */
  --rc-canvas-lift:#0b0b0c;        /* gris de profundidad                  */
  --rc-canvas-deep:#040404;        /* gris abismo                          */
}
/* ─────────────────────────────────────────────────────────────────────────── */

/* 1 · EL LIENZO -------------------------------------------------------------- */
html{
  min-height:100%;
  background-color:#000;
  background-repeat:no-repeat;
  background-size:100% 100%;
  background-attachment:scroll;
  background-image:
    /* rojo en sombra · zonas estratégicas (resplandor volumétrico) */
    radial-gradient(36% 8% at 92% 26%, rgb(var(--rc-ember-rgb) / calc(1 * var(--rc-glow))) 0%, rgb(var(--rc-ember-rgb) / calc(.41 * var(--rc-glow))) 40%, transparent 74%),
    radial-gradient(44% 10% at 4% 50%, rgb(var(--rc-ember-rgb) / calc(.79 * var(--rc-glow))) 0%, rgb(var(--rc-ember-rgb) / calc(.24 * var(--rc-glow))) 45%, transparent 76%),
    radial-gradient(32% 7% at 80% 71%, rgb(var(--rc-ember-rgb) / calc(.8 * var(--rc-glow))) 0%, transparent 72%),
    radial-gradient(95% 13% at 50% 102%, rgb(var(--rc-ember-rgb) / calc(1 * var(--rc-glow))) 0%, rgb(var(--rc-ember-rgb) / calc(.38 * var(--rc-glow))) 40%, transparent 74%),
    /* grises de profundidad · levantan el negro sin dibujar bloques */
    radial-gradient(70% 15% at 28% 34%, var(--rc-canvas-lift) 0%, transparent 72%),
    radial-gradient(80% 17% at 72% 61%, #0a0a0b 0%, transparent 74%),
    /* base: negro puro bajo el hero, respiración gris en el recorrido */
    linear-gradient(180deg, #000 0%, #000 16%, #030303 38%, var(--rc-canvas-deep) 66%, #020202 88%, #000 100%);
}
/* el body deja ver el lienzo */
body,
body[class*="elementor-kit-"]{
  background-color:transparent !important;
  background-image:none !important;
}

/* 2 · VIÑETA FIJA ------------------------------------------------------------ */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(135% 100% at 50% 42%, transparent 58%, rgba(0,0,0,.5) 100%);
}

/* 3 · GRANO FINO (continuo en toda la página, también sobre el hero) ------ */
body::after{
  inset:0 !important;
  z-index:9990 !important;
  pointer-events:none !important;
  animation:none !important;
  opacity:var(--rc-grain-opacity) !important;
  mix-blend-mode:screen;
  background-size:240px 240px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='g' x='0' y='0'><feTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>") !important;
}
@media (prefers-reduced-motion:reduce){
  body::after{ display:block !important; }        /* ya es estático: se mantiene */
}

/* 4 · CONTINUIDAD: las secciones flotan sobre el lienzo ------------------- */
.elementor .rc-section,
.elementor .rc-member-section,
.elementor .rc-page-hero,
.elementor .rc-footer-cta,
.elementor .rc-canvas{                             /* clase opcional para cualquier otro contenedor */
  background-color:transparent !important;
  border-top-color:transparent !important;
}
/* Selected Works trae un degradado radial propio (en Elementor) que taparía el lienzo */
.elementor .rc-section{ background-image:none !important; }
/* el halo recortado de Boutique y el horizonte del pie ahora viven en el lienzo */
.elementor .rc-section--glow::after,
.site-footer::after{ display:none !important; }
.site-footer{
  background:transparent !important;
  border-top-color:transparent !important;
}

/* Hero: el degradado nativo de Elementor (negro → rojo vivo) tapaba el lienzo y no
   respondía a las perillas. Se anula aquí y su rojo pasa a la capa ::after. */
.elementor .rc-hero{
  background-color:transparent !important;
  background-image:none !important;
}
/* Resplandor del hero en rojo en sombra; el fundido a negro va encima,
   para que el borde inferior se funda con el lienzo sin corte. */
.elementor .rc-hero::after{
  background:
    repeating-linear-gradient(180deg,rgb(255 255 255 / var(--rc-scanlines)) 0 1px,transparent 1px 3px),
    linear-gradient(180deg,rgba(0,0,0,.65) 0%,transparent 26%,transparent 56%,rgba(0,0,0,.85) 84%,#000 100%),
    radial-gradient(50% 42% at 80% 74%,rgb(var(--rc-ember-rgb) / calc(.8 * var(--rc-glow))),transparent 72%),
    radial-gradient(40% 35% at 6% 0%,rgb(var(--rc-ember-rgb) / calc(.53 * var(--rc-glow))),transparent 70%),
    radial-gradient(130% 100% at 50% 35%,transparent 35%,rgba(0,0,0,.92) 100%),
    linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.35) 45%,transparent 70%),
    linear-gradient(180deg,transparent 50%,rgb(var(--rc-ember-rgb) / calc(1 * var(--rc-glow))) 100%);
}
/* Cabeceras de páginas interiores: mismo rojo en sombra */
.elementor .rc-page-hero::after{
  background:
    repeating-linear-gradient(180deg,rgb(255 255 255 / calc(var(--rc-scanlines) * .83)) 0 1px,transparent 1px 3px),
    radial-gradient(45% 60% at 85% 0%,rgb(var(--rc-ember-rgb) / calc(.8 * var(--rc-glow))),transparent 70%);
}

/* 5 · MÓVIL: resplandores más anchos que la pantalla, nunca franjas ---- */
@media (max-width:767px){
  html{
    background-image:
      radial-gradient(120% 6% at 100% 24%, rgb(var(--rc-ember-rgb) / calc(1 * var(--rc-glow))) 0%, rgb(var(--rc-ember-rgb) / calc(.38 * var(--rc-glow))) 42%, transparent 74%),
      radial-gradient(130% 7% at 0% 47%, rgb(var(--rc-ember-rgb) / calc(.79 * var(--rc-glow))) 0%, rgb(var(--rc-ember-rgb) / calc(.22 * var(--rc-glow))) 46%, transparent 76%),
      radial-gradient(110% 5% at 100% 66%, rgb(var(--rc-ember-rgb) / calc(.75 * var(--rc-glow))) 0%, transparent 72%),
      radial-gradient(160% 9% at 50% 102%, rgb(var(--rc-ember-rgb) / calc(1 * var(--rc-glow))) 0%, rgb(var(--rc-ember-rgb) / calc(.34 * var(--rc-glow))) 40%, transparent 74%),
      radial-gradient(150% 10% at 30% 32%, var(--rc-canvas-lift) 0%, transparent 72%),
      radial-gradient(160% 12% at 70% 58%, #0a0a0b 0%, transparent 74%),
      linear-gradient(180deg, #000 0%, #000 16%, #030303 38%, var(--rc-canvas-deep) 66%, #020202 88%, #000 100%);
  }
  body::after{ opacity:calc(var(--rc-grain-opacity) * .85) !important; }
}

/* ==========================================================================
   22 · MI CUENTA · contenido nativo de WooCommerce dentro del diseño propio
   --------------------------------------------------------------------------
   El contenido lo pone el shortcode [woocommerce_my_account], dentro del
   contenedor "CUENTA · contenido" (clase rc-account, ID cuenta) de la página.
   La navegación por defecto de WooCommerce se oculta: la navegación son los
   botones del diseño. Aquí solo se viste lo que WooCommerce imprime.
   ========================================================================== */
.rc-account{
  width:100%;
  max-width:1140px;
  margin:0 auto;
  padding:64px 24px 96px;
  scroll-margin-top:110px;   /* el salto a #cuenta no queda bajo la cabecera */
}
.rc-account .woocommerce-MyAccount-navigation{ display:none !important; }
.rc-account .woocommerce-MyAccount-content{
  width:100% !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
}
.rc-account .woocommerce{
  font-family:var(--rc-f-sans);
  font-weight:300;
  font-size:14px;
  line-height:1.75;
  color:var(--rc-mist);
}
.rc-account .woocommerce h2,
.rc-account .woocommerce h3,
.rc-account .woocommerce legend{
  font-family:var(--rc-f-display);
  font-weight:300;
  font-size:26px;
  letter-spacing:.01em;
  color:var(--rc-white);
  margin:0 0 18px;
}
.rc-account .woocommerce p{ margin:0 0 18px; }
.rc-account .woocommerce strong{ color:var(--rc-pearl); font-weight:400; }
.rc-account .woocommerce a:not(.button):not(.woocommerce-button){
  color:var(--rc-pearl);
  text-decoration:none;
  border-bottom:1px solid var(--rc-line-strong);
  transition:color .3s var(--rc-ease), border-color .3s var(--rc-ease);
}
.rc-account .woocommerce a:not(.button):not(.woocommerce-button):hover{
  color:var(--rc-white);
  border-bottom-color:var(--rc-line-red);
}

/* Tablas: pedidos, descargas, métodos de pago -------------------------- */
.rc-account .woocommerce table.shop_table,
.rc-account .woocommerce table.woocommerce-table{
  width:100%;
  margin:0 0 32px;
  border:0;
  border-top:1px solid var(--rc-line);
  border-collapse:collapse;
  border-radius:0;
  background:transparent;
}
.rc-account .woocommerce table th,
.rc-account .woocommerce table td{
  border:0;
  border-bottom:1px solid var(--rc-line);
  padding:16px 14px;
  background:transparent;
  text-align:left;
}
.rc-account .woocommerce table th{
  font-family:var(--rc-f-mono);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:400;
  color:var(--rc-smoke);
}
.rc-account .woocommerce table td{ color:var(--rc-pearl); }
.rc-account .woocommerce-MyAccount-content > .woocommerce{ overflow-x:auto; }

/* Direcciones: dos columnas en escritorio ------------------------------ */
.rc-account .woocommerce-Addresses{
  display:grid;
  grid-template-columns:1fr;          /* facturación arriba, envío debajo */
  gap:38px;
  margin:0;
}
/* Woo mete dos pseudoelementos de limpieza que ocupan celdas de la rejilla */
.rc-account .woocommerce .woocommerce-Addresses::before,
.rc-account .woocommerce .woocommerce-Addresses::after,
.rc-account .woocommerce .col2-set::before,
.rc-account .woocommerce .col2-set::after,
.rc-account .woocommerce .woocommerce-Address-title::before,
.rc-account .woocommerce .woocommerce-Address-title::after,
.rc-account .woocommerce .woocommerce-Address::before,
.rc-account .woocommerce .woocommerce-Address::after{ display:none !important; }
.rc-account .woocommerce-Address{ width:auto; float:none; }
.rc-account .woocommerce-Address-title{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid var(--rc-line);
  padding-bottom:10px;
  margin-bottom:14px;
}
.rc-account .woocommerce-Address-title h3{ margin:0; font-size:22px; }
.rc-account address{ font-style:normal; color:var(--rc-mist); }

/* Formularios: direcciones, detalles de la cuenta, acceso -------------- */
.rc-account .woocommerce form{ border:0; padding:0; margin:0; border-radius:0; }
.rc-account .woocommerce form .form-row{ padding:0; margin:0 0 20px; }
.rc-account .woocommerce label,
.rc-account .woocommerce .form-row label{
  display:block;
  font-family:var(--rc-f-mono);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--rc-smoke);
  margin:0 0 8px;
}
.rc-account .woocommerce input[type="text"],
.rc-account .woocommerce input[type="email"],
.rc-account .woocommerce input[type="tel"],
.rc-account .woocommerce input[type="password"],
.rc-account .woocommerce input[type="number"],
.rc-account .woocommerce select,
.rc-account .woocommerce textarea,
.rc-account .woocommerce .select2-container .select2-selection--single{
  width:100%;
  height:auto;
  padding:13px 16px;
  background:var(--rc-abyss);
  border:1px solid var(--rc-line-strong);
  border-radius:0;
  color:var(--rc-white);
  font-family:var(--rc-f-sans);
  font-size:14px;
  font-weight:300;
  transition:border-color .3s var(--rc-ease);
}
.rc-account .woocommerce input:focus,
.rc-account .woocommerce select:focus,
.rc-account .woocommerce textarea:focus{
  outline:none;
  border-color:var(--rc-line-red);
}
.rc-account .woocommerce .select2-container .select2-selection--single .select2-selection__rendered{
  color:var(--rc-white);
  line-height:1.6;
  padding:0;
}
.rc-account .woocommerce .select2-container .select2-selection--single .select2-selection__arrow{ top:12px; right:10px; }
.rc-account .woocommerce fieldset{ border:0; border-top:1px solid var(--rc-line); padding:28px 0 0; margin:28px 0 0; }
.rc-account .woocommerce em,
.rc-account .woocommerce .woocommerce-privacy-policy-text{ color:var(--rc-smoke); font-size:12px; }

/* Móvil ----------------------------------------------------------------- */
@media (max-width:767px){
  .rc-account{ padding:48px 18px 72px; }
  .rc-account .woocommerce-Addresses{ gap:30px; }
  .rc-account .woocommerce table th,
  .rc-account .woocommerce table td{ padding:13px 10px; }
  .rc-account .woocommerce h2,
  .rc-account .woocommerce h3,
  .rc-account .woocommerce legend{ font-size:22px; }
}

/* Acceso / recuperar contraseña: sin la caja por defecto de WooCommerce ---- */
.rc-account .woocommerce form.login,
.rc-account .woocommerce form.register,
.rc-account .woocommerce form.woocommerce-ResetPassword,
.rc-account .woocommerce form.lost_reset_password{
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  max-width:420px;
}
.rc-account .woocommerce form.login .form-row{ float:none; width:100%; }
.rc-account .woocommerce .woocommerce-form-login__rememberme{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
}
.rc-account .woocommerce .woocommerce-form-login__rememberme span{
  font-family:var(--rc-f-mono);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--rc-smoke);
}
.rc-account .woocommerce .woocommerce-form-login__rememberme input{ width:auto; margin:0; }

/* Formulario de direcciones: una sola columna, sin los flotados de Woo ---- */
.rc-account .woocommerce form .form-row,
.rc-account .woocommerce form .form-row-first,
.rc-account .woocommerce form .form-row-last,
.rc-account .woocommerce form .form-row-wide{
  display:block;
  width:100% !important;
  max-width:none;
  float:none !important;
  clear:both;
  margin:0 0 22px !important;
  padding:0 !important;
}
.rc-account .woocommerce .woocommerce-address-fields__field-wrapper{ display:block; }
.rc-account .woocommerce form .clear{ display:none !important; }
.rc-account .woocommerce .woocommerce-input-wrapper{ display:block; width:100%; }
.rc-account .woocommerce .woocommerce-address-fields > p.form-row:last-child{ margin:6px 0 0 !important; }
.rc-account .woocommerce abbr.required,
.rc-account .woocommerce .required{
  color:var(--rc-red-hot);
  border:0;
  text-decoration:none;
  margin-left:4px;
}
.rc-account .woocommerce span.optional{
  font-size:9px;
  letter-spacing:.14em;
  color:var(--rc-smoke);
  margin-left:6px;
}
.rc-account .woocommerce .woocommerce-invalid input.input-text,
.rc-account .woocommerce .woocommerce-invalid select,
.rc-account .woocommerce .woocommerce-invalid .select2-selection{ border-color:var(--rc-line-red) !important; }

/* Selector de país / región (select2) ---------------------------------- */
.rc-account .select2-container{ width:100% !important; }
.rc-account .select2-container--default .select2-selection--single{
  height:auto;
  padding:13px 16px;
  background:var(--rc-abyss);
  border:1px solid var(--rc-line-strong);
  border-radius:0;
  transition:border-color .3s var(--rc-ease);
}
.rc-account .select2-container--default .select2-selection--single:hover{ border-color:var(--rc-line-red); }
.rc-account .select2-container--default .select2-selection--single .select2-selection__rendered{
  padding:0;
  line-height:1.5;
  color:var(--rc-white);
  font-family:var(--rc-f-sans);
  font-size:14px;
  font-weight:300;
}
.rc-account .select2-container--default .select2-selection--single .select2-selection__arrow{
  top:0;
  right:12px;
  height:100%;
}
.rc-account .select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color:var(--rc-smoke) transparent transparent;
}
/* la lista desplegable se imprime al final del documento, fuera de .rc-account */
.select2-container--default .select2-dropdown{
  background:var(--rc-abyss);
  border:1px solid var(--rc-line-strong);
  border-radius:0;
}
.select2-container--default .select2-search--dropdown .select2-search__field{
  background:var(--rc-black);
  border:1px solid var(--rc-line-strong);
  border-radius:0;
  padding:10px 12px;
  color:var(--rc-white);
  font-family:var(--rc-f-sans);
  font-size:14px;
  font-weight:300;
}
.select2-container--default .select2-results__option{
  padding:10px 14px;
  color:var(--rc-mist);
  font-family:var(--rc-f-sans);
  font-size:14px;
  font-weight:300;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected]{
  background:var(--rc-graphite);
  color:var(--rc-white);
}
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"]{
  background:transparent;
  color:var(--rc-white);
}

/* Listado de direcciones: sin la caja blanca ni el 48 % flotado de Woo --- */
.rc-account .woocommerce .woocommerce-Addresses > div,
.rc-account .woocommerce .woocommerce-Address,
.rc-account .woocommerce .col2-set .col-1,
.rc-account .woocommerce .col2-set .col-2{
  width:100% !important;
  max-width:none !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
}
.rc-account .woocommerce .woocommerce-Address-title,
.rc-account .woocommerce .woocommerce-Address-title.title{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:18px;
  background:transparent !important;
  border:0;
  border-bottom:1px solid var(--rc-line);
  border-radius:0;
  padding:0 0 10px !important;
  margin:0 0 16px !important;
}
.rc-account .woocommerce .woocommerce-Address-title h2,
.rc-account .woocommerce .woocommerce-Address-title h3{
  margin:0 !important;
  font-size:22px;
  line-height:1.2;
}
.rc-account .woocommerce .woocommerce-Address-title a.edit{
  flex:0 0 auto;
  float:none !important;
  padding:0 !important;
  font-family:var(--rc-f-mono);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--rc-smoke);
  border-bottom:1px solid var(--rc-line-strong);
  transition:color .3s var(--rc-ease), border-color .3s var(--rc-ease);
}
.rc-account .woocommerce .woocommerce-Address-title a.edit:hover{
  color:var(--rc-white);
  border-bottom-color:var(--rc-line-red);
}
.rc-account .woocommerce address{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
  font-style:normal;
  color:var(--rc-mist);
  line-height:1.9;
}/* End custom CSS */