/* Fondo texto */
.fondo-texto {
  align-self: flex-start;
  width: fit-content;
}

/* ════ WRAPPER PRINCIPAL — sin restricciones para Elementor ════ */
#psy-main {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  display: block;
}

/* ════ ELEMENTOR — secciones a ancho completo ════
   Con Astra, el theme override quitaba el max-width de todos los contenedores.
   Replicamos ese comportamiento para que las secciones del home y páginas custom
   lleguen al borde del viewport sin restricciones del Content Width de Elementor.
   También eliminamos padding lateral para evitar los mini-márgenes laterales.    ════ */

/* Reset de body: eliminar margen por defecto del navegador */
body { margin: 0 !important; }

/* Prevenir scroll horizontal global (evita el margen blanco lateral).
   Solo en html, NO en body: overflow en body bloquea position:fixed (drawers). */
html { overflow-x: hidden !important; }

#psy-main > .elementor { width: 100% !important; }

/* La sección en sí: sin margen lateral, ancho completo */
#psy-main .elementor-section {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Contenedor de sección — clásico (Sections/Columns) */
#psy-main .elementor-section > .elementor-container {
  max-width: 100% !important;
  width: 100% !important;
}

/* Secciones marcadas explícitamente como Full Width: sin padding lateral */
#psy-main .elementor-section.elementor-section-full_width,
#psy-main .elementor-section.elementor-section-full_width > .elementor-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Contenedor de sección — Flexbox Containers (Elementor 3.6+) */
#psy-main .e-con > .e-con-inner {
  max-width: 100% !important;
  width: 100% !important;
}
#psy-main .e-con.e-con--full-width,
#psy-main .e-con.e-con--full-width > .e-con-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* ════ FUENTES ════ */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Nunito:wght@400;700;800;900&family=Kalam:wght@700&display=swap');

/* ════ CUSTOM HEADER — LAYOUT ESTRUCTURAL ════ */

/* ── Desktop header — fijo ── */
#psy-desktop-header {
  position: fixed !important;
  top: 0 !important; width: 100% !important; z-index: 9999 !important;
}
.admin-bar #psy-desktop-header { top: 32px !important; }
@media screen and (max-width: 782px) {
  .admin-bar #psy-desktop-header { top: 46px !important; }
}
body { padding-top: 72px !important; }
body.home { padding-top: 0 !important; }

/* Inner wrapper desktop */
.psy-header-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 72px !important;
  padding: 0 40px !important;
}

/* Logo */
.psy-logo-wrap { display: flex; align-items: center; flex-shrink: 0; }
.psy-logo-link {
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
}
#psy-desktop-header .custom-logo-link { margin-left: 0 !important; }
.psy-logo-img { height: 30px !important; width: auto !important; display: block !important; }
.psy-logo-text { font-family: 'Bangers', cursive; font-size: 1.8rem; color: inherit; text-decoration: none; }

/* Navegación principal */
#psy-nav-primary { flex: 1; display: flex; justify-content: center; }

/* Iconos de acción */
.psy-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex-shrink: 0 !important;
}
.psy-header-icon-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important; height: 40px !important;
  border-radius: 8px !important;
  border: none !important; background: none !important;
  cursor: pointer !important;
  color: inherit !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s !important;
  -webkit-tap-highlight-color: transparent !important;
  position: relative !important;
}
.psy-header-icon-btn:hover { background: rgba(0,0,0,0.05) !important; }

/* Badge del carrito */
.psy-cart-count {
  position: absolute !important;
  top: 4px !important; right: 4px !important;
  min-width: 16px !important; height: 16px !important;
  border-radius: 8px !important;
  background: #FFB2EF !important;
  color: #1A1A1A !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 0.6rem !important; font-weight: 900 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 0 4px !important;
  line-height: 1 !important;
  pointer-events: none !important;
}
.psy-cart-count--empty { display: none !important; }

/* ── HOME — header transparente (base, JS controla la transición) ── */
body.home #psy-desktop-header > .psy-header-inner {
  background: transparent; box-shadow: none;
}
body.home #psy-desktop-header { --psy-hc: white; }

/* ── OTRAS PÁGINAS — header sólido ── */
body:not(.home) #psy-desktop-header > .psy-header-inner {
  background: #fff !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08) !important;
}
body:not(.home) #psy-desktop-header > .psy-header-inner a { color: #111 !important; }
body:not(.home) #psy-desktop-header > .psy-header-inner svg {
  fill: #111 !important; color: #111 !important; stroke: #111 !important;
}
/* Icono persona — stroke-based, necesita selector específico */
body:not(.home) #psy-desktop-header .psy-header-account svg,
body:not(.home) #psy-desktop-header .psy-header-account svg circle,
body:not(.home) #psy-desktop-header .psy-header-account svg path,
body:not(.home) #psy-desktop-header .psy-header-account svg * {
  fill: #111 !important; stroke: #111 !important; color: #111 !important;
}

/* ── Header móvil — oculto en desktop, visible en ≤1024px ── */
#psy-mobile-header {
  display: none !important;
  position: fixed !important;
  top: 0 !important; left: 0 !important;
  width: 100% !important; z-index: 9999 !important;
  background: #fff !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08) !important;
}
.admin-bar #psy-mobile-header { top: 46px !important; }
.psy-mob-header-inner {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  height: 60px !important;
  padding: 0 12px !important;
}
/* Hamburger: primera columna, alineado a la izquierda */
.psy-mob-header-inner > #psy-hamburger {
  justify-self: start !important;
}
/* Logo: columna central, centrado */
.psy-mob-header-inner > .psy-mob-logo-center {
  justify-self: center !important;
}
/* Iconos: tercera columna, alineados a la derecha */
.psy-mob-header-inner > .psy-mob-actions {
  justify-self: end !important;
}
#psy-mobile-header .psy-logo-wrap {
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
}
/* Logo centrado: columna central del grid */
#psy-mobile-header .psy-mob-logo-center {
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
  pointer-events: auto !important;
}
#psy-mobile-header .psy-logo-img {
  height: 22px !important;
  max-height: 22px !important;
  width: auto !important;
  display: block !important;
}
.psy-mob-actions {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  width: fit-content !important;
  justify-content: flex-end !important;
}
/* SVGs del header móvil en negro */
#psy-mobile-header svg,
#psy-mobile-header svg * {
  fill: #1a1025 !important;
  stroke: #1a1025 !important;
  color: #1a1025 !important;
}
/* Links y botones móvil en negro */
#psy-mobile-header a,
#psy-mobile-header button {
  color: #1a1025 !important;
}


/* ════ MENÚ TEXTO ════ */
#mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 800 !important; font-size: 0.84rem !important;
}
body.home #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
  color: white;
}
body:not(.home) #mega-menu-primary > li.mega-menu-item > a.mega-menu-link { color: #111 !important; }
body.home #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link,
body.home #mega-menu-primary > li.mega-menu-item:hover > a.mega-menu-link {
  background: rgba(255,255,255,0.15) !important; border-radius: 8px;
}
body:not(.home) #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link,
body:not(.home) #mega-menu-primary > li.mega-menu-item:hover > a.mega-menu-link {
  color: #1a1025 !important; background: rgba(139,92,246,0.08) !important; border-radius: 8px;
}

/* ════ MEGA MENÚ CONTENEDOR ════ */
#mega-menu-wrap-primary,
#mega-menu-wrap-primary #mega-menu-primary {
  background: transparent !important; box-shadow: none !important; position: static !important;
}
/* Puente de hover: zona invisible que conecta el nav con el panel */
#mega-menu-wrap-primary .mega-menu-item .mega-sub-menu {
  padding-top: 55px !important;
  margin-top: -55px !important;
}
#mega-menu-wrap-primary .mega-sub-menu {
  position: fixed !important;
  top: 105px !important;
  left: 0 !important;
  right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: min(1600px, calc(100vw - 32px)) !important;
  background: #fff !important;
  border: none !important;
  border-radius: 20px !important;
  box-shadow: 0 24px 70px rgba(80,50,160,0.18) !important;
  overflow: hidden !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  z-index: 9990 !important;
}

