/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* =========================================================
   POKEVIN — STYLE SHEET MAESTRO
   Índice:
   1) Variables globales y base
   2) Capas decorativas (grano + luces)
   3) Keyframes globales
   4) Botones globales (HTML + widget Elementor)
   5) Announcement bar
   6) Header
   7) Subbar
   8) Header / Subbar responsive
   9) Hero
   10) Footer
   11) Atoms de sección (kicker, tag, section-head, section-link)
   12) Universe Selector (3 tiles: Pokémon, Dragon Ball, One Piece)
   13) Drop of the Week (preventa destacada con countdown)
   14) Filters / Chips (atom global)
   15) Product Grid + Cards (atom global)
   16) Universe blocks: Pokémon / Dragon Ball / One Piece backgrounds
   17) Spotlight (Card of the week)
   18) PSA Vault
   19) Why Pokevin (4 pilares)
   20) Reviews
   21) Sell my Collection (CTA)
   22) Community (pulls grid)
   23) Newsletter Banner
   24) FAQ
   25) Checkout · Page Hero (breadcrumbs + título + steps)
   26) Checkout · Form (WooCommerce Checkout Page widget) + Summary + Trust strip
   27) Brand Hub Pages (/pokemon/, /dragon-ball/, /one-piece/)
   28) WooCommerce loop product cards (POKEVIN style)
   29) Big CTA bottom (hub pages)
   30) Type Tiles (menú visual por tipo de producto)
   31) Brand banner inferior (Vintage WOTC / Fusion World / Alt-arts)
   32) Service / Info pages (drops, vault, sell, faq, about, contact, legal)
   33) Elementor Form widget (.pkv-form)
   34) Cart · Page Hero (breadcrumbs + título + steps)
   35) Cart · Form (WooCommerce [woocommerce_cart] shortcode)
36) MINI-CART DROPDOWN
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;700;800&family=Bangers&display=swap');

/* =========================================================
   1) VARIABLES + BASE
   ========================================================= */
:root{
  --black:#050609; --black2:#0a0c14; --black3:#11141d; --black4:#191d29;
  --white:#fff; --off:#f4f6fa; --muted:#9aa3b6; --muted2:#6b7388;
  --red:#e50922; --red2:#a70618; --red3:#ff2a3d;
  --yellow:#ffd21f; --yellow2:#f5a900; --yellow3:#fff094;
  --blue:#246bfd; --blue2:#0a66b6; --blue3:#5a9eff;
  --orange:#f2a007; --orange2:#ff8a00;
  --green:#19c37d; --violet:#9b5cff;
  --display:'Sora',system-ui,sans-serif;
  --sans:'Manrope',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --hero:'Bangers',var(--display);
  --max:1480px;
  --r-sm:10px; --r-md:14px; --r-lg:20px; --r-xl:28px; --r-2xl:36px;
}

html{ scroll-behavior:smooth; }
body{
  font-family:var(--sans);
  background:var(--black);
  color:var(--white);
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body a{ color:inherit; text-decoration:none; }
body img{ display:block; max-width:100%; }
::selection{ background:var(--yellow); color:#000; }

/* Anclas con offset por header sticky */
section[id]{ scroll-margin-top:108px; }


/* =========================================================
   2) CAPAS DECORATIVAS GLOBALES (grano + luces ambientales)
   ========================================================= */
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:1;
  opacity:.045;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:48px 48px;
}
body::after{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(1200px 800px at 50% -10%, rgba(229,9,34,.08), transparent 60%),
    radial-gradient(900px 600px at 100% 100%, rgba(255,210,31,.05), transparent 60%);
}
/* Asegura que el contenido quede por encima de los overlays */
.elementor, .elementor-section, .elementor-element{ position:relative; z-index:2; }


/* =========================================================
   3) KEYFRAMES GLOBALES
   ========================================================= */
@keyframes pkv-blink   { 50%{ opacity:.32 } }
@keyframes pkv-marquee { from{ transform:translateX(0) } to{ transform:translateX(-50%) } }
@keyframes pkv-spin    { to { transform:rotate(360deg); } }
@keyframes pkv-float   { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-12px); } }
@keyframes pkv-shimmer { to { background-position:200% 200%; } }
@keyframes pkv-pulse-ring{
  0%   { box-shadow:0 0 0 0    rgba(229,9,34,.55); }
  80%  { box-shadow:0 0 0 16px rgba(229,9,34,0); }
  100% { box-shadow:0 0 0 0    rgba(229,9,34,0); }
}


/* =========================================================
   4) BOTONES GLOBALES POKEVIN
   Funciona con:
   - HTML widget:        <a class="pkv-btn pkv-btn-primary">…</a>
   - Widget Elementor:   Button con CSS Classes "pkv-btn pkv-btn-primary"
   ========================================================= */

/* --- Base --- */
a.pkv-btn,
button.pkv-btn,
.elementor-widget-button.pkv-btn .elementor-button{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:54px; padding:16px 26px;
  border-radius:14px; border:0; cursor:pointer;
  font-family:var(--display); font-size:13px; font-weight:800;
  text-transform:uppercase; letter-spacing:.02em;
  transition:.22s cubic-bezier(.2,.8,.2,1);
  text-decoration:none;
  position:relative;
}
/* Wrapper interno del widget (icono + texto) */
.elementor-widget-button.pkv-btn .elementor-button-content-wrapper{
  display:inline-flex; align-items:center; gap:10px;
}
.elementor-widget-button.pkv-btn .elementor-button-icon{
  margin:0; display:inline-flex; align-items:center;
}
a.pkv-btn svg,
button.pkv-btn svg,
.elementor-widget-button.pkv-btn .elementor-button-icon svg,
.elementor-widget-button.pkv-btn .elementor-button-icon i{
  width:16px; height:16px; font-size:16px;
}

/* --- PRIMARY (amarillo gradiente con doble borde) --- */
a.pkv-btn-primary,
button.pkv-btn-primary,
.elementor-widget-button.pkv-btn-primary .elementor-button{
  background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  color:#0a0a0a;
  box-shadow:
    0 0 0 2px #000,
    0 0 0 4px rgba(255,255,255,.92),
    0 22px 48px rgba(255,168,0,.35),
    inset 0 1px 0 rgba(255,255,255,.65);
}
a.pkv-btn-primary:hover,
button.pkv-btn-primary:hover,
.elementor-widget-button.pkv-btn-primary .elementor-button:hover{
  transform:translateY(-3px) rotate(-.6deg);
  background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  color:#0a0a0a;
}

/* --- GHOST (transparente con borde blanco grueso) --- */
a.pkv-btn-ghost,
button.pkv-btn-ghost,
.elementor-widget-button.pkv-btn-ghost .elementor-button{
  background:rgba(255,255,255,.06); color:#fff;
  border:2px solid rgba(255,255,255,.86);
  box-shadow:0 0 0 2px #000, inset 0 1px 0 rgba(255,255,255,.06);
}
a.pkv-btn-ghost:hover,
button.pkv-btn-ghost:hover,
.elementor-widget-button.pkv-btn-ghost .elementor-button:hover{
  background:#fff; color:#000; border-color:#fff;
  transform:translateY(-3px);
}

/* --- OUTLINE --- */
a.pkv-btn-outline,
button.pkv-btn-outline,
.elementor-widget-button.pkv-btn-outline .elementor-button{
  background:transparent; color:#fff;
  border:2px solid rgba(255,255,255,.45);
}
a.pkv-btn-outline:hover,
button.pkv-btn-outline:hover,
.elementor-widget-button.pkv-btn-outline .elementor-button:hover{
  background:#fff; color:#000; border-color:#fff;
  transform:translateY(-3px);
}

/* --- RED --- */
a.pkv-btn-red,
button.pkv-btn-red,
.elementor-widget-button.pkv-btn-red .elementor-button{
  background:linear-gradient(135deg, var(--red3), var(--red2));
  color:#fff;
  box-shadow:0 0 0 2px #000, 0 18px 38px rgba(229,9,34,.4);
}
a.pkv-btn-red:hover,
button.pkv-btn-red:hover,
.elementor-widget-button.pkv-btn-red .elementor-button:hover{
  transform:translateY(-3px);
}


/* =========================================================
   5) ANNOUNCEMENT BAR
   ========================================================= */
.announce{
  background:linear-gradient(90deg,#7a0411 0%, var(--red2) 25%, var(--red) 50%, var(--red2) 75%, #7a0411 100%);
  border-bottom:2px solid #000;
  position:relative; overflow:hidden;
}
.announce::before{
  content:""; position:absolute; inset:0;
  background-image:repeating-linear-gradient(135deg, transparent 0 14px, rgba(255,255,255,.04) 14px 15px);
  pointer-events:none;
}
.announce-inner{
  max-width:var(--max); margin:auto; padding:9px 36px;
  display:flex; align-items:center; justify-content:space-between; gap:32px;
  font-family:var(--mono); font-size:10.5px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase;
  position:relative; z-index:2; color:#fff;
}
.announce-track{ display:flex; gap:36px; overflow:hidden; align-items:center; flex:1; }
.announce-rail{ display:flex; gap:36px; animation:pkv-marquee 38s linear infinite; flex:0 0 auto; align-items:center; }
.announce-item{ display:inline-flex; align-items:center; gap:9px; white-space:nowrap; }
.announce-item::before{
  content:""; width:6px; height:6px; border-radius:99px;
  background:var(--yellow); box-shadow:0 0 10px var(--yellow);
}
.announce-actions{ display:flex; gap:22px; white-space:nowrap; align-items:center; }
.announce-actions a{ transition:.2s; display:inline-flex; align-items:center; gap:6px; color:#fff; }
.announce-actions a:hover{ color:var(--yellow); }
.announce-flag{
  display:inline-flex; align-items:center; gap:6px; padding:3px 8px;
  border-radius:6px; background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.2);
}


/* =========================================================
   6) HEADER
   ========================================================= */
.pkv-header{
  position:sticky; top:0; z-index:100;
  background:rgba(5,6,9,.78);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 32px rgba(0,0,0,.4);
}
.header-inner{
  max-width:var(--max); margin:auto; padding:14px 36px;
  display:grid; grid-template-columns:auto auto 1fr auto;
  align-items:center; gap:24px;
}
.header-logo{ display:inline-flex; align-items:center; gap:10px; }
.header-logo img{ width:128px; filter:drop-shadow(0 6px 14px rgba(0,0,0,.6)); }
.header-logo .lock{
  display:inline-flex; align-items:center; gap:6px; padding:4px 8px;
  border-radius:7px; background:rgba(25,195,125,.12);
  border:1px solid rgba(25,195,125,.32);
  font-family:var(--mono); font-size:9px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:#7ee2ad;
}
.lock svg{ width:10px; height:10px; }

.nav{ display:flex; gap:4px; list-style:none; align-items:center; margin:0; padding:0; }
.nav a{
  display:inline-flex; align-items:center; gap:7px;
  padding:10px 14px; border-radius:11px;
  font-family:var(--display); font-size:12.5px; font-weight:800;
  text-transform:uppercase; letter-spacing:.02em; color:rgba(255,255,255,.72);
  transition:.18s;
}
.nav a .new-dot{
  width:7px; height:7px; border-radius:99px; background:var(--red3);
  box-shadow:0 0 12px var(--red3); animation:pkv-blink 1.3s ease-in-out infinite;
}
.nav a:hover{ color:#fff; background:rgba(255,255,255,.06); }
.nav a.active{
  color:#0a0a0a;
  background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  box-shadow:0 0 0 2px #000, 0 10px 24px rgba(255,168,0,.35);
}

.search-wrap{ display:flex; justify-content:flex-end; }
.search{
  display:flex; align-items:center; gap:10px;
  width:100%; max-width:380px;
  padding:10px 14px; border-radius:13px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.13);
  transition:.18s;
}
.search:focus-within{
  border-color:var(--yellow);
  background:rgba(255,255,255,.08);
  box-shadow:0 0 0 4px rgba(255,210,31,.18);
}
.search svg{ width:15px; height:15px; color:var(--muted); flex:0 0 auto; }
.search input{ flex:1; background:transparent; border:0; outline:0; font-size:13px; color:#fff; width:100%; }
.search input::placeholder{ color:var(--muted2); }
.search kbd{
  font-family:var(--mono); font-size:9.5px; font-weight:800; color:var(--muted);
  padding:3px 7px; border-radius:6px; background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.12);
}

.header-actions{ display:flex; gap:6px; align-items:center; }
.icon-btn{
  width:42px; height:42px; display:grid; place-items:center;
  border:1px solid rgba(255,255,255,.13); border-radius:12px;
  background:rgba(255,255,255,.05); color:#fff; cursor:pointer;
  position:relative; transition:.18s;
}
.icon-btn:hover{
  background:var(--yellow); color:#000; border-color:var(--yellow);
  transform:translateY(-1px);
}
.icon-btn svg{ width:16px; height:16px; }
.badge{
  position:absolute; top:-5px; right:-5px;
  min-width:18px; height:18px; padding:0 5px;
  display:grid; place-items:center; border-radius:99px;
  background:var(--red3); color:#fff; border:2px solid #000;
  font-family:var(--mono); font-size:9px; font-weight:800;
}
.badge.yellow{ background:var(--yellow); color:#000; }

.hamburger{
  display:none; flex-direction:column; gap:3px;
  width:42px; height:42px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px; cursor:pointer;
  align-items:center; justify-content:center;
  color:#fff; padding:0;
}
.hamburger span{ display:block; width:18px; height:2px; background:currentColor; border-radius:2px; }

.mobile-nav{
  display:none; flex-direction:column;
  background:rgba(5,6,9,.96);
  border-top:1px solid rgba(255,255,255,.1);
  padding:18px 36px;
}
.mobile-nav a{
  padding:14px 0;
  font-family:var(--display); font-weight:800;
  text-transform:uppercase; font-size:14px;
  border-bottom:1px solid rgba(255,255,255,.08); color:#fff;
}
.mobile-nav.is-open{ display:flex; }


/* =========================================================
   7) SUBBAR
   ========================================================= */
.subbar{
  border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(5,6,9,.65);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.subbar-inner{
  max-width:var(--max); margin:auto; padding:9px 36px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  font-family:var(--mono); font-size:10.5px; font-weight:800;
  letter-spacing:.13em; text-transform:uppercase; color:var(--muted);
}
.subbar-pillrow{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.subbar-pill{ display:inline-flex; align-items:center; gap:7px; color:rgba(255,255,255,.78); transition:.2s; }
.subbar-pill::before{ content:""; width:5px; height:5px; border-radius:99px; background:var(--yellow); }
.subbar-pill:hover{ color:var(--yellow); }
.subbar-stats{ display:flex; gap:20px; align-items:center; }
.subbar-stat{ display:inline-flex; align-items:center; gap:7px; }
.subbar-stat strong{ color:#fff; font-family:var(--mono); }
.subbar-stat .live-eye{
  width:7px; height:7px; border-radius:99px;
  background:#19c37d; box-shadow:0 0 10px #19c37d;
  animation:pkv-blink 1.4s ease-in-out infinite;
}


/* =========================================================
   8) HEADER + SUBBAR · RESPONSIVE
   ========================================================= */
@media (max-width:1240px){
  .header-inner{ grid-template-columns:auto 1fr auto auto; }
  .nav, .search-wrap{ display:none; }
  .hamburger{ display:flex; }

  /* Botones de acción pegados a la derecha (el grid 1fr quedaba vacío). */
  #pokevin-header-wrap .header-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
  }
  #pokevin-header-wrap .header-actions{ margin-left:auto; }

  /* Subbar a 2 líneas: pills con scroll horizontal arriba, stats debajo. */
  #pokevin-header-wrap .subbar-inner{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    padding-top:11px;
    padding-bottom:11px;
  }
  #pokevin-header-wrap .subbar-pillrow{
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  #pokevin-header-wrap .subbar-pillrow::-webkit-scrollbar{ display:none; }
  #pokevin-header-wrap .subbar-pill{ flex:0 0 auto; }
  #pokevin-header-wrap .subbar-stats{
    justify-content:flex-start;
    gap:14px 18px;
    flex-wrap:wrap;
  }
}
@media (max-width:760px){
  .header-inner,
  .announce-inner,
  .subbar-inner{ padding-left:20px; padding-right:20px; }
  .announce-track,
  .subbar-stats{ display:none; }
  .header-logo img{ width:120px; }
  /* En móvil ocultamos el botón Cuenta directo; el carrito (dentro de .pkv-mc) sigue visible */
  .header-actions > .icon-btn:not(.pkv-cart-link){ display:none; }
  .mobile-nav{ padding-left:20px; padding-right:20px; }
}


/* =========================================================
   9) HERO
   Usa containers Elementor + widgets nativos (heading, text-editor,
   button) + HTML widgets para lo decorativo.
   Wrap exterior:  #pokevin-hero-wrap
   Containers internos:  .hero-inner, .hero-copy, .hero-stage
   Widgets nativos:      .pkv-hero-title (H1), .pkv-hero-lede (párrafo),
                         .pkv-hero-actions (CTAs)
   ========================================================= */

/* Fondo del hero — aplica al wrap exterior */
#pokevin-hero-wrap{
  position:relative; overflow:hidden;
  background:
    radial-gradient(900px 600px at 82% 22%, rgba(255,210,31,.16), transparent 60%),
    radial-gradient(720px 480px at 14% 78%, rgba(229,9,34,.22), transparent 62%),
    radial-gradient(500px 320px at 50% 0%,  rgba(36,107,253,.08), transparent 60%),
    linear-gradient(135deg, #050609 0%, #0a0c14 46%, #0f1320 100%);
  isolation:isolate;
  font-family:var(--sans);
  color:#fff;
}
#pokevin-hero-wrap::before{
  content:""; position:absolute; inset:0; opacity:.16; z-index:1;
  background-image:repeating-linear-gradient(135deg, transparent 0 28px, rgba(255,255,255,.08) 28px 29px);
  pointer-events:none;
}
#pokevin-hero-wrap::after{
  content:"POKEVIN"; position:absolute; right:-90px; top:120px; z-index:1;
  font-family:var(--display); font-weight:800;
  font-size:clamp(120px, 18vw, 300px); line-height:.8; letter-spacing:-.085em;
  color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.07);
  transform:skewX(-7deg); pointer-events:none;
}

/* Diagonales y rayos decorativos */
#pokevin-hero-wrap .hero-stripe-r,
#pokevin-hero-wrap .hero-stripe-y{
  position:absolute; left:-8vw; right:-8vw; height:120px;
  transform:skewY(-8deg); pointer-events:none; z-index:1;
}
#pokevin-hero-wrap .hero-stripe-r{
  top:240px;
  background:linear-gradient(90deg, transparent, rgba(229,9,34,.92), transparent);
  filter:blur(1px);
}
#pokevin-hero-wrap .hero-stripe-y{
  bottom:140px;
  background:linear-gradient(90deg, transparent, rgba(255,210,31,.7), transparent);
  opacity:.5; filter:blur(2px);
}
/* Layout interno — proporción 1.1fr / 1fr usando flex-grow */
#pokevin-hero-wrap .hero-inner{ position:relative; z-index:2; }
#pokevin-hero-wrap .hero-copy { flex:1.1 1 0; min-width:0; }
#pokevin-hero-wrap .hero-stage{ flex:1   1 0; min-width:0; position:relative; }

/* --- Live pill (Drop countdown) --- */
#pokevin-hero-wrap .live-pill{
  display:inline-flex; align-items:center; gap:11px; margin-bottom:32px;
  padding:10px 16px; border-radius:999px;
  background:linear-gradient(135deg, var(--red3), var(--red2));
  border:2px solid #fff;
  box-shadow:0 0 0 2px #000, 0 18px 36px rgba(229,9,34,.35), inset 0 1px 0 rgba(255,255,255,.5);
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase; color:#fff;
  animation:pkv-pulse-ring 2.4s ease-out infinite;
  align-self:flex-start;
}
#pokevin-hero-wrap .live-dot{
  width:9px; height:9px; border-radius:999px;
  background:var(--yellow); box-shadow:0 0 14px var(--yellow);
  animation:pkv-blink 1.2s ease-in-out infinite;
}

/* --- H1 (Heading widget con .pkv-hero-title) --- */
#pokevin-hero-wrap .pkv-hero-title .elementor-heading-title,
#pokevin-hero-wrap .pkv-hero-title h1{
  font-family:var(--display);
  font-size:clamp(46px, 5.4vw, 86px);
  line-height:.96; letter-spacing:-.055em;
  font-weight:800; text-transform:uppercase;
  margin:0 0 28px 0; max-width:720px;
  text-shadow:4px 4px 0 #000, 0 0 50px rgba(0,0,0,.6);
  color:#fff;
}
#pokevin-hero-wrap .pkv-hero-title .text-hit{
  color:var(--yellow);
  text-shadow:3px 3px 0 #000, 0 0 38px rgba(255,210,31,.3);
  display:inline-block;
}

/* --- Lede (Text Editor widget con .pkv-hero-lede) --- */
#pokevin-hero-wrap .pkv-hero-lede p{
  max-width:520px; color:rgba(255,255,255,.74);
  font-size:16.5px; line-height:1.62; margin:0 0 36px 0;
}
#pokevin-hero-wrap .pkv-hero-lede strong{ color:var(--yellow); font-weight:800; }

/* --- CTAs container --- */
#pokevin-hero-wrap .pkv-hero-actions{ margin-bottom:48px !important; }

/* --- Stats (4 celdas) --- */
#pokevin-hero-wrap .hero-stats{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:0;
  border-top:1px solid rgba(255,255,255,.1); padding-top:26px;
}
#pokevin-hero-wrap .hero-stat{
  padding-right:18px; border-right:1px solid rgba(255,255,255,.08);
}
#pokevin-hero-wrap .hero-stat:last-child{ border:0; }
#pokevin-hero-wrap .hero-stat strong{
  display:block; font-family:var(--display); font-weight:800;
  font-size:30px; letter-spacing:-.04em; line-height:1;
  background:linear-gradient(135deg, #fff, #ffd21f);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
#pokevin-hero-wrap .hero-stat span{
  display:block; margin-top:8px;
  font-family:var(--mono); font-size:10px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
}

/* --- Card stage (right side) --- */
#pokevin-hero-wrap .hero-stage-inner{
  position:relative; min-height:600px;
  display:grid; place-items:center; perspective:1400px;
}
#pokevin-hero-wrap .poke-aura{
  position:absolute; width:500px; height:500px; border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,210,31,.15) 0 30%, transparent 55%),
    repeating-conic-gradient(from 0deg at 50% 50%, rgba(255,255,255,.06) 0 6deg, transparent 6deg 18deg);
  animation:pkv-spin 60s linear infinite;
  filter:blur(.4px);
}
#pokevin-hero-wrap .poke-ball-bg{
  position:absolute; width:460px; height:460px; border-radius:50%;
  opacity:.1;
  background:
    radial-gradient(circle at 50% 50%, #fff 0 9%, #000 10% 13%, transparent 14%),
    linear-gradient(to bottom, var(--red) 0 48%, #000 49% 52%, #fff 53% 100%);
  animation:pkv-spin 32s linear infinite;
  box-shadow:0 0 100px rgba(229,9,34,.3);
}

/* Card stack — cartas TCG reales (img). El stack de 3 cartas inclinadas. */
#pokevin-hero-wrap .card-stack{ position:relative; width:380px; height:530px; }
#pokevin-hero-wrap .tcard{
  position:absolute; width:260px; aspect-ratio:.715;
  border-radius:14px;
  box-shadow:
    0 50px 100px rgba(0,0,0,.6),
    0 25px 50px rgba(0,0,0,.4);
  overflow:hidden;
  transition:.4s cubic-bezier(.2,.8,.2,1);
  background:#0a0a0a; /* fallback mientras carga la imagen */
}
#pokevin-hero-wrap .tcard img{
  width:100%; height:100%;
  object-fit:cover; display:block;
  border-radius:inherit;
}
#pokevin-hero-wrap .tcard.main  { left:55px;  top:25px;  z-index:4; transform:rotate(-4deg);  animation:pkv-float 5.6s ease-in-out infinite; }
#pokevin-hero-wrap .tcard.back-a{ left:-25px; top:115px; z-index:2; transform:rotate(-22deg); opacity:.95; }
#pokevin-hero-wrap .tcard.back-b{ left:145px; top:120px; z-index:1; transform:rotate(18deg);  opacity:.92; }

/* Spec chips flotantes */
#pokevin-hero-wrap .spec-chip{
  position:absolute; z-index:6;
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 12px; border-radius:14px;
  background:rgba(8,10,16,.85);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 12px 36px rgba(0,0,0,.5);
  font-family:var(--mono); font-size:10px; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase; color:#fff;
}
#pokevin-hero-wrap .spec-chip svg{ width:14px; height:14px; color:var(--yellow); }
#pokevin-hero-wrap .spec-chip.s1{ top:6%;     left:-20px;  animation:pkv-float 5s   ease-in-out infinite; }
#pokevin-hero-wrap .spec-chip.s2{ top:32%;    right:-10px; animation:pkv-float 6.4s ease-in-out infinite -1.5s; }
#pokevin-hero-wrap .spec-chip.s3{ bottom:14%; left:0;      animation:pkv-float 5.8s ease-in-out infinite -3s; }
#pokevin-hero-wrap .spec-chip strong{ color:var(--yellow); }
#pokevin-hero-wrap .spec-chip .grade{
  color:var(--green); background:rgba(25,195,125,.14);
  padding:1px 6px; border-radius:5px; border:1px solid rgba(25,195,125,.3);
}

/* Scroll cue */
#pokevin-hero-wrap .scroll-cue{
  position:absolute; left:50%; bottom:24px; transform:translateX(-50%);
  z-index:3; display:flex; flex-direction:column; align-items:center; gap:9px;
  font-family:var(--mono); font-size:10px; font-weight:800;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
}
#pokevin-hero-wrap .scroll-cue .bar{
  width:2px; height:48px;
  background:linear-gradient(to bottom, transparent, var(--yellow));
  animation:pkv-float 2.4s ease-in-out infinite;
}

/* Hero responsive */
@media (max-width:1240px){
  #pokevin-hero-wrap .hero-copy,
  #pokevin-hero-wrap .hero-stage{ flex:1 1 100%; }
  #pokevin-hero-wrap .hero-stage-inner{ min-height:580px; }
}
@media (max-width:760px){
  #pokevin-hero-wrap .pkv-hero-title .elementor-heading-title,
  #pokevin-hero-wrap .pkv-hero-title h1{ font-size:clamp(44px, 12vw, 68px); }
  #pokevin-hero-wrap .hero-stage-inner{ min-height:480px; }
  #pokevin-hero-wrap .card-stack{ transform:scale(.82); }
  #pokevin-hero-wrap .hero-stats{
    grid-template-columns:1fr 1fr;
    row-gap:18px;
  }
  #pokevin-hero-wrap .hero-stat{ border-right:0; }
  #pokevin-hero-wrap .hero-stat:nth-child(odd){
    border-right:1px solid rgba(255,255,255,.08);
  }
  #pokevin-hero-wrap .scroll-cue{ display:none; }
  #pokevin-hero-wrap .spec-chip.s1,
  #pokevin-hero-wrap .spec-chip.s3{ left:-10px; }
}


/* =========================================================
   10) FOOTER
   ========================================================= */
#pokevin-footer-wrap .pkv-footer{
  background:#040508;
  padding:90px 0 40px;
  border-top:4px solid var(--red);
  position:relative;
  overflow:hidden;
  font-family:var(--sans);
  color:#fff;
}
/* Watermark POKEVIN gigante de fondo */
#pokevin-footer-wrap .pkv-footer::before{
  content:"POKEVIN";
  position:absolute; left:50%; bottom:-30px; transform:translateX(-50%);
  font-family:var(--display); font-weight:800;
  font-size:clamp(110px, 15vw, 240px); line-height:.7; letter-spacing:-.08em;
  color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.05);
  pointer-events:none;
}

#pokevin-footer-wrap .pkv-footer-inner{
  max-width:var(--max);
  margin:auto;
  padding:0 36px;
  position:relative;
  z-index:2;
}

/* TOP: 4 columnas — brand + 3 listados (Tienda, Cuenta, Ayuda) */
#pokevin-footer-wrap .pkv-footer-top{
  display:grid;
  grid-template-columns:1.8fr repeat(3, 1fr);
  gap:42px;
  padding-bottom:54px;
  border-bottom:1px solid rgba(255,255,255,.1);
}

/* Columna brand */
#pokevin-footer-wrap .pkv-footer-brand img{
  width:200px; margin-bottom:20px;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.6));
}
#pokevin-footer-wrap .pkv-footer-brand p{
  max-width:380px; color:var(--muted);
  font-size:14px; line-height:1.65; margin-bottom:24px;
}

/* Métodos de pago */
#pokevin-footer-wrap .pkv-payment-row{
  display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px;
}
#pokevin-footer-wrap .pkv-pay{
  padding:7px 11px; border-radius:8px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  font-family:var(--mono); font-size:9.5px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; color:#fff;
}

/* Sociales */
#pokevin-footer-wrap .pkv-socials{ display:flex; gap:9px; }
#pokevin-footer-wrap .pkv-socials a{
  width:42px; height:42px; display:grid; place-items:center;
  border-radius:13px; border:1px solid rgba(255,255,255,.16);
  transition:.2s; color:#fff; text-decoration:none;
}
#pokevin-footer-wrap .pkv-socials a:hover{
  background:var(--yellow); color:#000;
  border-color:var(--yellow); transform:translateY(-2px);
}
#pokevin-footer-wrap .pkv-socials svg{ width:18px; height:18px; }

/* Columnas de links */
#pokevin-footer-wrap .pkv-footer-col h5{
  margin:0 0 18px 0; color:var(--yellow);
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase;
}
#pokevin-footer-wrap .pkv-footer-col ul{
  list-style:none; margin:0; padding:0;
}
#pokevin-footer-wrap .pkv-footer-col li{ margin-bottom:11px; }
#pokevin-footer-wrap .pkv-footer-col a{
  color:rgba(255,255,255,.72); font-size:14px;
  transition:.18s; text-decoration:none;
}
#pokevin-footer-wrap .pkv-footer-col a:hover{ color:var(--yellow); }

/* BOTTOM: copyright + legal */
#pokevin-footer-wrap .pkv-footer-bottom{
  display:flex; justify-content:space-between; gap:24px;
  padding-top:30px;
  color:rgba(255,255,255,.42);
  font-family:var(--mono); font-size:11px; letter-spacing:.08em;
  flex-wrap:wrap;
}
#pokevin-footer-wrap .pkv-footer-legal a{
  margin-left:18px; transition:.18s;
  color:inherit; text-decoration:none;
}
#pokevin-footer-wrap .pkv-footer-legal a:first-child{ margin-left:0; }
#pokevin-footer-wrap .pkv-footer-legal a:hover{ color:var(--yellow); }

/* Footer responsive */
@media (max-width:1240px){
  #pokevin-footer-wrap .pkv-footer-top{
    grid-template-columns:1fr 1fr;
    gap:48px 32px;
  }
  /* La columna brand ocupa toda la fila */
  #pokevin-footer-wrap .pkv-footer-brand{ grid-column:1 / -1; }
}
@media (max-width:760px){
  #pokevin-footer-wrap .pkv-footer{ padding:70px 0 32px; }
  #pokevin-footer-wrap .pkv-footer-inner{ padding:0 20px; }
  #pokevin-footer-wrap .pkv-footer-top{
    grid-template-columns:1fr;
    gap:36px;
    padding-bottom:36px;
  }
  #pokevin-footer-wrap .pkv-footer-bottom{
    flex-direction:column;
    gap:14px;
  }
  #pokevin-footer-wrap .pkv-footer-legal{
    display:flex; flex-wrap:wrap; gap:14px;
  }
  #pokevin-footer-wrap .pkv-footer-legal a{ margin-left:0; }
}


/* =========================================================
   11) ATOMS DE SECCIÓN
   Reutilizables en todas las secciones interiores.
   - .pkv-kicker        → mini-etiqueta superior con barra colorada
   - .pkv-tag (+ vars)  → tags pequeños tipo chip (yellow/red/blue/green/violet/psa)
   - .pkv-section-head  → cabecera de sección (título + link a la derecha)
   - .pkv-section-h2    → H2 grande (Heading widget con esta clase)
   - .pkv-section-lede  → párrafo descriptivo (Text Editor con esta clase)
   - .pkv-section-link  → link "Explorar todo →" con borde inferior
   ========================================================= */

/* --- Kicker --- */
.pkv-kicker{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.18em; text-transform:uppercase; color:var(--yellow);
}
.pkv-kicker::before{
  content:""; width:32px; height:4px; border-radius:99px;
  background:var(--red); box-shadow:0 0 18px var(--red);
}
.pkv-kicker.k-red   { color:var(--red3); }
.pkv-kicker.k-red::before   { background:var(--yellow); }
.pkv-kicker.k-orange{ color:var(--orange); }
.pkv-kicker.k-orange::before{ background:var(--red); }
.pkv-kicker.k-blue  { color:var(--blue3); }
.pkv-kicker.k-blue::before  { background:#fff; }

/* --- Tags (chips pequeños) --- */
.pkv-tag{
  display:inline-flex; align-items:center; gap:6px; padding:5px 10px;
  border-radius:7px; background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  font-family:var(--mono); font-size:9.5px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; color:#fff;
}
.pkv-tag.yellow{ background:var(--yellow); color:#000; border-color:#000; }
.pkv-tag.red   { background:var(--red);    color:#fff; border-color:#fff; }
.pkv-tag.blue  { background:var(--blue);   color:#fff; border-color:#fff; }
.pkv-tag.psa   { background:#0a0a0a; color:var(--yellow); border-color:var(--yellow); }
.pkv-tag.green { background:rgba(25,195,125,.15); color:#7ee2ad; border-color:rgba(25,195,125,.45); }
.pkv-tag.violet{ background:rgba(155,92,255,.18); color:#cdb1ff; border-color:rgba(155,92,255,.45); }

/* --- Section head ---
   Forzamos grid 1fr / auto para que el título tome todo el espacio
   disponible y el section-link siempre quede pegado a la derecha.
   Aplicamos la regla a ambos: .pkv-section-head (cuando content_width:
   "full" no existe .e-con-inner) Y .pkv-section-head > .e-con-inner
   (cuando content_width: "boxed" sí existe). Así funciona en cualquier
   configuración. */
.pkv-section-head{ margin-bottom:54px !important; }
.pkv-section-head,
.pkv-section-head > .e-con-inner{
  display:grid !important;
  grid-template-columns: 1fr auto !important;
  gap:32px !important;
  align-items:end !important;
}
.pkv-section-title{ flex:1 1 auto; min-width:0; }
@media (max-width:760px){
  .pkv-section-head,
  .pkv-section-head > .e-con-inner{
    grid-template-columns: 1fr !important;
    gap:18px !important;
  }
}

.pkv-section-h2 .elementor-heading-title,
.pkv-section-h2 h2{
  margin-top:18px;
  font-family:var(--display);
  font-size:clamp(40px, 4.8vw, 80px);
  line-height:.92; letter-spacing:-.075em;
  font-weight:800; text-transform:uppercase;
  color:#fff;
}
.pkv-section-h2 .hl   { color:var(--yellow); }
.pkv-section-h2 .hl-r { color:var(--red3);   }
.pkv-section-h2 .hl-b { color:var(--blue3);  }

.pkv-section-lede p{
  margin-top:18px; max-width:680px;
  color:var(--muted);
  font-size:16px; line-height:1.66;
}

.pkv-section-link{
  flex:0 0 auto;
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.16em; text-transform:uppercase; color:#fff;
  padding-bottom:8px; border-bottom:4px solid var(--red3);
  display:inline-flex; align-items:center; gap:8px;
  transition:.2s; text-decoration:none;
}
.pkv-section-link:hover{
  border-color:var(--yellow);
  transform:translateX(4px);
  color:#fff;
}


/* =========================================================
   12) UNIVERSE SELECTOR
   Wrap exterior:  #pokevin-universe-wrap
   3 tiles (Pokémon, Dragon Ball, One Piece) en grid responsive.
   ========================================================= */

/* Grid de 3 tiles */
#pokevin-universe-wrap .universe{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;
}

/* Tile base */
#pokevin-universe-wrap .uni-tile{
  position:relative; display:block;
  border-radius:var(--r-2xl); overflow:hidden;
  aspect-ratio:.86;
  border:2px solid rgba(255,255,255,.1);
  background:#0a0c14;
  transition:.4s cubic-bezier(.2,.8,.2,1);
  isolation:isolate;
  text-decoration:none; color:#fff;
}
#pokevin-universe-wrap .uni-tile:hover{
  transform:translateY(-8px);
  border-color:var(--yellow);
}

/* Background layer (color por universo) */
#pokevin-universe-wrap .uni-bg{ position:absolute; inset:0; z-index:1; transition:.6s; }
#pokevin-universe-wrap .uni-tile:hover .uni-bg{ transform:scale(1.06); }
#pokevin-universe-wrap .uni-bg.pkm{
  background:
    radial-gradient(circle at 50% 35%, rgba(255,210,31,.55) 0 8%, transparent 30%),
    radial-gradient(circle at 50% 60%, rgba(229,9,34,.7)   0 22%, transparent 50%),
    linear-gradient(160deg, #1a0408 0%, #3a0810 38%, #7a0411 70%, #0a0c14 100%);
}
#pokevin-universe-wrap .uni-bg.dbz{
  background:
    radial-gradient(circle at 50% 30%, rgba(255,210,31,.55) 0 8%, transparent 24%),
    radial-gradient(circle at 50% 60%, rgba(255,138,0,.65) 0 26%, transparent 52%),
    linear-gradient(160deg, #1a0d04 0%, #3a1808 36%, #7a3508 70%, #0a0c14 100%);
}
#pokevin-universe-wrap .uni-bg.opc{
  background:
    radial-gradient(circle at 50% 32%, rgba(255,255,255,.32) 0 6%, transparent 22%),
    radial-gradient(circle at 50% 60%, rgba(36,107,253,.65) 0 24%, transparent 52%),
    linear-gradient(160deg, #020a18 0%, #062a52 38%, #0a4290 70%, #0a0c14 100%);
}
/* Pattern + viñeta inferior */
#pokevin-universe-wrap .uni-bg::before{
  content:""; position:absolute; inset:0;
  background-image:repeating-linear-gradient(135deg, transparent 0 22px, rgba(255,255,255,.05) 22px 23px);
  opacity:.5;
}
#pokevin-universe-wrap .uni-bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.85) 0%, transparent 60%);
}

/* Rayos cónicos animados detrás del personaje */
#pokevin-universe-wrap .uni-rays{
  position:absolute; inset:-10%; z-index:1; opacity:.45;
  background:repeating-conic-gradient(from 0deg at 50% 45%, rgba(255,255,255,.08) 0 4deg, transparent 4deg 14deg);
  -webkit-mask-image:radial-gradient(circle at 50% 45%, #000 30%, transparent 75%);
          mask-image:radial-gradient(circle at 50% 45%, #000 30%, transparent 75%);
  animation:pkv-spin 80s linear infinite;
}

/* Carta TCG real (img). Grande, rotada, top-aligned.
   La parte de abajo se oculta tras el gradient del overlay. */
#pokevin-universe-wrap .uni-art{
  position:absolute;
  left:50%; top:0;
  transform:translateX(-50%) rotate(-6deg);
  transform-origin:50% 50%;
  width:100%; height:auto;
  z-index:2;
  filter:drop-shadow(0 30px 50px rgba(0,0,0,.7));
  transition:.5s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
  /* Por si el fondo de la carta es blanco, lo integramos con el tile oscuro */
  mix-blend-mode:normal;
}
/* Inclinación distinta por universo para variar */
#pokevin-universe-wrap .uni-tile:nth-child(2) .uni-art{
  transform:translateX(-50%) rotate(5deg);
}
#pokevin-universe-wrap .uni-tile:nth-child(3) .uni-art{
  transform:translateX(-50%) rotate(-3deg);
}
/* Hover: la carta "se endereza" un poco y crece */
#pokevin-universe-wrap .uni-tile:hover .uni-art{
  transform:translateX(-50%) rotate(-2deg) scale(1.04);
}
#pokevin-universe-wrap .uni-tile:nth-child(2):hover .uni-art{
  transform:translateX(-50%) rotate(2deg) scale(1.04);
}
#pokevin-universe-wrap .uni-tile:nth-child(3):hover .uni-art{
  transform:translateX(-50%) rotate(-1deg) scale(1.04);
}

/* Overlay con texto y CTA — ahora con gradiente fuerte para tapar la
   parte baja de la carta (textos de attack ilegibles a este tamaño) */
#pokevin-universe-wrap .uni-overlay{
  position:absolute; left:0; right:0; bottom:0; z-index:3;
  padding:90px 30px 30px;
  background:linear-gradient(to top,
    rgba(0,0,0,.96) 0%,
    rgba(0,0,0,.92) 35%,
    rgba(0,0,0,.55) 70%,
    transparent 100%);
}
#pokevin-universe-wrap .uni-overlay .pkv-tag{ margin-bottom:12px; }
#pokevin-universe-wrap .uni-overlay h3{
  font-family:var(--display); font-size:42px; font-weight:800;
  letter-spacing:-.05em; line-height:.96; text-transform:uppercase;
  margin:0 0 8px 0; color:#fff;
  text-shadow:3px 3px 0 #000;
}
#pokevin-universe-wrap .uni-overlay p{
  color:rgba(255,255,255,.78);
  font-size:13.5px; line-height:1.55;
  margin:0 0 18px 0; max-width:340px;
}

#pokevin-universe-wrap .uni-meta{
  display:flex; justify-content:space-between; align-items:center; gap:12px;
}
#pokevin-universe-wrap .uni-meta .count{
  font-family:var(--mono); font-size:11px; font-weight:800;
  color:var(--muted); letter-spacing:.1em; text-transform:uppercase;
}
#pokevin-universe-wrap .uni-meta .count strong{ color:#fff; }

#pokevin-universe-wrap .uni-cta{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:11px;
  background:#fff; color:#000;
  font-family:var(--display); font-size:11px; font-weight:800;
  letter-spacing:.04em; text-transform:uppercase;
  box-shadow:0 0 0 2px #000; transition:.2s;
}
#pokevin-universe-wrap .uni-tile:hover .uni-cta{ background:var(--yellow); }

/* Universe responsive */
@media (max-width:1240px){
  #pokevin-universe-wrap .universe{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:760px){
  #pokevin-universe-wrap .universe{ grid-template-columns:1fr; gap:14px; }
  /* En móvil reducimos el aspect-ratio a 1.1 (casi cuadrado) para que los 3
     tiles entren cómodamente sin obligar a un scroll enorme antes de ver el 2º. */
  #pokevin-universe-wrap .uni-tile{ aspect-ratio:1.1; }
  #pokevin-universe-wrap .uni-overlay{ padding:22px 22px 24px; }
  #pokevin-universe-wrap .uni-overlay h3{ font-size:34px; }
  /* Carta más pequeña y arriba en móvil */
  #pokevin-universe-wrap .uni-art{ width:78%; top:-8%; }
  #pokevin-universe-wrap .uni-tile:nth-child(1) .uni-art,
  #pokevin-universe-wrap .uni-tile:nth-child(2) .uni-art,
  #pokevin-universe-wrap .uni-tile:nth-child(3) .uni-art{
    transform:translateX(-50%) rotate(-4deg);
  }
}


/* =========================================================
   13) DROP OF THE WEEK
   Preventa destacada — un drop activo a la vez con countdown.
   Wrap exterior:  #pokevin-drop-wrap
   Layout: 2 columnas (1.05fr / 1fr).
     - drop-left  → copy + features + countdown + CTAs + tags
     - drop-right → carta/imagen del producto destacado
   ========================================================= */

/* Panel background del wrap (sutil, con dos focos rojo/amarillo) */
#pokevin-drop-wrap{
  background:
    radial-gradient(680px 420px at 14% 18%, rgba(229,9,34,.14), transparent 62%),
    radial-gradient(680px 420px at 88% 74%, rgba(255,210,31,.12), transparent 62%),
    var(--black2);
  font-family:var(--sans);
  color:#fff;
}

/* Drop wrap — usa flex de Elementor (row), aquí solo proporciones de los hijos */
#pokevin-drop-wrap .drop-left { flex:1.05 1 0; min-width:0; }
#pokevin-drop-wrap .drop-right{ flex:1 1 0;    min-width:0; }
/* !important en padding por si el JSON heredado lleva padding:0
   (mismo motivo que sell-copy / sell-panel). */
#pokevin-drop-wrap .drop-left,
#pokevin-drop-wrap .drop-right{
  padding:46px !important;
  border-radius:var(--r-2xl) !important;
  background:linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.018)) !important;
  border:2px solid rgba(255,255,255,.1) !important;
  position:relative; overflow:hidden;
}
#pokevin-drop-wrap .drop-left::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(420px 320px at 80% 10%, rgba(229,9,34,.22), transparent 60%),
    radial-gradient(360px 260px at 10% 100%, rgba(255,210,31,.18), transparent 60%);
  pointer-events:none;
}
#pokevin-drop-wrap .drop-left > *{ position:relative; z-index:2; }

/* H3 del producto destacado (Heading widget con .pkv-drop-h3) */
.pkv-drop-h3 .elementor-heading-title,
.pkv-drop-h3 h3{
  margin:14px 0 14px;
  font-family:var(--display);
  font-size:clamp(30px, 3.2vw, 52px); line-height:.96; letter-spacing:-.05em;
  font-weight:800; text-transform:uppercase;
  color:#fff;
}
.pkv-drop-h3 .hl{ color:var(--yellow); }

/* Lede / descripción (Text Editor con .pkv-drop-lede) */
.pkv-drop-lede p{
  color:var(--muted); font-size:15.5px; line-height:1.65;
  max-width:520px; margin:0 0 24px 0;
}

/* Features (3 stats: 16 sobres / 3 promos / EU) */
#pokevin-drop-wrap .drop-feats{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-bottom:26px;
}
#pokevin-drop-wrap .drop-feat{
  padding:14px 16px; border-radius:14px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
}
#pokevin-drop-wrap .drop-feat strong{
  display:block; font-family:var(--display);
  font-size:18px; letter-spacing:-.03em; line-height:1; margin-bottom:6px;
  color:#fff;
}
#pokevin-drop-wrap .drop-feat span{
  font-family:var(--mono); font-size:9.5px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
}

/* Countdown (4 celdas D/H/M/S) */
#pokevin-drop-wrap .countdown{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:8px; margin-bottom:24px;
}
#pokevin-drop-wrap .cd-cell{
  padding:14px 12px; border-radius:14px;
  background:rgba(0,0,0,.5); border:1px solid rgba(255,255,255,.12);
  text-align:center; position:relative;
}
#pokevin-drop-wrap .cd-cell::after{
  content:""; position:absolute; left:0; right:0; top:50%; height:1px;
  background:rgba(255,255,255,.06);
}
#pokevin-drop-wrap .cd-cell strong{
  display:block; font-family:var(--display); font-weight:800;
  font-size:38px; letter-spacing:-.05em; line-height:1;
  background:linear-gradient(135deg, #fff, #ffd21f);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  position:relative; z-index:2;
}
#pokevin-drop-wrap .cd-cell span{
  display:block; margin-top:8px;
  font-family:var(--mono); font-size:10px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
}

/* Container de los CTAs (espacio inferior + flex en JSON) */
#pokevin-drop-wrap .pkv-drop-actions{ margin-bottom:24px !important; }

/* Tags row (stock / edición / envío) */
#pokevin-drop-wrap .pkv-drop-tags{
  display:flex; flex-wrap:wrap; gap:8px;
}

/* === DROP RIGHT (panel rojo con la carta) === */
#pokevin-drop-wrap .drop-right{
  background:
    radial-gradient(420px 320px at 50% 18%, rgba(229,9,34,.32), transparent 62%),
    linear-gradient(160deg, #1a0408, #0a0c14 60%);
  display:grid; place-items:center;
  border-color:rgba(229,9,34,.35);
}
#pokevin-drop-wrap .drop-card-stage{
  position:relative; width:100%; max-width:380px; aspect-ratio:.7;
}
/* Spinning conic background (rays detrás de la carta) */
#pokevin-drop-wrap .drop-pkb{
  position:absolute; left:50%; top:50%; transform:translate(-50%, -50%);
  width:120%; aspect-ratio:1; border-radius:50%;
  background:repeating-conic-gradient(from 0deg, rgba(255,210,31,.18) 0 4deg, transparent 4deg 14deg);
  -webkit-mask-image:radial-gradient(circle, #000 30%, transparent 70%);
          mask-image:radial-gradient(circle, #000 30%, transparent 70%);
  animation:pkv-spin 80s linear infinite;
  pointer-events:none;
}
/* Carta destacada — soporta img real o placeholder vacío */
#pokevin-drop-wrap .drop-card{
  position:relative; width:100%; height:100%;
  border-radius:22px; overflow:hidden;
  background:linear-gradient(135deg, #ffe16a, #ffb800 36%, #fff4b0 53%, #cf7e00);
  box-shadow:
    0 60px 110px rgba(0,0,0,.6),
    0 0 0 3px #000,
    0 0 0 7px rgba(255,255,255,.92);
  transform:rotate(-3deg);
  animation:pkv-float 6s ease-in-out infinite;
}
#pokevin-drop-wrap .drop-card img{
  width:100%; height:100%; object-fit:cover; display:block;
}
/* Placeholder con texto cuando no hay imagen del producto */
#pokevin-drop-wrap .drop-card-placeholder{
  position:absolute; inset:0; display:grid; place-items:center;
  text-align:center; padding:30px;
  font-family:var(--display); color:#0a0a0a;
}
#pokevin-drop-wrap .drop-card-placeholder b{
  display:block; font-size:54px; font-weight:800;
  letter-spacing:-.04em; line-height:.92;
  text-shadow:3px 3px 0 rgba(255,255,255,.5);
}
#pokevin-drop-wrap .drop-card-placeholder span{
  display:block; margin-top:10px;
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.16em; text-transform:uppercase;
}

/* === DROP RESPONSIVE === */
@media (max-width:1240px){
  #pokevin-drop-wrap .drop-wrap{ grid-template-columns:1fr; }
  #pokevin-drop-wrap .drop-left,
  #pokevin-drop-wrap .drop-right{ padding:32px !important; }
}
@media (max-width:760px){
  #pokevin-drop-wrap .drop-feats,
  #pokevin-drop-wrap .countdown{ grid-template-columns:repeat(2, 1fr); }
  #pokevin-drop-wrap .drop-left,
  #pokevin-drop-wrap .drop-right{ padding:24px !important; border-radius:24px !important; }
  .pkv-drop-h3 .elementor-heading-title,
  .pkv-drop-h3 h3{ font-size:clamp(28px, 7vw, 38px); }
  #pokevin-drop-wrap .cd-cell strong{ font-size:30px; }
  #pokevin-drop-wrap .drop-card-placeholder b{ font-size:42px; }
}


/* =========================================================
   14) FILTERS / CHIPS (atom global)
   Para filtros tipo "Todo · Cartas · Sobres · Boxes" en bloques
   de productos. Usado por Pokémon / Dragon Ball / One Piece.
   ========================================================= */
.pkv-filters{
  display:flex; align-items:center; flex-wrap:wrap; gap:9px;
  margin-bottom:38px; position:relative; z-index:3;
}
.pkv-chip{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05); color:#fff;
  border-radius:999px; padding:10px 16px; cursor:pointer;
  font-size:12px; font-weight:800; text-transform:uppercase;
  font-family:var(--display); letter-spacing:.04em; transition:.18s;
  display:inline-flex; align-items:center; gap:8px;
}
.pkv-chip .num{
  font-family:var(--mono); font-size:9.5px; color:var(--muted);
  padding:1px 6px; border-radius:5px; background:rgba(0,0,0,.4);
}
.pkv-chip:hover{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.3); }
.pkv-chip.is-active{
  background:var(--yellow); border-color:var(--yellow); color:#000;
  box-shadow:0 0 0 2px #000, 0 10px 24px rgba(255,168,0,.35);
}
.pkv-chip.is-active .num{ background:rgba(0,0,0,.18); color:#000; }
.pkv-filters .sort{
  margin-left:auto; display:inline-flex; align-items:center; gap:8px;
  padding:9px 12px; border-radius:11px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.16);
  font-family:var(--mono); font-size:10.5px; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase; color:var(--muted);
}
.pkv-filters .sort strong{ color:#fff; }
.pkv-filters .sort svg{ width:13px; height:13px; color:var(--yellow); }


/* =========================================================
   15) PRODUCT GRID + CARDS (atom global)
   Tarjeta de producto reutilizable. En producción se reemplazará
   por loop WooCommerce — aquí mock con HTML para diseño.
   ========================================================= */
.pkv-grid{ display:grid; gap:20px; position:relative; z-index:3; }
.pkv-grid-4{ grid-template-columns:repeat(4, 1fr); }
.pkv-grid-3{ grid-template-columns:repeat(3, 1fr); }
.pkv-grid-2{ grid-template-columns:repeat(2, 1fr); }

.pkv-product{
  position:relative; display:flex; flex-direction:column;
  padding:14px; border-radius:22px;
  background:linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
  overflow:hidden; transition:.3s cubic-bezier(.2,.8,.2,1);
  isolation:isolate;
}
.pkv-product::before{
  content:""; position:absolute; inset:0; border-radius:22px;
  padding:1px; background:linear-gradient(135deg, rgba(255,210,31,0), rgba(255,210,31,0));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  pointer-events:none; transition:.3s;
}
.pkv-product:hover{ transform:translateY(-8px); border-color:transparent; }
.pkv-product:hover::before{ background:linear-gradient(135deg, var(--yellow), var(--red3)); }

/* Media area de la tarjeta */
.pkv-product-media{
  position:relative; aspect-ratio:.94;
  display:grid; place-items:center; border-radius:18px;
  margin-bottom:16px; overflow:hidden;
  background:radial-gradient(circle at 50% 42%, rgba(255,210,31,.18), transparent 38%),
             linear-gradient(135deg, rgba(229,9,34,.18), rgba(255,210,31,.1));
}
.pkv-product-media::after{
  content:""; position:absolute; inset:0;
  background-image:repeating-linear-gradient(135deg, transparent 0 18px, rgba(255,255,255,.05) 18px 19px);
  pointer-events:none;
}
.pkv-product-media.pkm{ background:radial-gradient(circle at 50% 42%, rgba(255,210,31,.22), transparent 38%), linear-gradient(135deg, rgba(229,9,34,.24), rgba(255,210,31,.12)); }
.pkv-product-media.dbz{ background:radial-gradient(circle at 50% 42%, rgba(242,160,7,.32), transparent 40%), linear-gradient(135deg, rgba(242,160,7,.22), rgba(229,9,34,.18)); }
.pkv-product-media.opc{ background:radial-gradient(circle at 50% 42%, rgba(36,107,253,.28), transparent 38%), linear-gradient(135deg, rgba(10,102,182,.22), rgba(36,107,253,.14)); }
.pkv-product-media .glow{
  position:absolute; inset:0;
  background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.15) 0 12%, transparent 30%);
  pointer-events:none; mix-blend-mode:overlay;
}