/* ════ MEGA MENÚ — Ocultar el hamburguer/toggle nativo de Max Mega Menu ════
   Usamos nuestro propio #psy-hamburger en el header móvil.
   Las reglas son intencionadamente agresivas porque MMM puede mover el toggle
   fuera de su wrapper original y aplicar display:flex/block con !important. ════ */
.mega-menu-toggle,
#mega-menu-wrap-primary .mega-menu-toggle,
#psy-desktop-header .mega-menu-toggle,
#psy-mobile-header .mega-menu-toggle,
#psy-desktop-header .psy-header-inner .mega-menu-toggle {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  position: absolute !important;
  left: -9999px !important;
}

/* ════ MEGA MENÚ — Ocultar el off-canvas nativo de Max Mega Menu ════
   MMM inyecta #mega-menu-wrap-off-canvas al final del <body> como menú móvil.
   Usamos nuestro propio drawer psy-mob-overlay, así que ocultamos esto en todas las páginas. ════ */
#mega-menu-wrap-off-canvas {
  display: none !important;
  visibility: hidden !important;
}

/* ════ MEGA MENÚ — Animación fade + slide (solo desktop ≥1025px) ════ */
@media (min-width: 1025px) {
  /* Siempre en el DOM para que la transición funcione */
  #mega-menu-wrap-primary .mega-sub-menu {
    display: block !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-6px) !important;
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s linear 0.22s !important;
    pointer-events: none !important;
  }
  /* Estado abierto — Max Mega Menu añade mega-toggle-on al <li> */
  /* Fallback CSS hover por si el plugin no añade la clase */
  #mega-menu-wrap-primary li.mega-menu-item.mega-toggle-on > .mega-sub-menu,
  #mega-menu-wrap-primary li.mega-menu-item:hover > .mega-sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s !important;
  }
}

/* ════ MATAR EL ESPACIO ARRIBA — culpable principal ════ */
#mega-menu-wrap-primary .mega-sub-menu > li.mega-menu-item,
#mega-menu-wrap-primary .mega-sub-menu > li.mega-menu-column {
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  display: block !important;
}
#mega-menu-wrap-primary .mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  position: absolute !important;
}
#mega-menu-wrap-primary .mega-sub-menu .widget_custom_html,
#mega-menu-wrap-primary .mega-sub-menu .custom-html-widget,
#mega-menu-wrap-primary .mega-sub-menu .textwidget {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}

/* ════ OCULTAR BARRA INFERIOR ════ */
.psymc-bar { display: none !important; }

/* ════ SHINE ANIMACIÓN ════ */
@keyframes card-shine { from { left: -75%; } to { left: 130%; } }

/* ════ PSYMC BASE — Cartas ════ */
.psymc {
  display: grid;
  grid-template-columns: 220px 1fr;
  height: 460px;
  font-family: 'Nunito', sans-serif;
  background: #fff;
}