/* Mini holographic card visual (placeholder vectorial mientras no hay foto real) */
.pkv-mcard{
  position:relative; z-index:2;
  width:58%; aspect-ratio:.715;
  border-radius:12px; padding:7px;
  background:linear-gradient(135deg, #ffe16a, #ffb800, #fff3a8);
  box-shadow:
    0 24px 50px rgba(0,0,0,.5),
    0 0 0 2px #000,
    0 0 0 4px rgba(255,255,255,.85),
    inset 0 1px 0 rgba(255,255,255,.6);
  transform:rotate(-7deg); transition:.4s cubic-bezier(.2,.8,.2,1);
}
.pkv-product:hover .pkv-mcard{ transform:rotate(-3deg) translateY(-6px) scale(1.03); }
.pkv-mcard.fire  { background:linear-gradient(135deg, #ffe16a, #e50922 42%, #ffb800); }
.pkv-mcard.water { background:linear-gradient(135deg, #cfe9ff, #246bfd, #dff1ff); }
.pkv-mcard.dark  { background:linear-gradient(135deg, #fff, #171a24, #050609); }
.pkv-mcard.orange{ background:linear-gradient(135deg, #fff3a8, #f2a007 50%, #7f250f); }
.pkv-mcard.blue  { background:linear-gradient(135deg, #fff, #0a66b6, #246bfd); }
.pkv-mcard.gold  { background:linear-gradient(135deg, #fff8c6, #ffce3b, #9a6b00); }
.pkv-mcard-inner{
  height:100%; border-radius:7px; overflow:hidden; position:relative;
  background:radial-gradient(circle at 50% 44%, rgba(255,255,255,.85), transparent 9%),
             radial-gradient(circle at 50% 48%, rgba(255,210,31,.85), transparent 23%),
             linear-gradient(145deg, #246bfd, #e50922);
}
.pkv-mcard-inner.dbz{ background:radial-gradient(circle at 50% 38%, rgba(255,255,255,.85), transparent 9%), radial-gradient(circle at 50% 48%, rgba(255,138,0,.85), transparent 28%), linear-gradient(145deg, #7a0411, #ffb800); }
.pkv-mcard-inner.opc{ background:radial-gradient(circle at 50% 38%, rgba(255,255,255,.85), transparent 9%), radial-gradient(circle at 50% 48%, rgba(36,107,253,.85), transparent 28%), linear-gradient(145deg, #02132e, #246bfd); }
.pkv-mcard-inner::before{
  content:"★"; position:absolute; left:50%; top:48%;
  transform:translate(-50%, -50%) rotate(-12deg);
  font-size:54px; color:rgba(255,255,255,.92);
  text-shadow:0 0 18px var(--yellow);
}
.pkv-mcard-inner::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,.55) 45%, transparent 60%);
  mix-blend-mode:screen; opacity:.65; background-size:220% 220%;
  animation:pkv-shimmer 5s linear infinite;
}

/* Labels (Hot, Sale, Presale, PSA, Signed, Inglés, JP, Case x6...) */
.pkv-label{
  position:absolute; top:12px; left:12px; z-index:3;
  padding:7px 11px; border-radius:9px;
  background:var(--yellow); color:#000; border:2px solid #000;
  font-family:var(--mono); font-size:9.5px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase;
  box-shadow:0 8px 18px rgba(0,0,0,.4);
}
.pkv-label.presale{ background:var(--red3); color:#fff; border-color:#fff; }
.pkv-label.hot    { background:var(--red3); color:#fff; border-color:#fff; animation:pkv-pulse-ring 2.4s ease-out infinite; }
.pkv-label.psa    { background:#0a0a0a; color:var(--yellow); border-color:var(--yellow); }
.pkv-label.sale   { background:#19c37d; color:#000; border-color:#000; }
.pkv-label.signed { background:#9b5cff; color:#fff; border-color:#fff; }

.pkv-label-row{
  position:absolute; top:12px; left:12px; right:12px; z-index:3;
  display:flex; justify-content:space-between; align-items:flex-start; gap:8px;
}
.pkv-label-row .pkv-label{ position:static; }
.pkv-fav-btn{
  width:34px; height:34px; flex:0 0 auto;
  display:grid; place-items:center; border-radius:10px;
  background:rgba(0,0,0,.55); backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.18); color:#fff; cursor:pointer;
  transition:.2s;
}
.pkv-fav-btn:hover{ background:var(--red3); color:#fff; border-color:#fff; }
.pkv-fav-btn svg{ width:14px; height:14px; }

/* Info area de la tarjeta (debajo de la imagen) */
.pkv-product-meta{
  display:flex; justify-content:space-between; gap:12px; margin-bottom:8px;
  font-family:var(--mono); font-size:9.5px; font-weight:800; letter-spacing:.08em;
  color:var(--muted); text-transform:uppercase;
}
.pkv-product-meta .cond{ color:#7ee2ad; }
.pkv-product-meta .ref { color:#fff; }

.pkv-product-tag{
  display:inline-flex; align-items:center; gap:7px; padding:5px 10px;
  border-radius:999px; background:rgba(255,210,31,.12);
  color:var(--yellow); border:1px solid rgba(255,210,31,.35);
  font-family:var(--mono); font-size:9.5px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; align-self:flex-start; margin-bottom:9px;
}
.pkv-product-tag.dbz{ background:rgba(242,160,7,.14); color:var(--orange); border-color:rgba(242,160,7,.4); }
.pkv-product-tag.opc{ background:rgba(36,107,253,.14); color:var(--blue3); border-color:rgba(36,107,253,.4); }
.pkv-product-tag.psa{ background:#0a0a0a; color:var(--yellow); border-color:var(--yellow); }

.pkv-product-name{
  font-family:var(--display); font-size:18px; font-weight:800;
  letter-spacing:-.035em; line-height:1.16; margin:0 0 10px 0;
  color:#fff;
}
.pkv-product-sub{
  font-family:var(--mono); font-size:10px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
  margin-bottom:14px;
}

/* Rating + stock bar row */
.pkv-product-stats{
  display:flex; justify-content:space-between; align-items:center;
  gap:10px; margin-bottom:14px; font-family:var(--mono); font-size:10.5px; color:var(--muted);
}
.pkv-rating{ display:inline-flex; align-items:center; gap:5px; color:var(--yellow); font-weight:800; }
.pkv-rating svg{ width:12px; height:12px; fill:currentColor; }
.pkv-rating em{ color:#fff; font-style:normal; font-weight:800; }
.pkv-rating span{ color:var(--muted); }

.pkv-stock-bar{
  position:relative; height:5px; border-radius:99px;
  background:rgba(255,255,255,.1); overflow:hidden; flex:1; max-width:100px;
}
.pkv-stock-bar i{
  position:absolute; left:0; top:0; bottom:0; border-radius:99px;
  background:linear-gradient(90deg, var(--green), var(--yellow));
}
.pkv-stock-bar.low i{ background:linear-gradient(90deg, var(--red3), var(--yellow)); }
.pkv-stock-tx{ font-weight:800; color:#fff; }
.pkv-stock-tx.low{ color:var(--red3); }

/* Footer de la tarjeta (precio + add button) */
.pkv-product-foot{
  display:flex; justify-content:space-between; align-items:center; gap:14px;
  padding-top:14px; border-top:1px solid rgba(255,255,255,.1);
}
.pkv-price-block{ display:flex; flex-direction:column; gap:2px; }
.pkv-price{
  font-family:var(--display); font-size:24px; line-height:1; font-weight:800;
  letter-spacing:-.045em; color:#fff;
}
.pkv-price-was{
  font-family:var(--mono); font-size:11px; font-weight:700; color:var(--muted);
  text-decoration:line-through;
}
.pkv-add-btn{
  display:inline-flex; align-items:center; gap:8px; padding:10px 14px;
  border:2px solid #000; border-radius:13px; background:var(--yellow); color:#000;
  font-family:var(--display); font-size:11px; font-weight:800;
  text-transform:uppercase; letter-spacing:.04em; cursor:pointer;
  box-shadow:0 0 0 2px #000, 0 10px 22px rgba(255,168,0,.32); transition:.18s;
}
.pkv-add-btn:hover{ transform:rotate(-2deg) translateY(-2px); }
.pkv-add-btn svg{ width:13px; height:13px; }


/* =========================================================
   16) UNIVERSE BLOCKS — backgrounds + decorations
   Pokémon (#pokevin-pokemon-wrap)
   Dragon Ball (#pokevin-dragonball-wrap)
   One Piece (#pokevin-onepiece-wrap)
   ========================================================= */

/* --- POKÉMON BLOCK --- */
#pokevin-pokemon-wrap{
  position:relative; overflow:hidden;
  background:
    radial-gradient(680px 420px at 14% 18%, rgba(229,9,34,.2), transparent 62%),
    radial-gradient(680px 420px at 88% 74%, rgba(255,210,31,.16), transparent 62%),
    var(--black);
  font-family:var(--sans); color:#fff;
}
#pokevin-pokemon-wrap::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:repeating-linear-gradient(90deg, transparent 0 60px, rgba(229,9,34,.06) 60px 61px);
}
#pokevin-pokemon-wrap .deco-pokeball{
  position:absolute; border-radius:50%;
  background:radial-gradient(circle at 32% 28%, rgba(255,255,255,.45) 0 6%, transparent 16%),
             linear-gradient(180deg, var(--red3) 0 49%, #000 49% 52%, #fff 52% 100%);
  box-shadow:inset -8px -10px 22px rgba(0,0,0,.35), 0 14px 36px rgba(229,9,34,.32);
  opacity:.18; pointer-events:none;
}
#pokevin-pokemon-wrap .deco-pokeball::before{
  content:""; position:absolute; left:50%; top:50%; transform:translate(-50%, -50%);
  width:30%; height:30%; border-radius:50%; background:#fff; border:4px solid #000;
}
#pokevin-pokemon-wrap .deco-pokeball.p1{ width:240px; height:240px; top:-60px; left:-40px; animation:pkv-spin 60s linear infinite; }
#pokevin-pokemon-wrap .deco-pokeball.p2{ width:160px; height:160px; bottom:-30px; right:6%; animation:pkv-spin 90s linear infinite reverse; }
#pokevin-pokemon-wrap .deco-pokeball.p3{ width:90px;  height:90px;  top:38%; right:14%; animation:pkv-float 7s ease-in-out infinite; }
/* Acento del kicker en este bloque */
#pokevin-pokemon-wrap .pkv-kicker{ color:var(--red3); }
#pokevin-pokemon-wrap .pkv-kicker::before{ background:var(--yellow); }
/* hl-r para resaltar "Pokémon" en el H2 */
#pokevin-pokemon-wrap .pkv-section-h2 .hl-r{ color:var(--red3); }

/* --- DRAGON BALL BLOCK --- */
#pokevin-dragonball-wrap{
  position:relative; overflow:hidden;
  background:
    radial-gradient(ellipse 60% 50% at 12% -10%, rgba(255,138,0,.22), transparent 60%),
    radial-gradient(ellipse 55% 45% at 92% 110%, rgba(255,203,5,.14), transparent 60%),
    radial-gradient(ellipse 80% 30% at 50% 50%, rgba(227,0,15,.08), transparent 70%),
    linear-gradient(180deg, #100A0C 0%, #15110A 100%);
  font-family:var(--sans); color:#fff;
}
#pokevin-dragonball-wrap .deco-rays{
  position:absolute; left:50%; top:50%; width:1500px; height:1500px;
  transform:translate(-50%, -50%);
  background:repeating-conic-gradient(from 0deg, rgba(255,138,0,.08) 0 5deg, transparent 5deg 14deg);
  -webkit-mask-image:radial-gradient(circle, #000 25%, transparent 70%);
          mask-image:radial-gradient(circle, #000 25%, transparent 70%);
  animation:pkv-spin 90s linear infinite; opacity:.7; pointer-events:none;
}
#pokevin-dragonball-wrap .dball{
  position:absolute; border-radius:50%; pointer-events:none;
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.55) 0 6%, transparent 16%),
    radial-gradient(circle at 50% 55%, #FFE57E 0%, #FF8A00 55%, #B0540A 100%);
  box-shadow:inset -8px -12px 22px rgba(120,40,0,.55), 0 14px 34px rgba(255,138,0,.4);
  opacity:.36;
}
#pokevin-dragonball-wrap .dball::before{
  content:""; position:absolute; inset:18%; border-radius:50%;
  background-image:
    radial-gradient(circle at 50% 50%, rgba(227,0,15,.85) 8%, transparent 9%),
    radial-gradient(circle at 30% 30%, rgba(227,0,15,.75) 5%, transparent 6%),
    radial-gradient(circle at 70% 30%, rgba(227,0,15,.75) 5%, transparent 6%),
    radial-gradient(circle at 30% 70%, rgba(227,0,15,.75) 5%, transparent 6%),
    radial-gradient(circle at 70% 70%, rgba(227,0,15,.75) 5%, transparent 6%);
  filter:blur(.5px); opacity:.85;
}
#pokevin-dragonball-wrap .dball.b1{ width:170px; height:170px; top:6%;  right:5%;  animation:pkv-float 6s   ease-in-out infinite; }
#pokevin-dragonball-wrap .dball.b2{ width:100px; height:100px; top:42%; right:22%; animation:pkv-float 7s   ease-in-out infinite -1s; }
#pokevin-dragonball-wrap .dball.b3{ width:130px; height:130px; bottom:8%; left:6%; animation:pkv-float 8s   ease-in-out infinite -2s; }
#pokevin-dragonball-wrap .dball.b4{ width:70px;  height:70px;  top:65%; left:38%;  animation:pkv-float 5s   ease-in-out infinite -3s; }
#pokevin-dragonball-wrap .dball.b5{ width:80px;  height:80px;  top:18%; left:30%;  animation:pkv-float 6.5s ease-in-out infinite -4s; }
#pokevin-dragonball-wrap .pkv-kicker{ color:var(--orange); }
#pokevin-dragonball-wrap .pkv-kicker::before{ background:var(--red); }

/* --- ONE PIECE BLOCK --- */
#pokevin-onepiece-wrap{
  position:relative; overflow:hidden;
  background:
    radial-gradient(680px 420px at 14% 18%, rgba(36,107,253,.2), transparent 62%),
    radial-gradient(680px 420px at 88% 74%, rgba(10,102,182,.2), transparent 62%),
    linear-gradient(180deg, #020a18 0%, #040d1c 100%);
  font-family:var(--sans); color:#fff;
}
#pokevin-onepiece-wrap::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:repeating-linear-gradient(90deg, transparent 0 80px, rgba(36,107,253,.05) 80px 81px);
}
#pokevin-onepiece-wrap .compass{
  position:absolute; width:380px; height:380px;
  opacity:.22; color:var(--blue3);
  animation:pkv-spin 110s linear infinite; pointer-events:none;
}
#pokevin-onepiece-wrap .compass.c1{ top:6%; right:-6%; }
#pokevin-onepiece-wrap .compass.c2{ bottom:-6%; left:-6%; animation-direction:reverse; width:280px; height:280px; opacity:.18; }
#pokevin-onepiece-wrap .waves{
  position:absolute; left:0; right:0; bottom:0; height:140px; opacity:.18; color:var(--blue3);
  pointer-events:none;
}
#pokevin-onepiece-wrap .pkv-kicker{ color:var(--blue3); }
#pokevin-onepiece-wrap .pkv-kicker::before{ background:#fff; }
#pokevin-onepiece-wrap .pkv-section-h2 .hl-b{ color:var(--blue3); }


/* =========================================================
   17) SPOTLIGHT — Card of the week
   Wrap: #pokevin-spotlight-wrap
   ========================================================= */
#pokevin-spotlight-wrap{
  position:relative; overflow:hidden;
  background:
    radial-gradient(680px 460px at 18% 18%, rgba(255,210,31,.18), transparent 62%),
    radial-gradient(680px 460px at 86% 76%, rgba(229,9,34,.22), transparent 62%),
    linear-gradient(180deg, #0a0c14 0%, #11141d 100%);
  font-family:var(--sans); color:#fff;
}
/* Spotlight grid — flex row de Elementor (proporciones via flex-grow) */
#pokevin-spotlight-wrap .spotlight-stage { flex: 0.95 1 0; min-width:0; }
#pokevin-spotlight-wrap .spotlight-info  { flex: 1.05 1 0; min-width:0; }

#pokevin-spotlight-wrap .spotlight-stage{
  position:relative; aspect-ratio:.8;
  border-radius:var(--r-2xl) !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 38%, rgba(255,210,31,.28) 0 16%, transparent 38%),
    radial-gradient(circle at 50% 56%, rgba(229,9,34,.45) 0 30%, transparent 60%),
    linear-gradient(160deg, #1a0408, #3a0810 50%, #0a0c14 100%) !important;
  border:2px solid rgba(255,255,255,.1) !important;
}
#pokevin-spotlight-wrap .spotlight-stage > .e-con-inner{
  display:grid; place-items:center; width:100%; height:100%;
}
#pokevin-spotlight-wrap .spotlight-stage::before{
  content:""; position:absolute; inset:-10%;
  background:repeating-conic-gradient(from 0deg at 50% 45%, rgba(255,255,255,.08) 0 4deg, transparent 4deg 14deg);
  -webkit-mask-image:radial-gradient(circle, #000 35%, transparent 75%);
          mask-image:radial-gradient(circle, #000 35%, transparent 75%);
  animation:pkv-spin 80s linear infinite;
}
/* Carta destacada — soporta img real (.spotlight-card img) o placeholder */
#pokevin-spotlight-wrap .spotlight-card{
  position:relative; width:60%; aspect-ratio:.715;
  border-radius:22px; overflow:hidden;
  background:linear-gradient(135deg, #fff8c6, #ffce3b 40%, #fff5b6 56%, #9a6b00);
  box-shadow:
    0 60px 120px rgba(0,0,0,.7),
    0 0 0 4px #000,
    0 0 0 8px rgba(255,255,255,.94),
    0 0 80px rgba(255,210,31,.4);
  transform:rotate(-3deg);
  animation:pkv-float 6s ease-in-out infinite;
}
#pokevin-spotlight-wrap .spotlight-card img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.pkv-spotlight-h2 .elementor-heading-title,
.pkv-spotlight-h2 h2{
  font-family:var(--display); font-size:clamp(38px, 4.4vw, 68px);
  line-height:.94; letter-spacing:-.06em; font-weight:800; text-transform:uppercase;
  margin:14px 0 18px 0; color:#fff;
}
.pkv-spotlight-h2 .hl{ color:var(--yellow); }
.pkv-spotlight-lede p{
  color:var(--muted); font-size:16px; line-height:1.65; margin:0 0 24px 0; max-width:560px;
}
#pokevin-spotlight-wrap .spotlight-stats{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; margin-bottom:28px;
}
#pokevin-spotlight-wrap .spec-stat{
  padding:14px; border-radius:14px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
}
#pokevin-spotlight-wrap .spec-stat strong{
  display:block; font-family:var(--display); font-size:24px;
  letter-spacing:-.04em; line-height:1; color:#fff;
}
#pokevin-spotlight-wrap .spec-stat span{
  display:block; margin-top:6px;
  font-family:var(--mono); font-size:9.5px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
}
#pokevin-spotlight-wrap .spec-stat strong .min{ color:var(--yellow); font-size:14px; margin-left:2px; }
#pokevin-spotlight-wrap .spotlight-actions{
  display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:24px;
}
#pokevin-spotlight-wrap .spotlight-actions .pkv-price{ font-size:36px; letter-spacing:-.05em; }
#pokevin-spotlight-wrap .spotlight-actions .pkv-price-was{ font-size:13px; }
#pokevin-spotlight-wrap .spotlight-actions .save{
  color:var(--green); font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase;
}
#pokevin-spotlight-wrap .spotlight-meta{
  display:flex; flex-wrap:wrap; gap:8px;
}


/* =========================================================
   18) PSA VAULT
   Wrap: #pokevin-vault-wrap
   ========================================================= */
#pokevin-vault-wrap{
  position:relative; overflow:hidden;
  background:
    radial-gradient(700px 460px at 80% 22%, rgba(255,210,31,.12), transparent 62%),
    radial-gradient(700px 460px at 14% 78%, rgba(36,107,253,.12), transparent 62%),
    linear-gradient(180deg, #06070d 0%, #0a0c14 100%);
  font-family:var(--sans); color:#fff;
}
#pokevin-vault-wrap::before{
  content:"VAULT"; position:absolute; left:-50px; top:30px;
  font-family:var(--display); font-weight:800;
  font-size:clamp(140px, 18vw, 280px); line-height:.8; letter-spacing:-.085em;
  color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.06);
  transform:skewX(-7deg); pointer-events:none;
}
#pokevin-vault-wrap .vault-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:20px;
  position:relative; z-index:2;
}
#pokevin-vault-wrap .vault-card{
  position:relative; border-radius:24px; padding:18px;
  background:linear-gradient(160deg, #0a0a0c 0%, #11141d 100%);
  border:1px solid rgba(255,210,31,.22);
  box-shadow:0 22px 60px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,210,31,.18);
  overflow:hidden;
}
/* Antes era una banda amarilla sólida que partía la cabecera y dificultaba la
   lectura. Ahora es un degradado dorado que cae desde arriba y se desvanece,
   dando sensación premium tipo "luz de slab" sin tapar el texto. */
#pokevin-vault-wrap .vault-card::before{
  content:""; position:absolute; left:0; right:0; top:0; height:120px;
  background:linear-gradient(180deg,
    rgba(255,210,31,.32) 0%,
    rgba(255,210,31,.14) 45%,
    rgba(255,210,31,.04) 75%,
    transparent 100%);
  z-index:1;
  pointer-events:none;
}
#pokevin-vault-wrap .vault-card .vault-head{
  position:relative; z-index:2;
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:14px;
  color: rgba(255,210,31,.95); /* Texto dorado, legible sobre dark + gradiente */
  font-family:var(--display); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
}
#pokevin-vault-wrap .vault-grade{
  display:inline-flex; flex-direction:column; align-items:center;
  background:#0a0a0a; color:var(--yellow);
  padding:5px 12px; border-radius:8px;
  border:2px solid var(--yellow);
  box-shadow:0 6px 18px rgba(255,210,31,.28);
}
#pokevin-vault-wrap .vault-grade strong{ font-family:var(--display); font-size:18px; letter-spacing:-.04em; line-height:1; }
#pokevin-vault-wrap .vault-grade span{ font-family:var(--mono); font-size:8px; font-weight:800; letter-spacing:.1em; }
#pokevin-vault-wrap .vault-media{
  position:relative; aspect-ratio:.78;
  margin-top:8px;
  display:grid; place-items:center; border-radius:16px;
  background:radial-gradient(circle at 50% 42%, rgba(255,210,31,.18), transparent 38%),
             linear-gradient(160deg, #0a0a0a, #1a1a1a 50%, #0a0a0a);
  border:1px solid rgba(255,210,31,.18);
  margin-bottom:16px; overflow:hidden;
}
#pokevin-vault-wrap .vault-media::before{
  content:""; position:absolute; inset:8px; border-radius:11px;
  border:1px dashed rgba(255,210,31,.18);
  pointer-events:none;
}
#pokevin-vault-wrap .vault-card .pkv-mcard{ width:62%; transform:rotate(-4deg); }
#pokevin-vault-wrap .vault-cert{
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding:10px 12px; border-radius:11px;
  background:rgba(255,210,31,.08); border:1px solid rgba(255,210,31,.25);
  margin-bottom:12px;
  font-family:var(--mono); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:var(--yellow);
}
#pokevin-vault-wrap .vault-cert .id{ color:#fff; }
#pokevin-vault-wrap .vault-name{
  font-family:var(--display); font-size:17px; font-weight:800;
  letter-spacing:-.03em; line-height:1.18; margin:0 0 8px 0; color:#fff;
}
#pokevin-vault-wrap .vault-foot{
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding-top:12px; border-top:1px solid rgba(255,255,255,.08);
}
#pokevin-vault-wrap .vault-foot .pkv-price{ font-size:22px; }


/* =========================================================
   19) WHY POKEVIN (4 pilares)
   Wrap: #pokevin-why-wrap
   ========================================================= */
#pokevin-why-wrap{
  position:relative; overflow:hidden;
  background:var(--black);
  font-family:var(--sans); color:#fff;
}
#pokevin-why-wrap .why-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;
}
#pokevin-why-wrap .why-card{
  position:relative; padding:30px; border-radius:24px;
  background:linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
  overflow:hidden; transition:.3s;
}
#pokevin-why-wrap .why-card:hover{
  transform:translateY(-6px); border-color:rgba(255,210,31,.4);
}
#pokevin-why-wrap .why-card::before{
  content:""; position:absolute; right:-20px; top:-20px; width:140px; height:140px;
  border-radius:50%; background:radial-gradient(circle, rgba(255,210,31,.16), transparent 70%);
  pointer-events:none;
}
#pokevin-why-wrap .why-icon{
  width:54px; height:54px; display:grid; place-items:center;
  border-radius:14px; background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  color:#0a0a0a; margin-bottom:18px;
  box-shadow:0 0 0 2px #000, 0 14px 28px rgba(255,168,0,.32);
}
#pokevin-why-wrap .why-icon svg{ width:22px; height:22px; }
#pokevin-why-wrap .why-card.red   .why-icon{ background:linear-gradient(135deg, var(--red3), var(--red2));      color:#fff; box-shadow:0 0 0 2px #000, 0 14px 28px rgba(229,9,34,.4); }
#pokevin-why-wrap .why-card.green .why-icon{ background:linear-gradient(135deg, #19c37d, #0d8956);              color:#fff; box-shadow:0 0 0 2px #000, 0 14px 28px rgba(25,195,125,.4); }
#pokevin-why-wrap .why-card.blue  .why-icon{ background:linear-gradient(135deg, var(--blue3), var(--blue));     color:#fff; box-shadow:0 0 0 2px #000, 0 14px 28px rgba(36,107,253,.4); }
#pokevin-why-wrap .why-card h3{
  font-family:var(--display); font-size:22px; font-weight:800; letter-spacing:-.035em;
  text-transform:uppercase; margin:0 0 10px 0; color:#fff;
}
#pokevin-why-wrap .why-card p{ color:var(--muted); font-size:14px; line-height:1.6; margin:0; }
#pokevin-why-wrap .why-card .num{
  position:absolute; right:22px; top:18px; font-family:var(--mono);
  font-size:11px; font-weight:800; letter-spacing:.16em; color:var(--muted2);
}


/* =========================================================
   20) REVIEWS
   Wrap: #pokevin-reviews-wrap
   ========================================================= */
#pokevin-reviews-wrap{
  position:relative; overflow:hidden;
  background:
    radial-gradient(680px 420px at 80% 18%, rgba(229,9,34,.18), transparent 62%),
    radial-gradient(680px 420px at 14% 80%, rgba(255,210,31,.16), transparent 62%),
    var(--black2);
  font-family:var(--sans); color:#fff;
}
#pokevin-reviews-wrap .review-strip{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:20px 26px; border-radius:18px; margin-bottom:36px;
  background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.1);
  flex-wrap:wrap;
}
#pokevin-reviews-wrap .review-score{ display:flex; align-items:center; gap:18px; }
#pokevin-reviews-wrap .review-score .num{
  font-family:var(--display); font-size:54px; font-weight:800; letter-spacing:-.05em; line-height:1;
  background:linear-gradient(135deg, #fff, #ffd21f);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
#pokevin-reviews-wrap .review-score .stars{ display:flex; gap:3px; color:var(--yellow); margin-bottom:6px; }
#pokevin-reviews-wrap .review-score .stars svg{ width:18px; height:18px; fill:currentColor; }
#pokevin-reviews-wrap .review-score .meta{
  font-family:var(--mono); font-size:11px; font-weight:800; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted);
}
#pokevin-reviews-wrap .review-score .meta strong{ color:#fff; }
#pokevin-reviews-wrap .review-strip .badges{ display:flex; gap:10px; flex-wrap:wrap; }
#pokevin-reviews-wrap .review-strip .pill{
  display:inline-flex; align-items:center; gap:8px; padding:7px 12px;
  border-radius:999px; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  font-family:var(--mono); font-size:10.5px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.85);
}
#pokevin-reviews-wrap .review-strip .pill .dot{
  width:6px; height:6px; border-radius:99px; background:var(--yellow); box-shadow:0 0 12px var(--yellow);
}
#pokevin-reviews-wrap .review-strip .pill.live .dot{
  background:#19c37d; box-shadow:0 0 14px #19c37d; animation:pkv-blink 1.4s ease-in-out infinite;
}

#pokevin-reviews-wrap .reviews-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;
}
#pokevin-reviews-wrap .review-card{
  position:relative; padding:26px; border-radius:22px;
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
}
#pokevin-reviews-wrap .review-card::before{
  content:"\201C"; position:absolute; right:18px; top:6px;
  font-family:Georgia, serif; font-size:80px; line-height:1;
  color:rgba(255,210,31,.18);
}
#pokevin-reviews-wrap .review-card .stars{ display:flex; gap:3px; color:var(--yellow); margin-bottom:12px; }
#pokevin-reviews-wrap .review-card .stars svg{ width:14px; height:14px; fill:currentColor; }
#pokevin-reviews-wrap .review-card h4{
  font-family:var(--display); font-size:17px; font-weight:800;
  letter-spacing:-.03em; margin:0 0 8px 0; color:#fff;
}
#pokevin-reviews-wrap .review-card p{ color:rgba(255,255,255,.78); font-size:14px; line-height:1.6; margin:0 0 18px 0; }
#pokevin-reviews-wrap .review-author{
  display:flex; align-items:center; gap:12px;
  padding-top:16px; border-top:1px solid rgba(255,255,255,.08);
}
#pokevin-reviews-wrap .review-avatar{
  width:38px; height:38px; flex:0 0 auto; border-radius:12px;
  display:grid; place-items:center; color:#0a0a0a;
  font-family:var(--display); font-weight:800;
  background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  border:2px solid #000;
}
#pokevin-reviews-wrap .review-avatar.r{ background:linear-gradient(135deg, var(--red3), var(--red2));   color:#fff; }
#pokevin-reviews-wrap .review-avatar.b{ background:linear-gradient(135deg, var(--blue3), var(--blue));  color:#fff; }
#pokevin-reviews-wrap .review-meta-block strong{
  display:block; font-family:var(--display); font-size:13px; font-weight:800; letter-spacing:-.02em; color:#fff;
}
#pokevin-reviews-wrap .review-meta-block span{
  display:block; font-family:var(--mono); font-size:10px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
}
#pokevin-reviews-wrap .verified{
  display:inline-flex; align-items:center; gap:5px; color:#7ee2ad;
  font-family:var(--mono); font-size:9.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  margin-top:3px;
}
#pokevin-reviews-wrap .verified svg{ width:11px; height:11px; }


/* =========================================================
   21) SELL MY COLLECTION (CTA)
   Wrap: #pokevin-sell-wrap
   ========================================================= */
#pokevin-sell-wrap{
  position:relative; padding:120px 0; overflow:hidden;
  background:
    radial-gradient(700px 500px at 80% 20%, rgba(229,9,34,.24), transparent 62%),
    radial-gradient(700px 500px at 12% 80%, rgba(255,210,31,.18), transparent 62%),
    var(--black);
  font-family:var(--sans); color:#fff;
}
#pokevin-sell-wrap::before{
  content:"SELL"; position:absolute; left:-50px; bottom:-60px;
  font-family:var(--display); font-weight:800;
  font-size:clamp(160px, 22vw, 360px); line-height:.8; letter-spacing:-.085em;
  color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.07);
  transform:skewX(-7deg); pointer-events:none;
}
/* Sell inner — flex row de Elementor; aquí solo proporciones y centrado */
#pokevin-sell-wrap .sell-inner{
  position:relative; z-index:2;
  max-width:var(--max); margin:auto; padding:0 36px;
}
#pokevin-sell-wrap .sell-copy { flex: 1.15 1 0; min-width:0; }
#pokevin-sell-wrap .sell-panel{ flex: 0.85 1 0; min-width:0; }
/* Estilo de los dos paneles laterales (copy + 4 steps).
   !important en padding también, por si el JSON heredado lleva padding:0
   (cuando sell-panel era un HTML widget). */
#pokevin-sell-wrap .sell-copy,
#pokevin-sell-wrap .sell-panel{
  padding:52px !important;
  border-radius:32px !important;
  background:linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025)) !important;
  border:1px solid rgba(255,255,255,.13) !important;
}
.pkv-sell-h2 .elementor-heading-title,
.pkv-sell-h2 h2{
  margin:18px 0 22px 0; font-family:var(--display);
  font-size:clamp(42px, 5vw, 80px); line-height:.92; letter-spacing:-.07em; text-transform:uppercase;
  color:#fff;
}
.pkv-sell-h2 .hl{ color:var(--yellow); }
.pkv-sell-lede p{
  max-width:600px; margin:0 0 30px 0; color:var(--muted);
  font-size:17px; line-height:1.65;
}
#pokevin-sell-wrap .pkv-sell-actions{ margin-bottom:38px !important; }
#pokevin-sell-wrap .sell-stats{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:14px;
}
#pokevin-sell-wrap .sell-stat{
  padding:20px; border-radius:18px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.09);
}
#pokevin-sell-wrap .sell-stat strong{
  display:block; font-family:var(--display); font-size:32px;
  letter-spacing:-.04em; line-height:1;
  background:linear-gradient(135deg, #fff, #ffd21f);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
#pokevin-sell-wrap .sell-stat span{
  display:block; margin-top:8px;
  font-family:var(--mono); font-size:10px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
}

/* Panel derecho con los 4 steps — fondo más rojizo que la copy */
#pokevin-sell-wrap .sell-panel{
  background:
    radial-gradient(420px 320px at 50% 22%, rgba(229,9,34,.24), transparent 62%),
    linear-gradient(145deg, #171a24, #050609) !important;
}
#pokevin-sell-wrap .sell-panel > .e-con-inner{
  display:flex; flex-direction:column; gap:14px; justify-content:center;
}
#pokevin-sell-wrap .step{
  display:flex; align-items:flex-start; gap:14px; padding:18px;
  border-radius:18px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);
  transition:.2s;
}
#pokevin-sell-wrap .step:hover{ background:rgba(255,210,31,.06); border-color:rgba(255,210,31,.25); }
#pokevin-sell-wrap .step-num{
  width:42px; height:42px; flex:0 0 auto; display:grid; place-items:center;
  border-radius:13px; background:var(--yellow); color:#000;
  border:2px solid #fff; font-family:var(--display); font-weight:800; font-size:17px;
  box-shadow:0 0 0 2px #000;
}
#pokevin-sell-wrap .step h4{
  font-family:var(--display); font-size:16px; text-transform:uppercase;
  letter-spacing:-.02em; margin:0 0 4px 0; color:#fff;
}
#pokevin-sell-wrap .step p{ color:var(--muted); font-size:13px; line-height:1.5; margin:0; }


/* =========================================================
   22) COMMUNITY (pulls grid)
   Wrap: #pokevin-community-wrap
   ========================================================= */
#pokevin-community-wrap{
  position:relative; overflow:hidden;
  background:
    radial-gradient(700px 460px at 12% 18%, rgba(155,92,255,.16), transparent 62%),
    radial-gradient(700px 460px at 88% 80%, rgba(255,210,31,.14), transparent 62%),
    var(--black);
  font-family:var(--sans); color:#fff;
}
#pokevin-community-wrap .community-grid{
  display:grid; grid-template-columns:repeat(6, 1fr); gap:14px;
}
#pokevin-community-wrap .pull{
  position:relative; aspect-ratio:1; border-radius:18px; overflow:hidden;
  background:linear-gradient(160deg, #11141d, #050609);
  border:1px solid rgba(255,255,255,.1); transition:.3s;
  text-decoration:none; color:#fff;
}
#pokevin-community-wrap .pull:hover{ transform:scale(1.03); border-color:var(--yellow); z-index:2; }
#pokevin-community-wrap .pull-bg{ position:absolute; inset:0; display:grid; place-items:center; }
#pokevin-community-wrap .pull-bg.fire { background:radial-gradient(circle at 50% 40%, rgba(255,210,31,.4),  transparent 50%), linear-gradient(160deg, #3a0810, #7a0411); }
#pokevin-community-wrap .pull-bg.water{ background:radial-gradient(circle at 50% 40%, rgba(36,107,253,.45), transparent 50%), linear-gradient(160deg, #02132e, #0a4290); }
#pokevin-community-wrap .pull-bg.dbz  { background:radial-gradient(circle at 50% 40%, rgba(255,138,0,.5),   transparent 50%), linear-gradient(160deg, #1a0d04, #7a3508); }
#pokevin-community-wrap .pull-bg.dark { background:radial-gradient(circle at 50% 40%, rgba(155,92,255,.35), transparent 50%), linear-gradient(160deg, #0a0a14, #1a0a30); }
#pokevin-community-wrap .pull-bg.gold { background:radial-gradient(circle at 50% 40%, rgba(255,210,31,.5),  transparent 50%), linear-gradient(160deg, #3a2808, #7a5008); }
#pokevin-community-wrap .pull-bg.psa  { background:radial-gradient(circle at 50% 40%, rgba(255,210,31,.45), transparent 50%), linear-gradient(160deg, #0a0a0a, #171a24); }
#pokevin-community-wrap .pull .pkv-mcard{ width:64%; transform:rotate(-6deg); }
#pokevin-community-wrap .pull-overlay{
  position:absolute; left:0; right:0; bottom:0;
  padding:14px 14px 12px;
  background:linear-gradient(to top, rgba(0,0,0,.92), transparent);
  z-index:2;
}
#pokevin-community-wrap .pull-user{
  display:flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:10px; font-weight:800; letter-spacing:.05em; color:#fff;
}
#pokevin-community-wrap .pull-user::before{ content:"@"; color:var(--yellow); }
#pokevin-community-wrap .pull-likes{
  position:absolute; top:10px; right:10px; z-index:3;
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 9px; border-radius:99px;
  background:rgba(0,0,0,.6); backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  font-family:var(--mono); font-size:10px; font-weight:800; color:#fff;
}
#pokevin-community-wrap .pull-likes svg{ width:11px; height:11px; color:var(--red3); fill:currentColor; }
#pokevin-community-wrap .pull-tag{
  position:absolute; top:10px; left:10px; z-index:3;
}


/* =========================================================
   23) NEWSLETTER BANNER
   Wrap: #pokevin-newsletter-wrap
   ========================================================= */
#pokevin-newsletter-wrap{
  position:relative; overflow:hidden;
  padding:90px 0;
  background:linear-gradient(135deg, #7a0411 0%, #a70618 50%, #1a0408 100%);
  border-top:2px solid #000; border-bottom:2px solid #000;
  font-family:var(--sans); color:#fff;
}
#pokevin-newsletter-wrap::before{
  content:""; position:absolute; inset:0;
  background-image:repeating-linear-gradient(135deg, transparent 0 32px, rgba(255,255,255,.05) 32px 33px);
  pointer-events:none;
}
#pokevin-newsletter-wrap::after{
  content:"DROPS"; position:absolute; right:-30px; top:-30px;
  font-family:var(--display); font-weight:800;
  font-size:clamp(120px, 18vw, 260px); line-height:.8; letter-spacing:-.08em;
  color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.18);
  transform:skewX(-7deg); pointer-events:none;
}
#pokevin-newsletter-wrap .newsbanner-inner{
  position:relative; z-index:2;
  max-width:var(--max); margin:auto; padding:0 36px;
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
}
.pkv-newsletter-h2 .elementor-heading-title,
.pkv-newsletter-h2 h2{
  font-family:var(--display); font-size:clamp(38px, 4.6vw, 68px);
  line-height:.96; letter-spacing:-.06em; font-weight:800; text-transform:uppercase;
  margin:0 0 18px 0; color:#fff;
}
.pkv-newsletter-h2 .hl{ color:var(--yellow); text-shadow:3px 3px 0 #000; }
.pkv-newsletter-lede p{
  color:rgba(255,255,255,.86); font-size:16px; line-height:1.65; max-width:480px; margin:0;
}
#pokevin-newsletter-wrap .news-form{
  position:relative; display:flex; gap:10px;
  padding:10px; border-radius:18px;
  background:rgba(0,0,0,.55); backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:2px solid rgba(255,255,255,.16);
}
#pokevin-newsletter-wrap .news-form input{
  flex:1; padding:14px 18px; border:0; outline:0; background:transparent; color:#fff; font-size:15px;
}
#pokevin-newsletter-wrap .news-form input::placeholder{ color:rgba(255,255,255,.55); }
#pokevin-newsletter-wrap .news-form button{
  padding:14px 22px; border-radius:12px; border:0; cursor:pointer;
  background:linear-gradient(135deg, var(--yellow), var(--yellow2)); color:#0a0a0a;
  font-family:var(--display); font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:.04em;
  box-shadow:0 0 0 2px #000; transition:.2s;
}
#pokevin-newsletter-wrap .news-form button:hover{ transform:translateY(-2px); }
#pokevin-newsletter-wrap .news-perks{
  display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;
  font-family:var(--mono); font-size:10.5px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.78);
}
#pokevin-newsletter-wrap .news-perks span{ display:inline-flex; align-items:center; gap:7px; }
#pokevin-newsletter-wrap .news-perks span::before{
  content:"✓"; color:var(--yellow); font-family:var(--display); font-weight:800;
}


/* =========================================================
   24) FAQ
   Wrap: #pokevin-faq-wrap
   ========================================================= */
#pokevin-faq-wrap{
  position:relative; overflow:hidden;
  background:var(--black);
  font-family:var(--sans); color:#fff;
}
#pokevin-faq-wrap .faq{
  display:flex; flex-direction:column; gap:14px; max-width:920px; margin:auto;
}
#pokevin-faq-wrap .faq-item{
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  overflow:hidden; transition:.2s;
}
#pokevin-faq-wrap .faq-item[open]{ border-color:rgba(255,210,31,.32); }
#pokevin-faq-wrap .faq-item summary{
  list-style:none; cursor:pointer;
  padding:22px 26px; display:flex; justify-content:space-between; align-items:center; gap:18px;
  font-family:var(--display); font-size:17px; font-weight:800; letter-spacing:-.02em;
  color:#fff;
}
#pokevin-faq-wrap .faq-item summary::-webkit-details-marker{ display:none; }
#pokevin-faq-wrap .faq-item summary .q{ display:flex; align-items:center; gap:14px; }
#pokevin-faq-wrap .faq-item summary .q .n{
  font-family:var(--mono); font-size:11px; font-weight:800; color:var(--yellow); letter-spacing:.1em;
  padding:5px 9px; border-radius:7px;
  background:rgba(255,210,31,.1); border:1px solid rgba(255,210,31,.32);
}
#pokevin-faq-wrap .faq-toggle{
  width:32px; height:32px; flex:0 0 auto; display:grid; place-items:center;
  border-radius:10px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
  transition:.2s;
}
#pokevin-faq-wrap .faq-item[open] .faq-toggle{
  background:var(--yellow); color:#000; border-color:var(--yellow); transform:rotate(45deg);
}
#pokevin-faq-wrap .faq-toggle svg{ width:14px; height:14px; }
#pokevin-faq-wrap .faq-body{
  padding:0 26px 22px; color:var(--muted); font-size:14.5px; line-height:1.7;
}


/* =========================================================
   25) CHECKOUT · PAGE HERO
   Wrap exterior:    #pokevin-checkout-hero-wrap  (clase .page-hero)
   Containers:        .container, .page-hero-inner, .page-title-row, .page-title
   Widgets HTML:      .crumbs, .kicker, .pill.green, .steps + .step + .step-sep
   Widgets nativos:   heading H1 (.ch-title) + text-editor (.ch-lede)
   Todo scoped al #wrap para no contaminar el resto del sitio.
   ========================================================= */
#pokevin-checkout-hero-wrap{
  position:relative; overflow:hidden;
  padding:54px 0 40px;
  background:
    radial-gradient(640px 440px at 86% 14%, rgba(229,9,34,.20), transparent 62%),
    radial-gradient(620px 420px at 8%  78%, rgba(255,210,31,.10), transparent 62%),
    linear-gradient(135deg, #050609 0%, #0a0c14 48%, #0e1320 100%);
  border-bottom:1px solid rgba(255,255,255,.06);
  isolation:isolate;
  font-family:var(--sans);
  color:#fff;
}
#pokevin-checkout-hero-wrap::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.16; z-index:1;
  background-image:repeating-linear-gradient(135deg, transparent 0 28px, rgba(255,255,255,.08) 28px 29px);
}
#pokevin-checkout-hero-wrap::after{
  content:"CHECKOUT"; position:absolute; right:-50px; top:30px; z-index:1;
  font-family:var(--display); font-weight:800;
  font-size:clamp(80px, 12vw, 200px); line-height:.8; letter-spacing:-.085em;
  color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.06);
  transform:skewX(-7deg); pointer-events:none;
}

/* Sub-container con max-width tipo .container del mockup */
#pokevin-checkout-hero-wrap > .e-con-inner,
#pokevin-checkout-hero-wrap .container{
  position:relative; z-index:2;
  width:100%; max-width:var(--max);
  margin-inline:auto;
  padding-inline:36px;
}

/* Layout interno (column con gap 28) */
#pokevin-checkout-hero-wrap .page-hero-inner{
  position:relative; z-index:2;
  display:flex; flex-direction:column; gap:28px;
  width:100%;
}

/* Breadcrumbs */
#pokevin-checkout-hero-wrap .crumbs{
  display:flex; align-items:center; gap:10px;
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
}
#pokevin-checkout-hero-wrap .crumbs a{ color:inherit; transition:color .18s; }
#pokevin-checkout-hero-wrap .crumbs a:hover{ color:var(--yellow); }
#pokevin-checkout-hero-wrap .crumbs .sep{ color:rgba(255,255,255,.25); }
#pokevin-checkout-hero-wrap .crumbs .here{ color:#fff; }

/* Fila título + pill verde */
#pokevin-checkout-hero-wrap .page-title-row{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:24px; flex-wrap:wrap;
}
#pokevin-checkout-hero-wrap .page-title{
  display:flex; flex-direction:column; gap:14px;
}

/* Kicker (atom local del hero) */
#pokevin-checkout-hero-wrap .kicker{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.18em; text-transform:uppercase; color:var(--yellow);
}
#pokevin-checkout-hero-wrap .kicker::before{
  content:""; width:32px; height:4px; border-radius:99px;
  background:var(--red); box-shadow:0 0 18px var(--red);
}

/* H1 */
#pokevin-checkout-hero-wrap .ch-title,
#pokevin-checkout-hero-wrap .ch-title .elementor-heading-title{
  font-family:var(--display);
  font-size:clamp(40px, 5vw, 72px);
  line-height:.92; letter-spacing:-.065em;
  font-weight:800; text-transform:uppercase;
  text-shadow:3px 3px 0 #000, 0 0 40px rgba(0,0,0,.6);
  color:#fff; margin:0;
}
#pokevin-checkout-hero-wrap .ch-title .text-hit{
  color:var(--yellow);
  text-shadow:3px 3px 0 #000, 0 0 32px rgba(255,210,31,.3);
}

/* Lede (texto descriptivo) */
#pokevin-checkout-hero-wrap .ch-lede,
#pokevin-checkout-hero-wrap .elementor-widget-text-editor p{
  margin:0; color:var(--muted); max-width:560px;
  font-size:15.5px; line-height:1.6;
}

/* Pill verde "Conexión segura" */
#pokevin-checkout-hero-wrap .pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 12px; border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  font-family:var(--mono); font-size:10.5px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.85);
}
#pokevin-checkout-hero-wrap .pill .dot{
  width:6px; height:6px; border-radius:99px;
  background:var(--yellow); box-shadow:0 0 12px var(--yellow);
}
#pokevin-checkout-hero-wrap .pill.green{
  background:rgba(25,195,125,.14);
  border-color:rgba(25,195,125,.4);
  color:#7ee2ad;
}
#pokevin-checkout-hero-wrap .pill.green .dot{
  background:#19c37d; box-shadow:0 0 14px #19c37d;
  animation:pkv-blink 1.4s ease-in-out infinite;
}

/* Steps strip */
#pokevin-checkout-hero-wrap .steps{
  display:flex; align-items:center; gap:0; flex-wrap:wrap;
  padding:14px; border-radius:18px;
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
}
#pokevin-checkout-hero-wrap .step{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 14px; border-radius:11px;
  font-family:var(--mono); font-size:10.5px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
  white-space:nowrap;
}
#pokevin-checkout-hero-wrap .step .num{
  width:24px; height:24px; display:grid; place-items:center;
  border-radius:7px; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  font-family:var(--mono); font-weight:800; font-size:11px; color:#fff;
}
#pokevin-checkout-hero-wrap .step.done{ color:#fff; }
#pokevin-checkout-hero-wrap .step.done .num{
  background:rgba(25,195,125,.16);
  border-color:rgba(25,195,125,.45);
  color:#7ee2ad;
}
#pokevin-checkout-hero-wrap .step.current{
  color:#0a0a0a;
  background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  box-shadow:0 0 0 2px #000, 0 10px 24px rgba(255,168,0,.35);
}
#pokevin-checkout-hero-wrap .step.current .num{
  background:#000; color:var(--yellow); border-color:#000;
}
#pokevin-checkout-hero-wrap .step-sep{
  flex:0 0 auto; height:2px; width:30px;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.18) 0 6px, transparent 6px 10px);
}
#pokevin-checkout-hero-wrap .step-sep.done{
  background:repeating-linear-gradient(90deg, #7ee2ad 0 6px, transparent 6px 10px);
}

/* Reset de wrappers de Elementor para que no rompan el layout */
#pokevin-checkout-hero-wrap .elementor-widget{ margin-bottom:0 !important; }
#pokevin-checkout-hero-wrap .elementor-widget-heading .elementor-heading-title,
#pokevin-checkout-hero-wrap .elementor-widget-text-editor > .elementor-widget-container > p{
  margin:0;
}

/* Responsive */
@media (max-width:760px){
  #pokevin-checkout-hero-wrap{ padding:36px 0 30px; }
  #pokevin-checkout-hero-wrap > .e-con-inner,
  #pokevin-checkout-hero-wrap .container{ padding-inline:16px; }
  #pokevin-checkout-hero-wrap .step-sep{ width:14px; }
  #pokevin-checkout-hero-wrap .step{ padding:6px 10px; font-size:9.5px; }
  #pokevin-checkout-hero-wrap .step .num{ width:20px; height:20px; font-size:10px; }
}


/* =========================================================
   25.b) CHECKOUT · STEPS (barra independiente)
   Wrap exterior: #pokevin-checkout-steps-wrap
   Plantilla: pokevin-checkout-steps.json
   ========================================================= */
#pokevin-checkout-steps-wrap{ padding:24px 0; }
#pokevin-checkout-steps-wrap > .e-con-inner,
#pokevin-checkout-steps-wrap .container{
  width:100%; max-width:1200px; margin-inline:auto;
  padding-inline:24px;
}
#pokevin-checkout-steps-wrap .steps{
  display:flex; align-items:center; gap:0; flex-wrap:wrap;
  padding:14px; border-radius:18px;
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
}
#pokevin-checkout-steps-wrap .step{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 14px; border-radius:11px;
  font-family:var(--mono); font-size:10.5px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
  white-space:nowrap;
}
#pokevin-checkout-steps-wrap .step .num{
  width:24px; height:24px; display:grid; place-items:center;
  border-radius:7px; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  font-family:var(--mono); font-weight:800; font-size:11px; color:#fff;
}
#pokevin-checkout-steps-wrap .step.done{ color:#fff; }
#pokevin-checkout-steps-wrap .step.done .num{
  background:rgba(25,195,125,.16);
  border-color:rgba(25,195,125,.45);
  color:#7ee2ad;
}
#pokevin-checkout-steps-wrap .step.current{
  color:#0a0a0a;
  background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  box-shadow:0 0 0 2px #000, 0 10px 24px rgba(255,168,0,.35);
}
#pokevin-checkout-steps-wrap .step.current .num{
  background:#000; color:var(--yellow); border-color:#000;
}
#pokevin-checkout-steps-wrap .step-sep{
  flex:1 1 auto; min-width:30px; height:2px;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.18) 0 6px, transparent 6px 10px);
}
#pokevin-checkout-steps-wrap .step-sep.done{
  background:repeating-linear-gradient(90deg, #7ee2ad 0 6px, transparent 6px 10px);
}
#pokevin-checkout-steps-wrap .elementor-widget{ margin-bottom:0 !important; }

@media (max-width:760px){
  #pokevin-checkout-steps-wrap{ padding:18px 0; }
  #pokevin-checkout-steps-wrap > .e-con-inner,
  #pokevin-checkout-steps-wrap .container{ padding-inline:16px; }
  #pokevin-checkout-steps-wrap .step-sep{ min-width:14px; }
  #pokevin-checkout-steps-wrap .step{ padding:6px 10px; font-size:9.5px; }
  #pokevin-checkout-steps-wrap .step .num{ width:20px; height:20px; font-size:10px; }
}


/* =========================================================
   26) CHECKOUT · FORM (WooCommerce Checkout Page widget)
   Wrap exterior:  #pokevin-checkout-form-wrap (clase .checkout)
   Mapea la salida estándar de WooCommerce + Elementor Pro al
   diseño del mockup (paneles "glass" translúcidos como el resto
   de la web, inputs cifrados, radios tipo "card", resumen sticky,
   place-order amarillo).
   ========================================================= */
#pokevin-checkout-form-wrap{
  position:relative;
  font-family:var(--sans);
  color:#fff;
  background:transparent;
}
#pokevin-checkout-form-wrap > .e-con-inner{
  width:100%; max-width:var(--max);
  margin-inline:auto; padding-inline:36px;
}

/* === Layout en 2 columnas 1.4fr / 1fr (≈58/42) === */
#pokevin-checkout-form-wrap .elementor-widget-woocommerce-checkout-page,
#pokevin-checkout-form-wrap .elementor-widget-woocommerce-checkout-page > .elementor-widget-container,
#pokevin-checkout-form-wrap .e-woocommerce-checkout-page{
  width:100%;
}

/* 1. DESINTEGRAMOS LOS ENVOLTORIOS DE WOOCOMMERCE */
/* Hacemos que el Grid ignore las cajas contenedoras y alinee directamente tus paneles oscuros */
#pokevin-checkout-form-wrap form.checkout,
#pokevin-checkout-form-wrap form.woocommerce-checkout,
#pokevin-checkout-form-wrap #customer_details,
#pokevin-checkout-form-wrap .col-1,
#pokevin-checkout-form-wrap .col-2 {
  display: contents !important;
}

/* 2. DEFINIMOS EL GRID CON TUS CAJAS REALES */
#pokevin-checkout-form-wrap .woocommerce{
  width:100%;
  display:grid;
  grid-template-columns:1.4fr 1fr;
  /* LA MAGIA: Forzamos a que las filas del cupón ocupen lo mínimo indispensable (max-content), 
     y la fila 6 (1fr) absorba todo el espacio sobrante de la caja de facturación */
  grid-template-rows: auto auto auto max-content max-content 1fr auto auto; 
  grid-template-areas:
    "notices      notices"
    "login-tog    login-tog"
    "login        login"
    "billing      coupon-tog"
    "billing      coupon"
    "billing      order"
    "additional   order"
    "additional   .";
  column-gap:36px;
  row-gap:22px;
  align-items:start;
  counter-reset:pkv-section;
}

/* 3. ASIGNAMOS ZONAS Y FORZAMOS MÁRGENES A CERO */
#pokevin-checkout-form-wrap .woocommerce-notices-wrapper { grid-area: notices; margin: 0 !important; }
#pokevin-checkout-form-wrap .woocommerce-form-login-toggle { grid-area: login-tog; margin: 0 !important; }
#pokevin-checkout-form-wrap .woocommerce-form-login { grid-area: login; margin: 0 !important; }
#pokevin-checkout-form-wrap .woocommerce-billing-fields { grid-area: billing; margin: 0 !important; }
#pokevin-checkout-form-wrap .woocommerce-additional-fields { grid-area: additional; margin: 0 !important; }
#pokevin-checkout-form-wrap .woocommerce-form-coupon-toggle { grid-area: coupon-tog; margin: 0 !important; }
#pokevin-checkout-form-wrap .woocommerce-form-coupon { grid-area: coupon; margin: 0 !important; }
#pokevin-checkout-form-wrap #order_review { grid-area: order; margin: 0 !important; }

/* 4. OCULTAMOS LA CAJA DE ENVÍO Y CABECERAS EXTRA */
#pokevin-checkout-form-wrap .woocommerce-shipping-fields,
#pokevin-checkout-form-wrap #order_review_heading {
  display: none !important;
}

/* 5. RESTAURAMOS EL CUPÓN (Sin iconos nativos) */
#pokevin-checkout-form-wrap .woocommerce-info,
#pokevin-checkout-form-wrap .woocommerce-message,
#pokevin-checkout-form-wrap .woocommerce-error {
  padding: 14px 18px !important;
  border-radius: 14px;
  background: rgba(255,210,31,.08);
  border: 1px solid rgba(255,210,31,.32);
  color: #fff; font-family: var(--mono); font-size: 12px; font-weight: 700;
  letter-spacing: .06em; list-style: none; margin: 0 !important;
}
#pokevin-checkout-form-wrap .woocommerce-info::before,
#pokevin-checkout-form-wrap .woocommerce-message::before {
  display: none !important;
}
#pokevin-checkout-form-wrap .woocommerce-info a,
#pokevin-checkout-form-wrap .woocommerce-message a,
#pokevin-checkout-form-wrap .showcoupon {
  color: var(--yellow); border-bottom: 2px solid rgba(255,210,31,.4);
}
#pokevin-checkout-form-wrap .woocommerce-form-coupon {
  margin-top: 0 !important;
  padding: 18px; border-radius: 14px;
  background: rgba(0,0,0,.35);
  border: 1.5px dashed rgba(255,210,31,.32);
  display: flex; flex-wrap: wrap; gap: 10px;
}
#pokevin-checkout-form-wrap .woocommerce-form-coupon p{ margin:0; flex:1 1 220px; }
#pokevin-checkout-form-wrap .woocommerce-form-coupon input[type="text"]{
  width:100%; padding:14px 16px; border-radius:12px;
  background:rgba(0,0,0,.4);
  border:1.5px solid rgba(255,255,255,.12);
  color:#fff; font-family:var(--mono); font-size:13px;
  letter-spacing:.06em; text-transform:uppercase; outline:0;
}
#pokevin-checkout-form-wrap .woocommerce-form-coupon button{
  padding:0 22px; min-height:48px; border-radius:12px; border:0; cursor:pointer;
  background:#fff; color:#000;
  font-family:var(--display); font-size:12px; font-weight:800;
  text-transform:uppercase; letter-spacing:.04em; transition:.16s;
}
#pokevin-checkout-form-wrap .woocommerce-form-coupon button:hover{ background:var(--yellow); }
/* === Paneles (cards) — billing, shipping, additional, order review ===
   "Glass panel" idéntico al usado en el resto del sitio (spotlight, sell,
   why, reviews, product cards): degradado blanco translúcido sobre el
   fondo negro global + borde sutil. Velo rojo decorativo en la esquina
   superior derecha. */
#pokevin-checkout-form-wrap .woocommerce-billing-fields,
#pokevin-checkout-form-wrap .woocommerce-shipping-fields,
#pokevin-checkout-form-wrap .woocommerce-additional-fields,
#pokevin-checkout-form-wrap #order_review{
  position:relative; overflow:hidden;
  padding:32px;
  border-radius:var(--r-xl);
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:
    0 24px 48px -24px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(255,255,255,.04);
}
#pokevin-checkout-form-wrap .woocommerce-billing-fields::before,
#pokevin-checkout-form-wrap .woocommerce-shipping-fields::before,
#pokevin-checkout-form-wrap .woocommerce-additional-fields::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(420px 280px at 100% 0%, rgba(229,9,34,.08), transparent 60%);
  z-index:0;
}
#pokevin-checkout-form-wrap .woocommerce-billing-fields > *,
#pokevin-checkout-form-wrap .woocommerce-shipping-fields > *,
#pokevin-checkout-form-wrap .woocommerce-additional-fields > *{
  position:relative; z-index:1;
}
/* Auto-incremento del contador en cada panel rellenable */
#pokevin-checkout-form-wrap .woocommerce-billing-fields,
#pokevin-checkout-form-wrap .woocommerce-shipping-fields,
#pokevin-checkout-form-wrap .woocommerce-additional-fields{
  counter-increment:pkv-section;
}