/* ════ SIDEBAR ════ */
.psymc-side {
  border-right: 1px solid #F0F0F0;
  padding: 20px 0;
  display: flex; flex-direction: column; gap: 1px;
  background: #FAFAFA;
}
.psymc-tab {
  display: flex !important; align-items: center;
  gap: 11px; padding: 11px 18px;
  cursor: pointer; transition: background 0.18s, border-color 0.18s;
  text-decoration: none !important;
  border-left: 3px solid transparent;
  color: #1A1A1A !important;
}
.psymc-tab:hover, .psymc-tab.active {
  background: #F5F5F5; border-left-color: #1A1A1A;
}
.psymc-ico {
  width: 34px; height: 34px; border-radius: 9px;
  display: flex !important; align-items: center !important;
  justify-content: center !important; font-size: 1.05rem; flex-shrink: 0; overflow: hidden;
}
.psymc-ico img { width: 100%; height: 100%; object-fit: contain; display: block; }
.psymc-tab b {
  display: block; font-size: 0.9rem; font-weight: 700;
  color: #1A1A1A; line-height: 1.2; transition: color 0.18s;
  font-family: 'Rajdhani', sans-serif; letter-spacing: 0.01em;
}
.psymc-tab:hover b, .psymc-tab.active b { color: #1A1A1A; }
.psymc-tab small { display: block; font-size: 0.66rem; color: #999; font-weight: 400; font-family: 'Rajdhani', sans-serif; }
.psymc-hr { border: none; border-top: 1px solid #ede8ff; margin: 8px 18px; }

/* ════ IDIOMAS ════ */
.psymc-lang-section { padding: 10px 18px 16px; }
.psymc-lang-label-mini {
  font-size: 0.58rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.35em; color: #999; margin-bottom: 9px;
  display: block; font-family: 'Nunito', sans-serif;
}
.psymc-lang-row { display: flex; gap: 6px; flex-wrap: wrap; }
.psymc-lang-pill {
  display: flex; align-items: center; gap: 4px;
  padding: 6px 12px; border-radius: 20px;
  font-family: 'Rajdhani', sans-serif;
  font-size: 0.76rem; font-weight: 600;
  border: 1.5px solid #E8E8E8; background: #fff;
  color: #555; cursor: pointer; transition: all 0.18s;
}
.psymc-lang-pill.active {
  background: #1A1A1A;
  color: #fff; border-color: transparent;
  box-shadow: 0 2px 10px rgba(0,0,0,0.18);
}
.psymc-lang-pill.soon { opacity: 0.36; cursor: default; pointer-events: none; }

/* ════ PANEL CENTRAL ════ */
.psymc-main {
  padding: 22px 28px;
  display: flex; flex-direction: column; gap: 14px; min-width: 0; overflow: hidden;
}
.psymc-label {
  font-family: 'Nunito', sans-serif;
  font-size: 0.6rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.28em; color: #1A1A1A;
  flex-shrink: 0;
}
.psymc-panel { display: none; opacity: 0; }
.psymc-panel.active { display: flex; flex-direction: column; flex: 1; animation: panel-in 0.2s ease forwards; min-height: 0; }
@keyframes panel-in {
  from { opacity: 0; transform: translateY(5px); }
  to   { opacity: 1; transform: translateY(0); }
}
.psymc-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr);
  gap: 14px; margin-top: 10px;
  flex: 1; min-height: 0;
}

/* ════ CTA CARD (Ver todas) ════ */
.psymc-card-cta {
  background: #1A1A1A !important; border-color: #1A1A1A !important;
  align-items: center !important; justify-content: center !important; gap: 10px;
}
.psymc-card-cta:hover {
  background: #222 !important; border-color: #FFB2EF !important;
  box-shadow: 0 8px 28px rgba(255,178,239,0.2) !important;
}
.psymc-cta-arrow {
  font-size: 1.8rem; color: rgba(255,255,255,0.85); line-height: 1;
  transition: transform 0.2s ease, color 0.2s ease;
}
.psymc-card-cta:hover .psymc-cta-arrow { transform: translateX(5px); color: #FFB2EF; }
.psymc-cta-title {
  font-family: 'Bebas Neue', sans-serif; font-size: 1.35rem; color: #fff;
  letter-spacing: 0.06em; text-align: center; line-height: 1;
}
.psymc-cta-sub {
  font-family: 'Nunito', sans-serif; font-size: 0.58rem; font-weight: 700;
  color: rgba(255,255,255,0.3); text-transform: uppercase; letter-spacing: 0.22em; text-align: center;
}

/* ════ TARJETAS ════ */
.psymc-card {
  border-radius: 16px !important; overflow: hidden;
  text-decoration: none !important; border: 1.5px solid #EDEDED;
  transition: box-shadow 0.25s ease, border-color 0.2s ease;
  display: flex; flex-direction: column; background: #fff; position: relative;
}
.psymc-card:hover {
  border-color: #FFB2EF;
  box-shadow: 0 8px 28px rgba(255,178,239,0.22);
}
.psymc-img {
  flex: 1; min-height: 130px;
  display: flex !important; align-items: center !important;
  justify-content: center !important; overflow: hidden; position: relative;
  padding: 0 !important; margin: 0 !important;
}
.psymc-img img { width: 78%; height: 78%; object-fit: contain; position: absolute; inset: 11%; }
.psymc-body { padding: 12px 14px 14px; }
.psymc-name { font-family: 'Rajdhani', sans-serif; font-size: 1.05rem; font-weight: 700; color: #1A1A1A; line-height: 1.15; letter-spacing: 0.02em; }
.psymc-sub { font-size: 0.68rem; color: #AAA; margin-top: 3px; font-family: 'Rajdhani', sans-serif; font-weight: 500; letter-spacing: 0.01em; }
.psymc-tags { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 8px; }
.psymc-tag {
  font-family: 'Nunito', sans-serif; font-size: 0.56rem; font-weight: 900;
  text-transform: uppercase; letter-spacing: 0.06em; padding: 3px 7px; border-radius: 6px;
}
.psymc-tag.hot   { background: #fef2f2; color: #dc2626; }
.psymc-tag.new   { background: #f0fdf4; color: #16a34a; }
.psymc-tag.jp    { background: #fff7ed; color: #c2410c; }
.psymc-tag.sale  { background: #eff6ff; color: #1d4ed8; }
.psymc-tag.stock { background: #f0fdf4; color: #15803d; }

/* ════ FEATURED PANEL ════ */
.psymc-feat {
  background: #FDFDFD;
  border: 1.5px solid #EDEDED;
  padding: 0; margin: 12px 12px 12px 0;
  border-radius: 16px; position: relative; overflow: hidden;
  min-height: 436px;
}
.psymc-feat-slot {
  position: absolute; inset: 0; padding: 22px 24px;
  display: flex; flex-direction: column; justify-content: flex-start;
  opacity: 0; pointer-events: none; transition: opacity 0.25s ease;
}
.psymc-feat-slot.active { opacity: 1; pointer-events: auto; }
.psymc-feat-img {
  width: 100%; height: 150px; border-radius: 12px; overflow: hidden;
  margin-bottom: 14px; background: #F5F5F5;
  display: flex; align-items: center; justify-content: center;
  font-size: 3.2rem; flex-shrink: 0; position: relative; z-index: 1;
}
.psymc-feat-img img { width: 80%; height: 80%; object-fit: contain; border-radius: 0; position: absolute; inset: 10%; }
.psymc-feat-tag {
  font-family: 'Nunito', sans-serif; font-size: 0.58rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.35em; color: #999;
  margin-bottom: 6px; position: relative; z-index: 1;
}
.psymc-feat-title {
  font-family: 'Bebas Neue', 'Impact', sans-serif;
  font-size: 2.8rem; color: #1A1A1A; line-height: 0.95;
  margin-bottom: 10px; position: relative; z-index: 1; letter-spacing: 0.02em;
}
.psymc-feat-desc {
  font-family: 'Nunito', sans-serif; font-size: 0.75rem; font-weight: 600; color: #888;
  line-height: 1.6; margin-bottom: 14px; position: relative; z-index: 1;
}
.psymc-feat-pills {
  display: flex; gap: 6px; flex-wrap: wrap;
  margin-bottom: 18px; position: relative; z-index: 1;
}
.psymc-feat-pills span {
  font-family: 'Nunito', sans-serif; font-size: 0.63rem !important; font-weight: 800;
  padding: 4px 11px; border-radius: 20px;
  background: #F3F3F3; color: #555 !important;
  border: 1px solid #E8E8E8;
  display: inline-flex !important; align-items: center !important;
  width: auto !important; height: auto !important; line-height: 1 !important;
}
.psymc-feat-btn {
  display: inline-flex !important; align-items: center;
  background: #1A1A1A !important;
  color: #fff !important; padding: 12px 22px; border-radius: 30px;
  font-family: 'Nunito', sans-serif; font-size: 0.85rem; font-weight: 900;
  text-decoration: none !important; position: relative; z-index: 1;
  transition: transform 0.2s, box-shadow 0.2s; width: fit-content;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12); margin-top: auto;
}
.psymc-feat-btn:hover { transform: translateY(-2px); background: #FFB2EF !important; color: #1A1A1A !important; box-shadow: 0 8px 24px rgba(255,178,239,0.4); }

/* ════ ACCESORIOS ════ */
.psymc-acc-outer {
  display: grid; grid-template-columns: 1fr 310px;
  min-height: 460px; font-family: 'Rajdhani', sans-serif; background: #fff;
}
.psymc-acc-left { padding: 22px 28px; display: flex; flex-direction: column; gap: 14px; }
.psymc-acc-sectionlabel {
  font-family: 'Nunito', sans-serif; font-size: 0.6rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.28em; color: #1A1A1A;
}
.psymc-acc-cats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; flex: 1; }
.psymc-acc-bigcard {
  border-radius: 16px; border: 1.5px solid #EDEDED; background: #fff;
  overflow: hidden; text-decoration: none !important;
  display: flex; flex-direction: column; position: relative;
  transition: transform 0.22s cubic-bezier(.34,1.4,.64,1), border-color 0.18s, box-shadow 0.2s;
}
.psymc-acc-bigcard:hover {
  transform: translateY(-5px); border-color: #FFB2EF;
  box-shadow: 0 14px 36px rgba(255,178,239,0.18);
}
.psymc-acc-bigcard::before {
  content: ''; position: absolute;
  top: -50%; left: -75%; width: 50%; height: 200%;
  background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,0.48) 50%, transparent 70%);
  transform: skewX(-15deg); opacity: 0; z-index: 10; pointer-events: none;
}
.psymc-acc-bigcard:hover::before { animation: card-shine 0.55s ease forwards; opacity: 1; }
.psymc-acc-top {
  flex: 1; min-height: 200px;
  display: flex; align-items: center; justify-content: center;
  font-size: 4rem; position: relative; overflow: hidden;
}
.psymc-acc-top img { width: 90%; height: 90%; object-fit: contain; position: absolute; inset: 5%; }
.psymc-acc-footer { padding: 14px 16px 18px; border-top: 1px solid #F0F0F0; background: #fff; }
.psymc-acc-title { font-family: 'Rajdhani', sans-serif; font-size: 1.05rem; font-weight: 700; color: #1A1A1A; margin-bottom: 2px; letter-spacing: 0.01em; }
.psymc-acc-sub { font-size: 0.67rem; color: #999; margin-bottom: 10px; font-family: 'Rajdhani', sans-serif; font-weight: 500; }
.psymc-acc-ver {
  font-family: 'Rajdhani', sans-serif; font-size: 0.78rem; font-weight: 700; color: #1A1A1A;
  display: inline-flex; align-items: center; gap: 4px;
  text-decoration: none !important; transition: gap 0.18s; letter-spacing: 0.02em;
}
.psymc-acc-bigcard:hover .psymc-acc-ver { gap: 8px; }

/* ════ ACCESORIOS DERECHA ════ */
.psymc-acc-right {
  border-left: 1px solid #F0F0F0; padding: 22px 22px 22px;
  background: #FAFAFA; display: flex; flex-direction: column;
}
.psymc-acc-mv-label {
  font-family: 'Nunito', sans-serif; font-size: 0.6rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.28em; color: #1A1A1A; margin-bottom: 4px;
}
.psymc-acc-mv-sub { font-family: 'Nunito', sans-serif; font-size: 0.78rem; font-weight: 600; color: #1A1A1A; margin-bottom: 18px; }
.psymc-acc-mv-item {
  display: flex; align-items: center; gap: 14px;
  padding: 10px 12px; border-radius: 14px;
  background: #fff; border: 1.5px solid #EDEDED;
  text-decoration: none !important;
  transition: border-color 0.18s, transform 0.18s, box-shadow 0.18s; margin-bottom: 10px;
}
.psymc-acc-mv-item:hover { border-color: #FFB2EF; transform: translateX(3px); box-shadow: 0 4px 14px rgba(255,178,239,0.15); }
.psymc-acc-mv-ico { width: 52px; height: 52px; border-radius: 11px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; background: #F5F5F5; }
.psymc-acc-mv-ico img { width: 100%; height: 100%; object-fit: contain; display: block; padding: 4px; }
.psymc-acc-mv-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.psymc-acc-mv-badge {
  font-family: 'Nunito', sans-serif; font-size: 0.5rem; font-weight: 900;
  text-transform: uppercase; letter-spacing: 0.06em;
  display: inline-block; padding: 2px 5px; border-radius: 5px;
  width: fit-content;
}
.psymc-acc-mv-badge.hot { background: #fef2f2; color: #dc2626; }
.psymc-acc-mv-badge.new { background: #f0fdf4; color: #6ab87a; }
.psymc-acc-mv-badge.sale { background: #eff6ff; color: #1d4ed8; }
.psymc-acc-mv-name { font-family: 'Nunito', sans-serif; font-size: 14px; font-weight: 800; color: #1A1A1A; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.psymc-acc-mv-prices { display: flex; align-items: baseline; gap: 6px; }
.psymc-acc-mv-price { font-family: 'Bebas Neue', sans-serif; font-size: 20px; color: #1A1A1A; letter-spacing: 0.03em; }
.psymc-acc-mv-old { font-size: 12px; color: #d4a0a0; text-decoration: line-through; }
.psymc-acc-mv-btn {
  margin-top: auto; display: flex !important; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #FFB2EF 0%, #73DEF1 100%) !important;
  color: #1A1A1A !important; padding: 13px 18px; border-radius: 30px;
  font-family: 'Nunito', sans-serif; font-size: 0.85rem; font-weight: 900; letter-spacing: 0.02em;
  text-decoration: none !important; text-align: center;
  box-shadow: 0 4px 18px rgba(255,178,239,0.3);
  transition: transform 0.2s, box-shadow 0.2s, opacity 0.2s;
}
.psymc-acc-mv-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(255,178,239,0.45); opacity: 0.92; }

/* ════ NOSOTROS ════ */
.psymc-nos-outer {
  padding: 22px 26px; background: #fff;
  font-family: 'Nunito', sans-serif; min-height: 460px;
  display: flex; align-items: center;
}
.psymc-nos-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; width: 100%; }
.psymc-nos-card {
  background: #faf9ff; border: 1.5px solid #ede8ff; border-radius: 16px;
  padding: 20px 18px 18px; text-decoration: none !important;
  position: relative; overflow: hidden;
  transition: transform 0.22s cubic-bezier(.34,1.4,.64,1), border-color 0.18s, box-shadow 0.2s;
  display: flex; flex-direction: column; gap: 5px;
}
.psymc-nos-card:hover { transform: translateY(-4px); border-color: #c9a8e8; box-shadow: 0 10px 26px rgba(201,168,232,0.2); }
.psymc-nos-ico-wrap { width: 40px; height: 40px; border-radius: 11px; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; margin-bottom: 6px; }
.psymc-nos-title { font-family: 'Nunito', sans-serif; font-size: 1rem; font-weight: 900; color: #1a1025; }
.psymc-nos-desc { font-size: 0.73rem; color: #64748b; line-height: 1.55; }
.psymc-nos-link { font-family: 'Nunito', sans-serif; font-size: 0.76rem; font-weight: 800; color: #7c3aed; margin-top: 10px; display: block; text-decoration: none !important; }
.psymc-nos-watermark { position: absolute; bottom: -8px; right: -4px; font-size: 4.8rem; opacity: 0.05; pointer-events: none; line-height: 1; transition: opacity 0.22s; }
.psymc-nos-card:hover .psymc-nos-watermark { opacity: 0.09; }

/* ════ WOOCOMMERCE ════ */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  border-radius: 16px !important; border: 1.5px solid #ede8ff !important;
  background: #fff !important; overflow: hidden !important;
  box-shadow: none !important; padding: 0 !important;
  transition: transform 0.22s cubic-bezier(.34,1.4,.64,1), box-shadow 0.22s, border-color 0.2s !important;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(255,178,239,0.25), 0 4px 12px rgba(115,222,241,0.12) !important;
  border-color: #FFB2EF !important;
}
.woocommerce ul.products li.product a img {
  border-radius: 0 !important; margin: 0 !important;
  background: linear-gradient(135deg, #fdf4ff, #f0f9ff) !important;
  height: 180px !important; object-fit: contain !important;
  transition: transform 0.3s ease !important;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.05) !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: 'Nunito', sans-serif !important; font-size: 14px !important;
  font-weight: 800 !important; color: #1a1025 !important;
  line-height: 1.3 !important; padding: 0 14px !important; margin-top: 8px !important;
}
.woocommerce ul.products li.product .price {
  padding: 4px 14px 0 !important; display: flex !important;
  align-items: baseline !important; gap: 6px !important; flex-wrap: wrap !important;
}
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price > .amount {
  font-family: 'Bebas Neue', sans-serif !important; font-size: 22px !important;
  color: #7c3aed !important; text-decoration: none !important; letter-spacing: 0.03em !important;
}
.woocommerce ul.products li.product .price del { font-size: 12px !important; color: #aaa !important; font-weight: 400 !important; }
.woocommerce span.onsale {
  background: #FFB2EF !important; color: #7a1060 !important;
  font-family: 'Kalam', cursive !important; font-size: 11px !important;
  font-weight: 700 !important; border-radius: 20px !important; padding: 3px 12px !important;
  min-height: auto !important; min-width: auto !important; line-height: 1.6 !important;
  top: 10px !important; left: 10px !important; right: auto !important;
  box-shadow: 0 2px 8px rgba(255,178,239,0.5) !important;
}
.woocommerce ul.products li.product .button:not(.disabled),
.woocommerce ul.products li.product a.button {
  margin: 8px 14px 14px !important; width: calc(100% - 28px) !important;
  border-radius: 10px !important; font-family: 'Nunito', sans-serif !important;
  font-size: 12px !important; font-weight: 800 !important;
  letter-spacing: 0.06em !important; text-transform: uppercase !important;
  background: linear-gradient(135deg, #FFB2EF, #73DEF1) !important;
  color: #1a1025 !important; border: none !important;
  box-shadow: 0 4px 14px rgba(255,178,239,0.4) !important;
  transition: transform 0.15s, box-shadow 0.15s !important;
  padding: 10px 0 !important; display: block !important; text-align: center !important;
}
.woocommerce ul.products li.product .button:not(.disabled):hover {
  transform: scale(1.02) !important; box-shadow: 0 6px 20px rgba(255,178,239,0.55) !important;
}
.woocommerce ul.products li.product .button.disabled {
  background: #f1f0f5 !important; color: #bbb !important;
  box-shadow: none !important; cursor: not-allowed !important;
}


/* ════ FIX: botón cortado en featured panel ════ */
.psymc {
  min-height: 500px !important;
}
.psymc-feat {
  min-height: 476px !important;
}
.psymc-feat-slot {
  padding: 18px 20px !important;
}
.psymc-feat-img {
  height: 110px !important;
  margin-bottom: 10px !important;
}
.psymc-feat-title {
  font-size: 2.2rem !important;
  margin-bottom: 8px !important;
}
.psymc-feat-desc {
  font-size: 0.7rem !important;
  margin-bottom: 8px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.psymc-feat-pills {
  margin-bottom: 12px !important;
}

/* ════ FIX: espacio arriba — matar todo rastro del link oculto ════ */
#mega-menu-wrap-primary .mega-sub-menu > li > a.mega-menu-link,
#mega-menu-wrap-primary .mega-sub-menu > li.mega-menu-item > a,
#mega-menu-wrap-primary .mega-sub-menu > li.mega-menu-column > a {
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
}

/* ════ FIX: accesorios min-height igual que cartas ════ */
.psymc-acc-outer {
  min-height: 500px !important;
}
.psymc-acc-top {
  min-height: 240px !important;
}

/* ════ FIX: nosotros min-height ════ */
.psymc-nos-outer {
  min-height: 500px !important;
}

/* ════ FIX: espacio blanco arriba — nuclear ════ */
#mega-menu-wrap-primary .mega-sub-menu > li,
#mega-menu-wrap-primary .mega-sub-menu > li.mega-menu-item,
#mega-menu-wrap-primary .mega-sub-menu > li.mega-menu-column {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  float: none !important;
}
#mega-menu-wrap-primary .mega-sub-menu > li > a,
#mega-menu-wrap-primary .mega-sub-menu > li > a.mega-menu-link {
  all: unset !important;
  display: block !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}
#mega-menu-wrap-primary .mega-sub-menu .mega-widget-area {
  padding: 0 !important;
  margin: 0 !important;
}

/* ════ FIX: featured cartas — imagen grande arriba, contenido abajo ════ */
.psymc-feat-slot {
  padding: 0 !important;
  justify-content: flex-end !important;
}
.psymc-feat-img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 55% !important;
  border-radius: 0 !important;
  margin: 0 !important;
  z-index: 0 !important;
}
.psymc-feat-img::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important;
  height: 60% !important;
  background: linear-gradient(to bottom, transparent, #0f0a1e) !important;
  z-index: 1 !important;
}
.psymc-feat-tag,
.psymc-feat-title,
.psymc-feat-desc,
.psymc-feat-pills,
.psymc-feat-btn {
  position: relative !important;
  z-index: 2 !important;
}
.psymc-feat-tag { margin-bottom: 4px !important; }
.psymc-feat-title { font-size: 2rem !important; margin-bottom: 6px !important; }
.psymc-feat-desc { font-size: 0.68rem !important; margin-bottom: 8px !important; -webkit-line-clamp: 2 !important; display: -webkit-box !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
.psymc-feat-pills { margin-bottom: 12px !important; }
.psymc-feat-btn { margin-bottom: 18px !important; margin-left: 20px !important; margin-top: 0 !important; }

/* contenido del slot pegado abajo */
.psymc-feat-slot.active {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: 0 !important;
}
.psymc-feat-tag { padding-left: 20px !important; }
.psymc-feat-title { padding-left: 20px !important; }
.psymc-feat-desc { padding-left: 20px !important; padding-right: 16px !important; }
.psymc-feat-pills { padding-left: 20px !important; }

/* ════ FIX: accesorios derecha más ancha y texto en 1 línea ════ */
.psymc-acc-outer {
  grid-template-columns: 1fr 360px !important;
}
.psymc-acc-mv-name {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 0.84rem !important;
}
.psymc-acc-mv-item {
  padding: 13px 16px !important;
}
.psymc-acc-right {
  padding: 22px 20px !important;
}

/* ════ NUCLEAR: espacio blanco arriba mega menú ════ */
#mega-menu-wrap-primary .mega-sub-menu .mega-widget-area,
#mega-menu-wrap-primary .mega-sub-menu .widget,
#mega-menu-wrap-primary .mega-sub-menu .widget_custom_html,
#mega-menu-wrap-primary .mega-sub-menu .textwidget,
#mega-menu-wrap-primary .mega-sub-menu .custom-html-widget,
#mega-menu-wrap-primary .mega-sub-menu > li,
#mega-menu-wrap-primary .mega-sub-menu > li.mega-menu-column,
#mega-menu-wrap-primary .mega-sub-menu > li.mega-menu-item,
#mega-menu-wrap-primary .mega-sub-menu > li > ul {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

#mega-menu-wrap-primary .mega-sub-menu > li > a.mega-menu-link {
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  min-height: 0 !important;
  line-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
  font-size: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
}


/* ════ FIX DEFINITIVO: compensar el padding del puente ════ */
#mega-menu-wrap-primary .mega-sub-menu .widget_custom_html,
#mega-menu-wrap-primary .mega-sub-menu .custom-html-widget,
#mega-menu-wrap-primary .mega-sub-menu .textwidget {
  margin-top: -55px !important;
  position: relative !important;
  z-index: 2 !important;
}

/* ════ PRECIOS EN VERDE ════ */
.psymc-acc-mv-price {
  color: #16a34a !important;
}
.psymc-acc-mv-old {
  color: #aaa !important;
}

.psymc-nos-outer {
  margin-top: -40px !important;
}

/* ════ FIX: más vendidos accesorios — compacto como referencia ════ */
.psymc-acc-mv-item {
  padding: 10px 12px !important;
  border-radius: 12px !important;
  margin-bottom: 8px !important;
  gap: 10px !important;
}
.psymc-acc-mv-ico {
  width: 38px !important;
  height: 38px !important;
  border-radius: 10px !important;
  font-size: 1rem !important;
}
.psymc-acc-mv-badge {
  font-size: 0.58rem !important;
  margin-bottom: 1px !important;
}
.psymc-acc-mv-name {
  font-size: 0.8rem !important;
  font-weight: 800 !important;
}
.psymc-acc-mv-price {
  font-family: 'Nunito', sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 900 !important;
  color: #16a34a !important;
  letter-spacing: 0 !important;
}
.psymc-acc-mv-old {
  font-size: 0.65rem !important;
}
.psymc-acc-mv-prices {
  margin-top: 1px !important;
}

.woocommerce-notices-wrapper .woocommerce-error,
  .woocommerce-notices-wrapper .woocommerce-message {
      display: none !important;
  }


/* ════ Admin bar: ajustar panel mega menú ════ */
.admin-bar #mega-menu-wrap-primary .mega-sub-menu {
  top: 147px !important; /* 32px admin + 115px panel offset */
}

/* ════════════════════════════════════════════
   TABLET (≤1100px)
════════════════════════════════════════════ */
@media (max-width: 1100px) {
  #mega-menu-wrap-primary .mega-sub-menu {
    top: 115px !important;
    width: calc(100vw - 24px) !important;
  }
  .admin-bar #mega-menu-wrap-primary .mega-sub-menu {
    top: 147px !important;
  }
  .psymc { grid-template-columns: 200px 1fr !important; }
  .psymc-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .psymc-acc-outer { grid-template-columns: 1fr 280px !important; }

  /* ── Iconos tablet: ligeramente más pequeños ── */
  #psy-desktop-header svg,
  #psy-desktop-header .psy-header-icon-btn svg {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
  }
  #psy-desktop-header .psy-header-account svg {
    width: 18px !important;
    height: 18px !important;
  }
  #psy-desktop-header .psy-header-cart svg {
    width: 18px !important;
    height: 18px !important;
  }
}

/* Quitar outline y bordes de foco — todos los elementos */
*:focus {
  outline: none !important;
}
a:focus, button:focus, select:focus, li:focus {
  outline: none;
}
a, button, select, * {
  -webkit-tap-highlight-color: transparent;
}
a:focus, button:focus, select:focus {
  box-shadow: none;
}
input:focus, input[type="text"]:focus, input[type="email"]:focus,
input[type="url"]:focus, input[type="password"]:focus,
input[type="reset"]:focus, input[type="search"]:focus,
input[type="number"]:focus, textarea:focus,
.wp-block-search__input:focus,
#coupon_code:focus {
  border: none !important;
}

/* ════════════════════════════════════════════
   MÓVIL/TABLET ≤1024px
   Header custom desktop = #psy-desktop-header (oculto)
   Header custom móvil   = #psy-mobile-header  (visible)
   Max Mega Menu mobile  = hamburger accordion
════════════════════════════════════════════ */
@media (max-width: 1024px) {

  /* ── Layout base ── */
  html { overflow-x: hidden !important; max-width: 100vw !important; }
  body { padding-top: 60px !important; }
  body.home { padding-top: 60px !important; }
  .admin-bar body, body.admin-bar { padding-top: 116px !important; }
  #page, #content, .site-content, .ast-container, #primary, .site-main {
    width: 100% !important; max-width: 100% !important;
    padding-left: 0 !important; padding-right: 0 !important;
  }

  /* ── Account pages: forzar zero gap en móvil/tablet ── */
  body.woocommerce-account #psy-main,
  body.woocommerce-account #psy-main > .elementor,
  body.woocommerce-account #psy-main > .elementor > .elementor-section-wrap,
  body.woocommerce-account .elementor-section-wrap,
  body.woocommerce-account #psy-main .elementor-section,
  body.woocommerce-account #psy-main .elementor-top-section,
  body.woocommerce-account #psy-main .e-con,
  body.woocommerce-account #psy-main .e-con-inner,
  body.woocommerce-account #psy-main .elementor-element {
    padding-top: 0 !important;
    padding-block-start: 0 !important;
    margin-top: 0 !important;
    margin-block-start: 0 !important;
    min-height: 0 !important;
    --padding-top: 0px;
    --padding-block-start: 0px;
  }

  /* ── Header desktop: ocultar en móvil ── */
  #psy-desktop-header { display: none !important; }

  /* ── Header móvil: mostrar, sticky, blanco ── */
  #psy-mobile-header {
    display: block !important;
    position: fixed !important;
    top: 0 !important; left: 0 !important;
    width: 100% !important; z-index: 9999 !important;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08) !important;
  }
  .admin-bar #psy-mobile-header { top: 46px !important; }

  /* Logo móvil/tablet: tamaño proporcional al header de 60px */
  #psy-mobile-header .psy-logo-img {
    height: 26px !important;
    max-height: 26px !important;
    width: auto !important;
    display: block !important;
  }

  /* ── TODOS los SVG del header móvil en negro ── */
  #psy-mobile-header svg,
  #psy-mobile-header svg * {
    fill: #1a1025 !important;
    stroke: #1a1025 !important;
    color: #1a1025 !important;
  }

  /* ── Botones icono — reducidos a 34px en móvil para no apiñarse contra el logo ── */
  #psy-mobile-header .psy-header-icon-btn {
    width: 34px !important;
    height: 34px !important;
  }
  /* Iconos SVG: lupa y cuenta */
  #psy-mobile-header .psy-header-account svg,
  #psy-mobile-header .psy-header-search svg {
    width: 17px !important;
    height: 17px !important;
  }
  /* Hamburguesa: 18px */
  #psy-mobile-header #psy-hamburger svg {
    width: 18px !important;
    height: 18px !important;
  }
  /* Carrito: icono 15px */
  #psy-mobile-header .psy-header-cart svg {
    width: 15px !important;
    height: 15px !important;
    display: inline-block !important;
    vertical-align: middle !important;
  }
  /* Forzar que los wrappers de iconos estén alineados */
  #psy-mobile-header .psy-header-cart,
  #psy-mobile-header .psy-header-cart a {
    display: inline-flex !important;
    align-items: center !important;
    height: auto !important;
    line-height: 1 !important;
    overflow: visible !important;
  }
  /* Texto e iconos del nav en negro */
  #psy-mobile-header a,
  #psy-mobile-header button {
    color: #1a1025 !important;
  }

  /* ════ Max Mega Menu — móvil ════
     MMM solo activo en "Menú principal" (desktop).
     En móvil, el drawer custom (psy-mob-overlay) gestiona el menú.
     Los estilos cubren primary + off-canvas + .mega-menu-wrap como fallback.
  ════ */

  /* Cancelar el panel fixed de desktop en móvil */
  #mega-menu-wrap-primary .mega-menu-item .mega-sub-menu {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    top: auto !important;
    left: auto !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
    z-index: auto !important;
  }

  /* Sub-menu acordeón — ambos wrappers */
  #mega-menu-wrap-primary .mega-menu-item .mega-sub-menu,
  #mega-menu-wrap-off-canvas .mega-menu-item .mega-sub-menu,
  .mega-menu-wrap .mega-menu-item .mega-sub-menu {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    top: auto !important;
    left: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #faf9ff !important;
    border-top: 1px solid #ede8ff !important;
    z-index: auto !important;
  }

  /* Cancelar margin-top negativo del bridge desktop */
  #mega-menu-wrap-primary .mega-sub-menu .widget_custom_html,
  #mega-menu-wrap-primary .mega-sub-menu .custom-html-widget,
  #mega-menu-wrap-primary .mega-sub-menu .textwidget,
  #mega-menu-wrap-off-canvas .mega-sub-menu .widget_custom_html,
  #mega-menu-wrap-off-canvas .mega-sub-menu .custom-html-widget,
  #mega-menu-wrap-off-canvas .mega-sub-menu .textwidget,
  .mega-menu-wrap .mega-sub-menu .widget_custom_html,
  .mega-menu-wrap .mega-sub-menu .custom-html-widget,
  .mega-menu-wrap .mega-sub-menu .textwidget {
    margin-top: 0 !important;
    position: static !important;
    z-index: auto !important;
  }

  /* Widget area con scroll si el contenido es largo */
  #mega-menu-wrap-primary .mega-sub-menu .mega-widget-area,
  #mega-menu-wrap-off-canvas .mega-sub-menu .mega-widget-area,
  .mega-menu-wrap .mega-sub-menu .mega-widget-area {
    max-height: 75vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 !important;
  }

  /* Links de primer nivel del menú */
  #mega-menu-primary > li.mega-menu-item > a.mega-menu-link,
  #mega-menu-off-canvas > li.mega-menu-item > a.mega-menu-link,
  .mega-menu-wrap .mega-menu > li.mega-menu-item > a.mega-menu-link {
    font-size: 1rem !important;
    padding: 14px 20px !important;
    color: #1a1025 !important;
    font-weight: 800 !important;
    border-bottom: 1px solid #f0ebff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #fff !important;
    font-family: 'Nunito', sans-serif !important;
  }

  /* Off-canvas wrapper: scroll nativo */
  #mega-menu-wrap-off-canvas {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* ════ psymc cartas dentro del menú móvil ════ */
  .psymc {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Sidebar: horizontal scrolleable */
  .psymc-side {
    flex-direction: row !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-right: none !important;
    border-bottom: 1px solid #f0ebff !important;
    padding: 0 !important;
    gap: 0 !important;
    scrollbar-width: none !important;
    background: #faf9ff !important;
    min-height: auto !important;
  }
  .psymc-side::-webkit-scrollbar { display: none !important; }
  .psymc-tab {
    flex-direction: row !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    padding: 10px 14px !important;
    border-left: none !important;
    border-bottom: 3px solid transparent !important;
    gap: 8px !important;
    min-width: auto !important;
  }
  .psymc-tab:hover, .psymc-tab.active {
    border-left-color: transparent !important;
    border-bottom-color: #b794f4 !important;
    background: #f3eeff !important;
  }
  .psymc-tab b { font-size: 0.8rem !important; white-space: nowrap !important; }
  .psymc-tab small { display: none !important; }
  .psymc-ico { width: 28px !important; height: 28px !important; font-size: 0.85rem !important; flex-shrink: 0 !important; }
  .psymc-hr, .psymc-lang-section { display: none !important; }

  /* Panel central */
  .psymc-main { padding: 12px !important; }
  .psymc-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .psymc-img { flex: none !important; height: 90px !important; }
  .psymc-body { padding: 8px 10px 10px !important; }
  .psymc-name { font-size: 0.82rem !important; }
  .psymc-sub { font-size: 0.6rem !important; }
  .psymc-tags { margin-top: 5px !important; }

  /* ════ psymc accesorios ════ */
  .psymc-acc-outer {
    display: flex !important;
    flex-direction: column !important;
    min-height: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .psymc-acc-left { padding: 12px !important; }
  .psymc-acc-cats { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .psymc-acc-top { min-height: 90px !important; font-size: 2rem !important; }
  .psymc-acc-footer { padding: 10px 12px 14px !important; }
  .psymc-acc-title { font-size: 0.82rem !important; }
  .psymc-acc-ver { font-size: 0.68rem !important; }
  .psymc-acc-right {
    border-left: none !important;
    border-top: 1px solid #f0ebff !important;
    padding: 12px !important;
  }
  .psymc-acc-mv-name { white-space: normal !important; }

  /* ════ psymc nosotros ════ */
  .psymc-nos-outer {
    min-height: auto !important;
    margin-top: 0 !important;
    padding: 12px !important;
  }
  .psymc-nos-grid { grid-template-columns: 1fr !important; }

  /* ════ psymc dentro del off-canvas: forzar ancho y scroll ════ */
  #mega-menu-wrap-off-canvas .psymc,
  #mega-menu-wrap-off-canvas .psymc-acc-outer,
  #mega-menu-wrap-off-canvas .psymc-nos-outer,
  .mega-menu-wrap .psymc,
  .mega-menu-wrap .psymc-acc-outer {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  /* Off-canvas: panel lateral fijo ancho conocido */
  #mega-menu-wrap-off-canvas {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* ════ Ajustes off-canvas: tabs más pequeñas ════ */
  #mega-menu-wrap-off-canvas .psymc-ico,
  .mega-menu-wrap .psymc-ico {
    width: 26px !important;
    height: 26px !important;
    font-size: 0.8rem !important;
  }
  #mega-menu-wrap-off-canvas .psymc-tab b,
  .mega-menu-wrap .psymc-tab b {
    font-size: 0.75rem !important;
  }
  #mega-menu-wrap-off-canvas .psymc-img,
  .mega-menu-wrap .psymc-img {
    height: 80px !important;
  }
  #mega-menu-wrap-off-canvas .psymc-acc-top,
  .mega-menu-wrap .psymc-acc-top {
    min-height: 80px !important;
    font-size: 1.8rem !important;
  }
}

/* ════ Ajustes específicos para móvil puro (≤480px) ════ */
@media (max-width: 480px) {
  #psy-mobile-header .psy-header-search svg {
    width: 14px !important;
    height: 14px !important;
  }
  /* Logo ligeramente más pequeño en móvil puro */
  #psy-mobile-header .psy-logo-img {
    height: 22px !important;
    max-height: 22px !important;
  }
}

/* ════════════════════════════════════════════
   MENÚ MÓVIL CUSTOM — drawer premium v4
   Limpio, grande, premium. Espacio a la derecha.
════════════════════════════════════════════ */

/* Overlay */
.psy-mob-overlay {
  position: fixed; inset: 0; z-index: 999999;
  background: rgba(10,6,20,0.35);
  opacity: 0; visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
.psy-mob-overlay.open { opacity: 1; visibility: visible; }

/* Bloquear scroll */
body.psy-mob-noscroll {
  overflow: hidden !important;
  position: fixed !important;
  width: 100% !important;
}

/* Drawer — deja espacio a la derecha en móvil */
.psy-mob-drawer {
  position: fixed; top: 0; left: 0;
  height: 100%;
  width: calc(100vw - 56px);
  max-width: 420px;
  background: #fff;
  transform: translateX(-100%);
  transition: transform 0.35s cubic-bezier(.22,1,.36,1);
  overflow-y: auto; overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  font-family: 'Nunito', sans-serif;
  z-index: 1000000;
  box-shadow: 4px 0 24px rgba(0,0,0,0.08);
}
.psy-mob-overlay.open .psy-mob-drawer { transform: translateX(0); }

/* ── Forzar capitalización correcta ── */
.psy-mob-drawer,
.psy-mob-drawer * {
  text-transform: none !important;
}
.psy-mob-htitle {
  text-transform: uppercase !important;
}
.psy-mob-seclabel {
  text-transform: uppercase !important;
}
.psy-mob-subtag {
  text-transform: uppercase !important;
}

/* ── Cabecera sticky ── */
.psy-mob-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #f0f0f0;
  position: sticky; top: 0; background: #fff; z-index: 2;
}
.psy-mob-htitle {
  font-size: 0.75rem; font-weight: 900; color: #999;
  letter-spacing: 0.18em;
}
.psy-mob-close {
  width: 32px; height: 32px;
  border: 1px solid #e8e8e8; border-radius: 8px;
  background: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; color: #999; flex-shrink: 0;
  transition: background 0.15s, color 0.15s;
}
.psy-mob-close:active { background: #f5f5f5; color: #1a1025; }

/* ── Items principales ── */
.psy-mob-link {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #f0f0f0;
  font-size: 1.05rem; font-weight: 800; color: #1a1025;
  text-decoration: none !important; cursor: pointer;
  transition: background 0.15s;
  -webkit-tap-highlight-color: transparent;
}
.psy-mob-link:hover,
.psy-mob-link:active,
.psy-mob-link:focus,
.psy-mob-link:visited,
a.psy-mob-link,
a.psy-mob-link:hover,
a.psy-mob-link:active,
a.psy-mob-link:focus,
a.psy-mob-link:visited {
  color: #1a1025 !important;
  background: #fafafa;
  -webkit-text-fill-color: #1a1025 !important;
}
.psy-mob-chev {
  color: #888; flex-shrink: 0;
  transition: transform 0.3s cubic-bezier(.22,1,.36,1), color 0.2s;
}
.psy-mob-link.open { color: #1a1025; background: #f5f5f5; }
.psy-mob-link.open .psy-mob-chev { transform: rotate(180deg); color: #1a1025; }

/* ── Panel acordeón ── */
.psy-mob-panel {
  max-height: 0; overflow: hidden;
  transition: max-height 0.45s cubic-bezier(.22,1,.36,1);
  background: #fafafa;
}
.psy-mob-panel.open { max-height: 2000px; }

/* ── Sección label ── */
.psy-mob-seclabel {
  font-family: 'Nunito', sans-serif; font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.16em; color: #bbb;
  padding: 18px 24px 6px 24px;
}

/* ── Sublinks con foto ── */
.psy-mob-sublink {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 24px;
  border-bottom: 1px solid #f0f0f0;
  text-decoration: none !important;
  transition: background 0.12s;
}
.psy-mob-sublink:active { background: #f0f0f0; }
.psy-mob-subico {
  width: 44px; height: 44px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; overflow: hidden;
  background: #f0eef5;
  font-size: 1.3rem;
}
.psy-mob-subico img {
  width: 34px; height: 34px;
  object-fit: contain;
}
.psy-mob-subname {
  font-family: 'Nunito', sans-serif;
  font-size: 0.95rem; font-weight: 800; color: #1a1025;
  line-height: 1.25;
}
.psy-mob-subdesc {
  font-family: 'Nunito', sans-serif;
  font-size: 0.75rem; color: #aaa; margin-top: 2px;
}
.psy-mob-subtag {
  display: inline-block;
  font-family: 'Nunito', sans-serif; font-size: 0.6rem;
  font-weight: 900;
  padding: 2px 7px; border-radius: 5px; margin-top: 4px;
  letter-spacing: 0.03em;
}
.psy-mob-subtag.hot { background: #fef2f2; color: #dc2626; }
.psy-mob-subtag.new { background: #f0fdf4; color: #16a34a; }
.psy-mob-subtag.sale{ background: #eff6ff; color: #1d4ed8; }

/* ── Product card mini dentro de acordeón ── */
.psy-mob-products {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 10px; padding: 14px 24px 18px;
}
.psy-mob-prodcard {
  border: 1px solid #ebebeb; border-radius: 14px;
  overflow: hidden; background: #fff;
  text-decoration: none !important; display: block;
  transition: border-color 0.15s;
}
.psy-mob-prodcard:active { border-color: #ccc; }
.psy-mob-prodimg {
  height: 110px; display: flex; align-items: center;
  justify-content: center;
  background: #f8f7fa;
  padding: 10px;
}
.psy-mob-prodimg img {
  max-height: 100%; max-width: 100%;
  object-fit: contain;
  border-radius: 4px;
}
.psy-mob-prodbody {
  padding: 6px 10px 8px;
  border-top: 1px solid #f0f0f0;
}
.psy-mob-prodname {
  font-family: 'Nunito', sans-serif;
  font-size: 0.78rem; font-weight: 800; color: #1a1025;
  line-height: 1.2;
}
.psy-mob-prodsub {
  font-family: 'Nunito', sans-serif;
  font-size: 0.65rem; color: #999; margin-top: 1px;
}

/* ── Ver todo CTA ── */
.psy-mob-viewall {
  display: block;
  margin: 0 24px 16px;
  padding: 13px 0;
  border-radius: 10px;
  background: #1a1025; color: #fff !important;
  font-family: 'Nunito', sans-serif; font-size: 0.88rem;
  font-weight: 800; text-align: center;
  text-decoration: none !important;
  transition: opacity 0.15s;
}
.psy-mob-viewall:active { opacity: 0.85; }

/* ── Footer del drawer ── */
.psy-mob-footer {
  padding: 24px 24px 40px;
  display: flex; justify-content: center;
  border-top: 1px solid #f0f0f0;
}
.psy-mob-footer img {
  height: 22px; width: auto;
}



/* ════════════════════════════════════════════════════════════════
   MY ACCOUNT — migrado a assets/css/my-account.css (v1.0.0)
   Se encola condicionalmente en is_account_page() — ver functions.php.
   NO pegar aquí reglas de Mi Cuenta: este archivo ya no las contiene.
════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════
   LOGIN / REGISTER PAGE — psy-login-*
════════════════════════════════════════════════════════════════ */
.psy-login-wrap {
  /* Full-bleed: romper el container de Elementor */
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  min-height: calc(100vh - 72px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 40px;
  background: #FDFDFD;
}
.psy-login-grid {
  display: flex !important;
  flex-direction: row !important;
  gap: 24px;
  width: 100%;
  max-width: 900px;
  align-items: flex-start;
}
.psy-login-panel {
  flex: 1 !important;
  min-width: 0 !important;
  background: #fff;
  border: 1.5px solid #EDEDED;
  border-radius: 18px;
  padding: 36px 32px;
}
.psy-login-title {
  font-family: 'Nunito', sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: #1A1A1A;
  margin-bottom: 6px;
}
.psy-login-sub {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  color: #666;
  font-weight: 500;
  margin-bottom: 28px;
}
.psy-login-divider {
  width: 1px;
  background: #EDEDED;
  align-self: stretch;
}
.psy-login-fg {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}
.psy-login-label {
  font-family: 'Nunito', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #666;
}
.psy-login-label .required { color: #C44FAB; margin-left: 2px; }
.psy-login-input {
  padding: 11px 14px;
  border: 1.5px solid #EDEDED;
  border-radius: 9px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #1A1A1A;
  background: #FDFDFD;
  outline: none;
  width: 100%;
  transition: border-color 0.15s;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: none;
}
.psy-login-input:focus { border-color: #1A1A1A; }
.psy-login-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
  margin-top: 4px;
}
.psy-login-remember {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #666;
  cursor: pointer;
}
.psy-login-remember input[type="checkbox"] {
  width: 15px; height: 15px;
  border-radius: 4px;
  border: 1.5px solid #EDEDED;
  accent-color: #1A1A1A;
  cursor: pointer;
}
.psy-login-forgot {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #666;
  text-decoration: none;
  transition: color 0.15s;
}
.psy-login-forgot:hover { color: #1A1A1A; }
.psy-login-actions { margin-top: 4px; }
.psy-login-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 18px;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: #1A1A1A;
  color: #fff;
  border: 1.5px solid #1A1A1A;
  border-radius: 9px;
  cursor: pointer;
  transition: background 0.15s;
  text-decoration: none;
}
.psy-login-btn:hover { background: #333; border-color: #333; color: #fff; }
.psy-login-privacy {
  font-family: 'Nunito', sans-serif;
  font-size: 12px;
  color: #999;
  font-weight: 500;
  margin-bottom: 20px;
  line-height: 1.6;
}
.psy-login-privacy a { color: #666; }
@media (max-width: 640px) {
  .psy-login-grid { flex-direction: column !important; }
  .psy-login-divider { display: none; }
  .psy-login-wrap { padding: 28px 16px; align-items: flex-start; }
}


/* ════ GUTENBERG — bloques HTML personalizados a ancho completo ════
   Aplica a todos los bloques "HTML personalizado" de Gutenberg.
   El contenedor .entry-content hereda el max-width del tema;
   lo eliminamos para que los bloques HTML lleguen al borde del layout. ════ */
.wp-block-html {
  max-width: none !important;
  width: 100% !important;
  box-sizing: border-box;
}
.entry-content .wp-block-html {
  margin-left: 0 !important;
  margin-right: 0 !important;
}



/* ════════════════════════════════════════════════════════════════
   AUTH MODAL — Login / Registro (psy-auth-*)
   Modal centrado compacto — el panel se dimensiona al contenido.
════════════════════════════════════════════════════════════════ */
.psy-auth-overlay {
  position: fixed;
  inset: 0;
  z-index: 999990;
  background: rgba(10, 6, 20, 0.45);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s, visibility 0.25s;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: grid;
  place-items: center;
  padding: 20px;
  box-sizing: border-box;
  overflow-y: auto;
}
.psy-auth-overlay.open {
  opacity: 1;
  visibility: visible;
}
.psy-auth-panel {
  position: relative;
  width: 100%;
  max-width: 380px;
  height: auto;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
  transform: scale(0.96) translateY(8px);
  opacity: 0;
  transition: transform 0.28s cubic-bezier(.22, 1, .36, 1), opacity 0.28s;
  overflow: hidden;
  z-index: 999999;
}
.psy-auth-overlay.open .psy-auth-panel {
  transform: scale(1) translateY(0);
  opacity: 1;
}

#psy-auth-login-view,
#psy-auth-register-view {
  display: block;
  height: auto;
}
.psy-auth-header {
  padding: 22px 24px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.psy-auth-title {
  font-family: 'Nunito', sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: #1A1A1A;
}
.psy-auth-close {
  width: 32px; height: 32px;
  border: none;
  background: none;
  cursor: pointer;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: #666;
  transition: background 0.15s;
  flex-shrink: 0;
}
.psy-auth-close:hover { background: #F0F0F0; }
.psy-auth-close svg { width: 16px; height: 16px; }
.psy-auth-body {
  padding: 20px 24px 22px;
  display: flex;
  flex-direction: column;
}
.psy-auth-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.psy-auth-field { display: flex; flex-direction: column; gap: 6px; }
.psy-auth-label {
  font-family: 'Nunito', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #666;
}
.psy-auth-input {
  padding: 10px 14px;
  border: 1.5px solid #EDEDED;
  border-radius: 8px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #1A1A1A;
  background: #FDFDFD;
  outline: none;
  transition: border-color 0.15s;
  width: 100%;
  box-sizing: border-box;
}
.psy-auth-input:focus { border-color: #1A1A1A; }
.psy-auth-forgot {
  font-family: 'Nunito', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #666;
  text-decoration: none;
  text-align: right;
  transition: color 0.15s;
  align-self: flex-end;
}
.psy-auth-forgot:hover { color: #1A1A1A; }
.psy-auth-submit {
  width: 100%;
  padding: 12px;
  margin-top: 4px;
  background: #1A1A1A;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: background 0.15s;
}
.psy-auth-submit:hover    { background: #333; }
.psy-auth-submit:disabled { background: #ccc; cursor: not-allowed; }
.psy-auth-error {
  background: #FFF5FD;
  border: 1px solid #f5c6ea;
  color: #C44FAB;
  padding: 10px 14px;
  border-radius: 8px;
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  font-weight: 600;
  display: none;
}
.psy-auth-error.visible { display: block; }
.psy-auth-success {
  background: #f0fdf4;
  border: 1px solid #c6e8cf;
  color: #16a34a;
  padding: 10px 14px;
  border-radius: 8px;
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  font-weight: 600;
  display: none;
}
.psy-auth-success.visible { display: block; }
.psy-auth-footer {
  padding: 14px 24px 18px;
  border-top: 1px solid #F0F0F0;
  text-align: center;
  background: #FAFAFA;
}
.psy-auth-switch {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  color: #666;
  font-weight: 500;
}
.psy-auth-switch a {
  color: #1A1A1A;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
}

/* Botón account en header — cuando es <button> en lugar de <a> */
#psy-account-trigger,
#psy-account-trigger-mob {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}


@media (max-width: 480px) {
  .psy-auth-overlay { padding: 12px; }
  .psy-auth-panel { max-width: 100%; border-radius: 12px; }
  .psy-auth-header { padding: 18px 20px 0; }
  .psy-auth-body { padding: 16px 20px 18px; }
  .psy-auth-footer { padding: 12px 20px 14px; }
}


/* ════ PSYPOINTS STORE PAGE TEMPLATE — Full Width ════ */
body.page-template-page-psypoints-store #psy-main {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
body.page-template-page-psypoints-store .psyst-hero,
body.page-template-page-psypoints-store .psyst-notice,
body.page-template-page-psypoints-store .psyst-store-section,
body.page-template-page-psypoints-store .psyst-cta {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