/* Títulos de panel (h2/h3 generados por WooCommerce).
   Incluimos #ship-to-different-address porque WooCommerce lo
   renderiza como <h3 id="ship-to-different-address"> con el toggle. */
#pokevin-checkout-form-wrap .woocommerce-billing-fields > h3,
#pokevin-checkout-form-wrap .woocommerce-additional-fields > h3,
#pokevin-checkout-form-wrap .woocommerce-billing-fields > h2,
#pokevin-checkout-form-wrap .woocommerce-additional-fields > h2,
#pokevin-checkout-form-wrap h3#ship-to-different-address{
  margin:0 0 22px 0;
  padding:0; background:transparent; border:0;
  font-family:var(--display); font-size:22px; font-weight:800;
  letter-spacing:-.025em; text-transform:uppercase; color:#fff;
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
}
/* Chip numerado: usa el counter para no depender de orden estático */
#pokevin-checkout-form-wrap .woocommerce-billing-fields > h3::before,
#pokevin-checkout-form-wrap .woocommerce-additional-fields > h3::before,
#pokevin-checkout-form-wrap h3#ship-to-different-address::before{
  content:counter(pkv-section);
  width:32px; height:32px; display:grid; place-items:center; border-radius:9px;
  background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  color:#000; font-family:var(--mono); font-weight:800; font-size:14px;
  box-shadow:0 0 0 2px #000;
  flex:0 0 auto;
}
/* La label que envuelve al checkbox del toggle "Enviar a otra dirección" */
#pokevin-checkout-form-wrap h3#ship-to-different-address label{
  display:inline-flex; align-items:center; gap:10px;
  font:inherit; color:inherit; cursor:pointer; margin:0;
}
#pokevin-checkout-form-wrap h3#ship-to-different-address input[type="checkbox"]{
  margin:0;
}

/* === Form rows (grid 2 columnas) === */
#pokevin-checkout-form-wrap .woocommerce-billing-fields__field-wrapper,
#pokevin-checkout-form-wrap .woocommerce-shipping-fields__field-wrapper,
#pokevin-checkout-form-wrap .woocommerce-additional-fields__field-wrapper{
  display:grid; grid-template-columns:repeat(2,1fr); gap:16px;
}
#pokevin-checkout-form-wrap .form-row{
  display:flex; flex-direction:column; gap:8px;
  margin:0; padding:0; width:auto; position:relative;
}
#pokevin-checkout-form-wrap .form-row-wide,
#pokevin-checkout-form-wrap .form-row.notes,
#pokevin-checkout-form-wrap .form-row.create-account,
#pokevin-checkout-form-wrap p.form-row-wide{ grid-column:1 / -1; }
#pokevin-checkout-form-wrap .form-row-first{ grid-column:1 / 2; }
#pokevin-checkout-form-wrap .form-row-last { grid-column:2 / 3; }

/* Labels */
#pokevin-checkout-form-wrap .form-row > label,
#pokevin-checkout-form-wrap .form-row .woocommerce-input-wrapper + label{
  order:-1;
  font-family:var(--mono); font-size:10.5px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
  margin:0;
}
#pokevin-checkout-form-wrap .form-row .required,
#pokevin-checkout-form-wrap .form-row abbr[title]{
  color:var(--red3); text-decoration:none; border:0;
}

/* Inputs / selects / textareas — fondo negro translúcido para que el
   panel "glass" se vea coherente con los inputs del resto de la web. */
#pokevin-checkout-form-wrap .form-row input.input-text,
#pokevin-checkout-form-wrap .form-row textarea,
#pokevin-checkout-form-wrap .form-row select,
#pokevin-checkout-form-wrap .select2-container--default .select2-selection--single,
#pokevin-checkout-form-wrap .select2-container--default .select2-selection--multiple{
  width:100%;
  padding:14px 16px;
  border-radius:12px;
  background:rgba(0,0,0,.4);
  border:1.5px solid rgba(255,255,255,.12);
  color:#fff; font-size:14px; font-weight:500;
  transition:.18s; outline:0;
  min-height:50px; box-shadow:none;
}
#pokevin-checkout-form-wrap .form-row textarea{ min-height:110px; resize:vertical; }
#pokevin-checkout-form-wrap .form-row input.input-text::placeholder,
#pokevin-checkout-form-wrap .form-row textarea::placeholder{ color:var(--muted2); }
#pokevin-checkout-form-wrap .form-row input.input-text:hover,
#pokevin-checkout-form-wrap .form-row textarea:hover,
#pokevin-checkout-form-wrap .form-row select:hover{
  border-color:rgba(255,255,255,.22);
}
#pokevin-checkout-form-wrap .form-row input.input-text:focus,
#pokevin-checkout-form-wrap .form-row textarea:focus,
#pokevin-checkout-form-wrap .form-row select:focus,
#pokevin-checkout-form-wrap .select2-container--default.select2-container--focus .select2-selection--single,
#pokevin-checkout-form-wrap .select2-container--default.select2-container--open .select2-selection--single{
  border-color:var(--yellow);
  background:rgba(0,0,0,.55);
  box-shadow:0 0 0 4px rgba(255,210,31,.18);
}
/* Autofill: WebKit pinta inputs en amarillo claro al rellenar guardado.
   Forzamos color blanco + fondo translúcido equivalente. */
#pokevin-checkout-form-wrap input:-webkit-autofill,
#pokevin-checkout-form-wrap input:-webkit-autofill:hover,
#pokevin-checkout-form-wrap input:-webkit-autofill:focus,
#pokevin-checkout-form-wrap textarea:-webkit-autofill{
  -webkit-text-fill-color:#fff;
  -webkit-box-shadow:0 0 0px 1000px #0c0d13 inset;
  caret-color:#fff;
}

/* Select2 (país, estado) */
#pokevin-checkout-form-wrap .select2-container .select2-selection--single .select2-selection__rendered{
  color:#fff; padding:0; line-height:1.4;
}
#pokevin-checkout-form-wrap .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:100%; top:0; right:10px;
}
#pokevin-checkout-form-wrap .select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color:var(--muted) transparent transparent transparent;
}
.select2-dropdown{
  background:var(--black3); color:#fff;
  border:1.5px solid rgba(255,255,255,.12); border-radius:12px;
  overflow:hidden;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted{
  background:var(--yellow); color:#000;
}
.select2-search--dropdown .select2-search__field{
  background:rgba(0,0,0,.4); color:#fff;
  border:1.5px solid rgba(255,255,255,.12); border-radius:8px;
  padding:10px 12px;
}

/* Errores */
#pokevin-checkout-form-wrap .woocommerce-invalid input.input-text,
#pokevin-checkout-form-wrap .woocommerce-invalid select,
#pokevin-checkout-form-wrap .woocommerce-invalid textarea{
  border-color:var(--red3);
  box-shadow:0 0 0 4px rgba(255,42,61,.18);
}
#pokevin-checkout-form-wrap .woocommerce-error{
  background:rgba(229,9,34,.1);
  border-color:rgba(229,9,34,.4);
  color:#ffb4bc;
}

/* Checkbox "create account" y aceptación de términos (pill) */
#pokevin-checkout-form-wrap .woocommerce-form__label-for-checkbox,
#pokevin-checkout-form-wrap .form-row.create-account,
#pokevin-checkout-form-wrap .woocommerce-terms-and-conditions-wrapper{
  display:flex; align-items:flex-start; gap:12px;
  margin-top:14px; padding:14px 16px;
  border-radius:12px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  font-size:13.5px; color:rgba(255,255,255,.84); line-height:1.55;
}
#pokevin-checkout-form-wrap .woocommerce-terms-and-conditions-checkbox-text{
  font-family:var(--display); font-weight:800; font-size:13px;
  text-transform:uppercase; letter-spacing:.04em; color:#fff;
  margin:0;
}
#pokevin-checkout-form-wrap input[type="checkbox"],
#pokevin-checkout-form-wrap input[type="radio"]{
  width:18px; height:18px; accent-color:var(--yellow);
  margin-top:2px; flex:0 0 auto;
}
#pokevin-checkout-form-wrap a{ color:var(--yellow); }
#pokevin-checkout-form-wrap a:hover{ color:var(--yellow2); }

/* ============================================================
   ORDER REVIEW (resumen del pedido) — sticky right column
   Mismo "glass panel" pero sin padding interno: la tabla y el
   #payment usan su propio padding para imitar las secciones
   summary-head / summary-items / summary-totals del mockup.
   ============================================================ */
#pokevin-checkout-form-wrap #order_review{
  padding:0;
  position:sticky; top:96px;
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
}
#pokevin-checkout-form-wrap #order_review::before{ display:none; }

/* Tabla de productos */
#pokevin-checkout-form-wrap .shop_table.woocommerce-checkout-review-order-table{
  width:100%; border-collapse:collapse; margin:0;
  background:transparent;
}
#pokevin-checkout-form-wrap .shop_table thead{
  background:linear-gradient(180deg, rgba(229,9,34,.08), transparent);
  border-bottom:1px solid rgba(255,255,255,.08);
}
#pokevin-checkout-form-wrap .shop_table thead th{
  padding:22px 26px; border:0;
  font-family:var(--display); font-size:18px; font-weight:800;
  text-transform:uppercase; letter-spacing:-.02em; color:#fff;
}
#pokevin-checkout-form-wrap .shop_table tbody td,
#pokevin-checkout-form-wrap .shop_table tfoot td,
#pokevin-checkout-form-wrap .shop_table tfoot th{
  border:0; padding:14px 26px;
  font-size:14px; color:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(255,255,255,.05);
}
#pokevin-checkout-form-wrap .shop_table tbody .cart_item:last-child td{ border-bottom:1px dashed rgba(255,255,255,.18); }
#pokevin-checkout-form-wrap .shop_table .product-name{
  font-family:var(--display); font-size:14px; font-weight:800;
  letter-spacing:-.01em; color:#fff;
}
#pokevin-checkout-form-wrap .shop_table .product-quantity{
  font-family:var(--mono); font-size:10px; font-weight:800;
  letter-spacing:.1em; color:var(--muted);
}
#pokevin-checkout-form-wrap .shop_table .product-total,
#pokevin-checkout-form-wrap .shop_table td.product-total{
  font-family:var(--mono); font-size:14px; font-weight:800;
  color:#fff; text-align:right;
}

/* Totales (subtotal, shipping, total) */
#pokevin-checkout-form-wrap .shop_table tfoot .cart-subtotal th,
#pokevin-checkout-form-wrap .shop_table tfoot .shipping th,
#pokevin-checkout-form-wrap .shop_table tfoot .fee th{
  font-family:var(--mono); font-size:13px; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; color:var(--muted);
}
#pokevin-checkout-form-wrap .shop_table tfoot .cart-subtotal td,
#pokevin-checkout-form-wrap .shop_table tfoot .shipping td,
#pokevin-checkout-form-wrap .shop_table tfoot .fee td{
  font-family:var(--mono); font-weight:800; color:#fff; text-align:right;
}
#pokevin-checkout-form-wrap .shop_table tfoot .order-total th{
  padding-top:22px; border-top:1px dashed rgba(255,255,255,.18);
  font-family:var(--display); font-size:13px; font-weight:800;
  letter-spacing:.04em; text-transform:uppercase; color:#fff;
}
#pokevin-checkout-form-wrap .shop_table tfoot .order-total td{
  padding-top:22px; border-top:1px dashed rgba(255,255,255,.18);
  text-align:right;
}
#pokevin-checkout-form-wrap .shop_table tfoot .order-total .woocommerce-Price-amount{
  font-family:var(--display); font-size:34px; font-weight:800;
  letter-spacing:-.03em;
  background:linear-gradient(135deg, #fff, #ffd21f);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
#pokevin-checkout-form-wrap .shop_table tfoot .order-total .woocommerce-Price-currencySymbol{ color:inherit; }

/* Métodos de envío (lista en .shipping td) */
#pokevin-checkout-form-wrap .shop_table .shipping ul#shipping_method{
  list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;
}
#pokevin-checkout-form-wrap .shop_table .shipping ul#shipping_method li{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px; border-radius:10px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.1);
}
#pokevin-checkout-form-wrap .shop_table .shipping ul#shipping_method li label{
  font-family:var(--display); font-size:13px; font-weight:800;
  text-transform:uppercase; letter-spacing:.02em; color:#fff;
  display:inline-flex; align-items:center; gap:8px; margin:0;
}

/* ============================================================
   PAYMENT METHODS — radio cards
   ============================================================ */
#pokevin-checkout-form-wrap #payment{
  padding:26px; background:transparent; border-radius:0;
  border-top:1px solid rgba(255,255,255,.08);
}
#pokevin-checkout-form-wrap #payment ul.payment_methods{
  list-style:none; padding:0; margin:0 0 18px 0;
  display:flex; flex-direction:column; gap:12px;
  border:0; background:transparent;
}
#pokevin-checkout-form-wrap #payment ul.payment_methods li.wc_payment_method{
  position:relative;
  padding:18px 20px; border-radius:14px;
  background:rgba(0,0,0,.35);
  border:1.5px solid rgba(255,255,255,.1);
  transition:.18s;
}
#pokevin-checkout-form-wrap #payment ul.payment_methods li.wc_payment_method:hover{
  border-color:rgba(255,255,255,.25);
  background:rgba(255,255,255,.04);
}
#pokevin-checkout-form-wrap #payment ul.payment_methods li.wc_payment_method:has(> input[type="radio"]:checked),
#pokevin-checkout-form-wrap #payment ul.payment_methods li.wc_payment_method.is-selected{
  border-color:var(--yellow);
  background:rgba(255,210,31,.06);
  box-shadow:0 0 0 1px var(--yellow), 0 12px 28px rgba(255,168,0,.18);
}
#pokevin-checkout-form-wrap #payment ul.payment_methods li.wc_payment_method > label{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--display); font-size:14.5px; font-weight:800;
  text-transform:uppercase; letter-spacing:-.01em; color:#fff;
  margin:0; cursor:pointer;
}
#pokevin-checkout-form-wrap #payment ul.payment_methods li.wc_payment_method > label img{
  max-height:24px; width:auto; display:inline-block; margin-left:8px;
}
#pokevin-checkout-form-wrap #payment .payment_box{
  margin-top:14px; padding:18px;
  border-radius:14px;
  background:rgba(0,0,0,.4);
  border:1.5px dashed rgba(255,210,31,.32);
  font-size:13.5px; color:rgba(255,255,255,.78); line-height:1.55;
}
#pokevin-checkout-form-wrap #payment .payment_box p{ margin:0 0 10px 0; }
#pokevin-checkout-form-wrap #payment .payment_box p:last-child{ margin:0; }
#pokevin-checkout-form-wrap #payment .payment_box::before{ display:none; }

/* === Place order button === */
#pokevin-checkout-form-wrap .form-row.place-order,
#pokevin-checkout-form-wrap .place-order{
  padding:20px 26px 22px;
  border-top:1px solid rgba(255,255,255,.08);
  margin:0;
}
#pokevin-checkout-form-wrap button#place_order,
#pokevin-checkout-form-wrap #place_order{
  width:100%; min-height:60px;
  border-radius:14px; border:0; cursor:pointer;
  font-family:var(--display); font-size:14px; font-weight:800;
  text-transform:uppercase; letter-spacing:.04em;
  background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  color:#0a0a0a;
  box-shadow:
    0 0 0 2px #000,
    0 0 0 4px rgba(255,255,255,.92),
    0 22px 48px rgba(255,168,0,.35),
    inset 0 1px 0 rgba(255,255,255,.65);
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  transition:.22s cubic-bezier(.2,.8,.2,1);
  text-shadow:none;
}
#pokevin-checkout-form-wrap button#place_order:hover{
  transform:translateY(-3px) rotate(-.6deg);
}

/* Loader overlay de WooCommerce */
#pokevin-checkout-form-wrap .blockUI.blockOverlay{
  background:rgba(5,6,9,.65) !important; backdrop-filter:blur(2px);
  border-radius:var(--r-xl);
}

/* === Responsive === */
@media (max-width:1180px){
  /* Una sola columna en tablet/móvil para evitar que se amontone */
  #pokevin-checkout-form-wrap .woocommerce{
    grid-template-columns:1fr;
    grid-template-areas:
      "notices"
      "login-tog"
      "login"
      "coupon-tog"
      "coupon"
      "billing"
      "additional"
      "order";
  }
  #pokevin-checkout-form-wrap #order_review{ position:static; }
}

@media (max-width:760px){
  #pokevin-checkout-form-wrap{ padding-top:36px !important; padding-bottom:70px !important; }
  #pokevin-checkout-form-wrap > .e-con-inner{ padding-inline:16px; }
  #pokevin-checkout-form-wrap .woocommerce-billing-fields,
  #pokevin-checkout-form-wrap .woocommerce-shipping-fields,
  #pokevin-checkout-form-wrap .woocommerce-additional-fields{ padding:22px; }
  #pokevin-checkout-form-wrap .woocommerce-billing-fields__field-wrapper,
  #pokevin-checkout-form-wrap .woocommerce-shipping-fields__field-wrapper,
  #pokevin-checkout-form-wrap .woocommerce-additional-fields__field-wrapper{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   RESPONSIVE GENERAL — secciones interiores
   ========================================================= */
@media (max-width:1240px){
  #pokevin-vault-wrap .vault-grid{ grid-template-columns:repeat(2, 1fr); }
  #pokevin-why-wrap .why-grid{ grid-template-columns:repeat(2, 1fr); }
  #pokevin-reviews-wrap .reviews-grid{ grid-template-columns:repeat(2, 1fr); }
  #pokevin-community-wrap .community-grid{ grid-template-columns:repeat(4, 1fr); }
  #pokevin-spotlight-wrap .spotlight-grid{ grid-template-columns:1fr; gap:32px; }
  #pokevin-sell-wrap .sell-inner{ grid-template-columns:1fr; }
  #pokevin-newsletter-wrap .newsbanner-inner{ grid-template-columns:1fr; }
}

@media (max-width:760px){
  .pkv-grid-4{ grid-template-columns:repeat(2, 1fr); gap:14px; }
  .pkv-grid-3, .pkv-grid-2{ grid-template-columns:1fr; }
  #pokevin-vault-wrap .vault-grid{ grid-template-columns:1fr; }
  #pokevin-why-wrap .why-grid{ grid-template-columns:1fr; }
  #pokevin-reviews-wrap .reviews-grid{ grid-template-columns:1fr; }
  #pokevin-community-wrap .community-grid{ grid-template-columns:repeat(2, 1fr); }
  #pokevin-sell-wrap{ padding:80px 0; }
  #pokevin-sell-wrap .sell-inner{ padding:0 20px; }
  #pokevin-sell-wrap .sell-copy,
  #pokevin-sell-wrap .sell-panel{ padding:30px !important; border-radius:24px !important; }
  #pokevin-sell-wrap .sell-stats{ grid-template-columns:1fr 1fr; }
  #pokevin-spotlight-wrap .spotlight-stats{ grid-template-columns:1fr 1fr; }
  #pokevin-newsletter-wrap{ padding:60px 0; }
  #pokevin-newsletter-wrap .newsbanner-inner{ padding:0 20px; gap:28px; }
  #pokevin-newsletter-wrap .news-form{ flex-direction:column; }
  #pokevin-faq-wrap .faq-item summary{ padding:18px 20px; font-size:15px; }
  #pokevin-faq-wrap .faq-body{ padding:0 20px 18px; }
}


/* =========================================================
   27) BRAND HUB PAGES
   Template compacta para /pokemon/, /dragon-ball/, /one-piece/
   Estructura: hero compact + filtros tipo + set chips + grid + CTA.
   Mismo template, variantes de color por ID del wrap.
   ========================================================= */

/* --- Brand hero (cabecera compacta de cada marca) --- */
.pkv-brand-hero{
  position:relative; overflow:hidden;
}
/* Layout 2 cols del hero — flex de Elementor (proporciones via flex-grow) */
.pkv-brand-hero-copy { flex:1.2 1 0; min-width:0; }
.pkv-brand-hero-img  { flex:1 1 0;   min-width:0; }

/* Tipografía del H1 */
.pkv-brand-hero-h1 .elementor-heading-title,
.pkv-brand-hero-h1 h1{
  font-family:var(--display);
  font-size:clamp(46px, 6vw, 96px);
  font-weight:800; letter-spacing:-.05em; line-height:.95;
  text-transform:uppercase;
  margin:14px 0 18px 0; color:#fff;
}
.pkv-brand-hero-h1 .hl  { color:var(--yellow); }
.pkv-brand-hero-h1 .hl-r{ color:var(--red3); }
.pkv-brand-hero-h1 .hl-o{ color:var(--orange); }
.pkv-brand-hero-h1 .hl-b{ color:var(--blue3); }

/* Caja de Notificación de Éxito (Infalible) */
.pkv-success-box {
  padding: 32px !important;
  border-radius: var(--r-xl) !important;
  background: 
    radial-gradient(420px 280px at 0% 0%, rgba(25,195,125,.12), transparent 60%),
    linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018)) !important;
  border: 1px solid rgba(25,195,125,.3) !important;
  border-left: 4px solid var(--green) !important;
  box-shadow: 
    0 24px 48px -24px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(255,255,255,.04) !important;
  width: 100%;
}

.pkv-success-box .elementor-widget-container,
.pkv-success-box p {
  margin: 0 !important;
  color: rgba(255,255,255,.9) !important;
  font-size: 15.5px !important;
  line-height: 1.65 !important;
}

@media (max-width:760px) {
  .pkv-success-box {
    padding: 22px !important;
  }
}

/* Stats row (3-4 datos rápidos: productos / sets / drops / envío) */
.pkv-brand-hero-stats{
  display:flex; flex-wrap:wrap; gap:22px 36px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.1);
}
.pkv-brand-hero-stat{ display:flex; flex-direction:column; gap:4px; }
.pkv-brand-hero-stat strong{
  font-family:var(--display); font-size:26px; font-weight:800;
  letter-spacing:-.04em; line-height:1; color:#fff;
}
.pkv-brand-hero-stat span{
  font-family:var(--mono); font-size:10px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
}

/* Imagen destacada (carta principal de la marca) */
.pkv-brand-hero-img{
  position:relative;
  display:grid; place-items:center;
  min-height:380px;
}
.pkv-brand-hero-img img{
  width:auto; max-width:80%; max-height:480px;
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.7));
  transform:rotate(-5deg);
  animation:pkv-float 6s ease-in-out infinite;
  pointer-events:none;
}

/* Backgrounds y acentos por marca */
#pokevin-pokemon-hub .pkv-brand-hero{
  background:
    radial-gradient(800px 500px at 80% 30%, rgba(255,210,31,.18), transparent 60%),
    radial-gradient(700px 400px at 12% 70%, rgba(229,9,34,.24), transparent 60%),
    linear-gradient(135deg, #1a0408 0%, #050609 50%, #1a0d04 100%);
}
#pokevin-pokemon-hub .pkv-kicker{ color:var(--red3); }
#pokevin-pokemon-hub .pkv-kicker::before{ background:var(--yellow); }

#pokevin-dragonball-hub .pkv-brand-hero{
  background:
    radial-gradient(700px 480px at 18% 30%, rgba(255,138,0,.24), transparent 60%),
    radial-gradient(700px 400px at 88% 70%, rgba(255,210,31,.18), transparent 60%),
    linear-gradient(135deg, #1a0d04 0%, #050609 50%, #100A0C 100%);
}
#pokevin-dragonball-hub .pkv-kicker{ color:var(--orange); }
#pokevin-dragonball-hub .pkv-kicker::before{ background:var(--red); }

#pokevin-onepiece-hub .pkv-brand-hero{
  background:
    radial-gradient(700px 480px at 18% 30%, rgba(36,107,253,.24), transparent 60%),
    radial-gradient(700px 400px at 88% 70%, rgba(10,102,182,.2), transparent 60%),
    linear-gradient(135deg, #020a18 0%, #050609 50%, #040d1c 100%);
}
#pokevin-onepiece-hub .pkv-kicker{ color:var(--blue3); }
#pokevin-onepiece-hub .pkv-kicker::before{ background:#fff; }

/* --- Set chips (segunda fila, sets actuales de la marca) --- */
.pkv-set-chips{
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  margin-bottom:28px;
}
.pkv-set-chips .label{
  font-family:var(--mono); font-size:10px; font-weight:800;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
  margin-right:6px;
}
.pkv-set-chips .pkv-chip{
  padding:7px 12px; font-size:11px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
}

/* --- CTA bottom "Ver toda la colección" --- */
.pkv-hub-cta-bottom{
  display:flex; justify-content:center;
  padding-top:48px;
}

/* Responsive Brand Hub */
@media (max-width:1240px){
  .pkv-brand-hero-copy,
  .pkv-brand-hero-img{ flex:1 1 100%; }
  .pkv-brand-hero-img{ min-height:300px; order:-1; }
  .pkv-brand-hero-img img{ max-height:380px; }
}
@media (max-width:760px){
  .pkv-brand-hero-h1 .elementor-heading-title,
  .pkv-brand-hero-h1 h1{ font-size:clamp(42px, 12vw, 64px); }
  .pkv-brand-hero-stats{ gap:14px 24px; }
  .pkv-brand-hero-stat strong{ font-size:22px; }
  .pkv-brand-hero-img{ min-height:240px; }
  .pkv-brand-hero-img img{ max-height:280px; }
  .pkv-set-chips{ margin-bottom:22px; }
}


/* =========================================================
   28) WooCommerce LOOP PRODUCT CARDS — POKEVIN style
   Estiliza el output del loop default de WooCommerce
   (.woocommerce ul.products) para que se parezca al diseño
   .pkv-product. Aplica globalmente — todas las páginas con
   loop de productos (tienda, categorías, hubs de marca,
   shortcode [products]) heredarán este look.
   ========================================================= */

/* Grid wrapper */
.woocommerce ul.products,
.woocommerce-page ul.products{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:20px;
  padding:0;
  margin:0 0 32px;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{ display:none; content:none; }

/* Card */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  list-style:none;
  position:relative;
  padding:14px;
  border-radius:22px;
  background:linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
  display:flex;
  flex-direction:column;
  margin:0;
  width:auto;
  float:none;
  transition:.3s cubic-bezier(.2,.8,.2,1);
  isolation:isolate;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-8px);
  border-color:var(--yellow);
}

/* Image */
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product img{
  border-radius:14px;
  margin:0 0 16px;
  width:100%;
  height:auto;
  aspect-ratio:1;
  object-fit:cover;
  background:
    radial-gradient(circle at 50% 42%, rgba(255,210,31,.18), transparent 38%),
    linear-gradient(135deg, rgba(229,9,34,.18), rgba(255,210,31,.1));
}

/* Categories chip (encima del título, si está) */
.woocommerce ul.products li.product .woocommerce-loop-category__title{
  font-family:var(--mono);
  font-size:10px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted);
  margin:0 0 6px;
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2{
  font-family:var(--display);
  font-size:17px; font-weight:800;
  letter-spacing:-.035em; line-height:1.18;
  color:#fff;
  margin:0 0 10px;
  padding:0;
  text-transform:none;
}

/* Star rating */
.woocommerce ul.products li.product .star-rating{
  color:var(--yellow);
  margin:0 0 10px;
  font-size:12px;
  width:5.4em;
}

/* Price block */
.woocommerce ul.products li.product .price{
  font-family:var(--display);
  font-size:22px; font-weight:800;
  letter-spacing:-.04em;
  color:#fff;
  margin:0 0 14px;
  display:flex;
  flex-direction:column-reverse;
  gap:2px;
}
.woocommerce ul.products li.product .price del{
  font-family:var(--mono);
  font-size:11px; font-weight:700;
  color:var(--muted);
  text-decoration:line-through;
  opacity:1;
}
.woocommerce ul.products li.product .price ins{
  background:transparent;
  text-decoration:none;
  color:#fff;
  font-weight:800;
}
.woocommerce ul.products li.product .price .amount,
.woocommerce ul.products li.product .price bdi{ font-size:inherit; }

/* Add to cart button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product a.added_to_cart{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border:2px solid #000;
  border-radius:13px;
  background:var(--yellow);
  color:#000;
  font-family:var(--display);
  font-size:11px; font-weight:800;
  text-transform:uppercase; letter-spacing:.04em;
  cursor:pointer;
  box-shadow:0 0 0 2px #000, 0 10px 22px rgba(255,168,0,.32);
  transition:.18s;
  margin-top:auto;
  text-decoration:none;
  align-self:flex-start;
  line-height:1;
  min-height:0;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover{
  transform:rotate(-2deg) translateY(-2px);
  background:var(--yellow);
  color:#000;
}
.woocommerce ul.products li.product .added_to_cart{
  margin-left:6px;
  background:var(--green);
  color:#000;
}

/* Sale badge (.onsale) */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale{
  position:absolute;
  top:24px; left:24px;
  z-index:3;
  padding:7px 11px;
  border-radius:9px;
  background:#19c37d;
  color:#000;
  border:2px solid #000;
  font-family:var(--mono);
  font-size:9.5px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase;
  box-shadow:0 8px 18px rgba(0,0,0,.4);
  min-height:0; min-width:0;
  line-height:1;
  margin:0;
}

/* Responsive */
@media (max-width:1240px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{ grid-template-columns:repeat(3, 1fr); }
}
@media (max-width:900px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{ grid-template-columns:repeat(2, 1fr); gap:12px; }
  .woocommerce ul.products li.product{ padding:12px; border-radius:16px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h2{
    font-size:13px;
    line-height:1.25;
    margin-bottom:8px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    text-overflow:ellipsis;
    word-break:break-word;
  }
  .woocommerce ul.products li.product .price{ font-size:16px; margin-bottom:10px; }
  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product .add_to_cart_button{
    padding:8px 10px;
    font-size:10px;
    letter-spacing:.02em;
    white-space:nowrap;
  }
}
@media (max-width:380px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{ grid-template-columns:1fr; }
}


/* =========================================================
   29) BIG CTA BOTTOM (hub pages)
   Caja grande al final de las páginas de marca con kicker +
   H2 + lede + 2 botones (comprar todo / vender). Reemplaza
   el simple botón "Ver toda la colección".
   ========================================================= */
.pkv-hub-cta-big{
  padding:60px 40px !important;
  border-radius:36px !important;
  background:
    radial-gradient(700px 500px at 80% 20%, rgba(229,9,34,.18), transparent 62%),
    radial-gradient(700px 500px at 12% 80%, rgba(255,210,31,.14), transparent 62%),
    linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.02)) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  text-align:center;
}
.pkv-hub-cta-big > .e-con-inner,
.pkv-hub-cta-big{
  align-items:center;
}
.pkv-hub-cta-big .pkv-kicker{ justify-content:center; }
.pkv-hub-cta-h2 .elementor-heading-title,
.pkv-hub-cta-h2 h2{
  font-family:var(--display);
  font-size:clamp(36px, 4.5vw, 64px);
  font-weight:800; letter-spacing:-.05em; line-height:.95;
  text-transform:uppercase;
  margin:18px 0 18px !important;
  color:#fff;
}
.pkv-hub-cta-h2 .hl{ color:var(--yellow); }
.pkv-hub-cta-lede p{
  color:var(--muted);
  font-size:16px; line-height:1.6;
  max-width:620px;
  margin:0 auto 30px !important;
}

@media (max-width:760px){
  .pkv-hub-cta-big{ padding:40px 24px !important; border-radius:24px !important; }
}


/* =========================================================
   30) TYPE TILES — Menú visual por tipo de producto
   Se usa en las hub pages /pokemon/, /dragon-ball/, /one-piece/
   como navegación principal hacia /tienda/ filtrada.
   Cada tile es un <a> con icon + título + count + flecha.
   ========================================================= */
.pkv-type-tiles{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
  margin:0 0 48px;
}

.pkv-type-tile{
  position:relative;
  aspect-ratio:1;
  border-radius:20px;
  padding:22px;
  background:linear-gradient(160deg, rgba(255,255,255,.06), rgba(229,9,34,.06));
  border:1px solid rgba(255,255,255,.1);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:.3s cubic-bezier(.2,.8,.2,1);
  text-decoration:none;
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}
.pkv-type-tile:hover{
  transform:translateY(-6px);
  border-color:var(--yellow);
  background:linear-gradient(160deg, rgba(255,210,31,.1), rgba(229,9,34,.1));
}

/* Glyph grande de fondo (data-glyph en el HTML) */
.pkv-type-tile::before{
  content:attr(data-glyph);
  position:absolute;
  right:-22px; bottom:-40px;
  font-family:var(--display);
  font-size:160px;
  font-weight:800;
  letter-spacing:-.08em;
  line-height:.8;
  color:rgba(255,255,255,.04);
  pointer-events:none;
  transition:.3s;
}
.pkv-type-tile:hover::before{
  color:rgba(255,210,31,.08);
  transform:scale(1.08) rotate(-3deg);
}

/* Top row: icono + flecha */
.pkv-type-tile-top{
  display:flex; justify-content:space-between; align-items:flex-start;
  position:relative; z-index:2;
}
.pkv-type-tile-icon{
  width:48px; height:48px;
  border-radius:14px;
  display:grid; place-items:center;
  background:rgba(255,210,31,.12);
  border:1px solid rgba(255,210,31,.3);
  color:var(--yellow);
  transition:.3s;
}
.pkv-type-tile:hover .pkv-type-tile-icon{
  background:var(--yellow);
  color:#000;
  border-color:var(--yellow);
}
.pkv-type-tile-icon svg{ width:22px; height:22px; }

.pkv-type-tile-arrow{
  width:32px; height:32px;
  border-radius:10px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  display:grid; place-items:center;
  color:#fff;
  transition:.2s;
}
.pkv-type-tile-arrow svg{ width:14px; height:14px; }
.pkv-type-tile:hover .pkv-type-tile-arrow{
  background:var(--yellow);
  color:#000;
  border-color:var(--yellow);
  transform:rotate(-45deg);
}

/* Bottom: título + count */
.pkv-type-tile-content{
  position:relative; z-index:2;
}
.pkv-type-tile-title{
  display:block;
  font-family:var(--display);
  font-size:22px;
  font-weight:800;
  letter-spacing:-.04em;
  line-height:1;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:6px;
}
.pkv-type-tile-count{
  display:block;
  font-family:var(--mono);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}

/* Variantes — algunos tiles con acento distinto */
.pkv-type-tile.is-psa .pkv-type-tile-icon{
  background:rgba(25,195,125,.14);
  border-color:rgba(25,195,125,.4);
  color:var(--green);
}
.pkv-type-tile.is-psa:hover .pkv-type-tile-icon{
  background:var(--green);
  color:#000;
}
.pkv-type-tile.is-vintage{
  background:linear-gradient(160deg, rgba(255,210,31,.1), rgba(229,9,34,.08));
}
.pkv-type-tile.is-vintage .pkv-type-tile-icon{
  background:rgba(255,210,31,.18);
  border-color:rgba(255,210,31,.4);
}

@media (max-width:1240px){
  .pkv-type-tiles{ grid-template-columns:repeat(2, 1fr); gap:14px; }
}
@media (max-width:760px){
  .pkv-type-tiles{ grid-template-columns:repeat(2, 1fr); gap:10px; }
  .pkv-type-tile{ padding:16px; }
  .pkv-type-tile-icon{ width:40px; height:40px; }
  .pkv-type-tile-icon svg{ width:18px; height:18px; }
  .pkv-type-tile-title{ font-size:18px; }
  .pkv-type-tile::before{ font-size:120px; right:-16px; bottom:-30px; }
}


/* =========================================================
   31) BRAND BANNER INFERIOR
   Banner visual con USP específico de cada marca:
   - Pokémon → Vintage WOTC
   - Dragon Ball → Fusion World
   - One Piece → Alt-arts & Manga Rares
   Variantes via clase: .pkv-brand-banner.is-vintage / .is-fusion / .is-altart
   ========================================================= */
.pkv-brand-banner{
  position:relative;
  border-radius:32px;
  padding:48px;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:32px;
  align-items:center;
  overflow:hidden;
  margin-top:60px;
  border:1px solid rgba(255,210,31,.22);
}

.pkv-brand-banner::before{
  content:attr(data-watermark);
  position:absolute;
  right:-30px; top:-20px;
  font-family:var(--display); font-weight:800;
  font-size:clamp(80px, 13vw, 200px);
  line-height:.8; letter-spacing:-.08em;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,210,31,.16);
  transform:skewX(-7deg);
  pointer-events:none;
}

/* Variante Vintage WOTC (Pokémon) */
.pkv-brand-banner.is-vintage{
  background:
    radial-gradient(420px 320px at 80% 30%, rgba(255,210,31,.22), transparent 60%),
    radial-gradient(360px 260px at 10% 80%, rgba(229,9,34,.28), transparent 60%),
    linear-gradient(145deg, #110a04, #2a0c08 50%, #050609 100%);
}

/* Variante Fusion World (Dragon Ball) */
.pkv-brand-banner.is-fusion{
  background:
    radial-gradient(420px 320px at 80% 30%, rgba(255,138,0,.28), transparent 60%),
    radial-gradient(360px 260px at 10% 80%, rgba(229,9,34,.22), transparent 60%),
    linear-gradient(145deg, #1a0d04, #3a1808 50%, #050609 100%);
  border-color:rgba(255,138,0,.3);
}
.pkv-brand-banner.is-fusion::before{ -webkit-text-stroke-color:rgba(255,138,0,.18); }

/* Variante Alt-art (One Piece) */
.pkv-brand-banner.is-altart{
  background:
    radial-gradient(420px 320px at 80% 30%, rgba(36,107,253,.28), transparent 60%),
    radial-gradient(360px 260px at 10% 80%, rgba(10,102,182,.22), transparent 60%),
    linear-gradient(145deg, #020a18, #062a52 50%, #040d1c 100%);
  border-color:rgba(36,107,253,.3);
}
.pkv-brand-banner.is-altart::before{ -webkit-text-stroke-color:rgba(36,107,253,.18); }

/* Variante Presale (POKEVIN drop weekly — sirve para las 3 marcas).
   Yellow dominante para urgencia/excitación, con overlay de stripes
   diagonales como el announcement bar, y kicker rojo parpadeante. */
.pkv-brand-banner.is-presale{
  background:
    radial-gradient(420px 320px at 80% 30%, rgba(255,210,31,.32), transparent 60%),
    radial-gradient(420px 320px at 12% 90%, rgba(229,9,34,.26), transparent 60%),
    linear-gradient(145deg, #1a0d04, #1a0408 50%, #050609 100%);
  border-color:rgba(255,210,31,.32);
}
.pkv-brand-banner.is-presale::after{
  content:"";
  position:absolute; inset:0;
  background-image:repeating-linear-gradient(135deg, transparent 0 26px, rgba(255,210,31,.05) 26px 27px);
  pointer-events:none;
  z-index:1;
}
.pkv-brand-banner.is-presale .pkv-brand-banner-copy,
.pkv-brand-banner.is-presale .pkv-brand-banner-img{
  position:relative; z-index:2;
}
.pkv-brand-banner.is-presale .pkv-kicker{
  animation:pkv-blink 2s ease-in-out infinite;
}

/* Copy del banner (izquierda) */
.pkv-brand-banner-copy{
  position:relative; z-index:2;
}
.pkv-brand-banner-copy h3{
  font-family:var(--display);
  font-size:clamp(28px, 3vw, 44px);
  font-weight:800; letter-spacing:-.04em; line-height:1;
  text-transform:uppercase;
  margin:14px 0 16px;
  color:#fff;
}
.pkv-brand-banner-copy h3 .hl{ color:var(--yellow); }
.pkv-brand-banner-copy p{
  color:rgba(255,255,255,.78);
  font-size:15px; line-height:1.6;
  max-width:440px;
  margin:0 0 22px;
}
.pkv-brand-banner-actions{
  display:flex; flex-wrap:wrap; gap:12px;
}

/* Imagen del banner (derecha) */
.pkv-brand-banner-img{
  position:relative;
  display:grid; place-items:center;
  min-height:240px;
}
.pkv-brand-banner-img img{
  max-width:75%; max-height:320px; height:auto;
  filter:drop-shadow(0 25px 50px rgba(0,0,0,.7));
  transform:rotate(-5deg);
  animation:pkv-float 6s ease-in-out infinite;
}

@media (max-width:1100px){
  .pkv-brand-banner{ grid-template-columns:1fr; gap:24px; padding:36px; }
  .pkv-brand-banner-img{ min-height:200px; order:-1; }
  .pkv-brand-banner-img img{ max-height:260px; }
}
@media (max-width:760px){
  .pkv-brand-banner{ padding:24px; border-radius:24px; }
  .pkv-brand-banner-copy h3{ font-size:clamp(24px, 7vw, 34px); }
}


/* =========================================================
   32) SERVICE / INFO PAGES
   Estilos compartidos para /drops/, /psa-vault/, /vende-tu-coleccion/,
   /faq/, /quienes-somos/, /contacto/ y páginas legales.
   Reutilizan .pkv-brand-hero como cabecera. Aquí solo lo específico.
   ========================================================= */

/* --- Past drop cards (histórico de drops) --- */
.pkv-drops-history{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}
.pkv-drop-card{
  position:relative;
  padding:24px;
  border-radius:20px;
  background:linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
  transition:.3s cubic-bezier(.2,.8,.2,1);
  text-decoration:none;
  color:#fff;
  display:flex; flex-direction:column;
}
.pkv-drop-card:hover{ transform:translateY(-6px); border-color:var(--yellow); }
.pkv-drop-card-head{
  display:flex; justify-content:space-between; align-items:flex-start;
  margin-bottom:14px;
}
.pkv-drop-card-num{
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.16em; color:var(--yellow);
}
.pkv-drop-card-status{
  font-family:var(--mono); font-size:9.5px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase;
  padding:4px 8px; border-radius:6px;
}
.pkv-drop-card-status.sold-out{ background:rgba(229,9,34,.18); color:#ffb8bf; border:1px solid rgba(229,9,34,.4); }
.pkv-drop-card-status.completed{ background:rgba(25,195,125,.14); color:#7ee2ad; border:1px solid rgba(25,195,125,.4); }
.pkv-drop-card h3{
  font-family:var(--display); font-size:20px; font-weight:800;
  letter-spacing:-.03em; line-height:1.16; color:#fff;
  margin:0 0 8px;
}
.pkv-drop-card-meta{
  font-family:var(--mono); font-size:10px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
  margin-bottom:14px;
}
.pkv-drop-card-foot{
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex; justify-content:space-between; align-items:center;
}
.pkv-drop-card-price{
  font-family:var(--display); font-size:18px; font-weight:800;
  letter-spacing:-.03em; color:#fff;
}
.pkv-drop-card-link{
  font-family:var(--mono); font-size:10px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; color:var(--yellow);
}

/* --- Info cards (contacto, lo que compramos, valores) --- */
.pkv-info-cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}
.pkv-info-card{
  padding:26px;
  border-radius:20px;
  background:linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
  transition:.3s;
}
.pkv-info-card:hover{ border-color:rgba(255,210,31,.4); transform:translateY(-4px); }
.pkv-info-card-icon{
  width:48px; height:48px;
  display:grid; place-items:center;
  border-radius:13px;
  background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  color:#0a0a0a; margin-bottom:18px;
  box-shadow:0 0 0 2px #000, 0 14px 28px rgba(255,168,0,.32);
}
.pkv-info-card-icon svg{ width:20px; height:20px; }
.pkv-info-card h3{
  font-family:var(--display); font-size:18px; font-weight:800;
  letter-spacing:-.03em; text-transform:uppercase;
  margin:0 0 8px; color:#fff;
}
.pkv-info-card p{ color:var(--muted); font-size:14px; line-height:1.6; margin:0 0 12px; }
.pkv-info-card a{ color:var(--yellow); font-family:var(--mono); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.pkv-info-card a:hover{ text-decoration:underline; }

/* --- Form placeholder (Elementor Pro Form) --- */
.pkv-form-placeholder{
  padding:36px;
  border:2px dashed rgba(255,210,31,.32);
  border-radius:20px;
  background:rgba(255,210,31,.04);
  text-align:center;
  font-family:var(--mono);
  color:var(--muted);
}
.pkv-form-placeholder strong{
  display:block; margin-bottom:10px;
  color:#fff; font-family:var(--display);
  font-size:16px; text-transform:uppercase; letter-spacing:.04em;
}

/* =========================================================
   ELEMENTOR FORM WIDGET (.pkv-form)
   Aplicar la clase "pkv-form" en CSS Classes del widget Form
   ========================================================= */
.pkv-form.elementor-widget-form .elementor-form{
  padding:32px;
  border-radius:22px;
  background:linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
}
.pkv-form .elementor-field-group{ margin-bottom:14px; }
.pkv-form .elementor-field-group > .elementor-field-label{
  font-family:var(--mono) !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  color:var(--muted) !important;
  margin-bottom:8px !important;
  padding-bottom:0 !important;
}
.pkv-form .elementor-field-group .elementor-field-required:after{
  color:var(--yellow) !important;
}

/* Inputs, textarea, select */
.pkv-form .elementor-field-textual,
.pkv-form input[type=text],
.pkv-form input[type=email],
.pkv-form input[type=tel],
.pkv-form input[type=url],
.pkv-form input[type=number],
.pkv-form textarea,
.pkv-form select{
  width:100% !important;
  padding:14px 16px !important;
  background:rgba(0,0,0,.35) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:12px !important;
  color:#fff !important;
  font-family:var(--sans) !important;
  font-size:14px !important;
  line-height:1.5 !important;
  box-shadow:none !important;
  transition:border-color .25s, background .25s, box-shadow .25s;
}
.pkv-form textarea{ min-height:140px; resize:vertical; }
.pkv-form .elementor-field-textual::placeholder,
.pkv-form input::placeholder,
.pkv-form textarea::placeholder{
  color:rgba(255,255,255,.36) !important;
  font-family:var(--sans) !important;
}
.pkv-form .elementor-field-textual:focus,
.pkv-form input:focus,
.pkv-form textarea:focus,
.pkv-form select:focus{
  outline:none !important;
  border-color:var(--yellow) !important;
  background:rgba(0,0,0,.5) !important;
  box-shadow:0 0 0 3px rgba(255,210,31,.18) !important;
}

/* Select arrow */
.pkv-form select{
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23ffd21f' d='M6 8L0 0h12z'/></svg>") !important;
  background-repeat:no-repeat !important;
  background-position:right 16px center !important;
  padding-right:42px !important;
}
.pkv-form select option{ background:var(--black2); color:#fff; }

/* Checkbox + radio */
.pkv-form .elementor-field-subgroup label{
  color:rgba(255,255,255,.84) !important;
  font-family:var(--sans) !important;
  font-size:13px !important;
  display:inline-flex; align-items:center; gap:8px;
}
.pkv-form input[type=checkbox],
.pkv-form input[type=radio]{
  accent-color:var(--yellow);
  width:16px; height:16px;
}

/* Acceptance (GDPR) */
.pkv-form .elementor-field-type-acceptance .elementor-field-subgroup label{
  color:var(--muted) !important; font-size:12px !important;
}
.pkv-form .elementor-field-type-acceptance a{
  color:var(--yellow) !important; text-decoration:underline;
}

/* Submit button (hereda atom .btn-primary) */
.pkv-form .elementor-field-type-submit{ margin-top:6px; }
.pkv-form .elementor-button,
.pkv-form button[type=submit]{
  display:inline-flex !important;
  align-items:center; justify-content:center;
  gap:10px !important;
  padding:14px 26px !important;
  background:linear-gradient(180deg, var(--yellow), var(--yellow2)) !important;
  color:#0a0a0a !important;
  border:none !important;
  border-radius:14px !important;
  font-family:var(--display) !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  cursor:pointer;
  box-shadow:0 0 0 2px #000, 0 18px 36px rgba(255,168,0,.34) !important;
  transition:transform .25s, box-shadow .25s;
}
.pkv-form .elementor-button:hover,
.pkv-form button[type=submit]:hover{
  transform:translateY(-2px);
  box-shadow:0 0 0 2px #000, 0 22px 44px rgba(255,168,0,.46) !important;
}

/* Mensajes de éxito / error */
.pkv-form .elementor-message{
  padding:14px 16px !important;
  border-radius:12px !important;
  font-family:var(--mono) !important;
  font-size:12px !important;
  font-weight:700;
  letter-spacing:.04em;
  margin-top:14px;
}
.pkv-form .elementor-message-success{
  background:rgba(126,226,173,.12) !important;
  color:#7ee2ad !important;
  border:1px solid rgba(126,226,173,.3) !important;
}
.pkv-form .elementor-message-danger{
  background:rgba(229,9,34,.12) !important;
  color:#ff8a96 !important;
  border:1px solid rgba(229,9,34,.32) !important;
}
.pkv-form .elementor-field-group.error .elementor-field{
  border-color:var(--red) !important;
}

/* Responsive */
@media (max-width:760px){
  .pkv-form.elementor-widget-form .elementor-form{ padding:22px; border-radius:18px; }
  .pkv-form .elementor-field-textual,
  .pkv-form input,
  .pkv-form textarea,
  .pkv-form select{ padding:12px 14px !important; font-size:14px !important; }
}

/* --- Legal content typography --- */
.pkv-legal-content{
  max-width:840px;
  font-family:var(--sans);
  color:rgba(255,255,255,.84);
  line-height:1.75;
  font-size:15px;
}
.pkv-legal-content h2{
  font-family:var(--display); font-size:24px; font-weight:800;
  letter-spacing:-.02em; text-transform:uppercase;
  color:var(--yellow);
  margin:48px 0 16px;
}
.pkv-legal-content h3{
  font-family:var(--display); font-size:18px; font-weight:800;
  letter-spacing:-.02em;
  color:#fff;
  margin:28px 0 12px;
}
.pkv-legal-content p{ margin:0 0 14px; }
.pkv-legal-content ul,
.pkv-legal-content ol{ margin:14px 0; padding-left:24px; }
.pkv-legal-content li{ margin-bottom:6px; }
.pkv-legal-content a{ color:var(--yellow); text-decoration:underline; }
.pkv-legal-content strong{ color:#fff; }

/* --- "Lo que compramos" tiles (Sell page) --- */
.pkv-buy-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:14px;
}
.pkv-buy-tile{
  padding:24px 18px;
  border-radius:18px;
  background:linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
  text-align:center;
  transition:.3s;
}
.pkv-buy-tile:hover{ border-color:var(--yellow); transform:translateY(-4px); }
.pkv-buy-tile-icon{
  font-size:42px;
  margin-bottom:14px;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.4));
}
.pkv-buy-tile h4{
  font-family:var(--display); font-size:15px; font-weight:800;
  letter-spacing:-.02em; text-transform:uppercase;
  margin:0 0 6px; color:#fff;
}
.pkv-buy-tile span{
  font-family:var(--mono); font-size:10px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
}

/* Responsive */
@media (max-width:1240px){
  .pkv-drops-history{ grid-template-columns:repeat(2, 1fr); }
  .pkv-info-cards{ grid-template-columns:repeat(2, 1fr); }
  .pkv-buy-grid{ grid-template-columns:repeat(3, 1fr); }
}
@media (max-width:760px){
  .pkv-drops-history,
  .pkv-info-cards{ grid-template-columns:1fr; }
  .pkv-buy-grid{ grid-template-columns:repeat(2, 1fr); gap:10px; }
  .pkv-form-placeholder{ padding:24px; }
}


/* =========================================================
   34) CART · PAGE HERO
   Wrap exterior:    #pokevin-cart-hero-wrap  (clase .page-hero)
   Mismo lenguaje visual que el hero del checkout: breadcrumbs,
   kicker, H1, lede, pill verde y barra de pasos. Diferencias
   respecto al checkout:
     - Breadcrumb solo "Inicio / Carrito"
     - Watermark CARRITO en la esquina (en lugar de CHECKOUT)
     - Step "Carrito" en estado .current (los otros pendientes)
   ========================================================= */
#pokevin-cart-hero-wrap{
  position:relative; overflow:hidden;
  padding:54px 0 40px;
  background:
    radial-gradient(640px 440px at 86% 14%, rgba(229,9,34,.20), transparent 62%),
    radial-gradient(620px 420px at 8%  78%, rgba(255,210,31,.10), transparent 62%),
    linear-gradient(135deg, #050609 0%, #0a0c14 48%, #0e1320 100%);
  border-bottom:1px solid rgba(255,255,255,.06);
  isolation:isolate;
  font-family:var(--sans);
  color:#fff;
}
#pokevin-cart-hero-wrap::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.16; z-index:1;
  background-image:repeating-linear-gradient(135deg, transparent 0 28px, rgba(255,255,255,.08) 28px 29px);
}
#pokevin-cart-hero-wrap::after{
  content:"CARRITO"; position:absolute; right:-50px; top:30px; z-index:1;
  font-family:var(--display); font-weight:800;
  font-size:clamp(80px, 12vw, 200px); line-height:.8; letter-spacing:-.085em;
  color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.06);
  transform:skewX(-7deg); pointer-events:none;
}

#pokevin-cart-hero-wrap > .e-con-inner,
#pokevin-cart-hero-wrap .container{
  position:relative; z-index:2;
  width:100%; max-width:var(--max);
  margin-inline:auto;
  padding-inline:36px;
}

#pokevin-cart-hero-wrap .page-hero-inner{
  position:relative; z-index:2;
  display:flex; flex-direction:column; gap:28px;
  width:100%;
}

/* Breadcrumbs */
#pokevin-cart-hero-wrap .crumbs{
  display:flex; align-items:center; gap:10px;
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
}
#pokevin-cart-hero-wrap .crumbs a{ color:inherit; transition:color .18s; }
#pokevin-cart-hero-wrap .crumbs a:hover{ color:var(--yellow); }
#pokevin-cart-hero-wrap .crumbs .sep{ color:rgba(255,255,255,.25); }
#pokevin-cart-hero-wrap .crumbs .here{ color:#fff; }

/* Fila título + pill verde */
#pokevin-cart-hero-wrap .page-title-row{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:24px; flex-wrap:wrap;
}
#pokevin-cart-hero-wrap .page-title{
  display:flex; flex-direction:column; gap:14px;
}

/* Kicker */
#pokevin-cart-hero-wrap .kicker{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.18em; text-transform:uppercase; color:var(--yellow);
}
#pokevin-cart-hero-wrap .kicker::before{
  content:""; width:32px; height:4px; border-radius:99px;
  background:var(--red); box-shadow:0 0 18px var(--red);
}

/* H1 */
#pokevin-cart-hero-wrap .ch-title,
#pokevin-cart-hero-wrap .ch-title .elementor-heading-title{
  font-family:var(--display);
  font-size:clamp(40px, 5vw, 72px);
  line-height:.92; letter-spacing:-.065em;
  font-weight:800; text-transform:uppercase;
  text-shadow:3px 3px 0 #000, 0 0 40px rgba(0,0,0,.6);
  color:#fff; margin:0;
}
#pokevin-cart-hero-wrap .ch-title .text-hit{
  color:var(--yellow);
  text-shadow:3px 3px 0 #000, 0 0 32px rgba(255,210,31,.3);
}

/* Lede - Caja de Notificación de Éxito */
#pokevin-confirmation-hero-wrap .ch-lede,
#pokevin-confirmation-hero-wrap .elementor-widget-text-editor p {
  margin: 0;
  padding: 32px; /* Mismo margen interno que "Sigue explorando" */
  border-radius: var(--r-xl);
  background: 
    radial-gradient(420px 280px at 0% 0%, rgba(25,195,125,.12), transparent 60%),
    linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border: 1px solid rgba(25,195,125,.3);
  border-left: 4px solid var(--green); /* Línea verde de éxito */
  color: rgba(255,255,255,.9);
  font-size: 15.5px;
  line-height: 1.65;
  max-width: 100%;
  box-shadow: 
    0 24px 48px -24px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(255,255,255,.04);
}

/* Pill verde "Conexión segura" */
#pokevin-cart-hero-wrap .pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 12px; border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  font-family:var(--mono); font-size:10.5px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.85);
}
#pokevin-cart-hero-wrap .pill .dot{
  width:6px; height:6px; border-radius:99px;
  background:var(--yellow); box-shadow:0 0 12px var(--yellow);
}
#pokevin-cart-hero-wrap .pill.green{
  background:rgba(25,195,125,.14);
  border-color:rgba(25,195,125,.4);
  color:#7ee2ad;
}
#pokevin-cart-hero-wrap .pill.green .dot{
  background:#19c37d; box-shadow:0 0 14px #19c37d;
  animation:pkv-blink 1.4s ease-in-out infinite;
}

/* Steps strip */
#pokevin-cart-hero-wrap .steps{
  display:flex; align-items:center; gap:0; flex-wrap:wrap;
  padding:14px; border-radius:18px;
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
}
#pokevin-cart-hero-wrap .step{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 14px; border-radius:11px;
  font-family:var(--mono); font-size:10.5px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
  white-space:nowrap;
}
#pokevin-cart-hero-wrap .step .num{
  width:24px; height:24px; display:grid; place-items:center;
  border-radius:7px; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  font-family:var(--mono); font-weight:800; font-size:11px; color:#fff;
}
#pokevin-cart-hero-wrap .step.done{ color:#fff; }
#pokevin-cart-hero-wrap .step.done .num{
  background:rgba(25,195,125,.16);
  border-color:rgba(25,195,125,.45);
  color:#7ee2ad;
}
#pokevin-cart-hero-wrap .step.current{
  color:#0a0a0a;
  background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  box-shadow:0 0 0 2px #000, 0 10px 24px rgba(255,168,0,.35);
}
#pokevin-cart-hero-wrap .step.current .num{
  background:#000; color:var(--yellow); border-color:#000;
}
#pokevin-cart-hero-wrap .step-sep{
  flex:0 0 auto; height:2px; width:30px;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.18) 0 6px, transparent 6px 10px);
}
#pokevin-cart-hero-wrap .step-sep.done{
  background:repeating-linear-gradient(90deg, #7ee2ad 0 6px, transparent 6px 10px);
}

#pokevin-cart-hero-wrap .elementor-widget{ margin-bottom:0 !important; }
#pokevin-cart-hero-wrap .elementor-widget-heading .elementor-heading-title,
#pokevin-cart-hero-wrap .elementor-widget-text-editor > .elementor-widget-container > p{
  margin:0;
}

@media (max-width:760px){
  #pokevin-cart-hero-wrap{ padding:36px 0 30px; }
  #pokevin-cart-hero-wrap > .e-con-inner,
  #pokevin-cart-hero-wrap .container{ padding-inline:16px; }
  #pokevin-cart-hero-wrap .step-sep{ width:14px; }
  #pokevin-cart-hero-wrap .step{ padding:6px 10px; font-size:9.5px; }
  #pokevin-cart-hero-wrap .step .num{ width:20px; height:20px; font-size:10px; }
  #pokevin-confirmation-hero-wrap .ch-lede,
  #pokevin-confirmation-hero-wrap .elementor-widget-text-editor p {
    padding: 22px;
  }
}


/* =========================================================
   35) CART · FORM (WooCommerce [woocommerce_cart] shortcode)
   Wrap exterior: #pokevin-cart-form-wrap (clase .cart)
   ========================================================= */
#pokevin-cart-form-wrap{
  position:relative;
  padding:60px 0 80px;
  font-family:var(--sans);
  color:#fff;
  background:transparent;
}
#pokevin-cart-form-wrap > .e-con-inner{
  width:100%; max-width:var(--max);
  margin-inline:auto; padding-inline:36px;
}

#pokevin-cart-form-wrap .elementor-widget-shortcode,
#pokevin-cart-form-wrap .elementor-widget-shortcode > .elementor-widget-container{
  width:100%;
}

/* Layout 2 columnas: items (1.4fr) / totales (1fr) */
#pokevin-cart-form-wrap .woocommerce{
  width:100% !important;
  display:grid !important;
  grid-template-columns:1.4fr 1fr !important;
  column-gap:36px;
  row-gap:22px;
  align-items:start !important;
}
#pokevin-cart-form-wrap .woocommerce-notices-wrapper{
  grid-column:1 / -1; margin:0;
}

/* Notices */
#pokevin-cart-form-wrap .woocommerce-info,
#pokevin-cart-form-wrap .woocommerce-message,
#pokevin-cart-form-wrap .woocommerce-error{
  padding:14px 18px !important;
  border-radius:14px;
  background:rgba(255,210,31,.08);
  border:1px solid rgba(255,210,31,.32);
  color:#fff; font-family:var(--mono); font-size:12px; font-weight:700;
  letter-spacing:.06em; list-style:none; margin:0 !important;
}
#pokevin-cart-form-wrap .woocommerce-info::before,
#pokevin-cart-form-wrap .woocommerce-message::before,
#pokevin-cart-form-wrap .woocommerce-error::before{ display:none !important; }
#pokevin-cart-form-wrap .woocommerce-error{
  background:rgba(229,9,34,.1);
  border-color:rgba(229,9,34,.4);
  color:#ffb4bc;
}

/* === Panel de items (form.woocommerce-cart-form) === */
#pokevin-cart-form-wrap form.woocommerce-cart-form{
  grid-column:1 / 2;
  margin:0 !important;
  width:100% !important;
  position:relative; overflow:hidden;
  padding:32px;
  border-radius:var(--r-xl);
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:
    0 24px 48px -24px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(255,255,255,.04);
}
#pokevin-cart-form-wrap form.woocommerce-cart-form::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(420px 280px at 100% 0%, rgba(229,9,34,.08), transparent 60%);
  z-index:0;
}
#pokevin-cart-form-wrap form.woocommerce-cart-form > *{ position:relative; z-index:1; }


/* =========================================================
   TABLA DE ITEMS - FIX DE FONDOS GRISES Y ALINEACIÓN EXACTA
   ========================================================= */

/* Matamos cualquier fondo nativo de WooCommerce o del tema */
#pokevin-cart-form-wrap table.shop_table tbody tr,
#pokevin-cart-form-wrap table.shop_table tbody td,
#pokevin-cart-form-wrap table.shop_table tbody th {
  background-color: transparent !important;
  background: none !important;
}

#pokevin-cart-form-wrap table.shop_table{
  width:100% !important; 
  border-collapse:collapse; 
  margin:0;
  border:none !important;
  table-layout: fixed !important; 
}
#pokevin-cart-form-wrap table.shop_table th,
#pokevin-cart-form-wrap table.shop_table td {
  border: none !important;
}

#pokevin-cart-form-wrap table.shop_table thead{
  border-bottom:1px solid rgba(255,255,255,.08);
}
#pokevin-cart-form-wrap table.shop_table thead th{
  padding:0 10px 16px 0 !important; border:0; background:transparent;
  font-family:var(--mono); font-size:10.5px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
  text-align: left !important;
}

/* 1. Columna de la X (Remove) */
#pokevin-cart-form-wrap table.shop_table th.product-remove,
#pokevin-cart-form-wrap table.shop_table td.product-remove {
  width: 45px !important;
  padding: 0 !important;
  text-align: left !important;
}
#pokevin-cart-form-wrap table.shop_table tbody td.product-remove a.remove{
  display:inline-grid; place-items:center;
  width:30px; height:30px; border-radius:50%;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.6) !important;
  font-family:var(--display); font-size:18px; font-weight:800;
  line-height:1; text-decoration:none;
  transition:.18s;
}
#pokevin-cart-form-wrap table.shop_table tbody td.product-remove a.remove:hover{
  background:rgba(229,9,34,.2);
  border-color:rgba(229,9,34,.6);
  color:#fff !important;
  transform:rotate(90deg);
}

/* 2. Columna Imagen */
#pokevin-cart-form-wrap table.shop_table th.product-thumbnail,
#pokevin-cart-form-wrap table.shop_table td.product-thumbnail {
  width: 90px !important;
  padding: 0 15px 0 0 !important;
  text-align: left !important;
}
#pokevin-cart-form-wrap table.shop_table tbody td.product-thumbnail img{
  width:72px; height:72px; object-fit:cover;
  border-radius:12px;
  background:radial-gradient(circle at 50% 42%, rgba(255,210,31,.18), transparent 38%), linear-gradient(135deg, rgba(229,9,34,.18), rgba(255,210,31,.1));
  border:1px solid rgba(255,255,255,.08);
}

/* 3. Columna Producto (Se expande) */
#pokevin-cart-form-wrap table.shop_table th.product-name,
#pokevin-cart-form-wrap table.shop_table td.product-name {
  width: auto !important; 
  padding: 20px 10px 20px 0 !important;
  text-align: left !important;
}
#pokevin-cart-form-wrap table.shop_table tbody td.product-name{
  font-family:var(--display); font-size:15px; font-weight:800;
  letter-spacing:-.015em; color:#fff; line-height:1.3;
}
#pokevin-cart-form-wrap table.shop_table tbody td.product-name a{
  color:#fff; transition:color .18s;
}
#pokevin-cart-form-wrap table.shop_table tbody td.product-name a:hover{ color:var(--yellow); }
#pokevin-cart-form-wrap table.shop_table tbody td.product-name .variation,
#pokevin-cart-form-wrap table.shop_table tbody td.product-name dl{
  margin-top:6px;
  font-family:var(--mono); font-size:10.5px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:var(--muted);
}

/* 4. Columna Precio */
#pokevin-cart-form-wrap table.shop_table th.product-price,
#pokevin-cart-form-wrap table.shop_table td.product-price {
  width: 15% !important;
  padding: 20px 10px 20px 0 !important;
  text-align: left !important;
}
#pokevin-cart-form-wrap table.shop_table tbody td.product-price{ 
  color:rgba(255,255,255,.7); 
  font-family:var(--mono); font-size:14px; font-weight:800;
}

/* 5. Columna Cantidad */
#pokevin-cart-form-wrap table.shop_table th.product-quantity,
#pokevin-cart-form-wrap table.shop_table td.product-quantity {
  width: 15% !important;
  padding: 20px 10px 20px 0 !important;
  text-align: left !important;
}

/* 6. Columna Subtotal (Derecha para cerrar el diseño) */
#pokevin-cart-form-wrap table.shop_table th.product-subtotal,
#pokevin-cart-form-wrap table.shop_table td.product-subtotal {
  width: 15% !important;
  padding: 20px 0 20px 0 !important;
  text-align: right !important;
}
#pokevin-cart-form-wrap table.shop_table tbody td.product-subtotal{ 
  color:var(--yellow); 
  font-family:var(--mono); font-size:14px; font-weight:800;
}

/* Separador de filas */
#pokevin-cart-form-wrap table.shop_table tbody tr.cart_item{
  border-bottom:1px dashed rgba(255,255,255,.1) !important;
}
#pokevin-cart-form-wrap table.shop_table tbody tr.cart_item:last-child{
  border-bottom:0 !important;
}

/* Input Cantidad */
#pokevin-cart-form-wrap .quantity{
  display:inline-flex; align-items:center;
  background:rgba(0,0,0,.4);
  border:1.5px solid rgba(255,255,255,.12);
  border-radius:12px; overflow:hidden;
  height:44px;
}
#pokevin-cart-form-wrap .quantity input.qty{
  width:56px; height:100%;
  padding:0 6px; border:0; background:transparent;
  text-align:center;
  font-family:var(--mono); font-size:14px; font-weight:800;
  color:#fff; outline:0;
  -moz-appearance:textfield;
}
#pokevin-cart-form-wrap .quantity input.qty::-webkit-outer-spin-button,
#pokevin-cart-form-wrap .quantity input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none; margin:0;
}
#pokevin-cart-form-wrap .quantity:focus-within{
  border-color:var(--yellow);
  box-shadow:0 0 0 4px rgba(255,210,31,.18);
}


/* =========================================================
   FILA DE ACCIONES (CUPÓN + ACTUALIZAR)
   ========================================================= */
#pokevin-cart-form-wrap table.shop_table tr td.actions{
  padding:24px 0 0 0 !important; border:0;
  background:transparent;
  display:flex; flex-wrap:wrap; gap:14px; align-items:center;
  justify-content: flex-start;
}

/* Contenedor del cupón: Ajuste perfecto al contenido */
#pokevin-cart-form-wrap td.actions .coupon{
  display:inline-flex; 
  flex-wrap:nowrap;
  gap:10px; 
  align-items:center;
  padding:14px; 
  border-radius:14px;
  background:rgba(0,0,0,.35);
  border:1.5px dashed rgba(255,210,31,.32);
}
#pokevin-cart-form-wrap td.actions .coupon label{
  display:none;
}
#pokevin-cart-form-wrap td.actions .coupon input#coupon_code,
#pokevin-cart-form-wrap td.actions .coupon input[name="coupon_code"]{
  width: 220px; 
  flex: 0 0 220px; /* Impide que el input se encoja y desborde la caja */
  padding:12px 14px; border-radius:10px;
  background:rgba(0,0,0,.5);
  border:1.5px solid rgba(255,255,255,.12);
  color:#fff; font-family:var(--mono); font-size:12px;
  letter-spacing:.08em; text-transform:uppercase;
  outline:0; transition:.18s;
}
#pokevin-cart-form-wrap td.actions .coupon input#coupon_code::placeholder{ color:var(--muted2); }
#pokevin-cart-form-wrap td.actions .coupon input#coupon_code:focus{
  border-color:var(--yellow);
  box-shadow:0 0 0 4px rgba(255,210,31,.18);
}
#pokevin-cart-form-wrap td.actions .coupon button,
#pokevin-cart-form-wrap td.actions .coupon button[name="apply_coupon"]{
  flex: 0 0 auto; /* Impide que el botón se encoja */
  padding:0 20px; min-height:44px; border:0; border-radius:10px;
  background:#fff; color:#000; cursor:pointer;
  font-family:var(--display); font-size:11px; font-weight:800;
  text-transform:uppercase; letter-spacing:.04em;
  transition:.16s;
  white-space:nowrap;
}
#pokevin-cart-form-wrap td.actions .coupon button:hover{ background:var(--yellow); }

/* Botón de Actualizar carrito */
#pokevin-cart-form-wrap td.actions button[name="update_cart"],
#pokevin-cart-form-wrap td.actions .button[name="update_cart"]{
  padding:0 22px; min-height:46px; border:1.5px solid rgba(255,255,255,.18);
  border-radius:12px; background:rgba(255,255,255,.04);
  color:#fff; cursor:pointer;
  font-family:var(--display); font-size:11px; font-weight:800;
  text-transform:uppercase; letter-spacing:.06em;
  transition:.18s;
}
#pokevin-cart-form-wrap td.actions button[name="update_cart"]:not(:disabled):hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.32);
}
#pokevin-cart-form-wrap td.actions button[name="update_cart"]:disabled{
  opacity:.4; cursor:not-allowed;
}

/* === Columna derecha: cart-collaterals === */
#pokevin-cart-form-wrap .cart-collaterals{
  grid-column:2 / 3;
  width:100% !important;
  margin:0 !important;
  position:sticky; top:96px;
  display:flex; flex-direction:column; gap:18px;
}
#pokevin-cart-form-wrap .cart-collaterals .cart_totals{
  width:100% !important;
  float:none !important;
  margin:0 !important;
  position:relative overflow:hidden;
  padding:28px;
  border-radius:var(--r-xl);
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:
    0 24px 48px -24px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(255,255,255,.04);
}
#pokevin-cart-form-wrap .cart_totals h2{
  margin:0 0 18px 0;
  font-family:var(--display); font-size:20px; font-weight:800;
  letter-spacing:-.02em; text-transform:uppercase; color:#fff;
  display:flex; align-items:center; gap:12px;
}
#pokevin-cart-form-wrap .cart_totals h2::before{
  content:""; flex:0 0 auto;
  width:8px; height:24px; border-radius:3px;
  background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  box-shadow:0 0 14px rgba(255,210,31,.5);
}

/* Tabla de totales */
#pokevin-cart-form-wrap .cart_totals table.shop_table{
  width:100% !important; border:0; margin:0;
  table-layout: auto !important;
}
#pokevin-cart-form-wrap .cart_totals table.shop_table tr{
  border-bottom:1px solid rgba(255,255,255,.06);
}
#pokevin-cart-form-wrap .cart_totals table.shop_table tr:last-child{ border-bottom:0; }
#pokevin-cart-form-wrap .cart_totals table.shop_table th{
  padding:14px 0; border:0; background:transparent;
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
  text-align:left;
}
#pokevin-cart-form-wrap .cart_totals table.shop_table td{
  padding:14px 0; border:0; background:transparent;
  text-align:right;
  font-family:var(--mono); font-size:14px; font-weight:800; color:#fff;
}
#pokevin-cart-form-wrap .cart_totals tr.order-total th{
  padding-top:18px; border-top:1px dashed rgba(255,255,255,.18);
  font-family:var(--display); font-size:13px; color:#fff;
}
#pokevin-cart-form-wrap .cart_totals tr.order-total td{
  padding-top:18px; border-top:1px dashed rgba(255,255,255,.18);
}
#pokevin-cart-form-wrap .cart_totals tr.order-total .woocommerce-Price-amount{
  font-family:var(--display); font-size:34px; font-weight:800;
  letter-spacing:-.03em;
  background:linear-gradient(135deg, #fff, #ffd21f);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
#pokevin-cart-form-wrap .cart_totals tr.order-total .woocommerce-Price-currencySymbol{ color:inherit; }

/* Métodos de envío dentro del cart_totals */
#pokevin-cart-form-wrap .cart_totals .shipping td > *{ display:block; }
#pokevin-cart-form-wrap .cart_totals ul#shipping_method,
#pokevin-cart-form-wrap .cart_totals .woocommerce-shipping-methods{
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:8px;
  text-align:left;
}
#pokevin-cart-form-wrap .cart_totals ul#shipping_method li{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px; border-radius:10px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.1);
}
#pokevin-cart-form-wrap .cart_totals ul#shipping_method li label{
  flex:1; margin:0;
  font-family:var(--display); font-size:12.5px; font-weight:800;
  text-transform:uppercase; letter-spacing:.02em; color:#fff;
  display:inline-flex; align-items:center; gap:8px;
}
#pokevin-cart-form-wrap .cart_totals .woocommerce-shipping-destination{
  margin-top:10px;
  font-family:var(--mono); font-size:11px; font-weight:700;
  letter-spacing:.04em; color:var(--muted); text-align:left;
}
#pokevin-cart-form-wrap .cart_totals .shipping-calculator-button{
  display:inline-block; margin-top:8px;
  color:var(--yellow);
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase;
  border-bottom:2px solid rgba(255,210,31,.4);
}

/* Inputs/checkbox/radio en cart totals */
#pokevin-cart-form-wrap input[type="checkbox"],
#pokevin-cart-form-wrap input[type="radio"]{
  width:18px; height:18px; accent-color:var(--yellow);
  margin:0; flex:0 0 auto;
}

/* === Botón "Finalizar compra" === */
#pokevin-cart-form-wrap .wc-proceed-to-checkout{
  margin-top:22px; padding:0;
  display:flex; flex-direction:column; gap:12px;
}
#pokevin-cart-form-wrap .wc-proceed-to-checkout a.checkout-button,
#pokevin-cart-form-wrap a.checkout-button{
  width:100%; min-height:60px;
  padding:0 22px;
  border-radius:14px; border:0; cursor:pointer;
  font-family:var(--display); font-size:14px; font-weight:800;
  text-transform:uppercase; letter-spacing:.04em;
  background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  color:#0a0a0a;
  box-shadow:
    0 0 0 2px #000,
    0 0 0 4px rgba(255,255,255,.92),
    0 22px 48px rgba(255,168,0,.35),
    inset 0 1px 0 rgba(255,255,255,.65);
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  transition:.22s cubic-bezier(.2,.8,.2,1);
  text-decoration:none; text-shadow:none;
}
#pokevin-cart-form-wrap .wc-proceed-to-checkout a.checkout-button:hover{
  transform:translateY(-3px) rotate(-.6deg);
  color:#0a0a0a;
}

/* === Carrito vacío === */
#pokevin-cart-form-wrap .cart-empty,
#pokevin-cart-form-wrap p.cart-empty{
  grid-column:1 / -1;
  padding:60px 32px;
  border-radius:var(--r-xl);
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
  text-align:center;
  font-family:var(--display); font-size:22px; font-weight:800;
  letter-spacing:-.02em; text-transform:uppercase; color:#fff;
  margin:0;
}
#pokevin-cart-form-wrap .return-to-shop{
  grid-column:1 / -1;
  display:flex; justify-content:center; margin:0;
}
#pokevin-cart-form-wrap .return-to-shop .button{
  padding:0 28px; min-height:54px;
  border-radius:14px; border:0; cursor:pointer;
  background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  color:#0a0a0a;
  font-family:var(--display); font-size:13px; font-weight:800;
  text-transform:uppercase; letter-spacing:.04em;
  box-shadow:0 0 0 2px #000, 0 18px 36px rgba(255,168,0,.28);
  display:inline-flex; align-items:center; gap:10px;
  text-decoration:none;
  transition:.22s cubic-bezier(.2,.8,.2,1);
}
#pokevin-cart-form-wrap .return-to-shop .button:hover{
  transform:translateY(-3px) rotate(-.6deg);
}

/* === Cross-sells (productos relacionados bajo el carrito) === */
#pokevin-cart-form-wrap .cross-sells{
  grid-column:1 / -1;
  margin-top:24px;
}
#pokevin-cart-form-wrap .cross-sells > h2{
  margin:0 0 22px 0;
  font-family:var(--display); font-size:24px; font-weight:800;
  letter-spacing:-.025em; text-transform:uppercase; color:#fff;
  display:flex; align-items:center; gap:12px;
}
#pokevin-cart-form-wrap .cross-sells > h2::before{
  content:""; flex:0 0 auto;
  width:32px; height:4px; border-radius:99px;
  background:var(--red); box-shadow:0 0 18px var(--red);
}

/* Loader overlay de WooCommerce (al actualizar carrito) */
#pokevin-cart-form-wrap .blockUI.blockOverlay{
  background:rgba(5,6,9,.65) !important; backdrop-filter:blur(2px);
  border-radius:var(--r-xl);
}

/* =========================================================
   RESPONSIVE (TABLET & MOBILE)
   ========================================================= */
@media (max-width:1180px){
  #pokevin-cart-form-wrap .woocommerce{
    grid-template-columns:1fr !important;
  }
  #pokevin-cart-form-wrap form.woocommerce-cart-form,
  #pokevin-cart-form-wrap .cart-collaterals{
    grid-column:1 / -1;
  }
  #pokevin-cart-form-wrap .cart-collaterals{ position:static; }
}

@media (max-width:760px){
  #pokevin-cart-form-wrap{ padding:36px 0 70px; }
  #pokevin-cart-form-wrap > .e-con-inner{ padding-inline:16px; }
  #pokevin-cart-form-wrap form.woocommerce-cart-form{ padding:20px; }
  #pokevin-cart-form-wrap .cart_totals{ padding:22px; }

  /* Tabla → tarjetas apiladas */
  #pokevin-cart-form-wrap table.shop_table thead{ display:none; }
  #pokevin-cart-form-wrap table.shop_table,
  #pokevin-cart-form-wrap table.shop_table tbody,
  #pokevin-cart-form-wrap table.shop_table tr,
  #pokevin-cart-form-wrap table.shop_table td{ display:block; width:100%; }
  
  /* Evitar que WooCommerce oculte la imagen del producto en móvil */
  #pokevin-cart-form-wrap table.shop_table tbody td.product-thumbnail {
      display: block !important;
  }

  #pokevin-cart-form-wrap table.shop_table tbody tr.cart_item{
    position:relative;
    display:grid;
    grid-template-columns:80px 1fr auto;
    grid-template-areas:
      "thumb name remove"
      "thumb price price"
      "qty   qty   subtotal";
    gap:8px 14px;
    padding:18px 0;
    border-bottom:1px dashed rgba(255,255,255,.1) !important;
  }
  #pokevin-cart-form-wrap table.shop_table tbody tr.cart_item td{
    padding:0 !important; border:0 !important; text-align: left !important;
  }
  #pokevin-cart-form-wrap table.shop_table tbody td.product-thumbnail{ grid-area:thumb; width:auto !important; }
  #pokevin-cart-form-wrap table.shop_table tbody td.product-name{ grid-area:name; }
  #pokevin-cart-form-wrap table.shop_table tbody td.product-remove{ grid-area:remove; justify-self:end; width:auto !important; }
  #pokevin-cart-form-wrap table.shop_table tbody td.product-price{ grid-area:price; text-align:left !important; }
  #pokevin-cart-form-wrap table.shop_table tbody td.product-quantity{ grid-area:qty; text-align:left !important; }
  #pokevin-cart-form-wrap table.shop_table tbody td.product-subtotal{ grid-area:subtotal; text-align:left !important; }

  #pokevin-cart-form-wrap table.shop_table tbody td::before{ display:none !important; }

  /* Fila de acciones */
  #pokevin-cart-form-wrap table.shop_table tr td.actions{ 
    flex-direction:column; 
    align-items:stretch; 
    gap: 18px; /* Dar un poco de respiro */
  }
  
  /* Fix Cupón: Forzamos Lado a Lado en Móvil */
  #pokevin-cart-form-wrap td.actions .coupon{ 
    display: flex !important;
    flex-direction: row !important; 
    align-items: center !important; 
    flex-wrap: nowrap !important; 
    width: 100% !important;
  }
  #pokevin-cart-form-wrap td.actions .coupon input#coupon_code { 
    width: 100% !important; 
    flex: 1 1 auto !important; 
    min-width: 0 !important; /* Truco mágico para que el input no desborde si la pantalla es enana */
  }
  #pokevin-cart-form-wrap td.actions .coupon button[name="apply_coupon"]{
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 16px !important;
  }
  
  /* Botón Actualizar carrito centrado en móvil */
  #pokevin-cart-form-wrap td.actions button[name="update_cart"]{ 
    width: auto !important; 
    align-self: center !important;
  }
}


/* =========================================================
   36) CONFIRMACIÓN · PAGE HERO
   Wrap exterior:    #pokevin-confirmation-hero-wrap  (clase .page-hero)
   Mismo lenguaje visual que los heroes de carrito y checkout:
   breadcrumbs, kicker, H1, lede, pill verde y barra de pasos.
   Diferencias:
     - Breadcrumb completo "Inicio / Carrito / Checkout / Confirmación"
     - Watermark CONFIRMACIÓN en la esquina
     - Pasos 1 y 2 en .done, paso 3 (Confirmación) en .current
   ========================================================= */
#pokevin-confirmation-hero-wrap{
  position:relative; overflow:hidden;
  padding:54px 0 40px;
  background:
    radial-gradient(640px 440px at 86% 14%, rgba(229,9,34,.20), transparent 62%),
    radial-gradient(620px 420px at 8%  78%, rgba(255,210,31,.10), transparent 62%),
    linear-gradient(135deg, #050609 0%, #0a0c14 48%, #0e1320 100%);
  border-bottom:1px solid rgba(255,255,255,.06);
  isolation:isolate;
  font-family:var(--sans);
  color:#fff;
}
#pokevin-confirmation-hero-wrap::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.16; z-index:1;
  background-image:repeating-linear-gradient(135deg, transparent 0 28px, rgba(255,255,255,.08) 28px 29px);
}
#pokevin-confirmation-hero-wrap::after{
  content:"CONFIRMACIÓN"; position:absolute; right:-50px; top:30px; z-index:1;
  font-family:var(--display); font-weight:800;
  font-size:clamp(80px, 12vw, 200px); line-height:.8; letter-spacing:-.085em;
  color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.06);
  transform:skewX(-7deg); pointer-events:none;
}

#pokevin-confirmation-hero-wrap > .e-con-inner,
#pokevin-confirmation-hero-wrap .container{
  position:relative; z-index:2;
  width:100%; max-width:var(--max);
  margin-inline:auto;
  padding-inline:36px;
}

#pokevin-confirmation-hero-wrap .page-hero-inner{
  position:relative; z-index:2;
  display:flex; flex-direction:column; gap:28px;
  width:100%;
}

/* Breadcrumbs */
#pokevin-confirmation-hero-wrap .crumbs{
  display:flex; align-items:center; gap:10px;
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
}
#pokevin-confirmation-hero-wrap .crumbs a{ color:inherit; transition:color .18s; }
#pokevin-confirmation-hero-wrap .crumbs a:hover{ color:var(--yellow); }
#pokevin-confirmation-hero-wrap .crumbs .sep{ color:rgba(255,255,255,.25); }
#pokevin-confirmation-hero-wrap .crumbs .here{ color:#fff; }

/* Fila título + pill verde */
#pokevin-confirmation-hero-wrap .page-title-row{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:24px; flex-wrap:wrap;
}
#pokevin-confirmation-hero-wrap .page-title{
  display:flex; flex-direction:column; gap:14px;
}

/* Kicker */
#pokevin-confirmation-hero-wrap .kicker{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.18em; text-transform:uppercase; color:var(--yellow);
}
#pokevin-confirmation-hero-wrap .kicker::before{
  content:""; width:32px; height:4px; border-radius:99px;
  background:var(--red); box-shadow:0 0 18px var(--red);
}

/* H1 */
#pokevin-confirmation-hero-wrap .ch-title,
#pokevin-confirmation-hero-wrap .ch-title .elementor-heading-title{
  font-family:var(--display);
  font-size:clamp(40px, 5vw, 72px);
  line-height:.92; letter-spacing:-.065em;
  font-weight:800; text-transform:uppercase;
  text-shadow:3px 3px 0 #000, 0 0 40px rgba(0,0,0,.6);
  color:#fff; margin:0;
}
#pokevin-confirmation-hero-wrap .ch-title .text-hit{
  color:var(--yellow);
  text-shadow:3px 3px 0 #000, 0 0 32px rgba(255,210,31,.3);
}

/* Lede */
#pokevin-confirmation-hero-wrap .ch-lede,
#pokevin-confirmation-hero-wrap .elementor-widget-text-editor p{
  margin:0; color:var(--muted); max-width:560px;
  font-size:15.5px; line-height:1.6;
}

/* Pill verde "Pago recibido" */
#pokevin-confirmation-hero-wrap .pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 12px; border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  font-family:var(--mono); font-size:10.5px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.85);
}
#pokevin-confirmation-hero-wrap .pill .dot{
  width:6px; height:6px; border-radius:99px;
  background:var(--yellow); box-shadow:0 0 12px var(--yellow);
}
#pokevin-confirmation-hero-wrap .pill.green{
  background:rgba(25,195,125,.14);
  border-color:rgba(25,195,125,.4);
  color:#7ee2ad;
}
#pokevin-confirmation-hero-wrap .pill.green .dot{
  background:#19c37d; box-shadow:0 0 14px #19c37d;
  animation:pkv-blink 1.4s ease-in-out infinite;
}

/* Steps strip */
#pokevin-confirmation-hero-wrap .steps{
  display:flex; align-items:center; gap:0; flex-wrap:wrap;
  padding:14px; border-radius:18px;
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
}
#pokevin-confirmation-hero-wrap .step{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 14px; border-radius:11px;
  font-family:var(--mono); font-size:10.5px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
  white-space:nowrap;
}
#pokevin-confirmation-hero-wrap .step .num{
  width:24px; height:24px; display:grid; place-items:center;
  border-radius:7px; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  font-family:var(--mono); font-weight:800; font-size:11px; color:#fff;
}
#pokevin-confirmation-hero-wrap .step.done{ color:#fff; }
#pokevin-confirmation-hero-wrap .step.done .num{
  background:rgba(25,195,125,.16);
  border-color:rgba(25,195,125,.45);
  color:#7ee2ad;
}
#pokevin-confirmation-hero-wrap .step.current{
  color:#0a0a0a;
  background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  box-shadow:0 0 0 2px #000, 0 10px 24px rgba(255,168,0,.35);
}
#pokevin-confirmation-hero-wrap .step.current .num{
  background:#000; color:var(--yellow); border-color:#000;
}
#pokevin-confirmation-hero-wrap .step-sep{
  flex:0 0 auto; height:2px; width:30px;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.18) 0 6px, transparent 6px 10px);
}
#pokevin-confirmation-hero-wrap .step-sep.done{
  background:repeating-linear-gradient(90deg, #7ee2ad 0 6px, transparent 6px 10px);
}

#pokevin-confirmation-hero-wrap .elementor-widget{ margin-bottom:0 !important; }
#pokevin-confirmation-hero-wrap .elementor-widget-heading .elementor-heading-title,
#pokevin-confirmation-hero-wrap .elementor-widget-text-editor > .elementor-widget-container > p{
  margin:0;
}

@media (max-width:760px){
  #pokevin-confirmation-hero-wrap{ padding:36px 0 30px; }
  #pokevin-confirmation-hero-wrap > .e-con-inner,
  #pokevin-confirmation-hero-wrap .container{ padding-inline:16px; }
  #pokevin-confirmation-hero-wrap .step-sep{ width:14px; }
  #pokevin-confirmation-hero-wrap .step{ padding:6px 10px; font-size:9.5px; }
  #pokevin-confirmation-hero-wrap .step .num{ width:20px; height:20px; font-size:10px; }
}


/* =========================================================
   37) CONFIRMACIÓN · PURCHASE SUMMARY + RETURN-TO-SHOP
   Wrap exterior: #pokevin-confirmation-form-wrap (clase .confirmation)
   Contiene:
     - Widget WooCommerce Purchase Summary (.woocommerce-order)
     - Bloque "return-shop-block" con cuenta atrás de 10s
       que redirige automáticamente a /tienda si el usuario
       no interactúa.
   ========================================================= */
#pokevin-confirmation-form-wrap {
  position: relative;
  font-family: var(--sans);
  color: #fff;
  background: transparent;
  /* Forzamos el límite de ancho y los márgenes directamente al contenedor principal */
  width: 100% !important;
  max-width: var(--max) !important;
  margin-inline: auto !important;
  padding-inline: 36px !important;
}
#pokevin-confirmation-form-wrap > .e-con-inner {
  width: 100%;
  gap: 28px;
}
/* Separación entre los widgets cuando no hay contenedor interno */
#pokevin-confirmation-form-wrap > .elementor-widget {
  margin-bottom: 28px;
}
#pokevin-confirmation-form-wrap > .elementor-widget:last-child {
  margin-bottom: 0;
}

/* ---- Widget WooCommerce Purchase Summary ---- */
#pokevin-confirmation-form-wrap .elementor-widget-woocommerce-purchase-summary,
#pokevin-confirmation-form-wrap .elementor-widget-woocommerce-purchase-summary > .elementor-widget-container,
#pokevin-confirmation-form-wrap .woocommerce{
  width:100%;
}

#pokevin-confirmation-form-wrap .woocommerce-order{
  display:flex; flex-direction:column; gap:24px;
}

/* Mensaje "Gracias..." */
#pokevin-confirmation-form-wrap .woocommerce-notice,
#pokevin-confirmation-form-wrap p.woocommerce-thankyou-order-received,
#pokevin-confirmation-form-wrap .woocommerce-thankyou-order-received{
  margin:0; padding:32px;
  border-radius:var(--r-xl);
  background:
    radial-gradient(420px 280px at 0% 0%, rgba(25,195,125,.18), transparent 60%),
    linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border:1px solid rgba(25,195,125,.35);
  box-shadow:
    0 24px 48px -24px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(255,255,255,.04);
  font-family:var(--display); font-size:20px; font-weight:800;
  letter-spacing:-.015em; line-height:1.3; color:#fff;
  text-transform:none;
  position:relative; overflow:hidden;
}
#pokevin-confirmation-form-wrap .woocommerce-notice::before,
#pokevin-confirmation-form-wrap p.woocommerce-thankyou-order-received::before{
  content:""; display:inline-block; vertical-align:-3px;
  width:18px; height:18px; margin-right:12px; border-radius:50%;
  background:#19c37d; box-shadow:0 0 16px rgba(25,195,125,.6);
}

/* Tabla "overview" con número de pedido, fecha, email, total, método */
#pokevin-confirmation-form-wrap ul.order_details,
#pokevin-confirmation-form-wrap .woocommerce-order-overview{
  list-style:none; margin:0; padding:28px;
  border-radius:var(--r-xl);
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:
    0 24px 48px -24px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(255,255,255,.04);
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:18px;
}
#pokevin-confirmation-form-wrap ul.order_details li,
#pokevin-confirmation-form-wrap .woocommerce-order-overview li{
  display:flex; flex-direction:column; gap:6px;
  padding:14px 16px; border-radius:12px;
  background:rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.08);
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
}
#pokevin-confirmation-form-wrap ul.order_details li strong,
#pokevin-confirmation-form-wrap .woocommerce-order-overview li strong{
  display:block;
  font-family:var(--display); font-size:16px; font-weight:800;
  letter-spacing:-.015em; text-transform:none; color:#fff;
}
#pokevin-confirmation-form-wrap ul.order_details li.total,
#pokevin-confirmation-form-wrap .woocommerce-order-overview li.total{
  background:rgba(255,210,31,.08);
  border-color:rgba(255,210,31,.32);
}
#pokevin-confirmation-form-wrap ul.order_details li.total strong,
#pokevin-confirmation-form-wrap .woocommerce-order-overview li.total strong{
  font-size:22px;
  background:linear-gradient(135deg, #fff, #ffd21f);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
#pokevin-confirmation-form-wrap ul.order_details li.total .woocommerce-Price-amount,
#pokevin-confirmation-form-wrap ul.order_details li.total .woocommerce-Price-currencySymbol{
  color:inherit;
}

/* Títulos H2 internos del widget (Order details, Billing, Shipping…) */
#pokevin-confirmation-form-wrap .woocommerce-order h2,
#pokevin-confirmation-form-wrap section h2,
#pokevin-confirmation-form-wrap .woocommerce-column__title{
  margin:0 0 18px 0;
  font-family:var(--display); font-size:20px; font-weight:800;
  letter-spacing:-.02em; text-transform:uppercase; color:#fff;
  display:flex; align-items:center; gap:12px;
}
#pokevin-confirmation-form-wrap .woocommerce-order h2::before,
#pokevin-confirmation-form-wrap section h2::before,
#pokevin-confirmation-form-wrap .woocommerce-column__title::before{
  content:""; flex:0 0 auto;
  width:8px; height:24px; border-radius:3px;
  background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  box-shadow:0 0 14px rgba(255,210,31,.5);
}

/* Sección "Order details" */
#pokevin-confirmation-form-wrap .woocommerce-order-details,
#pokevin-confirmation-form-wrap section.woocommerce-order-details{
  padding:28px;
  border-radius:var(--r-xl);
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:
    0 24px 48px -24px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(255,255,255,.04);
}

#pokevin-confirmation-form-wrap table.shop_table,
#pokevin-confirmation-form-wrap table.woocommerce-table{
  width:100%; border-collapse:collapse; margin:0;
  background:transparent; border:0;
}
#pokevin-confirmation-form-wrap table.shop_table thead{
  border-bottom:1px solid rgba(255,255,255,.08);
}
#pokevin-confirmation-form-wrap table.shop_table thead th{
  padding:0 0 16px 0; border:0; background:transparent;
  font-family:var(--mono); font-size:10.5px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
  text-align:left;
}
#pokevin-confirmation-form-wrap table.shop_table thead th.product-total,
#pokevin-confirmation-form-wrap table.shop_table thead th.woocommerce-table__product-total{
  text-align:right;
}
#pokevin-confirmation-form-wrap table.shop_table tbody tr{
  border-bottom:1px dashed rgba(255,255,255,.1);
}
#pokevin-confirmation-form-wrap table.shop_table tbody tr:last-child{ border-bottom:0; }
#pokevin-confirmation-form-wrap table.shop_table tbody td{
  padding:18px 12px; border:0;
  vertical-align:middle; font-size:14px; color:rgba(255,255,255,.88);
  background:transparent;
}
#pokevin-confirmation-form-wrap table.shop_table tbody td.product-name,
#pokevin-confirmation-form-wrap table.shop_table tbody td.woocommerce-table__product-name{
  font-family:var(--display); font-size:15px; font-weight:800;
  letter-spacing:-.015em; color:#fff; line-height:1.3;
}
#pokevin-confirmation-form-wrap table.shop_table tbody td.product-name a{
  color:#fff; transition:color .18s;
}
#pokevin-confirmation-form-wrap table.shop_table tbody td.product-name a:hover{ color:var(--yellow); }
#pokevin-confirmation-form-wrap table.shop_table tbody td.product-name .product-quantity{
  margin-left:8px;
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase; color:var(--muted);
}
#pokevin-confirmation-form-wrap table.shop_table tbody td.product-total,
#pokevin-confirmation-form-wrap table.shop_table tbody td.woocommerce-table__product-total{
  font-family:var(--mono); font-size:14px; font-weight:800;
  color:var(--yellow); text-align:right; white-space:nowrap;
}

/* Foot de la tabla (subtotal / envío / total) */
#pokevin-confirmation-form-wrap table.shop_table tfoot tr{
  border-top:1px solid rgba(255,255,255,.06);
}
#pokevin-confirmation-form-wrap table.shop_table tfoot th{
  padding:14px 0; border:0; background:transparent;
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
  text-align:left;
}
#pokevin-confirmation-form-wrap table.shop_table tfoot td{
  padding:14px 0; border:0; background:transparent;
  text-align:right;
  font-family:var(--mono); font-size:14px; font-weight:800; color:#fff;
}
#pokevin-confirmation-form-wrap table.shop_table tfoot tr:last-child th,
#pokevin-confirmation-form-wrap table.shop_table tfoot tr.order-total th{
  padding-top:18px; border-top:1px dashed rgba(255,255,255,.18);
  font-family:var(--display); font-size:13px; color:#fff;
}
#pokevin-confirmation-form-wrap table.shop_table tfoot tr:last-child td,
#pokevin-confirmation-form-wrap table.shop_table tfoot tr.order-total td{
  padding-top:18px; border-top:1px dashed rgba(255,255,255,.18);
}
#pokevin-confirmation-form-wrap table.shop_table tfoot tr.order-total .woocommerce-Price-amount{
  font-family:var(--display); font-size:30px; font-weight:800;
  letter-spacing:-.03em;
  background:linear-gradient(135deg, #fff, #ffd21f);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
#pokevin-confirmation-form-wrap table.shop_table tfoot tr.order-total .woocommerce-Price-currencySymbol{ color:inherit; }

/* Datos de cliente (billing + shipping) en 2 columnas */
#pokevin-confirmation-form-wrap .woocommerce-customer-details{
  display:flex; flex-direction:column; gap:24px;
}
#pokevin-confirmation-form-wrap .woocommerce-customer-details .woocommerce-columns--addresses{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin:0;
}
#pokevin-confirmation-form-wrap .woocommerce-customer-details .woocommerce-column{
  padding:28px;
  border-radius:var(--r-xl);
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:
    0 24px 48px -24px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(255,255,255,.04);
}
#pokevin-confirmation-form-wrap .woocommerce-customer-details address{
  margin:0; padding:0; border:0; background:transparent;
  font-style:normal;
  font-family:var(--sans); font-size:14.5px; line-height:1.7;
  color:rgba(255,255,255,.88);
}
#pokevin-confirmation-form-wrap .woocommerce-customer-details address p{
  margin:8px 0 0 0;
  font-family:var(--mono); font-size:12px; font-weight:700;
  letter-spacing:.05em; color:var(--muted);
}
#pokevin-confirmation-form-wrap .woocommerce-customer-details address p.woocommerce-customer-details--phone,
#pokevin-confirmation-form-wrap .woocommerce-customer-details address p.woocommerce-customer-details--email{
  display:flex; align-items:center; gap:8px;
}

/* Sección "Datos bancarios" / "Descargas" si aparecen */
#pokevin-confirmation-form-wrap .woocommerce-bacs-bank-details,
#pokevin-confirmation-form-wrap .woocommerce-order-downloads{
  padding:28px;
  border-radius:var(--r-xl);
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:
    0 24px 48px -24px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(255,255,255,.04);
}
#pokevin-confirmation-form-wrap .woocommerce-bacs-bank-details ul.order_details{
  display:grid; padding:0; border:0; background:transparent; box-shadow:none;
}

/* ---- Bloque "Volver a la tienda" con cuenta atrás ---- */
#pokevin-confirmation-form-wrap .return-shop-block{
  position:relative; overflow:hidden;
  padding:32px;
  border-radius:var(--r-xl);
  background:
    radial-gradient(520px 320px at 100% 0%, rgba(229,9,34,.10), transparent 60%),
    linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:
    0 24px 48px -24px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(255,255,255,.04);
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:28px;
}
#pokevin-confirmation-form-wrap .return-shop-block .rs-info{
  display:flex; flex-direction:column; gap:10px;
  min-width:0;
}
#pokevin-confirmation-form-wrap .return-shop-block .rs-kicker{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--mono); font-size:11px; font-weight:800;
  letter-spacing:.18em; text-transform:uppercase; color:var(--yellow);
}
#pokevin-confirmation-form-wrap .return-shop-block .rs-kicker .rs-bar{
  width:32px; height:4px; border-radius:99px;
  background:var(--red); box-shadow:0 0 18px var(--red);
}
#pokevin-confirmation-form-wrap .return-shop-block .rs-title{
  margin:0;
  font-family:var(--display);
  font-size:clamp(22px, 2.4vw, 32px);
  line-height:1.05; letter-spacing:-.03em;
  font-weight:800; text-transform:uppercase; color:#fff;
}
#pokevin-confirmation-form-wrap .return-shop-block .rs-title .text-hit{
  color:var(--yellow);
  text-shadow:2px 2px 0 #000, 0 0 24px rgba(255,210,31,.3);
}
#pokevin-confirmation-form-wrap .return-shop-block .rs-lede{
  margin:0; color:var(--muted); max-width:560px;
  font-family:var(--sans); font-size:14.5px; line-height:1.6;
}
#pokevin-confirmation-form-wrap .return-shop-block .rs-count{
  display:inline-grid; place-items:center;
  min-width:28px; padding:2px 8px;
  border-radius:8px;
  background:rgba(255,210,31,.14);
  border:1px solid rgba(255,210,31,.45);
  font-family:var(--mono); font-size:13px; font-weight:800;
  letter-spacing:.04em; color:var(--yellow);
  font-variant-numeric:tabular-nums;
}

/* Botón principal "Volver a la tienda" */
#pokevin-confirmation-form-wrap .return-shop-block .rs-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  min-height:60px; padding:0 28px;
  border:0; border-radius:14px; cursor:pointer;
  font-family:var(--display); font-size:14px; font-weight:800;
  text-transform:uppercase; letter-spacing:.04em;
  background:linear-gradient(135deg, var(--yellow), var(--yellow2));
  color:#0a0a0a;
  box-shadow:
    0 0 0 2px #000,
    0 0 0 4px rgba(255,255,255,.92),
    0 22px 48px rgba(255,168,0,.35),
    inset 0 1px 0 rgba(255,255,255,.65);
  text-decoration:none; text-shadow:none;
  transition:.22s cubic-bezier(.2,.8,.2,1);
  white-space:nowrap;
}
#pokevin-confirmation-form-wrap .return-shop-block .rs-btn:hover,
#pokevin-confirmation-form-wrap .return-shop-block .rs-btn:focus-visible{
  transform:translateY(-3px) rotate(-.6deg);
  color:#0a0a0a; outline:0;
}
#pokevin-confirmation-form-wrap .return-shop-block .rs-btn-arrow{
  transition:transform .22s cubic-bezier(.2,.8,.2,1);
}
#pokevin-confirmation-form-wrap .return-shop-block .rs-btn:hover .rs-btn-arrow{
  transform:translateX(4px);
}

/* Barra de progreso de la cuenta atrás */
#pokevin-confirmation-form-wrap .return-shop-block .rs-progress{
  grid-column:1 / -1;
  position:relative;
  height:4px; border-radius:99px;
  background:rgba(255,255,255,.06);
  overflow:hidden;
}
#pokevin-confirmation-form-wrap .return-shop-block .rs-progress-bar{
  display:block; height:100%; width:0%;
  border-radius:99px;
  background:linear-gradient(90deg, var(--yellow), var(--red));
  box-shadow:0 0 12px rgba(255,210,31,.5);
  transition:width 1s linear;
}

/* Estado "cancelado": ocultar contador y barra, dejar solo CTA */
#pokevin-confirmation-form-wrap .return-shop-block.rs-cancelled .rs-count{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.18);
  color:var(--muted);
}
#pokevin-confirmation-form-wrap .return-shop-block.rs-cancelled .rs-progress{
  opacity:.35;
}
#pokevin-confirmation-form-wrap .return-shop-block.rs-cancelled .rs-progress-bar{
  transition:none;
}

/* === Responsive === */
@media (max-width:1180px){
  #pokevin-confirmation-form-wrap .woocommerce-customer-details .woocommerce-columns--addresses{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  #pokevin-confirmation-form-wrap { padding-inline: 16px !important; }
  #pokevin-confirmation-form-wrap .woocommerce-notice,
  #pokevin-confirmation-form-wrap p.woocommerce-thankyou-order-received,
  #pokevin-confirmation-form-wrap ul.order_details,
  #pokevin-confirmation-form-wrap .woocommerce-order-details,
  #pokevin-confirmation-form-wrap .woocommerce-customer-details .woocommerce-column,
  #pokevin-confirmation-form-wrap .woocommerce-bacs-bank-details,
  #pokevin-confirmation-form-wrap .woocommerce-order-downloads,
  #pokevin-confirmation-form-wrap .return-shop-block{
    padding:22px;
  }
  #pokevin-confirmation-form-wrap ul.order_details{
    grid-template-columns:1fr;
  }
  #pokevin-confirmation-form-wrap .return-shop-block{
    grid-template-columns:1fr;
    text-align:left;
  }
  #pokevin-confirmation-form-wrap .return-shop-block .rs-btn{
    width:100%;
  }

  /* Tabla → cards apiladas */
  #pokevin-confirmation-form-wrap table.shop_table thead{ display:none; }
  #pokevin-confirmation-form-wrap table.shop_table,
  #pokevin-confirmation-form-wrap table.shop_table tbody,
  #pokevin-confirmation-form-wrap table.shop_table tr,
  #pokevin-confirmation-form-wrap table.shop_table td{ display:block; width:100%; }
  #pokevin-confirmation-form-wrap table.shop_table tbody tr{
    padding:14px 0; border-bottom:1px dashed rgba(255,255,255,.1);
  }
  #pokevin-confirmation-form-wrap table.shop_table tbody td{
    padding:4px 0; text-align:left;
  }
  #pokevin-confirmation-form-wrap table.shop_table tbody td.product-total{
    text-align:left;
  }
  #pokevin-confirmation-form-wrap table.shop_table tbody td::before{
    display:none !important;
  }
  #pokevin-confirmation-form-wrap table.shop_table tfoot tr{
    display:grid; grid-template-columns:1fr auto;
    align-items:center;
    border-top:1px solid rgba(255,255,255,.06);
  }
  #pokevin-confirmation-form-wrap table.shop_table tfoot th,
  #pokevin-confirmation-form-wrap table.shop_table tfoot td{
    padding:10px 0; border:0;
  }
}

/* =========================================================
   36) MINI-CART DROPDOWN (.pkv-mc)
   Custom mini-cart usando shortcode [pkv_mini_cart]
   ========================================================= */
.pkv-mc{
  position:relative;
  z-index:9999;
}
/* Asegura que el header y sus padres dejan ver el panel */
.pkv-header,
.header-inner,
.header-actions{
  overflow:visible !important;
}

/* Panel desplegable (movido a body por JS para evitar stacking contexts) */
.pkv-mc__panel{
  position:fixed;
  /* top y right los pone el JS según la posición del icono */
  width:380px;
  max-width:92vw;
  background:linear-gradient(160deg, var(--black2), var(--black));
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  box-shadow:0 30px 60px rgba(0,0,0,.55);
  padding:22px;
  z-index:999999;
  opacity:0;
  transform:translateY(-8px);
  pointer-events:none;
  transition:opacity .22s, transform .22s;
}
.pkv-mc__panel.is-open{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.pkv-mc__panel:before{
  content:"";
  position:absolute;
  top:-7px; right:18px;
  width:14px; height:14px;
  background:var(--black2);
  border-left:1px solid rgba(255,255,255,.1);
  border-top:1px solid rgba(255,255,255,.1);
  transform:rotate(45deg);
}

/* Cabecera del panel */
.pkv-mc__head{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:14px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.pkv-mc__head h3{
  font-family:var(--display);
  font-size:15px; font-weight:800;
  letter-spacing:-.02em; text-transform:uppercase;
  color:#fff; margin:0;
}
.pkv-mc__head a{
  font-family:var(--mono);
  font-size:10px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--yellow); text-decoration:none;
}
.pkv-mc__head a:hover{ text-decoration:underline; }

/* Body: contenedor de WC mini cart */
.pkv-mc__body{ font-family:var(--sans); }
.pkv-mc .widget_shopping_cart_content{ display:block; }

/* Empty state */
.pkv-mc .woocommerce-mini-cart__empty-message{
  text-align:center;
  padding:24px 0 8px;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.04em;
  color:var(--muted);
  margin:0;
}

/* Lista de productos */
.pkv-mc ul.woocommerce-mini-cart,
.pkv-mc ul.cart_list,
.pkv-mc ul.product_list_widget{
  list-style:none !important;
  margin:0 0 4px !important;
  padding:0 !important;
  max-height:320px;
  overflow-y:auto;
  overflow-x:hidden;
}
.pkv-mc ul.cart_list::-webkit-scrollbar{ width:6px; }
.pkv-mc ul.cart_list::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.12); border-radius:99px;
}

/* Cada producto: una fila, imagen pequeña + nombre */
.pkv-mc li.woocommerce-mini-cart-item,
.pkv-mc li.mini_cart_item,
.pkv-mc ul.cart_list li,
.pkv-mc ul.product_list_widget li{
  position:relative !important;
  display:block !important;
  padding:12px 32px 12px 0 !important;
  margin:0 !important;
  border-bottom:1px solid rgba(255,255,255,.05) !important;
  list-style:none !important;
}
.pkv-mc ul.cart_list li:last-child,
.pkv-mc ul.product_list_widget li:last-child{ border-bottom:0 !important; }

/* El <a> del producto contiene imagen + nombre · lo hacemos flex */
.pkv-mc li.woocommerce-mini-cart-item > a:not(.remove),
.pkv-mc li.mini_cart_item > a:not(.remove),
.pkv-mc ul.cart_list li > a:not(.remove),
.pkv-mc ul.product_list_widget li > a:not(.remove){
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  color:#fff !important;
  text-decoration:none !important;
  font-family:var(--display) !important;
  font-weight:700 !important;
  font-size:13px !important;
  letter-spacing:-.01em !important;
  line-height:1.3 !important;
}
.pkv-mc li > a:not(.remove):hover{ color:var(--yellow) !important; }

/* Imagen pequeña obligatoria */
.pkv-mc li img,
.pkv-mc ul.cart_list img,
.pkv-mc ul.product_list_widget img,
.pkv-mc img.attachment-woocommerce_thumbnail,
.pkv-mc img[class*="attachment-woocommerce"]{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  max-width:48px !important;
  max-height:48px !important;
  border-radius:10px !important;
  object-fit:cover !important;
  border:1px solid rgba(255,255,255,.1) !important;
  background:var(--black3) !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  flex-shrink:0 !important;
  display:block !important;
}

/* Variation (atributos) */
.pkv-mc .variation{
  margin:6px 0 0 60px !important;
  padding:0;
  font-family:var(--mono);
  font-size:10px;
  color:var(--muted);
}
.pkv-mc .variation dt,
.pkv-mc .variation dd{ display:inline; margin:0; }
.pkv-mc .variation dd:after{ content:" · "; }
.pkv-mc .variation dd:last-of-type:after{ content:""; }

/* Cantidad + precio (debajo, alineado con el nombre) */
.pkv-mc .quantity{
  display:block !important;
  margin:6px 0 0 60px !important; /* 48 imagen + 12 gap */
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--muted);
}
.pkv-mc .quantity .woocommerce-Price-amount,
.pkv-mc .quantity .amount{
  color:var(--yellow) !important;
  font-family:var(--display) !important;
  font-size:13px !important;
  font-weight:800 !important;
  margin-left:4px;
}

/* Botón remove × */
.pkv-mc a.remove,
.pkv-mc .remove,
.pkv-mc .remove_from_cart_button{
  position:absolute !important;
  top:14px !important;
  right:0 !important;
  width:22px !important; height:22px !important;
  display:grid !important; place-items:center !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.06) !important;
  color:var(--muted) !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
  border:none !important;
  transition:.2s !important;
}
.pkv-mc .remove:hover,
.pkv-mc .remove_from_cart_button:hover{
  background:var(--red) !important;
  color:#fff !important;
}

/* Subtotal */
.pkv-mc .woocommerce-mini-cart__total,
.pkv-mc p.total,
.pkv-mc p.woocommerce-mini-cart__total{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  margin:14px 0 !important;
  padding:14px 16px !important;
  background:rgba(255,210,31,.06) !important;
  border:1px solid rgba(255,210,31,.18) !important;
  border-radius:12px !important;
  text-align:left !important;
}
.pkv-mc .woocommerce-mini-cart__total strong,
.pkv-mc p.total strong{
  font-family:var(--mono) !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:var(--muted) !important;
}
.pkv-mc .woocommerce-mini-cart__total .woocommerce-Price-amount,
.pkv-mc p.total .woocommerce-Price-amount,
.pkv-mc p.total span.amount,
.pkv-mc p.total bdi{
  font-family:var(--display) !important;
  font-size:20px !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  color:var(--yellow) !important;
}

/* Botones (ver carrito / checkout) */
.pkv-mc .woocommerce-mini-cart__buttons,
.pkv-mc p.buttons,
.pkv-mc p.woocommerce-mini-cart__buttons{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 !important;
}
.pkv-mc .woocommerce-mini-cart__buttons a.button,
.pkv-mc p.buttons a.button,
.pkv-mc p.buttons a.wc-forward,
.pkv-mc a.button.wc-forward{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  padding:13px 14px !important;
  border-radius:12px !important;
  font-family:var(--display) !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  text-align:center !important;
  text-decoration:none !important;
  margin:0 !important;
  line-height:1.2 !important;
  background:transparent !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:none !important;
  transition:.2s !important;
}
.pkv-mc p.buttons a.button:hover,
.pkv-mc a.button.wc-forward:hover{
  border-color:var(--yellow) !important;
  color:var(--yellow) !important;
  background:transparent !important;
}
/* Checkout (primario amarillo) — más específico */
.pkv-mc .woocommerce-mini-cart__buttons a.checkout,
.pkv-mc p.buttons a.checkout,
.pkv-mc a.button.checkout,
.pkv-mc a.button.checkout.wc-forward{
  background:linear-gradient(180deg, var(--yellow), var(--yellow2)) !important;
  color:#0a0a0a !important;
  border:none !important;
  box-shadow:0 0 0 2px #000, 0 10px 22px rgba(255,168,0,.32) !important;
}
.pkv-mc a.button.checkout:hover,
.pkv-mc a.button.checkout.wc-forward:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 0 0 2px #000, 0 14px 28px rgba(255,168,0,.44) !important;
  color:#0a0a0a !important;
}

/* Responsive */
@media (max-width:640px){
  .pkv-mc__panel{
    width:92vw;
    right:-8px;
    padding:18px;
  }
  .pkv-mc__panel:before{ right:26px; }
  .pkv-mc ul.cart_list{ max-height:260px; }
}