/* ============================================================
   DMM — Rediseño de cuenta (carga en TODA /mi-cuenta/)
   Estética: carmín + rail oscuro. Scope: .woocommerce-account
   ============================================================ */
.woocommerce-account{
  --h-bg:#F5F8FA; --h-surface:#fff; --h-surface-2:#F8FBFC;
  --h-ink:#3C3C3C; --h-ink-soft:#5A5D66; --h-line:#E7EEF1;
  /* v2.63: --h-muted era #93999F (2.88:1 sobre blanco) y se usaba como color de
     TEXTO en ~35 reglas (pistas, fechas, cantidades, subtítulos de preventas).
     Ahora vale lo mismo que --h-muted-legible (4.72:1, pasa AA): un solo cambio
     arregla todos esos textos. Los adornos (bordes punteados, iconos) quedan
     apenas más oscuros, que es aceptable. */
  --h-muted:#6E747C;
  --h-muted-legible:#6E747C;
  /* Azul profundo: --h-crimson (#3F9FD1) con texto blanco da 2.96:1 y
     --h-crimson-ink sobre --h-crimson-soft da 4.12:1; ambos fallan AA.
     Este pasa en los dos usos (6.3:1 / 6.3:1). */
  --h-blue-deep:#1F5F82;
  --h-crimson:#3F9FD1; --h-crimson-ink:#2C7DAB; --h-crimson-soft:#EAF6FC;
  --h-peach:#FFEDE9; --h-peach-ink:#E58C74; --h-celeste:#97CFE9; --h-gold:#F5B840; --h-green:#37B26B;
  --h-side-1:#173A4B; --h-side-2:#245C74; --h-side-ink:#EAF4F8; --h-side-muted:#A6C4D0;
  --h-radius:16px; --h-radius-sm:12px; --h-shadow:0 1px 2px rgba(23,25,35,.04),0 8px 24px rgba(23,25,35,.05);
  --h-sans:ui-rounded,"SF Pro Rounded","Segoe UI Variable","Segoe UI",system-ui,-apple-system,sans-serif;
}

/* v2.63 — CANDADO [hidden]: cualquier regla de autor con display: le gana al
   [hidden]{display:none} del navegador. Ya pasó dos veces (hub.css .dmm-prev,
   account.css .dmm-empty "Ninguna serie coincide" visible siempre). Este candado
   cierra la clase entera de bugs en toda la cuenta. */
.woocommerce-account [hidden]{display:none!important}

/* Toast (reemplaza los alert() nativos de la cuenta; ver assets/toast.js) */
.dmm-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);z-index:1000;max-width:min(92vw,460px);
  padding:12px 18px;border-radius:999px;background:var(--h-side-1);color:#fff;font-family:var(--h-sans);font-size:.88rem;
  font-weight:700;line-height:1.35;box-shadow:0 10px 30px rgba(23,58,75,.28);opacity:0;pointer-events:none;
  transition:opacity .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1)}
.dmm-toast.is-on{opacity:1;transform:translate(-50%,0)}
.dmm-toast.is-error{background:#8f2a1f}
@media (prefers-reduced-motion:reduce){.dmm-toast{transition:none}}

/* Ancho de la sección (antes el tema la limitaba a ~1000px).
   El banner del título va INCLUIDO para que sus bordes calcen con el contenido. */
.woocommerce-account main,
.woocommerce-account .entry-content,
.woocommerce-account .wp-block-post-content{max-width:min(1500px,94vw)!important;margin-inline:auto!important}
.woocommerce-account .wp-block-post-title{max-width:min(1500px,94vw)!important;margin-inline:auto!important}
/* El block theme (is-layout-constrained) vuelve a limitar los HIJOS a 1000px:
   liberar el contenedor de la cuenta para que use todo el ancho. */
.woocommerce-account .entry-content > .woocommerce,
.woocommerce-account .is-layout-constrained > .woocommerce,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .entry-content > .wp-block-woocommerce-my-account{max-width:none!important}

/* ---- Banner del título "Mi cuenta" ---- */
.woocommerce-account .wp-block-post-title,
.woocommerce-account h1.entry-title{
  position:relative;font-family:var(--h-sans);color:var(--h-ink)!important;
  background:
    radial-gradient(rgba(255,255,255,.6) 1.4px, transparent 1.6px) 0 0/16px 16px,
    linear-gradient(120deg,var(--h-celeste),var(--h-peach));
  border:1px solid var(--h-line);
  border-radius:var(--h-radius);padding:32px 30px 26px!important;margin-bottom:22px;overflow:hidden;
  box-shadow:var(--h-shadow);
}
.woocommerce-account .wp-block-post-title::before{
  content:"✦ Tu espacio de lectura";position:absolute;top:16px;left:30px;
  font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--h-crimson-ink);font-family:var(--h-sans)}
.woocommerce-account .wp-block-post-title::after{content:none}

/* ---- Layout: rail + contenido ----
   Solo el contenedor que realmente tiene el menú (evita los .woocommerce de FiboSearch). */
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation){
  display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::before,
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::after{display:none!important}
/* WooCommerce core pone width:30%/70% + float en nav/content: lo anulamos para llenar el grid. */
.woocommerce-account .dmm-rail{width:100%!important;float:none!important;box-sizing:border-box}
.woocommerce-account .woocommerce-MyAccount-content{width:100%!important;float:none!important;
  box-sizing:border-box!important; /* CLAVE: sin esto, width:100% + padding 24 = 48px MÁS ancho que su columna → scroll horizontal en toda la cuenta */
  background:var(--h-surface);border:1px solid var(--h-line);
  border-radius:var(--h-radius);box-shadow:var(--h-shadow);padding:24px;min-width:0}

/* Candado 100%: la cuenta JAMÁS genera scroll horizontal */
html:has(body.woocommerce-account){overflow-x:clip}
body.woocommerce-account{overflow-x:clip}
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation){max-width:100%}
.dmm-hub{max-width:100%}

/* ---- Rail (perfil + menú) ---- */
.dmm-rail{background:linear-gradient(160deg,var(--h-side-2),var(--h-side-1));border-radius:var(--h-radius);
  padding:14px;box-shadow:var(--h-shadow);position:sticky;top:20px}
/* Perfil protagonista: foto grande centrada con anillo de marca */
.dmm-rail-profile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;
  padding:14px 8px 16px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1);color:var(--h-side-ink)}
.dmm-rail-av{width:88px;height:88px;border-radius:50%;padding:3px;background:linear-gradient(135deg,var(--h-celeste),var(--h-peach));
  box-shadow:0 6px 18px rgba(0,0,0,.28)}
.dmm-rail-av img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;border:2px solid var(--h-side-1)}
.dmm-rail-name{display:block;font-family:var(--h-sans);font-weight:800;font-size:1.05rem;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.dmm-rail-level{display:block;font-size:.7rem;color:#FFCf7a;font-weight:700}
.dmm-rail-pts{font-size:.74rem;font-weight:800;color:#FFE3AE;background:rgba(245,184,64,.16);
  border:1px solid rgba(245,184,64,.28);border-radius:20px;padding:6px 14px;text-align:center}
.dmm-rail-group{font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--h-side-muted);opacity:.7;padding:14px 12px 5px;font-family:var(--h-sans)}
.dmm-rail-menu{list-style:none!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:2px}
.dmm-rail-menu li,.dmm-rail-item{margin:0!important;padding:0!important;list-style:none!important}
.dmm-rail-item::before,.dmm-rail-item::marker{display:none!important;content:""!important}
.dmm-rail-item a{display:flex!important;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;
  font-size:.86rem;font-weight:600;color:var(--h-side-muted)!important;font-family:var(--h-sans);
  text-decoration:none!important;position:relative;transition:background .14s,color .14s;box-shadow:none!important}
.dmm-rail-ic{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:9px;
  background:rgba(255,255,255,.05);color:var(--h-side-muted);transition:.14s}
.dmm-rail-ic svg{width:17px;height:17px}
.dmm-rail-lbl{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dmm-rail-item a:hover{background:rgba(255,255,255,.06);color:#fff!important}
.dmm-rail-item a:hover .dmm-rail-ic{color:#fff;background:rgba(255,255,255,.1)}
.dmm-rail-item.is-active a{background:var(--h-celeste);color:#123f52!important}
.dmm-rail-item.is-active .dmm-rail-lbl{font-weight:800}
.dmm-rail-item.is-active a::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--h-crimson-ink)}
.dmm-rail-item.is-active .dmm-rail-ic{background:rgba(255,255,255,.65);color:var(--h-crimson-ink)}
.dmm-rail-tag{font-size:.54rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
  color:#FFCf7a;background:rgba(245,184,64,.16);border:1px solid rgba(245,184,64,.3);
  padding:2px 6px;border-radius:20px;white-space:nowrap}
.dmm-rail-foot{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}
.dmm-rail-logout a{color:#F3B7A6!important}
.dmm-rail-logout a:hover{background:rgba(255,237,233,.14);color:#fff!important}
.dmm-rail-logout .dmm-rail-ic{background:rgba(255,237,233,.12);color:#F3B7A6}

/* ===== Páginas nuevas (Mi biblioteca / Mis reseñas) ===== */
.dmm-page{font-family:var(--h-sans)}
.dmm-soon,.dmm-empty{text-align:center;padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:10px}
/* El display:flex de arriba le ganaba al atributo hidden: el "Ninguna serie coincide"
   se veía SIEMPRE debajo de la lista, aunque hubiera series (bug v2.22 → v2.62). */
.dmm-soon[hidden],.dmm-empty[hidden]{display:none}
.dmm-soon-ic,.dmm-empty-ic{width:66px;height:66px;display:grid;place-items:center;font-size:2rem;
  background:var(--h-surface-2);border:1px solid var(--h-line);border-radius:20px}
.dmm-soon-tag{font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--h-peach-ink);
  background:var(--h-peach);border:1px solid rgba(224,122,99,.3);padding:5px 12px;border-radius:20px}
.dmm-soon h2{font-size:1.4rem;margin:2px 0 0}
.dmm-soon p,.dmm-empty p{max-width:52ch;color:var(--h-ink-soft);font-size:.92rem;font-family:var(--h-sans)}
.dmm-soon-stat{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,var(--h-side-2),var(--h-side-1));
  color:#fff;border-radius:var(--h-radius);padding:16px 22px;margin:6px 0}
.dmm-soon-stat .n{font-size:2.2rem;font-weight:900;line-height:1;color:var(--h-gold)}
.dmm-soon-stat .t{font-size:.78rem;color:var(--h-side-muted);text-align:left}
.dmm-soon-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;text-align:left}
.dmm-soon-list li{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--h-ink-soft)}
.dmm-soon-list li span{width:22px;height:22px;flex:none;display:grid;place-items:center;border-radius:50%;
  background:color-mix(in srgb,var(--h-green) 16%,transparent);color:var(--h-green);font-weight:900;font-size:.7rem}
.dmm-soon-cta{margin-top:6px;background:var(--h-crimson);color:#fff!important;font-weight:800;
  padding:11px 22px;border-radius:11px;text-decoration:none;box-shadow:none;transition:.15s}
.dmm-soon-cta:hover{background:var(--h-crimson-ink)}
.dmm-soon-mini{font-size:.78rem;color:var(--h-muted);margin:4px 0 0}

/* Premio por reseñas */
.dmm-reward{background:linear-gradient(150deg,#fff,var(--h-crimson-soft));border:1px solid var(--h-line);
  border-radius:var(--h-radius);padding:20px;margin-bottom:22px}
.dmm-reward-head{display:flex;align-items:center;gap:14px}
.dmm-reward-badge{width:52px;height:52px;flex:none;display:grid;place-items:center;font-size:1.6rem;border-radius:16px;
  background:linear-gradient(135deg,var(--h-gold),#e39a1f);box-shadow:0 6px 16px rgba(245,184,64,.3)}
.dmm-reward-head h2{font-size:1.2rem;margin:0}
.dmm-reward-head p{margin:3px 0 0;font-size:.9rem;color:var(--h-ink-soft)}
.dmm-reward-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.dmm-reward-stat{background:var(--h-surface);border:1px solid var(--h-line);border-radius:var(--h-radius-sm);
  padding:14px 16px;display:flex;flex-direction:column;gap:3px}
.dmm-reward-stat.alt{background:var(--h-celeste-soft,var(--h-crimson-soft));border-color:transparent}
.dmm-reward-stat .n{font-size:1.7rem;font-weight:900;line-height:1;color:var(--h-crimson-ink);font-variant-numeric:tabular-nums}
.dmm-reward-stat .t{font-size:.72rem;color:var(--h-ink-soft);font-weight:600;line-height:1.35}

/* Pendientes */
.dmm-pending-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px}
.dmm-pending-head h3{font-size:1.05rem;margin:0;display:flex;align-items:center;gap:8px}
.dmm-count{background:var(--h-crimson);color:#fff;font-size:.72rem;font-weight:800;min-width:22px;height:22px;
  border-radius:20px;display:inline-grid;place-items:center;padding:0 7px}
.dmm-pending-hint{font-size:.72rem;color:var(--h-muted)}
.dmm-rev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.dmm-rev{border:1px solid var(--h-line);border-radius:var(--h-radius-sm);overflow:hidden;background:var(--h-surface);display:flex;flex-direction:column}
.dmm-rev-cover{display:block;aspect-ratio:3/4;overflow:hidden;background:var(--h-surface-2)}
.dmm-rev-cover img{width:100%;height:100%;object-fit:cover;display:block}
.dmm-rev-body{padding:11px;display:flex;flex-direction:column;gap:7px}
.dmm-rev-ttl{font-weight:700;font-size:.8rem;line-height:1.2;min-height:2.4em}
.dmm-rev-btn{background:var(--h-crimson);color:#fff!important;text-align:center;font-weight:800;font-size:.76rem;
  padding:8px;border-radius:9px;text-decoration:none;border:0;cursor:pointer;width:100%;font-family:var(--h-sans);transition:.15s}
.dmm-rev-btn:hover{background:var(--h-crimson-ink)}
.dmm-rev-hint{font-size:.64rem;color:var(--h-muted);text-align:center}
.dmm-rev.is-done{opacity:.55}
.dmm-rev.is-done .dmm-rev-btn{background:var(--h-green);pointer-events:none}

/* ===== Modal de reseña (no salir de la página) ===== */
.dmm-rmodal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(23,58,75,.55);backdrop-filter:blur(3px)}
.dmm-rmodal.open{display:flex}
.dmm-rmodal .box{background:var(--h-surface);border-radius:18px;max-width:520px;width:100%;overflow:auto;
  max-height:92vh;box-shadow:0 20px 60px rgba(0,0,0,.3);font-family:var(--h-sans);
  animation:dmm-pop .22s cubic-bezier(.2,.9,.3,1.2)}
@keyframes dmm-pop{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.dmm-rmodal .box{animation:none}}
.dmm-rmodal .mh{display:flex;align-items:center;gap:13px;padding:16px 20px;border-bottom:1px solid var(--h-line)}
.dmm-rmodal .mh img{width:44px;height:58px;object-fit:cover;border-radius:7px;box-shadow:0 3px 8px rgba(0,0,0,.18);flex:none}
.dmm-rmodal .mh .tt{font-weight:800;font-size:.95rem;line-height:1.25;flex:1;min-width:0}
.dmm-rmodal .mh .pts{font-size:.66rem;font-weight:800;color:#9a6a00;background:#FFF3D9;border-radius:20px;padding:3px 9px;white-space:nowrap}
.dmm-rmodal .x{border:0;background:var(--h-surface-2);color:var(--h-ink-soft);width:32px;height:32px;border-radius:9px;
  display:grid;place-items:center;cursor:pointer;flex:none}
.dmm-rmodal .mb{padding:20px}
.dmm-stars{display:flex;gap:6px;justify-content:center;margin-bottom:6px}
.dmm-star{border:0;background:transparent;cursor:pointer;font-size:2rem;line-height:1;color:#D8E2E8;
  padding:2px;transition:transform .12s,color .12s}
.dmm-star.on{color:var(--h-gold)}
.dmm-star:hover{transform:scale(1.15)}
@media (prefers-reduced-motion:reduce){.dmm-star:hover{transform:none}}
.dmm-stars-lbl{text-align:center;font-size:.74rem;color:var(--h-muted);font-weight:600;min-height:1.2em;margin-bottom:12px}
.dmm-rmodal textarea{width:100%;min-height:110px;border:1.5px solid var(--h-line);border-radius:12px;
  padding:12px 14px;font-size:.9rem;color:var(--h-ink);background:var(--h-surface-2);resize:vertical;font-family:inherit}
.dmm-rmodal textarea:focus{border-color:var(--h-crimson);background:#fff;box-shadow:0 0 0 3px var(--h-crimson-soft);outline:none}
.dmm-rmodal .err{display:none;margin-top:10px;font-size:.78rem;font-weight:700;color:#B3261E;background:#FDECEA;
  border:1px solid rgba(179,38,30,.25);padding:9px 12px;border-radius:10px}
.dmm-rmodal .err.show{display:block}
.dmm-rmodal .ok-state{display:none;text-align:center;padding:16px 6px}
.dmm-rmodal .ok-state .big{font-size:2.4rem}
.dmm-rmodal .ok-state h4{margin:6px 0 4px;font-size:1.05rem}
.dmm-rmodal .ok-state p{margin:0;font-size:.84rem;color:var(--h-ink-soft)}
.dmm-rmodal.done .mb form{display:none}
.dmm-rmodal.done .ok-state{display:block}
.dmm-rmodal .mf{display:flex;gap:10px;padding:14px 20px;border-top:1px solid var(--h-line);background:var(--h-surface-2)}
.dmm-rmodal .mf button{flex:1;padding:11px;border-radius:11px;font-weight:800;font-size:.86rem;cursor:pointer;
  border:1px solid var(--h-line);font-family:var(--h-sans)}
.dmm-rmodal .cancel{background:var(--h-surface);color:var(--h-ink-soft)}
.dmm-rmodal .send{background:var(--h-crimson);color:#fff;border-color:var(--h-crimson)}
.dmm-rmodal .send:disabled{opacity:.5;cursor:not-allowed}

/* ---- Botones (pill carmín) ---- */
.woocommerce-account .woocommerce a.button,
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce input.button,
.woocommerce-account .woocommerce #respond input#submit,
.woocommerce-account .woocommerce-button{
  background:var(--h-crimson)!important;color:#fff!important;border:0!important;
  border-radius:var(--dmm-btn-radius,11px)!important;
  font-family:var(--h-sans);font-weight:800!important;
  padding:var(--dmm-btn-pad,11px 20px)!important;
  font-size:var(--dmm-btn-fs,inherit)!important;
  min-height:var(--dmm-btn-minh,0px);
  box-shadow:none!important;transition:.15s}
/* Contextos compactos: la variable gana por herencia, inmune a especificidad */
.woocommerce-account .woocommerce-orders-table{--dmm-btn-pad:7px 18px;--dmm-btn-fs:.78rem;--dmm-btn-radius:9px}
.woocommerce-account .woocommerce-pagination{--dmm-btn-pad:9px 22px;--dmm-btn-fs:.8rem;--dmm-btn-radius:10px}
.woocommerce-account .woocommerce a.button:hover,
.woocommerce-account .woocommerce button.button:hover,
.woocommerce-account .woocommerce input.button:hover,
.woocommerce-account .woocommerce-button:hover{background:var(--h-crimson-ink)!important}
.woocommerce-account .woocommerce a.button.wc-forward,
.woocommerce-account .button--outline{background:transparent!important;color:var(--h-crimson)!important;box-shadow:inset 0 0 0 1.5px var(--h-crimson)!important}

/* ---- Tablas (pedidos, precompras, lista de espera) ---- */
.woocommerce-account .shop_table,
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.my_account_orders,
.woocommerce-account .woocommerce-table{
  border-collapse:separate!important;border-spacing:0;width:100%;border:1px solid var(--h-line)!important;
  border-radius:var(--h-radius-sm)!important;overflow:hidden}
.woocommerce-account .shop_table thead th,
.woocommerce-account .woocommerce-orders-table thead th{
  background:var(--h-side-1)!important;color:#fff!important;font-family:var(--h-sans);font-weight:800;
  font-size:.74rem;letter-spacing:.02em;text-transform:uppercase;padding:13px 14px!important;border:0!important}
.woocommerce-account .shop_table td,
.woocommerce-account .woocommerce-orders-table td{border:0!important;border-top:1px solid var(--h-line)!important;
  padding:13px 14px!important;font-size:.88rem;vertical-align:middle}
.woocommerce-account .shop_table tbody tr:hover{background:var(--h-surface-2)}
.woocommerce-account .shop_table tfoot th,
.woocommerce-account .shop_table tfoot td{border-top:1px solid var(--h-line)!important;background:var(--h-surface-2);font-weight:700}
/* Botones de acción del pedido: en una línea, sin partirse */
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button,
.woocommerce-account .woocommerce-orders-table .button{white-space:nowrap;padding:8px 14px!important;margin:2px 0;display:inline-block}
.woocommerce-account .woocommerce-orders-table__cell-order-actions{white-space:nowrap;text-align:right}
/* ===== Estados de pedido: punto semántico + colores por estado (patrón Stripe) ===== */
.woocommerce-account .woocommerce-orders-table__cell-order-status{font-weight:700;font-size:.84rem}
.woocommerce-account .woocommerce-orders-table__cell-order-status::before{content:"";display:inline-block;
  width:8px;height:8px;border-radius:50%;margin-right:8px;background:#A7ADB8;vertical-align:1px}
.woocommerce-account [class*="row--status-completed"] .woocommerce-orders-table__cell-order-status::before{background:var(--h-green)}
.woocommerce-account [class*="row--status-processing"] .woocommerce-orders-table__cell-order-status::before{background:var(--h-crimson)}
.woocommerce-account [class*="row--status-on-hold"] .woocommerce-orders-table__cell-order-status::before,
.woocommerce-account [class*="row--status-pending"] .woocommerce-orders-table__cell-order-status::before{background:var(--h-gold)}
.woocommerce-account [class*="row--status-listo-retiro"] .woocommerce-orders-table__cell-order-status::before{background:#A66BE0}
/* Notas extra dentro de la celda de estado (ej. YITH "Incluye precompra") en su propia línea */
.woocommerce-account .woocommerce-orders-table__cell-order-status > *{display:block;font-size:.68rem;
  color:var(--h-muted);font-weight:600;margin:3px 0 0}
/* Pastilla de estado en el detalle del pedido (mark con clase por estado) */
.woocommerce-account mark.order-status{display:inline-flex;align-items:center;gap:7px;background:#EEF0F3;color:#5A5F6B;
  font-weight:800;font-size:.72rem;padding:4px 11px;border-radius:20px}
.woocommerce-account mark.order-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.65}
.woocommerce-account mark.order-status.status-completed{background:#E4F6EC;color:#1F8A4D}
.woocommerce-account mark.order-status.status-processing{background:var(--h-crimson-soft);color:var(--h-crimson-ink)}
.woocommerce-account mark.order-status.status-on-hold,
.woocommerce-account mark.order-status.status-pending{background:#FFF3D9;color:#9a6a00}
.woocommerce-account mark.order-status.status-listo-retiro{background:#F2EAFC;color:#6f3bb0}
/* Portada del producto en el detalle del pedido (compat con filtro del plugin viejo, y por si acaso) */
.woocommerce-account .dmm-oi img,
.woocommerce-account td.product-name a img{width:48px;height:auto;border-radius:6px;box-shadow:0 3px 8px rgba(0,0,0,.15);margin-right:10px;vertical-align:middle}

/* ---- Detalle de pedido / cliente ---- */
.woocommerce-account .woocommerce-order-details,
.woocommerce-account .woocommerce-customer-details{margin-top:24px}
.woocommerce-account .woocommerce-column__title,
.woocommerce-account .woocommerce-order-details__title{font-family:var(--h-sans);font-weight:800;font-size:1.05rem;
  display:flex;align-items:center;gap:8px}
.woocommerce-account .woocommerce-column__title::before,
.woocommerce-account .woocommerce-order-details__title::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--h-celeste)}

/* ---- Direcciones ---- */
.woocommerce-account .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.woocommerce-account .woocommerce-Address{background:var(--h-peach);border:1px solid rgba(224,122,99,.2);
  border-radius:var(--h-radius-sm);padding:18px}
.woocommerce-account .woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3{font-family:var(--h-sans);font-size:1rem;margin:0}
.woocommerce-account .woocommerce-Address-title a.edit{background:transparent!important;color:var(--h-crimson)!important;
  box-shadow:inset 0 0 0 1.5px var(--h-crimson)!important;padding:5px 12px!important;font-size:.74rem!important;border-radius:20px!important}
.woocommerce-account address{font-style:normal;color:var(--h-ink-soft);font-size:.9rem;line-height:1.6}

/* ---- Mi perfil (Dirección + Detalles de la cuenta fusionados) ---- */
.dmm-perfil-sec + .dmm-perfil-sec{margin-top:34px;padding-top:30px;border-top:1px dashed var(--h-line)}

/* ---- Formularios (editar cuenta / dirección) ---- */
.woocommerce-account form .form-row label,
.woocommerce-account .woocommerce-EditAccountForm label{font-weight:700;font-size:.82rem;color:var(--h-ink-soft)}
.woocommerce-account form .input-text,
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="tel"],
.woocommerce-account form input[type="password"],
.woocommerce-account form select,
.woocommerce-account form textarea{
  width:100%;border:1.5px solid var(--h-line)!important;border-radius:11px!important;padding:11px 13px!important;
  background:var(--h-surface-2);font-size:.9rem;color:var(--h-ink);transition:.15s}
.woocommerce-account form .input-text:focus,
.woocommerce-account form select:focus,
.woocommerce-account form textarea:focus{border-color:var(--h-crimson)!important;background:#fff;
  box-shadow:0 0 0 3px var(--h-crimson-soft)!important;outline:none}
.woocommerce-account fieldset{border:1px solid var(--h-line);border-radius:var(--h-radius-sm);padding:16px 18px;margin-top:18px;background:var(--h-peach)}
.woocommerce-account fieldset legend{font-family:var(--h-sans);font-weight:800;font-size:.82rem;color:var(--h-crimson-ink);
  background:var(--h-crimson-soft);border-radius:20px;padding:4px 12px}

/* ---- Mis puntos (YITH ywpar) ---- */
.woocommerce-account .ywpar_summary_badge,
.woocommerce-account .ywpar_levels_badges,
.woocommerce-account .ywpar_rank_badges{background:var(--h-peach)!important;border:1px solid rgba(224,122,99,.2)!important;
  border-radius:var(--h-radius-sm)!important;padding:16px!important;font-family:var(--h-sans)}
.woocommerce-account .ywpar_summary_badge{background:linear-gradient(135deg,var(--h-side-2),var(--h-side-1))!important;color:#fff!important;border:0!important}
.woocommerce-account .ywpar_tabs_header{border-bottom:1px solid var(--h-line)!important;display:flex;gap:6px;flex-wrap:wrap}
.woocommerce-account li.ywpar_tabs_links{list-style:none;background:var(--h-surface-2);border:1px solid var(--h-line);
  border-radius:20px 20px 0 0;padding:9px 15px!important;font-weight:700;font-size:.82rem;cursor:pointer}
.woocommerce-account li.ywpar_tabs_links.active_tab,
.woocommerce-account li.ywpar_tabs_links.active{background:var(--h-crimson)!important;color:#fff!important;border-color:var(--h-crimson)!important}

/* ---- Login / Registro (sin sesión) ---- */
.woocommerce-account .woocommerce:has(#customer_login){display:block}
#customer_login.u-columns,#customer_login.col2-set{display:grid!important;grid-template-columns:1fr 1fr;gap:22px;
  max-width:1000px;margin-inline:auto}
#customer_login::before,#customer_login::after{display:none!important}
#customer_login .u-column1,#customer_login .u-column2,#customer_login .col-1,#customer_login .col-2{
  width:auto!important;float:none!important;background:var(--h-surface);border:1px solid var(--h-line);
  border-radius:var(--h-radius);padding:26px;box-shadow:var(--h-shadow)}
#customer_login .u-column2,#customer_login .col-2{background:var(--h-peach)}
#customer_login h2{font-family:var(--h-sans);font-weight:800;font-size:1.2rem;display:flex;align-items:center;gap:8px}
#customer_login h2::before{content:"";width:11px;height:11px;border-radius:3px;background:var(--h-celeste)}
#customer_login .u-column2 h2::before,#customer_login .col-2 h2::before{background:var(--h-crimson)}
.woocommerce-account .wc-social-login{margin-top:14px}

/* ---- Avisos WooCommerce ---- */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error{border-radius:var(--h-radius-sm)!important;border:0!important;
  border-left:4px solid var(--h-celeste)!important;background:var(--h-surface-2)!important;font-size:.88rem}
.woocommerce-account .woocommerce-error{border-left-color:var(--h-crimson)!important;background:var(--h-crimson-soft)!important}

/* ---- Responsive ---- */
/* IMPORTANTE: el selector del grid base usa :has() (más específico), la media query
   debe repetirlo o pierde la cascada y el contenido queda aplastado en móvil. */
@media (max-width:820px){
  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation){grid-template-columns:1fr;gap:16px}
  .woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr}
  #customer_login.u-columns,#customer_login.col2-set{grid-template-columns:1fr}

  /* Rail → perfil compacto en fila + NUBE DE PASTILLAS que envuelven
     (todas visibles, sin scroll horizontal, sin chips cortados).
     Aplica tanto al rail de sub-páginas como al menú del dashboard. */
  .dmm-rail{position:static;padding:14px}
  .dmm-rail-profile{flex-direction:row;text-align:left;gap:12px;padding:4px 2px 12px;align-items:center}
  .dmm-rail-av{width:56px;height:56px;flex:none}
  .dmm-rail-name{font-size:.95rem}
  .dmm-rail-level{font-size:.66rem}
  .dmm-rail-pts{margin-left:auto;flex:none;padding:5px 11px;font-size:.7rem}

  .dmm-rail .dmm-rail-nav,.hub-menu .dmm-rail-nav{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
  .dmm-rail .dmm-rail-group,.hub-menu .dmm-rail-group{display:none}
  .dmm-rail .dmm-rail-menu,.hub-menu .dmm-rail-menu{display:contents}
  .dmm-rail .dmm-rail-item,.hub-menu .dmm-rail-item{flex:none}
  .dmm-rail .dmm-rail-item a,.hub-menu .dmm-rail-item a{
    padding:7px 13px 7px 9px;white-space:nowrap;gap:7px;border-radius:20px;
    border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);font-size:.8rem}
  .dmm-rail .dmm-rail-ic,.hub-menu .dmm-rail-ic{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.08)}
  .dmm-rail .dmm-rail-ic svg,.hub-menu .dmm-rail-ic svg{width:13px;height:13px}
  .dmm-rail .dmm-rail-item.is-active a,.hub-menu .dmm-rail-item.is-active a{
    background:var(--h-celeste);border-color:var(--h-celeste);color:#123f52!important}
  .dmm-rail .dmm-rail-item.is-active a::before,.hub-menu .dmm-rail-item.is-active a::before{display:none}
  .dmm-rail .dmm-rail-item.is-active .dmm-rail-ic,.hub-menu .dmm-rail-item.is-active .dmm-rail-ic{
    background:rgba(255,255,255,.55);color:var(--h-crimson-ink)}
  .dmm-rail .dmm-rail-tag,.hub-menu .dmm-rail-tag{display:none}
  .dmm-rail .dmm-rail-foot,.hub-menu .dmm-rail-foot{margin:0;padding:0;border:0}
  .dmm-rail .dmm-rail-logout a,.hub-menu .dmm-rail-logout a{border-color:rgba(255,183,168,.3)}
}

/* Tablas Woo apiladas (smallscreen de WooCommerce ya convierte celdas a bloques
   con data-title; aquí solo pulimos el resultado) */
@media (max-width:768px){
  .woocommerce-account .shop_table tbody td{padding:9px 8px!important;text-align:right}
  .woocommerce-account .shop_table tbody td::before{font-weight:800;color:var(--h-ink-soft)}
  .woocommerce-account .shop_table tbody tr{border-bottom:5px solid var(--h-surface-2)}
  .woocommerce-account .woocommerce-orders-table__cell-order-actions{text-align:right}
}

@media (max-width:600px){
  .woocommerce-account .wp-block-post-title{padding:28px 18px 18px!important;font-size:1.7rem}
  .woocommerce-account .wp-block-post-title::before{left:18px;top:12px}
  .woocommerce-account .woocommerce-MyAccount-content{padding:16px}
  .dmm-rmodal{padding:10px}
  .dmm-reward{padding:16px}
}

/* ============================================================
   AUDITORÍA QA v2.0.0 — correcciones y sistema de consistencia
   ============================================================ */

/* [A11y] Foco de teclado SIEMPRE visible (el tema lo dejaba en none) */
.woocommerce-account :is(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--h-celeste)!important;outline-offset:2px}
.dmm-rail :is(a,button):focus-visible,.hub-profile:focus-visible,.hub-menu a:focus-visible{
  outline-color:#fff!important}
.dmm-rmodal :is(button,textarea):focus-visible{outline:3px solid var(--h-celeste)!important;outline-offset:2px}

/* [Bug] box-sizing: el textarea del modal desbordaba (scrollbar horizontal) */
.dmm-page *,.dmm-page *::before,.dmm-page *::after,
.dmm-rmodal *,.dmm-rmodal *::before,.dmm-rmodal *::after,
.dmm-rail *,.dmm-rail *::before,.dmm-rail *::after{box-sizing:border-box}
.woocommerce-account form .input-text,
.woocommerce-account form select,
.woocommerce-account form textarea{box-sizing:border-box}

/* [Sistema] Títulos de sección: mata los H2 de 52px del tema en TODO el contenido
   (Actualizaciones del pedido, Dirección de facturación, Mis Puntos, etc.) */
.woocommerce-MyAccount-content h2{
  font-family:var(--h-sans);font-size:1.15rem;font-weight:800;letter-spacing:-.01em;
  line-height:1.3;margin:26px 0 14px;display:flex;align-items:center;gap:9px;color:var(--h-ink)}
.woocommerce-MyAccount-content h2::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--h-celeste);flex:none}
.woocommerce-MyAccount-content > h2:first-child,
.woocommerce-MyAccount-content form > h2:first-child{margin-top:0}
.woocommerce-MyAccount-content h3{font-family:var(--h-sans);font-size:1rem;font-weight:800;margin:20px 0 12px}
/* Las páginas propias (biblioteca/reseñas) y el hub conservan sus títulos */
.dmm-page h2::before,.dmm-page h3::before{content:none}
.dmm-reward-head h2{margin:0;font-size:1.2rem}
.dmm-soon h2{margin:2px 0 0;font-size:1.4rem;justify-content:center}
.dmm-pending-head h3{margin:0}

/* [UX] Timeline de "Actualizaciones del pedido": línea + puntos, sin números */
.woocommerce-account ol.woocommerce-OrderUpdates{list-style:none;margin:0 0 10px;padding:4px 0 0}
.woocommerce-account li.woocommerce-OrderUpdate{position:relative;margin:0;padding:0 0 18px 28px}
.woocommerce-account li.woocommerce-OrderUpdate::before{content:"";position:absolute;left:5px;top:5px;
  width:10px;height:10px;border-radius:50%;background:var(--h-crimson);box-shadow:0 0 0 3px var(--h-crimson-soft)}
.woocommerce-account li.woocommerce-OrderUpdate::after{content:"";position:absolute;left:9px;top:20px;bottom:2px;
  width:2px;border-radius:2px;background:var(--h-line)}
.woocommerce-account li.woocommerce-OrderUpdate:last-child::after{content:none}
.woocommerce-account li.woocommerce-OrderUpdate:last-child{padding-bottom:6px}
.woocommerce-account .woocommerce-OrderUpdate-meta{font-size:.72rem;color:var(--h-muted);font-weight:700;margin:0 0 3px}
.woocommerce-account .woocommerce-OrderUpdate-description{font-size:.88rem;color:var(--h-ink-soft)}
.woocommerce-account .woocommerce-OrderUpdate-description p{margin:0}

/* [Diseño] Puntos ganados del pedido (YITH) como chip dorado */
.woocommerce-account .ywpar-order-point-summary{display:inline-flex;align-items:center;gap:7px;
  background:#FFF3D9;color:#9a6a00;font-weight:800;font-size:.8rem;border-radius:20px;
  padding:7px 14px;margin:4px 0 10px}
.woocommerce-account .ywpar-order-point-summary::before{content:"⭐";font-size:.85rem}

/* [Regresión] Miniaturas de producto en el detalle del pedido */
.woocommerce-account .dmm-oi{display:inline-block;vertical-align:middle;margin-right:10px}
.woocommerce-account .dmm-oi img{width:44px;height:auto;border-radius:6px;box-shadow:0 3px 8px rgba(0,0,0,.15);display:block}
.woocommerce-account td.product-name{line-height:1.35}

/* [Polish] Totales del pedido: números tabulares, rebajas y notas legibles */
.woocommerce-account .shop_table .woocommerce-Price-amount{font-variant-numeric:tabular-nums}
.woocommerce-account .shop_table del{color:var(--h-muted);font-weight:600}
.woocommerce-account .shop_table ins{text-decoration:none;color:var(--h-crimson-ink);font-weight:800}
.woocommerce-account .shop_table tfoot small{display:block;font-size:.7rem;color:var(--h-muted);font-weight:600;margin-top:2px}

/* [Polish] Paginación de pedidos */
.woocommerce-account .woocommerce-pagination{display:flex;justify-content:center;gap:10px;margin-top:18px}

/* [Bug] El tema subrayaba los links del rail y el perfil */
.dmm-rail a,.dmm-rail-profile,.dmm-rail-profile *,
.hub-profile,.hub-profile *,.hub-menu a{text-decoration:none!important}

/* [Polish] Áreas clickeables mínimas y transición consistente */
.woocommerce-account .woocommerce-MyAccount-content a{transition:color .15s}
.dmm-rail-item a{min-height:38px}

/* ============================================================
   QA-2 v2.1.0 — Pedidos rediseñados + paginación de reseñas
   ============================================================ */

/* --- Lista de pedidos: botón compacto (antes 60px de alto y se cortaba) --- */
.woocommerce-account .woocommerce-orders-table .button{
  padding:8px 18px!important;min-height:34px;font-size:.8rem!important;line-height:1.2}
.woocommerce-account .woocommerce-orders-table td{padding:12px!important}
.woocommerce-account .woocommerce-orders-table thead th{padding:12px!important}
/* El "para N artículos" del total en su propia línea, discreto */
.woocommerce-account .woocommerce-orders-table__cell-order-total{font-variant-numeric:tabular-nums}
.woocommerce-account .woocommerce-orders-table__cell-order-number a{font-weight:800}

/* Notebook/tablet: la tabla no cabe con columnas → tarjetas apiladas ANTES
   de que el mínimo de columnas desborde el contenedor */
@media (max-width:1150px){
  .woocommerce-account .woocommerce-orders-table thead{display:none}
  .woocommerce-account .woocommerce-orders-table tbody tr{display:block;padding:6px 4px 12px;border-bottom:1px solid var(--h-line)}
  .woocommerce-account .woocommerce-orders-table tbody tr:last-child{border-bottom:0}
  .woocommerce-account .woocommerce-orders-table tbody td{
    display:flex;align-items:baseline;justify-content:space-between;gap:12px;
    border:0!important;padding:7px 4px!important;text-align:right}
  .woocommerce-account .woocommerce-orders-table tbody td::before{
    content:attr(data-title);font-weight:800;color:var(--h-ink-soft);font-size:.76rem;text-align:left;flex:none}
  .woocommerce-account .woocommerce-orders-table__cell-order-actions{justify-content:flex-end}
  .woocommerce-account .woocommerce-orders-table__cell-order-actions::before{content:none}
  .woocommerce-account .woocommerce-orders-table__cell-order-status{display:flex}
  .woocommerce-account .woocommerce-orders-table__cell-order-status > *{margin:0;text-align:right}
}

/* --- DETALLE DE PEDIDO: de tabla WooCommerce a lista de artículos + resumen --- */
.woocommerce-account .woocommerce-table--order-details{display:block;border:0!important;border-radius:0!important;overflow:visible}
.woocommerce-account .woocommerce-table--order-details thead{display:none}
.woocommerce-account .woocommerce-table--order-details tbody{display:block}
.woocommerce-account .woocommerce-table--order-details tbody tr{
  display:flex;align-items:center;gap:14px;padding:11px 2px;border-bottom:1px solid var(--h-line)}
.woocommerce-account .woocommerce-table--order-details tbody td{border:0!important;padding:0!important;background:transparent!important}
.woocommerce-account .woocommerce-table--order-details td.product-name{
  flex:1;min-width:0;display:flex;align-items:center;gap:12px;font-weight:600;text-align:left}
.woocommerce-account .woocommerce-table--order-details td.product-name a{color:var(--h-ink);font-weight:700}
.woocommerce-account .woocommerce-table--order-details td.product-name a:hover{color:var(--h-crimson-ink)}
.woocommerce-account .woocommerce-table--order-details .product-quantity{color:var(--h-muted);font-weight:700;font-size:.8rem}
.woocommerce-account .woocommerce-table--order-details td.product-total{
  font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
/* Resumen (subtotal/envío/total) como tarjeta */
.woocommerce-account .woocommerce-table--order-details tfoot{
  display:block;background:var(--h-surface-2);border:1px solid var(--h-line);
  border-radius:var(--h-radius-sm);padding:6px 16px;margin-top:16px}
.woocommerce-account .woocommerce-table--order-details tfoot tr{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:9px 0;border-bottom:1px dashed var(--h-line)}
.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child{border-bottom:0;padding:12px 0}
.woocommerce-account .woocommerce-table--order-details tfoot th{
  border:0!important;padding:0!important;background:transparent!important;
  font-size:.8rem;font-weight:700;color:var(--h-ink-soft);text-align:left;flex:none}
.woocommerce-account .woocommerce-table--order-details tfoot td{
  border:0!important;padding:0!important;background:transparent!important;
  text-align:right;font-weight:700;font-variant-numeric:tabular-nums;min-width:0}
.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child td{
  font-size:1.02rem;font-weight:800;color:var(--h-ink)}
.woocommerce-account .dmm-oi img{width:46px}

/* Dirección del pedido como tarjeta durazno + contacto compacto */
.woocommerce-account .woocommerce-customer-details address{
  background:var(--h-peach);border:1px solid rgba(224,122,99,.2);border-radius:var(--h-radius-sm);
  padding:16px 18px;line-height:1.65}
.woocommerce-account .woocommerce-customer-details--phone,
.woocommerce-account .woocommerce-customer-details--email{margin:8px 0 0;padding:0;font-size:.86rem}

/* Tablas de campos extra tras el pedido (ej. RUT de checkout) */
.woocommerce-account .woocommerce-table--custom-fields th,
.woocommerce-account .woocommerce-table--custom-fields td{border:0!important;padding:8px 10px!important;font-size:.86rem}

/* Títulos del detalle: asegurar tamaño del sistema pase lo que pase */
.woocommerce-account .woocommerce-column__title,
.woocommerce-account .woocommerce-order-details__title{
  font-size:1.15rem!important;font-weight:800!important;margin:26px 0 14px!important}

/* --- Paginación de "Mis reseñas" --- */
.dmm-pager{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:20px;font-family:var(--h-sans)}
.dmm-pager-num{min-width:36px;height:36px;display:inline-grid;place-items:center;border-radius:10px;
  border:1px solid var(--h-line);background:var(--h-surface);color:var(--h-ink-soft);
  font-weight:700;font-size:.84rem;text-decoration:none;padding:0 6px}
.dmm-pager-num:hover{border-color:var(--h-crimson);color:var(--h-crimson-ink)}
.dmm-pager-num.is-current{background:var(--h-crimson);border-color:var(--h-crimson);color:#fff}
.dmm-pager-btn{height:36px;display:inline-flex;align-items:center;border-radius:10px;padding:0 14px;
  border:1px solid var(--h-line);background:var(--h-surface);color:var(--h-ink-soft);
  font-weight:800;font-size:.8rem;text-decoration:none}
.dmm-pager-btn:hover{border-color:var(--h-crimson);color:var(--h-crimson-ink)}
button.dmm-pager-num,button.dmm-pager-btn{cursor:pointer;appearance:none;font-family:var(--h-sans)}
.dmm-pager-gap{color:var(--h-muted);padding:0 2px}

/* ============================================================
   QA-3 v2.2.0 — botón Ver definitivo, grilla 5x2, foto grande
   ============================================================ */

/* Botón "Ver" (y paginación Woo): la regla base a.button (0,3,1 + !important)
   pisaba a la compacta — esta gana con (0,4,1). */
.woocommerce-account .woocommerce .woocommerce-orders-table a.button,
.woocommerce-account .woocommerce .woocommerce-orders-table button.button{
  display:inline-flex!important;align-items:center;justify-content:center;
  padding:7px 18px!important;min-height:0!important;height:auto!important;
  font-size:.78rem!important;line-height:1.3!important;border-radius:9px!important;
  width:auto!important;box-shadow:none!important}
.woocommerce-account .woocommerce .woocommerce-pagination a.button{
  padding:9px 20px!important;min-height:0!important;font-size:.8rem!important;border-radius:10px!important}
/* Celda de acciones alineada al centro vertical y a la derecha */
.woocommerce-account .woocommerce-orders-table__cell-order-actions{vertical-align:middle!important}

/* Lista de pedidos: respiración y jerarquía */
.woocommerce-account .woocommerce-orders-table td{padding:14px 12px!important;vertical-align:middle!important}
.woocommerce-account .woocommerce-orders-table__cell-order-total{font-size:.86rem}
.woocommerce-account .woocommerce-orders-table__cell-order-total .woocommerce-Price-amount{font-weight:700}

/* Grilla de reseñas: 5 por fila en PC (2 filas de 5 con la paginación de 10) */
.dmm-rev-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1250px){.dmm-rev-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.dmm-rev-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.dmm-rev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Foto del cliente más protagonista en el rail (desktop) */
@media (min-width:821px){
  .dmm-rail-av{width:112px;height:112px;padding:4px}
  .dmm-rail-name{font-size:1.12rem}
  .dmm-rail-level{font-size:.74rem}
  .dmm-rail-pts{font-size:.78rem;padding:7px 16px}
  .dmm-rail-profile{gap:9px;padding:16px 8px 18px}
}

/* ============================================================
   QA-4 v2.4.0 — móvil: ítems de preventa + historial de puntos
   ============================================================ */

/* Detalle de pedido: los metadatos de YITH pre-order ("Producto de precompra",
   "Fecha de disponibilidad…") se montaban sobre el precio. Ahora TODO lo que
   no sea portada/nombre/cantidad baja a su propia línea, pequeño y discreto. */
.woocommerce-account .woocommerce-table--order-details td.product-name{flex-wrap:wrap;row-gap:3px}
.woocommerce-account .woocommerce-table--order-details td.product-name > :not(a):not(.dmm-oi):not(.product-quantity){
  flex:1 1 100%;min-width:100%;font-size:.7rem;line-height:1.45;color:var(--h-muted);
  font-weight:600;margin:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
.woocommerce-account .woocommerce-table--order-details td.product-name dl,
.woocommerce-account .woocommerce-table--order-details td.product-name dl dt,
.woocommerce-account .woocommerce-table--order-details td.product-name dl dd{
  display:inline;margin:0;padding:0;font-size:.7rem;color:var(--h-muted)}
/* Chip para la marca de precompra (cualquier elemento de ywpo) */
.woocommerce-account .woocommerce-table--order-details td.product-name [class*="ywpo"],
.woocommerce-account .woocommerce-table--order-details td.product-name [class*="preorder"]{
  color:var(--h-peach-ink);font-weight:700}
/* En pantallas chicas el precio no se aplasta */
@media (max-width:600px){
  .woocommerce-account .woocommerce-table--order-details tbody tr{align-items:flex-start;gap:10px}
  .woocommerce-account .woocommerce-table--order-details td.product-total{font-size:.9rem;padding-top:2px!important}
  .woocommerce-account .dmm-oi img{width:38px}
}

/* Historial de puntos (YITH ywpar) apilado en móvil: cada movimiento = tarjeta,
   sin bordes negros del tema, valores que no se cortan */
@media (max-width:768px){
  .woocommerce-account .ywpar_points_rewards{border:0!important;background:transparent}
  .woocommerce-account .ywpar_points_rewards tbody tr{
    display:block;background:var(--h-surface);border:1px solid var(--h-line)!important;
    border-radius:12px;margin:0 0 12px;padding:4px 14px}
  .woocommerce-account .ywpar_points_rewards tbody td{
    display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;
    border:0!important;border-top:1px dashed var(--h-line)!important;
    padding:9px 0!important;text-align:right;white-space:normal;overflow-wrap:anywhere}
  .woocommerce-account .ywpar_points_rewards tbody td:first-child{border-top:0!important}
  .woocommerce-account .ywpar_points_rewards tbody td::before{
    font-weight:800;color:var(--h-ink-soft);font-size:.76rem;text-align:left;flex:none}
  /* El saldo acumulado ("18.915 Puntos") en su propia línea, pequeño */
  .woocommerce-account .ywpar_points_rewards tbody td small,
  .woocommerce-account .ywpar_points_rewards tbody td .ywpar_balance,
  .woocommerce-account .ywpar_points_rewards tbody td span + span{
    display:block;flex:1 1 100%;font-size:.68rem;color:var(--h-muted);font-weight:600;text-align:right}
}

/* ============================================================
   QA-5 v2.4.2 — tarjetas de pedido en móvil, rediseño limpio
   (selectores de alta especificidad para ganarle al CSS
   smallscreen de WooCommerce, que es quien pinta las etiquetas)
   ============================================================ */
@media (max-width:768px){
  /* Tarjeta por pedido: blanca, redondeada, sin bordes negros ni zebra */
  .woocommerce-account .woocommerce table.woocommerce-orders-table{border:0!important;background:transparent!important}
  .woocommerce-account .woocommerce table.woocommerce-orders-table tbody tr,
  .woocommerce-account .woocommerce table.woocommerce-orders-table tbody tr:nth-child(odd),
  .woocommerce-account .woocommerce table.woocommerce-orders-table tbody tr:nth-child(even),
  .woocommerce-account .woocommerce table.woocommerce-orders-table tbody tr:hover{
    display:block;background:var(--h-surface)!important;border:1px solid var(--h-line)!important;
    border-radius:12px;margin:0 0 14px;padding:6px 16px 12px;box-shadow:var(--h-shadow)}
  .woocommerce-account .woocommerce table.woocommerce-orders-table tbody tr td{
    display:flex;align-items:baseline;justify-content:space-between;gap:12px;
    background:transparent!important;border:0!important;border-top:1px dashed var(--h-line)!important;
    padding:10px 0!important;text-align:right;white-space:normal}
  .woocommerce-account .woocommerce table.woocommerce-orders-table tbody tr td:first-child{border-top:0!important}
  /* Etiqueta (Pedido/Fecha/Estado/Total): nuestra, ordenada, sin float */
  .woocommerce-account .woocommerce table.woocommerce-orders-table tbody tr td::before{
    content:attr(data-title);float:none;width:auto;height:auto;background:transparent;border-radius:0;
    margin:0;font-weight:800;color:var(--h-ink-soft);font-size:.78rem;text-align:left;flex:none;display:block}
  /* Nº de pedido como encabezado de la tarjeta */
  .woocommerce-account .woocommerce table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-number{
    border-bottom:1px solid var(--h-line)!important;padding:12px 0!important}
  .woocommerce-account .woocommerce table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-number a{
    font-weight:800;font-size:.95rem}
  /* Estado: sin puntito en móvil (chocaba con la etiqueta de Woo) */
  .woocommerce-account .woocommerce table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-status{display:flex}
  .woocommerce-account .woocommerce table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-status > *{
    margin:0;text-align:right;display:block;font-size:.68rem;color:var(--h-muted)}
  /* Acciones: sin etiqueta ni espacio muerto, botón a la derecha */
  .woocommerce-account .woocommerce table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions{
    justify-content:flex-end;padding:12px 0 2px!important}
  .woocommerce-account .woocommerce table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before{content:none}
}

/* ============================================================
   v2.7.0 — Estado de retiro/entrega por producto (cliente)
   ============================================================ */

/* Resumen arriba del detalle del pedido */
.woocommerce-account .dmm-delivery{background:linear-gradient(135deg,var(--h-blue-soft,var(--h-crimson-soft)),var(--h-surface));
  border:1px solid var(--h-line);border-radius:var(--h-radius-sm);padding:16px 18px;margin:0 0 20px;font-family:var(--h-sans)}
.woocommerce-account .dmm-delivery-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.woocommerce-account .dmm-delivery .tt{font-weight:800;font-size:1rem}
.woocommerce-account .dmm-delivery .pct{font-weight:900;font-size:1.15rem;color:var(--h-crimson-ink);font-variant-numeric:tabular-nums}
.woocommerce-account .dmm-delivery .bar{height:8px;border-radius:6px;background:var(--h-line);margin:10px 0 8px;overflow:hidden}
.woocommerce-account .dmm-delivery .bar i{display:block;height:100%;border-radius:6px;
  background:linear-gradient(90deg,var(--h-gold),var(--h-green))}
.woocommerce-account .dmm-delivery .sub{font-size:.8rem;color:var(--h-ink-soft);font-weight:600}

/* Chip por producto (gana a la regla genérica de metadatos del ítem) */
.woocommerce-account .woocommerce-table--order-details td.product-name .dmm-del-chip{
  display:inline-flex!important;align-items:center;gap:5px;flex:0 0 auto!important;min-width:0!important;
  width:auto!important;font-size:.66rem!important;font-weight:800!important;padding:3px 10px;border-radius:20px;
  margin:2px 0 0;letter-spacing:.02em}
.woocommerce-account .dmm-del-chip.done{background:#E4F6EC;color:#1F8A4D!important}
.woocommerce-account .dmm-del-chip.ready{background:var(--h-crimson-soft);color:var(--h-crimson-ink)!important}
.woocommerce-account .dmm-del-chip.wait{background:var(--h-surface-2);color:var(--h-muted)!important;border:1px dashed var(--h-line)}
.woocommerce-account .dmm-del-chip.ret{background:#FDECEA;color:#B3261E!important}

/* ============================================================
   v2.9.1 — Escalafón de la madriguera (autocontenido .dmm-esc)
   Vive en el dashboard Y en /mi-cuenta/mis-puntos/
   ============================================================ */
.woocommerce-account .dmm-esc{background:var(--h-surface);border:1px solid var(--h-line);
  border-radius:var(--h-radius);box-shadow:var(--h-shadow);padding:20px;margin:0 0 22px;font-family:var(--h-sans)}
.hub-center .dmm-esc{margin-bottom:0} /* en el dashboard el gap del flex ya separa */
.dmm-esc-top{display:flex;align-items:center;gap:14px}
.dmm-esc-badge{width:58px;height:58px;flex:none;border-radius:18px;display:grid;place-items:center;font-size:1.7rem;
  box-shadow:0 6px 16px rgba(0,0,0,.18)}
.dmm-esc-eyebrow{font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--h-muted)}
.dmm-esc-name{font-family:var(--h-sans);font-weight:900;font-size:1.25rem;line-height:1.1;margin:2px 0;color:var(--h-ink)}
.dmm-esc-meta{font-size:.74rem;color:var(--h-ink-soft);font-weight:600;font-variant-numeric:tabular-nums}
.dmm-esc-bar{height:9px;border-radius:6px;background:var(--h-line);margin:16px 0 8px;overflow:hidden}
.dmm-esc-bar i{display:block;height:100%;border-radius:6px;transition:width .5s cubic-bezier(.2,.9,.3,1)}
@media (prefers-reduced-motion:reduce){.dmm-esc-bar i{transition:none}}
.dmm-esc-next{font-size:.84rem;color:var(--h-ink-soft)}
.dmm-esc-next b{color:var(--h-ink)}
.dmm-esc-ladder{display:flex;gap:6px;margin:12px 0 4px;overflow-x:auto;padding:6px 0 4px;scrollbar-width:none}
.dmm-esc-ladder::-webkit-scrollbar{display:none}
.dmm-esc-step{flex:1 1 0;min-width:64px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.dmm-esc-step .ic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:1.1rem;
  background:var(--h-surface-2);border:1px solid var(--h-line);filter:grayscale(1);opacity:.5;transition:.2s}
.dmm-esc-step .lb{font-size:.6rem;font-weight:700;color:var(--h-muted);line-height:1.2}
.dmm-esc-step.done .ic,.dmm-esc-step.current .ic{filter:none;opacity:1;border-color:transparent;color:#fff}
.dmm-esc-step.done .lb{color:var(--h-ink-soft)}
.dmm-esc-step.current .ic{width:46px;height:46px;font-size:1.25rem;box-shadow:0 4px 14px rgba(0,0,0,.2);
  outline:3px solid var(--h-surface);outline-offset:-1px;transform:translateY(-2px)}
.dmm-esc-step.current .lb{color:var(--h-ink);font-weight:800}
.dmm-esc-perk{margin-top:14px;padding-top:13px;border-top:1px dashed var(--h-line);display:flex;flex-direction:column;gap:4px}
.dmm-esc-perk .on{font-size:.82rem;color:var(--h-ink-soft)}
.dmm-esc-perk .on b{color:var(--h-ink)}
.dmm-esc-perk .soon{font-size:.72rem;color:var(--h-muted)}
@media (max-width:520px){
  .woocommerce-account .dmm-esc{padding:16px 14px}
  .dmm-esc-top{gap:11px}
  .dmm-esc-badge{width:48px;height:48px;border-radius:14px;font-size:1.4rem}
  .dmm-esc-name{font-size:1.06rem}
  /* Escalera: los 7 rangos entran parejos sin scroll (el nombre del rango ya sale arriba). */
  .dmm-esc-ladder{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;overflow:visible;padding:6px 0 0}
  .dmm-esc-step{min-width:0}
  .dmm-esc-step .ic{width:32px;height:32px;font-size:.9rem}
  .dmm-esc-step.current .ic{width:36px;height:36px;font-size:1rem;transform:none;outline-width:2px}
  .dmm-esc-step .lb,.dmm-esc-step.current .lb{display:none}
}

/* ============================================================
   v2.10.0 — Lista de deseos DENTRO de la cuenta (endpoint propio)
   ============================================================ */
.woocommerce-account .dmm-wishlist{min-width:0}
.woocommerce-account .dmm-wishlist > :first-child{margin-top:0}
.woocommerce-account .dmm-wishlist > :last-child{margin-bottom:0}
/* que la tabla/grilla de TI Wishlist nunca desborde el contenedor */
.woocommerce-account .dmm-wishlist .tinv-wishlist,
.woocommerce-account .dmm-wishlist table{max-width:100%}
.woocommerce-account .dmm-wishlist .tinv-wishlist table{width:100%}
.woocommerce-account .dmm-wishlist img{max-width:100%;height:auto}
/* scroll de seguridad si la tabla de TI es muy ancha en móvil */
@media (max-width:600px){
  .woocommerce-account .dmm-wishlist .tinv-wishlist{overflow-x:auto}
}

/* ============================================================
   v2.13.0 — MI BIBLIOTECA (Fase 2): estantería digital
   Series en acordeón + chips de tomos + tabs + buscador
   ============================================================ */

/* ---- Cabecera de Mi biblioteca: banner de marca + estantería + franja de datos ---- */
.dmm-bib-hero2{position:relative;overflow:hidden;border:1px solid var(--h-line);border-radius:var(--h-radius);
  box-shadow:var(--h-shadow);font-family:var(--h-sans);
  background:
    radial-gradient(rgba(255,255,255,.55) 1.4px, transparent 1.6px) 0 0/16px 16px,
    linear-gradient(115deg,var(--h-celeste),var(--h-peach) 78%)}
.dmm-bib-hero2-top{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;
  padding:24px 28px 0}
.dmm-bib-hero2-txt{max-width:56ch;padding-bottom:20px}
.dmm-bib-hero2 .kicker{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:#1E5875;margin-bottom:6px}
.dmm-bib-hero2 h2{margin:0 0 8px!important;font-size:1.55rem!important;line-height:1.15;
  font-weight:900;color:var(--h-ink)!important;letter-spacing:-.01em;text-wrap:balance}
.dmm-bib-hero2 h2::before{content:none!important}
.dmm-bib-hero2 p{margin:0;font-size:.9rem;line-height:1.55;color:#3E4A54}
.dmm-bib-hero2 p b{color:var(--h-ink)}

/* Estantería: lomos de tomos en los colores de la marca, uno apoyado */
.dmm-bib-shelf{display:flex;align-items:flex-end;gap:5px;flex:none;padding:0 6px 0 0;
  border-bottom:5px solid rgba(44,63,75,.25)}
.dmm-bib-shelf i{width:17px;border-radius:4px 4px 0 0;display:block;
  box-shadow:inset -4px 0 rgba(0,0,0,.10);
  background-image:linear-gradient(rgba(255,255,255,0) 12px, rgba(255,255,255,.6) 12px,
    rgba(255,255,255,.6) 17px, rgba(255,255,255,0) 17px)}
.dmm-bib-shelf .s1{height:64px;background-color:var(--h-crimson)}
.dmm-bib-shelf .s2{height:82px;background-color:#2C7DAB}
.dmm-bib-shelf .s3{height:56px;background-color:var(--h-gold)}
.dmm-bib-shelf .s4{height:74px;background-color:var(--h-peach-ink)}
.dmm-bib-shelf .s5{height:62px;background-color:var(--h-green)}
.dmm-bib-shelf .s6{height:78px;background-color:#245C74}
.dmm-bib-shelf .s7{height:70px;background-color:#8A64C8;transform:rotate(9deg);transform-origin:bottom left;margin-left:7px}

/* Franja de datos: una sola superficie, números tabulares, divisores */
.dmm-bib-strip{display:flex;flex-wrap:wrap;gap:0;background:rgba(255,255,255,.82);
  border-top:1px solid rgba(255,255,255,.9);padding:14px 28px;backdrop-filter:blur(2px)}
.dmm-bib-strip .st{display:flex;align-items:baseline;gap:8px;padding-right:22px}
.dmm-bib-strip .st + .st{border-left:1px solid var(--h-line);padding-left:22px}
.dmm-bib-strip .st b{font-size:1.45rem;font-weight:900;color:var(--h-ink);font-variant-numeric:tabular-nums;line-height:1}
.dmm-bib-strip .st span{font-size:.76rem;font-weight:700;color:#55606B}
.dmm-bib-strip .st.is-gold b{color:#A26B00}

@media (max-width:640px){
  .dmm-bib-hero2-top{padding:18px 18px 0}
  .dmm-bib-shelf{display:none}
  .dmm-bib-strip{padding:12px 18px;row-gap:8px}
  .dmm-bib-strip .st b{font-size:1.2rem}
}

/* Agregar serie a mano (buscador del catálogo) */
.dmm-bib-add{background:var(--h-surface);border:1px dashed var(--h-celeste);border-radius:var(--h-radius-sm);
  padding:14px 16px;margin:18px 0 0;font-family:var(--h-sans);position:relative}
.dmm-bib-add-lbl{font-weight:800;font-size:.88rem;color:var(--h-ink);margin-bottom:9px}
.dmm-bib-add-lbl small{font-weight:600;color:var(--h-muted);font-size:.76rem;margin-left:4px}
.dmm-bib-add-box{display:flex;align-items:center;gap:8px;background:var(--h-surface-2);
  border:1px solid var(--h-line);border-radius:12px;padding:9px 12px}
.dmm-bib-add-box svg{width:16px;height:16px;color:var(--h-muted);flex:none}
.dmm-bib-add-box input{border:none!important;background:transparent!important;outline:none!important;
  box-shadow:none!important;padding:0!important;font-family:var(--h-sans);font-size:.88rem;color:var(--h-ink);width:100%}
.dmm-bib-add-box:focus-within{border-color:var(--h-crimson);box-shadow:0 0 0 3px var(--h-crimson-soft)}
.dmm-bib-add-res{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.dmm-bib-add-row{display:flex;align-items:center;gap:12px;background:var(--h-surface-2);
  border:1px solid var(--h-line);border-radius:12px;padding:8px 12px}
.dmm-bib-add-row .cv{width:34px;height:48px;flex:none;border-radius:6px;overflow:hidden;background:var(--h-surface);
  border:1px solid var(--h-line);display:grid;place-items:center;font-size:1rem}
.dmm-bib-add-row .cv img{width:100%;height:100%;object-fit:cover;display:block}
.dmm-bib-add-row .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.dmm-bib-add-row .bl{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}
.dmm-bib-add-row .tx b{font-size:.88rem;color:var(--h-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dmm-bib-add-row .dmm-bib-ed{margin-left:0;vertical-align:baseline}
.dmm-bib-add-row .tx small{font-size:.72rem;color:var(--h-muted);font-weight:600}
.dmm-bib-add-row .add{appearance:none;cursor:pointer;border:none;background:var(--h-crimson);color:#fff;
  font-family:var(--h-sans);font-weight:800;font-size:.76rem;padding:8px 15px;border-radius:10px;flex:none;transition:.15s}
.dmm-bib-add-row .add:hover{background:var(--h-crimson-ink)}
.dmm-bib-add-row .add:disabled{opacity:.6;cursor:wait}
.dmm-bib-add-row .ya{font-size:.74rem;font-weight:700;color:#1F8A4D;flex:none}
.dmm-bib-add-empty{font-size:.8rem;color:var(--h-muted);font-weight:600;padding:4px 2px}

/* Quitar una serie agregada a mano (solo sin tomos ni deseos) */
.dmm-bib-unfollow{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;
  color:var(--h-muted);font-size:.78rem;font-weight:800;transition:.15s}
.dmm-bib-unfollow:hover{background:#FDECEA;color:#B3261E}

/* Toolbar: tabs + buscador */
.dmm-bib-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin:20px 0 12px;font-family:var(--h-sans)}
.dmm-bib-tabs{display:flex;gap:6px;flex-wrap:wrap}
.dmm-bib-tab{appearance:none;cursor:pointer;border:1px solid var(--h-line);background:var(--h-surface);
  color:var(--h-ink-soft);font-family:var(--h-sans);font-weight:700;font-size:.8rem;
  padding:8px 15px;border-radius:20px;transition:.15s}
.dmm-bib-tab:hover{border-color:var(--h-crimson);color:var(--h-crimson-ink)}
.dmm-bib-tab.is-on{background:var(--h-crimson);border-color:var(--h-crimson);color:#fff}
.dmm-bib-search{display:flex;align-items:center;gap:8px;background:var(--h-surface);border:1px solid var(--h-line);
  border-radius:12px;padding:8px 12px;min-width:min(260px,100%)}
.dmm-bib-search svg{width:16px;height:16px;color:var(--h-muted);flex:none}
.dmm-bib-search input{border:none!important;background:transparent!important;outline:none!important;
  box-shadow:none!important;padding:0!important;font-family:var(--h-sans);font-size:.86rem;color:var(--h-ink);width:100%}
.dmm-bib-search:focus-within{border-color:var(--h-crimson);box-shadow:0 0 0 3px var(--h-crimson-soft)}

/* Leyenda */
.dmm-bib-legend{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 14px;font-family:var(--h-sans);
  font-size:.76rem;color:var(--h-ink-soft);font-weight:600}
.dmm-bib-legend span{display:inline-flex;align-items:center;gap:7px}
.dmm-lg{width:26px;height:26px;border-radius:8px;display:inline-grid;place-items:center;
  font-weight:900;font-size:.8rem;font-style:normal;flex:none}
.dmm-lg.lg-auto{background:var(--h-celeste);color:#17506B}
.dmm-lg.lg-man{background:var(--h-crimson-soft);border:2px solid var(--h-crimson);color:var(--h-crimson-ink)}
.dmm-lg.lg-miss{background:var(--h-surface);border:1.5px dashed var(--h-muted);color:var(--h-muted)}
.dmm-lg.lg-wish{background:var(--h-peach);color:var(--h-peach-ink)}

/* Chip de EDITORIAL en la fila de la serie (One Piece · Ivrea Argentina) */
.dmm-bib-ed{display:inline-block;font-size:.64rem;font-weight:800;color:#17506B;background:var(--h-crimson-soft);
  border:1px solid var(--h-celeste);border-radius:12px;padding:2px 9px;vertical-align:2px;margin-left:6px;white-space:nowrap}

/* Chip "♡ N en tu lista" en la fila de la serie */
.dmm-bib-wishn{display:inline-block;font-size:.64rem;font-weight:800;color:var(--h-peach-ink);
  background:var(--h-peach);border-radius:12px;padding:2px 9px;vertical-align:2px;margin-left:4px;white-space:nowrap}

/* Tarjeta de serie */
.dmm-bib-list{display:flex;flex-direction:column;gap:10px;font-family:var(--h-sans)}
.dmm-bib{background:var(--h-surface);border:1px solid var(--h-line);border-radius:var(--h-radius-sm);
  overflow:hidden;transition:border-color .15s}
.dmm-bib:hover{border-color:var(--h-celeste)}
.dmm-bib.is-open{border-color:var(--h-crimson)}
.dmm-bib.is-full{background:linear-gradient(135deg,#FFFDF4,var(--h-surface))}
.dmm-bib-head{appearance:none;border:none;background:transparent;cursor:pointer;width:100%;
  display:flex;align-items:center;gap:14px;padding:12px 14px;text-align:left;font-family:var(--h-sans)}
.dmm-bib-cover{width:46px;height:64px;flex:none;border-radius:8px;overflow:hidden;background:var(--h-surface-2);
  border:1px solid var(--h-line);display:grid;place-items:center;box-shadow:0 2px 6px rgba(23,25,35,.08)}
.dmm-bib-cover img{width:100%;height:100%;object-fit:cover;display:block}
.dmm-bib-cover .ph{font-size:1.3rem;opacity:.6}
.dmm-bib-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.dmm-bib-ttl{font-weight:800;font-size:.95rem;color:var(--h-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dmm-bib-trophy{font-size:.9rem}
.dmm-bib-wish{display:inline-block;font-size:.64rem;font-weight:800;color:var(--h-peach-ink);
  background:var(--h-peach);border-radius:12px;padding:2px 9px;vertical-align:2px;margin-left:4px}
.dmm-bib-bar{display:block;height:7px;border-radius:6px;background:var(--h-line);overflow:hidden;max-width:420px}
.dmm-bib-bar i{display:block;height:100%;border-radius:6px;transition:width .25s;
  background:linear-gradient(90deg,var(--h-celeste),var(--h-crimson))}
.dmm-bib.is-full .dmm-bib-bar i{background:linear-gradient(90deg,var(--h-gold),var(--h-green))}
.dmm-bib-meta{font-size:.76rem;color:var(--h-ink-soft);font-weight:600;font-variant-numeric:tabular-nums}
.dmm-bib-meta .ow{color:var(--h-crimson-ink)}
.dmm-bib-chev{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;
  color:var(--h-muted);transition:transform .2s,background .15s}
.dmm-bib-chev svg{width:17px;height:17px}
.dmm-bib.is-open .dmm-bib-chev{transform:rotate(180deg);background:var(--h-crimson-soft);color:var(--h-crimson-ink)}

/* Cuerpo del acordeón: resumen de la serie + estantería de portadas */
.dmm-bib-body{padding:4px 14px 16px;border-top:1px dashed var(--h-line)}
.dmm-bib-loading{padding:14px 0;font-size:.82rem;color:var(--h-muted);font-weight:600}

/* Resumen: anillo de avance + tengo/faltan */
.dmm-bib-panelhead{display:flex;align-items:center;gap:14px;padding-top:14px}
.dmm-bib-ring{--p:0;width:58px;height:58px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(var(--h-crimson) calc(var(--p)*1%),var(--h-line) 0)}
.dmm-bib-ring b{width:46px;height:46px;border-radius:50%;background:var(--h-surface);display:grid;place-items:center;
  font-size:.74rem;font-weight:900;color:var(--h-crimson-ink);font-variant-numeric:tabular-nums}
.dmm-bib.is-full .dmm-bib-ring{background:conic-gradient(var(--h-green) calc(var(--p)*1%),var(--h-line) 0)}
.dmm-bib.is-full .dmm-bib-ring b{color:#1F8A4D}
.dmm-bib-panelhead .tx{display:flex;flex-direction:column;gap:2px}
.dmm-bib-panelhead .hv{font-weight:800;font-size:.94rem;color:var(--h-ink)}
.dmm-bib-panelhead .fw{font-size:.78rem;color:var(--h-ink-soft);font-weight:600}

/* Tomos como portadas: portada + badge #N + botón ✓ (lo tengo) / + (me falta) */
.dmm-bib-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px;padding-top:14px}
.dmm-tomo{position:relative;display:flex;flex-direction:column;border:none;background:none;
  padding:0;font-family:var(--h-sans);text-align:left}
/* la portada es un ENLACE al producto; marcar = solo el botón de abajo */
.dmm-tomo .cv{position:relative;display:block;aspect-ratio:7/10;border-radius:10px 10px 0 0;overflow:hidden;
  background:var(--h-surface-2);border:1px solid var(--h-line);border-bottom:none;cursor:pointer;text-decoration:none}
.dmm-tomo .cv img{width:100%!important;height:100%!important;object-fit:cover;display:block;margin:0!important;
  transition:opacity .15s,filter .15s}
.dmm-tomo .nb{position:absolute;top:6px;left:6px;background:var(--h-crimson);color:#fff;font-size:.62rem;
  font-weight:900;padding:2px 7px;border-radius:7px;line-height:1.4;font-variant-numeric:tabular-nums}
.dmm-tomo .ac{display:flex;align-items:stretch}
.dmm-tomo .ac .bt{flex:1;border-radius:0 0 0 10px}
.dmm-tomo .ac .bt:only-child{border-radius:0 0 10px 10px}
.dmm-tomo .bt{appearance:none;display:grid;place-items:center;height:34px;border-radius:0 0 10px 10px;
  border:1px solid var(--h-line);font-weight:900;font-size:1rem;cursor:pointer;transition:.15s;
  font-family:var(--h-sans);padding:0;line-height:1}
/* 🛒: agregar ese tomo al carrito (durazno = preventa) */
.dmm-tomo .cart{appearance:none;width:38px;flex:none;display:grid;place-items:center;height:34px;
  border:1px solid var(--h-line);border-left:none;border-radius:0 0 10px 0;background:var(--h-crimson-soft);
  cursor:pointer;font-size:.82rem;padding:0;transition:.15s;text-decoration:none;line-height:1}
.dmm-tomo .cart:hover{background:var(--h-celeste)}
.dmm-tomo .cart.is-pre{background:var(--h-peach)}
.dmm-tomo .cart.is-pre:hover{background:var(--h-peach-ink)}
.dmm-tomo .cart.is-done{background:#E4F6EC;color:#1F8A4D;font-weight:900}
.dmm-tomo .cart:disabled{opacity:.6;cursor:wait}
.dmm-lg.lg-cart{background:var(--h-crimson-soft);font-size:.7rem}
.dmm-tomo.is-auto{cursor:default}
.dmm-tomo.is-auto .bt{background:var(--h-celeste);border-color:var(--h-celeste);color:#17506B;cursor:default}
.dmm-tomo.is-auto .bt::after{content:"✓"}
.dmm-tomo.is-manual .bt{background:var(--h-crimson-soft);border:2px solid var(--h-crimson);color:var(--h-crimson-ink)}
.dmm-tomo.is-manual .bt::after{content:"✓"}
.dmm-tomo.is-manual:hover .bt{background:#fff}
.dmm-tomo.is-miss .cv img{opacity:.5;filter:grayscale(.45)}
.dmm-tomo.is-miss .nb{background:var(--h-muted)}
.dmm-tomo.is-miss .bt{background:var(--h-surface);border-style:dashed;color:var(--h-muted)}
.dmm-tomo.is-miss .bt::after{content:"+"}
.dmm-tomo.is-miss:hover .cv img{opacity:.9;filter:none}
.dmm-tomo.is-miss:hover .bt{border-color:var(--h-crimson);color:var(--h-crimson-ink);background:var(--h-crimson-soft)}
/* En tu lista de deseos: portada a color + corazón; clic = "ya lo compré" */
.dmm-tomo.is-wish .nb{background:var(--h-peach-ink)}
.dmm-tomo.is-wish .cv::after{content:"♡";position:absolute;top:6px;right:6px;width:22px;height:22px;
  border-radius:50%;background:var(--h-peach);color:var(--h-peach-ink);display:grid;place-items:center;
  font-size:.72rem;font-weight:900}
.dmm-tomo.is-wish .bt{background:var(--h-peach);border:1px solid var(--h-peach);color:var(--h-peach-ink)}
.dmm-tomo.is-wish .bt::after{content:"♡"}
.dmm-tomo.is-wish:hover .bt{background:var(--h-crimson-soft);border-color:var(--h-crimson);color:var(--h-crimson-ink)}
.dmm-tomo.is-wish:hover .bt::after{content:"✓"}
.dmm-tomo.busy{opacity:.55;pointer-events:none}

/* Acciones bajo los chips */
.dmm-bib-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.dmm-bib-complete{appearance:none;cursor:pointer;border:none;background:var(--h-crimson);color:#fff!important;
  font-family:var(--h-sans);font-weight:800;font-size:.82rem;padding:10px 18px;border-radius:12px;
  transition:background .15s;text-decoration:none!important;display:inline-flex;align-items:center;gap:6px}
.dmm-bib-complete:hover{background:var(--h-crimson-ink)}
.dmm-bib-complete:disabled{opacity:.6;cursor:wait}
.dmm-bib-complete.is-done{background:var(--h-green)}
.dmm-bib-note{font-size:.78rem;color:var(--h-ink-soft);font-weight:600}
.dmm-bib-note.done{color:#1F8A4D}

/* Responsive */
@media (max-width:640px){
  .dmm-bib-toolbar{flex-direction:column;align-items:stretch}
  .dmm-bib-search{min-width:0}
  .dmm-bib-cover{width:40px;height:56px}
  .dmm-bib-ttl{white-space:normal}
  .dmm-bib-chips{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:9px}
  /* v2.63: en móvil los botones del tomo bajaban a 30px; mínimo táctil razonable en una grilla densa. */
  .dmm-tomo .bt{height:38px;font-size:.95rem}
  .dmm-tomo .cart{height:38px;width:38px;font-size:.8rem}
  .dmm-bib-stats{grid-template-columns:1fr 1fr 1fr}
  .dmm-bib-stats .dmm-reward-stat .n{font-size:1.3rem}
  .dmm-tomo .hide,.dmm-tomo .restore{height:30px;width:30px;font-size:.72rem}
}

/* ---------- v2.22: colecciones por autor, ocultar tomos ---------- */

/* Leyenda: "no lo coleccionas" */
.dmm-lg.lg-hide{background:var(--h-surface);border:1.5px solid var(--h-line);color:var(--h-muted);font-size:.72rem}

/* Chip de AUTOR (colección por autor) — se distingue de la editorial */
.dmm-bib-ed.is-autor{background:var(--h-peach);border-color:var(--h-peach-ink);color:var(--h-peach-ink)}
.dmm-bib.is-autor .dmm-bib-cover{box-shadow:0 2px 6px rgba(229,86,62,.16)}

/* Botón "ocultar" (🚫) en un tomo — al lado del carrito */
.dmm-tomo .hide{appearance:none;width:34px;flex:none;display:grid;place-items:center;height:34px;
  border:none;background:var(--h-surface-2);color:var(--h-muted);cursor:pointer;font-size:.8rem;
  transition:background .15s,color .15s}
.dmm-tomo .hide:hover{background:var(--h-crimson-soft);color:var(--h-crimson-ink)}
.dmm-tomo .ac>:last-child{border-radius:0 0 10px 0}
.dmm-tomo .ac .bt:only-child{border-radius:0 0 10px 10px}

/* Sección plegable de tomos OCULTOS */
.dmm-bib-hidden{margin-top:12px;border-top:1px dashed var(--h-line);padding-top:10px}
.dmm-bib-hidden-toggle{appearance:none;border:none;background:transparent;cursor:pointer;
  font-family:var(--h-sans);font-weight:700;font-size:.78rem;color:var(--h-ink-soft);padding:4px 0;
  display:inline-flex;align-items:center;gap:6px}
.dmm-bib-hidden-toggle:hover{color:var(--h-crimson-ink)}
.dmm-bib-hidden-toggle::after{content:"▾";font-size:.7rem;transition:transform .15s}
.dmm-bib-hidden-toggle[aria-expanded="true"]::after{transform:rotate(180deg)}
.dmm-bib-hidden-body{padding-top:10px}
.dmm-tomo.is-hidden .cv img{opacity:.4;filter:grayscale(.6)}
.dmm-tomo.is-hidden .nb{background:var(--h-muted)}
.dmm-tomo .restore{appearance:none;flex:1;display:grid;place-items:center;height:34px;
  border:none;border-radius:0 0 10px 10px;background:var(--h-surface-2);color:var(--h-ink-soft);
  cursor:pointer;font-size:.9rem;transition:background .15s,color .15s}
.dmm-tomo .restore:hover{background:var(--h-celeste);color:#17506B}

/* ===== Mis preventas (BETA) ===== */
.dmm-rail-n{font-size:.6rem;font-weight:900;min-width:18px;height:18px;padding:0 5px;border-radius:20px;
  display:inline-grid;place-items:center;background:var(--h-celeste);color:#123f52;white-space:nowrap}
.dmm-rail-item.is-active .dmm-rail-n{background:#fff;color:var(--h-crimson-ink)}

.dmm-pv-hero{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:space-between;
  background:linear-gradient(150deg,#fff,var(--h-crimson-soft));border:1px solid var(--h-line);
  border-radius:var(--h-radius);padding:20px;margin-bottom:14px}
.dmm-pv-hero-txt{min-width:min(100%,300px);flex:1}
.dmm-pv-hero-txt h2{font-size:1.24rem;margin:7px 0 0}
.dmm-pv-hero-txt p{margin:4px 0 0;font-size:.9rem;color:var(--h-ink-soft);max-width:60ch}
.dmm-pv-beta{display:inline-block;font-size:.6rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  color:var(--h-peach-ink);background:var(--h-peach);border:1px solid rgba(224,122,99,.3);padding:4px 11px;border-radius:20px}
.dmm-pv-hero-stat{display:flex;align-items:center;gap:13px;background:linear-gradient(135deg,var(--h-side-2),var(--h-side-1));
  color:#fff;border-radius:var(--h-radius);padding:15px 20px}
.dmm-pv-hero-stat .n{font-size:2.1rem;font-weight:900;line-height:1;color:var(--h-gold);font-variant-numeric:tabular-nums}
.dmm-pv-hero-stat .t{font-size:.74rem;color:var(--h-side-muted);line-height:1.4}
.dmm-pv-hero-stat .t b{color:#fff}

.dmm-pv-aviso{display:flex;gap:12px;align-items:flex-start;background:var(--h-surface-2);
  border:1px dashed var(--h-line);border-radius:var(--h-radius-sm);padding:14px 16px;margin-bottom:22px}
.dmm-pv-aviso .ic{font-size:1.2rem;line-height:1.2;flex:none}
.dmm-pv-aviso p{margin:0;font-size:.83rem;color:var(--h-ink-soft);line-height:1.5}

.dmm-pv-sec{margin-bottom:26px}
.dmm-pv-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}
.dmm-pv-sec-head h3{font-size:1.02rem;margin:0;display:flex;align-items:center;gap:8px}
.dmm-pv-sec-sub{font-size:.72rem;color:var(--h-muted)}
.dmm-pv-mes{margin-bottom:16px}
.dmm-pv-mes-ttl{display:flex;align-items:center;gap:9px;font-size:.79rem;font-weight:800;color:var(--h-crimson-ink);
  text-transform:uppercase;letter-spacing:.04em;margin:0 0 9px;padding-bottom:7px;border-bottom:1px solid var(--h-line)}
.dmm-pv-mes-n{background:var(--h-crimson-soft);color:var(--h-crimson-ink);font-size:.68rem;min-width:20px;height:20px;
  border-radius:20px;display:inline-grid;place-items:center;padding:0 6px}

.dmm-pv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.dmm-pv-card{border:1px solid var(--h-line);border-radius:var(--h-radius-sm);overflow:hidden;
  background:var(--h-surface);display:flex;flex-direction:column;transition:.15s}
.dmm-pv-card:hover{border-color:var(--h-celeste);transform:translateY(-2px);box-shadow:var(--h-shadow)}
.dmm-pv-cover{display:block;aspect-ratio:3/4;overflow:hidden;background:var(--h-surface-2)}
.dmm-pv-cover img{width:100%;height:100%;object-fit:cover;display:block}
.dmm-pv-body{padding:11px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.dmm-pv-ttl{font-weight:700;font-size:.8rem;line-height:1.22;color:var(--h-ink)!important;text-decoration:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dmm-pv-ttl:hover{color:var(--h-crimson-ink)!important}
.dmm-pv-date{font-size:.74rem;color:var(--h-ink-soft);display:flex;flex-direction:column;gap:1px}
.dmm-pv-date b{font-size:.8rem;color:var(--h-ink)}
.dmm-pv-date span{font-size:.68rem;color:var(--h-muted);font-weight:600}
.dmm-pv-date--none{color:var(--h-muted);font-style:italic}
.dmm-pv-chip{font-size:.66rem;font-weight:800;padding:3px 9px;border-radius:20px;white-space:nowrap;
  background:var(--h-surface-2);color:var(--h-ink-soft)}
.dmm-pv-chip.soon{background:var(--h-crimson-soft);color:var(--h-crimson-ink)}
.dmm-pv-chip.wait{background:#FFF4E2;color:#A9772A}
.dmm-pv-chip.ready{background:var(--h-peach);color:var(--h-peach-ink)}
.dmm-pv-chip.done{background:#E4F6EC;color:#1F8A4D}
.dmm-pv-chip.ret{background:#F3F0FA;color:#6B5CA5}
.dmm-pv-qty{font-size:.66rem;font-weight:800;color:var(--h-muted)}
.dmm-pv-order{font-size:.68rem;color:var(--h-muted)!important;text-decoration:none;margin-top:auto}
.dmm-pv-order:hover{color:var(--h-crimson-ink)!important;text-decoration:underline}

.dmm-pv-hist{border:1px solid var(--h-line);border-radius:var(--h-radius-sm);background:var(--h-surface-2);padding:0;margin-top:6px}
.dmm-pv-hist summary{cursor:pointer;list-style:none;padding:14px 16px;display:flex;align-items:center;gap:9px;
  font-weight:800;font-size:.92rem;color:var(--h-ink)}
.dmm-pv-hist summary::-webkit-details-marker{display:none}
.dmm-pv-hist summary::after{content:"▾";margin-left:auto;color:var(--h-muted);font-size:.8rem;transition:.15s}
.dmm-pv-hist[open] summary::after{transform:rotate(180deg)}
.dmm-pv-hist summary small{font-weight:600;font-size:.7rem;color:var(--h-muted)}
.dmm-pv-hist .dmm-pv-grid{padding:0 16px 16px}

@media(max-width:640px){
  .dmm-pv-hero{padding:16px}
  .dmm-pv-hero-stat{width:100%;justify-content:center}
  .dmm-pv-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:11px}
  .dmm-pv-hist summary small{display:none}
}

/* Seguimiento por etapas (v2.25.0) */
.dmm-pv-chip.warn{background:#FAEEDA;color:#854F0B}
.dmm-pv-chip.stop{background:#FCEBEB;color:#A32D2D}
.dmm-pv-old{font-size:.66rem;color:#93999F;text-decoration:line-through}
.dmm-pv-nota{margin:0;font-size:.7rem;color:var(--h-ink-soft);line-height:1.4}
.dmm-pv-sec.is-alerta{background:#FFF9F2;border:1px solid #F5D9B8;border-radius:var(--h-radius);padding:14px;margin-bottom:22px}
.dmm-pv-sec.is-alerta .dmm-pv-sec-head h3{color:#854F0B}
.dmm-pv-track{width:100%;margin-top:2px}
.dmm-pv-track summary{cursor:pointer;list-style:none;font-size:.68rem;font-weight:800;color:var(--h-crimson-ink)}
.dmm-pv-track summary::-webkit-details-marker{display:none}
.dmm-pv-track summary::after{content:" ▾"}
.dmm-pv-track[open] summary::after{content:" ▴"}
.dmm-pv-steps{list-style:none;margin:9px 0 0;padding:0;position:relative}
.dmm-pv-steps li{display:flex;gap:8px;padding:0 0 11px;position:relative}
.dmm-pv-steps li:not(:last-child)::before{content:"";position:absolute;left:8px;top:17px;bottom:0;width:2px;background:var(--h-line)}
.dmm-pv-steps li.is-ok:not(:last-child)::before{background:var(--h-green)}
.dmm-pv-steps .dot{width:18px;height:18px;flex:none;border-radius:50%;display:grid;place-items:center;
  font-size:.6rem;background:var(--h-surface-2);border:1px solid var(--h-line);color:var(--h-muted);z-index:1}
.dmm-pv-steps li.is-ok .dot{background:var(--h-green);border-color:var(--h-green);color:#fff;font-weight:900}
.dmm-pv-steps li.is-now .dot{background:var(--h-celeste);border-color:var(--h-crimson-ink)}
.dmm-pv-steps .txt{display:flex;flex-direction:column;gap:1px;min-width:0}
.dmm-pv-steps .txt b{font-size:.68rem;font-weight:700;line-height:1.25;color:var(--h-muted)}
.dmm-pv-steps li.is-ok .txt b{color:var(--h-ink-soft)}
.dmm-pv-steps li.is-now .txt b{color:var(--h-ink);font-weight:800}
.dmm-pv-steps .txt i{font-size:.62rem;color:var(--h-muted);font-style:normal}
.dmm-pv-track-exc{margin:2px 0 0;font-size:.66rem;font-weight:700;color:#854F0B;
  background:#FAEEDA;border-radius:8px;padding:5px 8px;line-height:1.35}
.dmm-pv-track-org{margin:6px 0 0;font-size:.62rem;color:var(--h-muted)}

/* ===== Guarda de encuadre (v2.28.0) =====
   Algo del tema le aplicaba a .dmm-page el patrón "alignfull" (margin-inline
   negativo enorme + left), que la sacaba de su columna: el texto quedaba
   cortado por la izquierda y la cuenta generaba scroll horizontal. La regla no
   aparece en ninguna de las 64 hojas de la página (se buscó por selector y por
   valor), así que la defensa va con !important y sobre el contenedor propio.
   Aplica a TODAS las sub-páginas del hub, no solo a preventas. */
.woocommerce-account .woocommerce-MyAccount-content .dmm-page{
  width:100%!important;max-width:100%!important;min-width:0!important;
  margin-left:0!important;margin-right:0!important;margin-inline:0!important;
  left:auto!important;right:auto!important;
  position:static!important;transform:none!important;
  text-align:left; /* el tema centra el texto en esta columna */
}
.woocommerce-account .dmm-page .dmm-empty,
.woocommerce-account .dmm-page .dmm-soon{text-align:center}
/* Ningún hijo puede empujar la columna más allá de su ancho. */
.woocommerce-account .dmm-page > *{max-width:100%;min-width:0}
/* Títulos largos de tomos (sin espacios) no rompen la tarjeta. */
.woocommerce-account .dmm-pv-ttl,
.woocommerce-account .dmm-pv-steps .txt b,
.woocommerce-account .dmm-pv-mes-ttl{overflow-wrap:anywhere}
/* Medidas de lectura: el párrafo del aviso llegaba a ~1.900px de ancho. */
.woocommerce-account .dmm-pv-hero-txt p{max-width:70ch}
.woocommerce-account .dmm-pv-aviso p{max-width:78ch}

/* ===== Cabecera de Mis preventas (v2.29.0) =====
   Mismo lenguaje que el hero de Mi biblioteca: screentone + degradado de marca,
   kicker, h2 de 900 y franja de datos. Antes era una tarjeta pálida genérica
   que no se parecía al resto de la cuenta. */
.dmm-pv-hero2{position:relative;overflow:hidden;border:1px solid var(--h-line);border-radius:var(--h-radius);
  box-shadow:var(--h-shadow);font-family:var(--h-sans);margin-bottom:14px;
  background:
    radial-gradient(rgba(255,255,255,.55) 1.4px, transparent 1.6px) 0 0/16px 16px,
    linear-gradient(115deg,var(--h-celeste),var(--h-peach) 78%)}
.dmm-pv-hero2-top{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;padding:24px 28px 0}
.dmm-pv-hero2-txt{max-width:56ch;padding-bottom:20px}
.dmm-pv-hero2 .kicker{display:inline-flex;align-items:center;gap:8px;font-size:.66rem;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;color:#1E5875;margin-bottom:6px}
.dmm-pv-hero2 .kicker .beta{font-size:.58rem;font-weight:800;letter-spacing:.06em;color:#8A4A32;
  background:rgba(255,255,255,.72);border:1px solid rgba(224,122,99,.45);padding:2px 8px;border-radius:20px}
.dmm-pv-hero2 h2{margin:0 0 8px!important;font-size:1.55rem!important;line-height:1.15;
  font-weight:900;color:var(--h-ink)!important;letter-spacing:-.01em;text-wrap:balance}
.dmm-pv-hero2 h2::before{content:none!important}
.dmm-pv-hero2 p{margin:0;font-size:.9rem;line-height:1.55;color:#3E4A54;max-width:62ch}
.dmm-pv-hero2 p b{color:var(--h-ink)}

/* El viaje del tomo: las etapas reales, cumplidas y pendientes.
   Le da al hero el mismo peso visual que la estanteria de Mi biblioteca. */
.dmm-pv-ruta{display:flex;align-items:flex-end;flex:none;padding:0 4px 20px 0}
.dmm-pv-ruta .paso{display:flex;flex-direction:column;align-items:center;gap:7px;position:relative}
.dmm-pv-ruta .paso + .paso{margin-left:30px}
.dmm-pv-ruta .paso i{font-size:1.15rem;line-height:1;font-style:normal;filter:grayscale(.55);opacity:.55}
.dmm-pv-ruta .paso.ok i{filter:none;opacity:1}
.dmm-pv-ruta .paso.now i{filter:none;opacity:1;transform:scale(1.15)}
.dmm-pv-ruta .paso b{width:13px;height:13px;border-radius:50%;display:block;
  background:#fff;box-shadow:inset 0 0 0 2px rgba(44,63,75,.28),0 0 0 4px rgba(255,255,255,.5)}
.dmm-pv-ruta .paso.ok b{background:var(--h-green);box-shadow:0 0 0 4px rgba(255,255,255,.5)}
.dmm-pv-ruta .paso.now b{background:var(--h-gold);box-shadow:0 0 0 4px rgba(255,255,255,.5)}
.dmm-pv-ruta .paso + .paso b::before{content:"";position:absolute;bottom:6px;right:13px;width:30px;height:3px;
  background:rgba(44,63,75,.22);border-radius:3px}
.dmm-pv-ruta .paso.ok + .paso b::before{background:rgba(55,178,107,.55)}

/* CTA del hero (ej. "Abrir un ticket"): vive junto al texto en .dmm-pv-hero2-top,
   alineado al pie igual que .dmm-pv-ruta — no es el pill centrado de .dmm-soon-cta. */
.dmm-pv-hero2-cta{flex:none;display:flex;align-items:flex-end;padding-bottom:20px}
/* Fondo = teal del rail, NO --h-crimson: ese token hoy es azul (#3F9FD1) y sobre
   el degradado celeste queda del mismo tono que su fondo. El teal oscuro es lo
   único de la paleta que contrasta de verdad acá (12:1 con blanco) y de paso
   amarra el CTA con la barra lateral. */
.dmm-tix-cta{display:inline-flex;align-items:center;gap:10px;font-family:var(--h-sans);
  background:var(--h-side-1);color:#fff!important;font-weight:800;font-size:.9rem;letter-spacing:.005em;
  border:0;cursor:pointer;padding:14px 26px;border-radius:var(--h-radius-sm);white-space:nowrap;
  box-shadow:0 4px 12px rgba(23,58,75,.24);
  transition:background .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1)}
.dmm-tix-cta .ic{font-size:1.02rem;line-height:1}
.dmm-tix-cta:hover{background:var(--h-side-2);transform:translateY(-2px);box-shadow:0 8px 18px rgba(23,58,75,.3)}
.dmm-tix-cta:active{transform:translateY(0);box-shadow:0 2px 8px rgba(23,58,75,.24)}
.dmm-tix-cta:focus-visible{outline:2.5px solid var(--h-side-1);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  .dmm-tix-cta{transition:background .18s linear}
  .dmm-tix-cta:hover,.dmm-tix-cta:active{transform:none}
}

/* Franja de datos (gemela de .dmm-bib-strip). */
.dmm-pv-strip{display:flex;flex-wrap:wrap;gap:0;background:rgba(255,255,255,.82);
  border-top:1px solid var(--h-line);padding:14px 28px}
.dmm-pv-strip .st{display:flex;align-items:baseline;gap:8px;padding-right:22px}
.dmm-pv-strip .st + .st{border-left:1px solid var(--h-line);padding-left:22px}
.dmm-pv-strip .st b{font-size:1.45rem;font-weight:900;color:var(--h-ink);font-variant-numeric:tabular-nums;line-height:1}
.dmm-pv-strip .st span{font-size:.76rem;font-weight:700;color:#55606B}
.dmm-pv-strip .st.is-alerta b{color:#8A4A32}

@media(max-width:640px){
  .dmm-pv-hero2-top{padding:18px 18px 0;flex-direction:column;align-items:stretch}
  .dmm-pv-ruta{display:none}
  .dmm-pv-hero2 h2{font-size:1.3rem!important}
  .dmm-pv-hero2-cta{padding-bottom:18px;padding-top:4px}
  .dmm-tix-cta{width:100%;justify-content:center}
  .dmm-pv-strip{padding:12px 18px;row-gap:8px}
  .dmm-pv-strip .st b{font-size:1.2rem}
  .dmm-pv-strip .st{padding-right:16px}
  .dmm-pv-strip .st + .st{padding-left:16px}
}

/* ===== Respiro en escritorio + historial fechado (v2.30.0) =====
   En móvil se veía bien, pero en escritorio quedaba aplastado: tarjetas de
   150px en una columna de 1.150px daban 7 columnas diminutas, y la línea de
   tiempo dentro de esa tarjeta no tenía dónde caber. */
@media(min-width:900px){
  .woocommerce-account .dmm-pv-grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:20px}
  .woocommerce-account .dmm-pv-body{padding:14px 14px 15px;gap:8px}
  .woocommerce-account .dmm-pv-ttl{font-size:.88rem}
  .woocommerce-account .dmm-pv-date b{font-size:.86rem}
  .woocommerce-account .dmm-pv-chip{font-size:.7rem;padding:4px 10px}
  .woocommerce-account .dmm-pv-sec{margin-bottom:36px}
  .woocommerce-account .dmm-pv-mes{margin-bottom:24px}
  .woocommerce-account .dmm-pv-sec-head{margin-bottom:16px}
  .woocommerce-account .dmm-pv-sec-head h3{font-size:1.12rem}
}

/* ===== Cupón de compensación por atraso (campaña puntual) =====
   Se ve SOLO dentro de Mis Preventas, para el cliente que le toca; naranjo-
   dorado a propósito, para que no se confunda con el aviso de beta de abajo. */
.woocommerce-account .dmm-pv-cupon{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px;
  padding:18px 20px;border:1px solid rgba(212,163,23,.4);border-radius:var(--h-radius);
  background:linear-gradient(140deg,#FFFBEF,var(--h-surface-2))}
.woocommerce-account .dmm-pv-cupon .ic{font-size:1.6rem;line-height:1.1;flex:none;
  width:44px;height:44px;display:grid;place-items:center;border-radius:14px;
  background:rgba(255,255,255,.85);border:1px solid rgba(212,163,23,.4)}
.woocommerce-account .dmm-pv-cupon .txt{min-width:0}
.woocommerce-account .dmm-pv-cupon h3{margin:0 0 5px;font-size:1rem;font-weight:800;color:#8A5E00;line-height:1.25}
.woocommerce-account .dmm-pv-cupon h3::before{content:none}
.woocommerce-account .dmm-pv-cupon p{margin:0;font-size:.88rem;line-height:1.5;color:var(--h-ink-soft);max-width:70ch}
.woocommerce-account .dmm-pv-cupon-code{display:flex;align-items:center;gap:10px;margin:10px 0;flex-wrap:wrap}
.woocommerce-account .dmm-pv-cupon-code code{font-size:1.05rem;font-weight:800;letter-spacing:.04em;color:var(--h-ink);
  background:#fff;border:1px dashed rgba(212,163,23,.55);border-radius:8px;padding:7px 14px}
.woocommerce-account .dmm-pv-cupon-copy{border:1px solid var(--h-crimson-ink);background:var(--h-crimson-ink);color:#fff;
  font-size:.78rem;font-weight:700;padding:7px 14px;border-radius:20px;cursor:pointer}
.woocommerce-account .dmm-pv-cupon-copy:hover{opacity:.9}
.woocommerce-account .dmm-pv-cupon p.mini{margin-top:2px;font-size:.76rem;color:var(--h-muted)}

/* Aviso de pruebas: era una línea perdida; ahora tiene título y cuerpo. */
.woocommerce-account .dmm-pv-aviso{gap:16px;align-items:flex-start;padding:18px 20px;margin-bottom:26px;
  background:linear-gradient(140deg,#FFF9F2,var(--h-surface-2));border:1px solid #F0DCC4;border-radius:var(--h-radius)}
.woocommerce-account .dmm-pv-aviso .ic{font-size:1.6rem;line-height:1.1;flex:none;
  width:44px;height:44px;display:grid;place-items:center;border-radius:14px;
  background:rgba(255,255,255,.8);border:1px solid #F0DCC4}
.woocommerce-account .dmm-pv-aviso .txt{min-width:0}
.woocommerce-account .dmm-pv-aviso h3{margin:0 0 5px;font-size:1rem;font-weight:800;color:#7A4A1E;line-height:1.25}
.woocommerce-account .dmm-pv-aviso h3::before{content:none}
.woocommerce-account .dmm-pv-aviso p{margin:0;font-size:.88rem;line-height:1.55;color:var(--h-ink-soft);max-width:78ch}
.woocommerce-account .dmm-pv-aviso p.mini{margin-top:6px;font-size:.78rem;color:var(--h-muted)}

/* Fecha de cada movimiento en la línea de tiempo. */
.woocommerce-account .dmm-pv-steps .txt time{font-size:.66rem;font-weight:700;color:var(--h-crimson-ink);
  font-variant-numeric:tabular-nums;display:block}
.woocommerce-account .dmm-pv-steps li.is-next .txt time{color:var(--h-muted)}
.woocommerce-account .dmm-pv-steps li.is-evento .dot{background:var(--h-celeste);border-color:var(--h-crimson-ink);color:#123f52}
.woocommerce-account .dmm-pv-steps li.is-evento .txt b{color:var(--h-ink)}

/* ===== Escala mayor (v2.31.0) =====
   Erick: "se ve muy chico". Las tarjetas de 215px seguían dejando portadas
   pequeñas y una línea de tiempo apretada en pantallas de 1.150px de ancho. */
@media(min-width:900px){
  .woocommerce-account .dmm-pv-grid{grid-template-columns:repeat(auto-fill,minmax(262px,1fr));gap:22px}
  .woocommerce-account .dmm-pv-body{padding:16px 16px 17px;gap:9px}
  .woocommerce-account .dmm-pv-ttl{font-size:1rem;line-height:1.3}
  .woocommerce-account .dmm-pv-date b{font-size:1rem}
  .woocommerce-account .dmm-pv-date span{font-size:.78rem}
  .woocommerce-account .dmm-pv-chip{font-size:.76rem;padding:5px 12px}
  .woocommerce-account .dmm-pv-order{font-size:.76rem}
  .woocommerce-account .dmm-pv-nota{font-size:.8rem}
  .woocommerce-account .dmm-pv-track summary{font-size:.8rem}
  .woocommerce-account .dmm-pv-steps li{padding-bottom:15px}
  .woocommerce-account .dmm-pv-steps .dot{width:24px;height:24px;font-size:.8rem}
  .woocommerce-account .dmm-pv-steps li:not(:last-child)::before{left:11px;top:24px}
  .woocommerce-account .dmm-pv-steps .txt b{font-size:.82rem}
  .woocommerce-account .dmm-pv-steps .txt time{font-size:.75rem}
  .woocommerce-account .dmm-pv-steps .txt i{font-size:.75rem}
  .woocommerce-account .dmm-pv-track-org{font-size:.72rem}
  .woocommerce-account .dmm-pv-mes-ttl{font-size:.86rem}
  .woocommerce-account .dmm-pv-hist summary{font-size:1rem;padding:16px 18px}
}
/* En pantallas anchas, tarjetas más grandes todavía. */
@media(min-width:1400px){
  .woocommerce-account .dmm-pv-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
}

/* ------------------------------------------------------------------ *
 *  Mis tickets — canal de soporte (/mi-cuenta/mis-tickets/)
 *  Reusa .dmm-pv-hero2 / .dmm-pv-sec / .dmm-pv-hist / .dmm-pv-chip /
 *  .dmm-count / .dmm-empty / .dmm-soon-cta / .dmm-rmodal tal cual.
 * ------------------------------------------------------------------ */
/* Aviso de beta en UNA línea: es temporal, no debe competir con los tickets. */
.dmm-tix-beta{display:flex;align-items:flex-start;gap:9px;margin:0 0 18px;
  font-size:.82rem;line-height:1.5;color:var(--h-ink-soft);
  background:var(--h-peach);border-radius:10px;padding:10px 14px}
.dmm-tix-beta .ic{flex:none;font-size:.92rem;line-height:1.5}
.dmm-tix-beta b{color:var(--h-ink)}

.dmm-tix-list{display:flex;flex-direction:column;gap:14px}
.dmm-tix-card{border:1px solid var(--h-line);border-radius:var(--h-radius-sm);
  background:var(--h-surface);padding:16px 18px}
.dmm-tix-card.is-done{background:var(--h-surface-2)}
.dmm-tix-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.dmm-tix-head-txt{min-width:0}
/* Contexto en una sola línea (categoría · fecha · pedido) ARRIBA del asunto:
   el asunto es lo que se escanea, no debe quedar sepultado bajo etiquetas. */
.dmm-tix-meta{margin:0 0 3px;font-size:.73rem;font-weight:600;color:var(--h-muted-legible);
  font-variant-numeric:tabular-nums}
.dmm-tix-head h4{margin:0;font-size:1.02rem;line-height:1.3;font-weight:800;color:var(--h-ink);text-wrap:balance}

/* El hilo va SIEMPRE a la vista: es el contenido de la tarjeta. */
.dmm-tix-hilo{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.dmm-tix-viejos{align-self:center;width:100%}
.dmm-tix-viejos summary{cursor:pointer;list-style:none;text-align:center;font-size:.75rem;font-weight:700;
  color:var(--h-ink-soft);padding:5px;border-radius:8px}
.dmm-tix-viejos summary::-webkit-details-marker{display:none}
.dmm-tix-viejos summary:hover{background:var(--h-surface-2)}
.dmm-tix-viejos[open] summary{margin-bottom:9px}
.dmm-tix-viejos .dmm-tix-msg{margin-bottom:9px}

.dmm-tix-msg{max-width:84%;border-radius:13px;padding:9px 13px;font-size:.85rem;line-height:1.5}
.dmm-tix-msg .who{display:block;font-size:.62rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;margin-bottom:3px}
.dmm-tix-msg p{margin:0}
.dmm-tix-msg time{display:block;margin-top:5px;font-size:.65rem;opacity:.75}
.dmm-tix-msg.is-me{align-self:flex-end;background:var(--h-crimson-soft);color:var(--h-blue-deep);border-bottom-right-radius:4px}
.dmm-tix-msg.is-agent{align-self:flex-start;background:var(--h-surface-2);color:var(--h-ink);
  border:1px solid var(--h-line);border-bottom-left-radius:4px}

/* Caja de escritura SIEMPRE disponible: se puede sumar un mensaje al ticket en
   cualquier estado, sin tener que abrir uno nuevo. Arranca de una línea y crece
   al enfocarla para que 5 tickets no se conviertan en una página kilométrica. */
.dmm-tix-reply{margin-top:14px;padding-top:13px;border-top:1px solid var(--h-line)}
.dmm-tix-reabrir{margin:0 0 9px;font-size:.78rem;color:var(--h-ink-soft)}
.dmm-tix-reply textarea{display:block;width:100%;min-height:42px;border:1.5px solid var(--h-line);
  border-radius:11px;padding:11px 13px;font-size:.86rem;line-height:1.45;font-family:var(--h-sans);
  color:var(--h-ink);resize:vertical;background:var(--h-surface-2);
  transition:min-height .2s cubic-bezier(.22,1,.36,1),border-color .15s ease,background .15s ease}
.dmm-tix-reply textarea::placeholder{color:var(--h-muted-legible)}
.dmm-tix-reply textarea:focus{min-height:84px;border-color:var(--h-crimson);background:#fff;outline:none}
.dmm-tix-reply .err{display:none;margin-top:8px;font-size:.76rem;font-weight:700;color:#B3261E}
.dmm-tix-reply .err.show{display:block}

/* Cancelar a la izquierda, Enviar a la derecha: separados a propósito para que
   "Cancelar" no se lea como "descartar el mensaje que acabo de escribir". */
.dmm-tix-acciones{display:flex;align-items:center;gap:12px;margin-top:10px}
.dmm-tix-reply-btn{margin-left:auto;background:var(--h-blue-deep);color:#fff;border:0;border-radius:10px;
  padding:9px 20px;font-family:var(--h-sans);font-weight:800;font-size:.82rem;cursor:pointer;
  transition:background .15s ease,opacity .15s ease}
.dmm-tix-reply-btn:hover:not(:disabled){background:var(--h-side-2)}
.dmm-tix-reply-btn:focus-visible{outline:2.5px solid var(--h-blue-deep);outline-offset:2px}
.dmm-tix-reply-btn:disabled{opacity:.45;cursor:not-allowed}
/* Borde visible: como texto plano pasaba desapercibido. Calmo en reposo, rojo al tocarlo. */
.dmm-tix-cancel-btn{background:none;border:1px solid var(--h-line);color:var(--h-ink-soft);
  font-family:var(--h-sans);font-size:.78rem;font-weight:700;padding:8px 14px;border-radius:10px;
  cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}
.dmm-tix-cancel-btn:hover{color:#B3261E;border-color:#B3261E;background:rgba(179,38,30,.06)}
.dmm-tix-cancel-btn:focus-visible{outline:2.5px solid #B3261E;outline-offset:2px}
.dmm-tix-cancel-btn:disabled{cursor:not-allowed;opacity:.5}

@media(max-width:640px){
  .dmm-tix-msg{max-width:94%}
  .dmm-tix-acciones{flex-wrap:wrap}
  .dmm-tix-cancel-btn,.dmm-tix-reply-btn{flex:1;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .dmm-tix-reply textarea{transition:border-color .15s ease,background .15s ease}
}

/* Modal: campos del formulario (reusa la caja .dmm-rmodal, agrega los inputs) */
.dmm-tix-ctx{font-size:.82rem;font-weight:700;color:var(--h-ink-soft);background:var(--h-surface-2);
  border-radius:10px;padding:8px 12px;margin-bottom:14px}
.dmm-tix-fld{display:block;margin-bottom:14px}
.dmm-tix-fld span{display:block;font-size:.76rem;font-weight:800;color:var(--h-ink-soft);margin-bottom:6px}
.dmm-tix-fld select,.dmm-tix-fld input[type=text]{width:100%;border:1.5px solid var(--h-line);border-radius:10px;
  padding:9px 12px;font-size:.86rem;font-family:var(--h-sans);background:var(--h-surface-2)}
.dmm-tix-fld textarea{width:100%;min-height:110px;border:1.5px solid var(--h-line);border-radius:12px;
  padding:10px 12px;font-size:.86rem;font-family:var(--h-sans);resize:vertical;background:var(--h-surface-2)}
.dmm-tix-fld select:focus,.dmm-tix-fld input:focus,.dmm-tix-fld textarea:focus{border-color:var(--h-crimson);
  background:#fff;box-shadow:0 0 0 3px var(--h-crimson-soft);outline:none}

/* ================================================================== *
 *  SEGUIMIENTO DEL PEDIDO  ·  /mi-cuenta/ver-pedido/
 *  La ruta de cada tomo, con el vocabulario de Mis Preventas.
 *  Paleta de marca: celeste #97CFE9 / #2C6C88, durazno #FFEDE9 / #FFF6F3,
 *  tinta #3C3C3C, rosa #FF9BB0, verde #0A7D3C, ámbar #B4471F.
 * ================================================================== */

.dmm-ped{
  --ink:#3C3C3C; --ink2:#6B6259; --soft:#9A8F8B;
  --cel:#97CFE9; --cel-d:#2C6C88; --cel-l:#EAF6FC;
  --dur:#FFEDE9; --dur-l:#FFF6F3; --rosa:#FF9BB0;
  --ok:#0A7D3C; --ok-l:#E4F6EA; --warn:#B4471F; --warn-l:#FDEDE7;
  --line:#F0EAE6;
  position:relative; margin:0 0 26px; padding:22px 22px 18px;
  background:#fff; border:1px solid var(--line); border-radius:22px;
  box-shadow:0 1px 2px rgba(60,60,60,.04), 0 12px 28px -18px rgba(44,108,136,.35);
  font-family:inherit;
}
/* Hilo de color arriba: es la firma del panel, no decoración —
   cambia según lo que el pedido necesita del cliente. */
.dmm-ped::before{
  content:""; position:absolute; inset:0 0 auto; height:4px;
  border-radius:22px 22px 0 0; background:var(--cel);
}
.dmm-ped[data-tono="ready"]::before{background:linear-gradient(90deg,#97CFE9,#0A7D3C)}
.dmm-ped[data-tono="done"]::before{background:#0A7D3C}
.dmm-ped[data-tono="warn"]::before{background:linear-gradient(90deg,#FF9BB0,#B4471F)}

.dmm-ped-head{display:block}
.dmm-ped-eyebrow{
  margin:0 0 4px; font-size:11px; font-weight:800; letter-spacing:.14em;
  text-transform:uppercase; color:var(--cel-d);
}
.dmm-ped-ttl{margin:0 0 4px;font-size:22px;line-height:1.2;font-weight:800;color:var(--ink)}
.dmm-ped-sub{margin:0;font-size:14px;line-height:1.55;color:var(--ink2);max-width:46ch}

/* Aviso de fase de pruebas: informativo, no alarma — tono durazno, sin borde fuerte. */
.dmm-ped-beta{
  margin:14px 0 0;padding:10px 13px;border-radius:12px;
  background:var(--dur-l);border:1px solid var(--line);
  font-size:12.5px;line-height:1.5;color:var(--ink2);max-width:62ch;
}
.dmm-ped-beta b{color:var(--ink)}

.dmm-ped-tally{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:16px 0 0;padding:0}
.dmm-ped-tally li{
  font-size:12.5px;font-weight:700;color:var(--ink2);
  background:var(--dur-l);border:1px solid var(--line);border-radius:999px;padding:6px 13px;
}
.dmm-ped-tally li b{font-size:14px;color:var(--ink);margin-right:3px}
.dmm-ped-tally li.ready{background:var(--ok-l);border-color:#CDE9D7;color:var(--ok)}
.dmm-ped-tally li.ready b{color:var(--ok)}
.dmm-ped-tally li.soon{background:var(--cel-l);border-color:#D5EAF5;color:var(--cel-d)}
.dmm-ped-tally li.soon b{color:var(--cel-d)}

.dmm-ped-list{list-style:none;margin:18px 0 0;padding:0;counter-reset:none}
.dmm-ped-it{display:flex;gap:14px;padding:15px 0;border-top:1px solid var(--line)}
.dmm-ped-it:first-child{border-top:0;padding-top:4px}
.dmm-ped-it[data-estado="out"]{opacity:.5}
.dmm-ped-cover{flex:0 0 auto;width:56px}
.dmm-ped-cover img{display:block;width:56px;height:auto;border-radius:9px;border:1px solid var(--line)}
.dmm-ped-body{flex:1 1 auto;min-width:0}
.dmm-ped-name{margin:0 0 7px;font-size:15px;line-height:1.35;font-weight:700;color:var(--ink)}
.dmm-ped-name a{color:inherit;text-decoration:none}
.dmm-ped-name a:hover{text-decoration:underline}
.dmm-ped-qty{font-size:12.5px;font-weight:600;color:var(--soft);margin-left:5px}

.dmm-ped-chip{
  display:inline-block;font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;
  background:var(--cel-l);color:var(--cel-d);
}
.dmm-ped-it[data-estado="done"] .dmm-ped-chip{background:var(--ok-l);color:var(--ok)}
.dmm-ped-it[data-estado="ready"] .dmm-ped-chip{background:var(--ok-l);color:var(--ok)}
.dmm-ped-it[data-estado="warn"] .dmm-ped-chip,
.dmm-ped-it[data-estado="swap"] .dmm-ped-chip{background:var(--warn-l);color:var(--warn)}
.dmm-ped-it[data-estado="out"] .dmm-ped-chip{background:#F1ECE9;color:var(--soft)}

/* La línea de tiempo del tomo: horizontal, con el nombre de cada etapa a la
   vista. Los pasos son columnas de igual ancho, así que la línea que los une
   se dibuja con ::before de -50% a 50%: va exactamente de un punto al otro
   sin depender de cuánto mida el texto de abajo. */
.dmm-ped-rail{display:flex;align-items:flex-start;margin:12px 0 0;padding:0;list-style:none}
.dmm-ped-step{flex:1 1 0;min-width:0;position:relative;text-align:center}
.dmm-ped-step::before{
  content:"";position:absolute;top:12px;left:-50%;right:50%;height:2px;
  background:var(--line);
}
.dmm-ped-step[data-first]::before{content:none}
.dmm-ped-step.hecho::before,.dmm-ped-step.ahora::before{background:var(--cel)}
.dmm-ped-step .dot{
  position:relative;z-index:1;display:flex;align-items:center;justify-content:center;
  width:26px;height:26px;margin:0 auto;border-radius:50%;
  background:#fff;border:2px solid var(--line);font-size:12px;line-height:1;
  transition:transform .18s ease;
}
.dmm-ped-step .dot i{font-style:normal;filter:grayscale(1);opacity:.45}
.dmm-ped-step.hecho .dot{border-color:var(--cel);background:var(--cel-l)}
.dmm-ped-step.hecho .dot i{filter:none;opacity:1}
.dmm-ped-step.ahora .dot{
  border-color:var(--cel-d);background:#fff;transform:scale(1.12);
  box-shadow:0 0 0 4px rgba(44,108,136,.16);
}
.dmm-ped-step.ahora .dot i{filter:none;opacity:1}
.dmm-ped-step .lb{
  display:block;margin:7px 4px 0;font-size:10.5px;line-height:1.3;color:var(--soft);
  overflow-wrap:break-word;hyphens:auto;
}
/* El matiz que en Mis Preventas va tras el "·": misma palabra, menos peso. */
.dmm-ped-step .lb i{
  display:block;margin-top:1px;font-style:normal;font-size:9.5px;font-weight:400;
  color:var(--soft);opacity:.9;
}
.dmm-ped-step.hecho .lb{color:var(--ink2)}
.dmm-ped-step.hecho .dot i{color:var(--cel-d);font-size:13px;font-weight:800}
.dmm-ped-step.ahora .lb{color:var(--cel-d);font-weight:800}
.dmm-ped-step.ahora .lb i{color:var(--ink2);font-weight:400}
/* El tema no garantiza .sr-only: se define acotada al panel. */
.dmm-ped .sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* Angosto: los 7 nombres no caben, así que queda solo el de la etapa actual —
   el resto se lee en el chip de arriba y en el title de cada punto. */
@media (max-width:560px){
  .dmm-ped-step .lb{display:none}
  .dmm-ped-step.ahora .lb{display:block;font-size:10px}
  .dmm-ped-step .dot{width:22px;height:22px;font-size:11px}
  .dmm-ped-step::before{top:10px}
}

.dmm-ped-note{
  margin:10px 0 0;font-size:13px;line-height:1.55;color:var(--warn);
  background:var(--warn-l);border-radius:10px;padding:9px 12px;
}
.dmm-ped-date{margin:9px 0 0;font-size:13px;color:var(--ink2)}
.dmm-ped-date b{color:var(--ink)}

.dmm-ped-foot{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 0;padding-top:15px;border-top:1px solid var(--line)}
.dmm-ped-cta{
  display:inline-block;background:var(--cel-d);color:#fff!important;text-decoration:none;
  font-size:14px;font-weight:700;padding:11px 20px;border-radius:999px;border:1px solid var(--cel-d);
  transition:background .16s ease;
}
.dmm-ped-cta:hover{background:#245a72}
.dmm-ped-cta.ghost{background:transparent;color:var(--cel-d)!important}
.dmm-ped-cta.ghost:hover{background:var(--cel-l)}
.dmm-ped-cta:focus-visible{outline:3px solid var(--rosa);outline-offset:2px}

@media (max-width:600px){
  .dmm-ped{padding:18px 15px 15px;border-radius:18px}
  .dmm-ped-ttl{font-size:19px}
  .dmm-ped-cover{width:46px}
  .dmm-ped-cover img{width:46px}
  .dmm-ped-foot .dmm-ped-cta{flex:1 1 100%;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .dmm-ped-step .dot,.dmm-ped-cta{transition:none}
}

/* ==================================================================
 *  ESTANTERÍA v2.63 — Mi biblioteca rediseñada + módulo "Tus series"
 *  Cada serie es un estante; cada tomo, un lomo. Mismos tokens del hub.
 * ================================================================== */

/* La estantería trae su propia cabecera: fuera el banner genérico "Mi cuenta". */
body.dmm-biblio-page .wp-block-post-title,
body.dmm-biblio-page h1.entry-title{display:none!important}

.dmm-biblio{display:flex;flex-direction:column;gap:20px}

/* --- Cabecera única --- */
.dmm-shelf-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 28px;align-items:end;
  padding:22px 24px 20px;border-radius:var(--h-radius);border:1px solid var(--h-line);
  background:radial-gradient(rgba(255,255,255,.6) 1.4px,transparent 1.6px) 0 0/16px 16px,
             linear-gradient(120deg,var(--h-celeste),var(--h-peach))}
.dmm-shelf-head h1{margin:0 0 6px!important;font-size:1.55rem!important;line-height:1.1;letter-spacing:-.01em;
  font-weight:800;color:#123f52!important;font-family:var(--h-sans);text-wrap:balance}
.dmm-shelf-head h1::before,.dmm-shelf-head h1::after{content:none!important}
.dmm-shelf-head p{margin:0;font-size:.9rem;color:#2b4a58;max-width:56ch;line-height:1.45}
.dmm-shelf-stats{display:flex;gap:22px;align-items:baseline;white-space:nowrap}
.dmm-shelf-stats div{display:flex;flex-direction:column;gap:2px}
.dmm-shelf-stats b{font-size:1.6rem;line-height:1;font-weight:900;color:#123f52;font-variant-numeric:tabular-nums}
.dmm-shelf-stats span{font-size:.72rem;font-weight:700;color:#2b4a58}
.dmm-shelf-stats .is-gold b{color:#8a5a00}

/* --- Barra: pestañas + orden + buscador (reusa .dmm-bib-toolbar/.dmm-bib-tab/.dmm-bib-search) --- */
.dmm-shelf-sort{font-size:.8rem;color:var(--h-muted-legible);margin-left:auto}
.dmm-shelf-sort b{color:var(--h-ink);font-weight:700}
.dmm-bib-tab{min-height:36px}

/* --- Fila = estante --- */
.dmm-shelf{gap:12px}
.dmm-shelf-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px 18px;align-items:center;
  padding:14px 16px;border-radius:var(--h-radius);border:1px solid var(--h-line);background:var(--h-surface);
  transition:border-color .18s cubic-bezier(.16,1,.3,1)}
.dmm-shelf-row:hover{border-color:#cfe2ec}
.dmm-shelf-row.is-full{background:linear-gradient(90deg,#FFFBEF,var(--h-surface) 40%)}
.dmm-shelf-cover{display:block;width:64px;aspect-ratio:2/3;border-radius:8px;overflow:hidden;background:var(--h-surface-2);
  box-shadow:0 4px 12px rgba(23,58,75,.16);text-decoration:none!important;display:grid;place-items:center}
.dmm-shelf-cover img{width:100%!important;height:100%!important;object-fit:cover;display:block;margin:0!important}
.dmm-shelf-cover .ph{font-size:1.4rem;opacity:.6}
.dmm-shelf-info{min-width:0;display:grid;gap:8px}
.dmm-shelf-row .dmm-bib-ttl{display:flex;align-items:center;gap:8px;flex-wrap:wrap;white-space:normal;overflow:visible}
.dmm-shelf-row .dmm-bib-ttl h3{margin:0!important;font-size:1.02rem!important;font-weight:800;color:var(--h-ink);
  letter-spacing:-.005em;font-family:var(--h-sans);line-height:1.2}
.dmm-shelf-row .dmm-bib-trophy{font-size:.66rem;font-weight:800;color:#8a5a00;background:#FFF3D6;border:1px solid #F5D98F;padding:3px 8px;border-radius:999px}

/* Lomos. Tuyo = lleno; te falta = hueco (borde celeste si hay stock, punteado si es preventa); deseo = durazno. */
.dmm-shelf-spines{display:flex;gap:3px;align-items:flex-end;height:34px;padding-bottom:3px;
  border-bottom:2px solid #D6C1A5;position:relative;overflow:hidden}
.dmm-shelf-spines::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:4px;background:#C7B08F;opacity:.5}
.dmm-shelf-spines .sp,.dmm-shelf-legend .sp{display:block;flex:1 1 0;max-width:11px;min-width:3px;height:30px;
  border-radius:2px 2px 0 0;background:linear-gradient(180deg,#3F9FD1,#1F5F82);transition:transform .18s cubic-bezier(.16,1,.3,1)}
.dmm-shelf-spines .sp:nth-child(3n){height:32px}
.dmm-shelf-spines .sp:nth-child(5n){height:29px}
.dmm-shelf-spines .sp:nth-child(7n){height:31px}
.sp.is-man{background:linear-gradient(180deg,#5ab3de,#2C7DAB)}
.sp.is-miss,.sp.is-wish{background:transparent;border:1.5px solid #c9d6de;border-bottom:0;height:24px!important}
.sp.is-miss.avail{border-color:#8fbdd6;background:rgba(63,159,209,.08)}
.sp.is-miss.avail.pre{border-style:dashed}
.sp.is-wish{border-color:var(--h-peach-ink);background:var(--h-peach)}
.dmm-shelf-row:hover .sp.is-auto,.dmm-shelf-row:hover .sp.is-man{transform:translateY(-1px)}

/* Meta de la fila */
.dmm-shelf-row .dmm-bib-meta{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:.8rem;color:var(--h-muted-legible);font-weight:600}
.dmm-shelf-row .dmm-bib-meta b{color:var(--h-ink);font-weight:800}
.dmm-shelf-row .dmm-bib-meta .ok{color:#1f7a45;font-weight:700}
.dmm-shelf-row .dmm-bib-meta .pv{color:#b5643f;font-weight:700}
.dmm-shelf-row .dmm-bib-meta [hidden]{display:none}

/* Acciones: UNA principal por fila */
.dmm-shelf-act{display:flex;flex-direction:column;gap:6px;align-items:stretch;min-width:176px}
.dmm-shelf-row .dmm-bib-complete,.dmm-shelf-go,.dmm-bib-toggle,.dmm-shelf-done{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 16px;border-radius:999px;
  font-family:var(--h-sans);font-size:.86rem;font-weight:800;white-space:nowrap;text-decoration:none!important;
  transition:transform .12s cubic-bezier(.16,1,.3,1),background .18s cubic-bezier(.16,1,.3,1)}
.dmm-shelf-row .dmm-bib-complete{margin:0;background:var(--h-blue-deep);color:#fff!important;border:none;cursor:pointer}
.dmm-shelf-row .dmm-bib-complete:hover{background:#184c68}
.dmm-shelf-row .dmm-bib-complete:active{transform:scale(.98)}
.dmm-shelf-row .dmm-bib-complete[hidden]{display:none}
.dmm-shelf-row .dmm-bib-complete .pr{font-weight:600;opacity:.85;font-size:.8em}
.dmm-shelf-row .dmm-bib-complete.is-done{background:var(--h-green)}
.dmm-shelf-go{background:var(--h-blue-deep);color:#fff!important}
.dmm-shelf-go:hover{background:#184c68}
.dmm-shelf-go.is-sec{background:transparent;color:var(--h-crimson-ink)!important;border:1px solid #cfe2ec}
.dmm-bib-toggle{appearance:none;background:transparent;color:var(--h-crimson-ink);border:1px solid #cfe2ec;cursor:pointer;min-height:38px;font-size:.82rem}
.dmm-bib-toggle:hover{background:var(--h-crimson-soft)}
.dmm-bib-toggle[aria-expanded="true"]{background:var(--h-crimson-soft);border-color:var(--h-crimson)}
.dmm-shelf-done{background:#FFF3D6;color:#8a5a00;border:1px solid #F5D98F}
.dmm-shelf-row .dmm-bib-unfollow{align-self:center;width:34px;height:34px}
.dmm-shelf-row .dmm-bib-body{grid-column:1/-1;margin-top:2px}

/* Leyenda plegada */
.dmm-shelf-legend{font-size:.8rem;color:var(--h-muted-legible);font-family:var(--h-sans)}
.dmm-shelf-legend summary{cursor:pointer;font-weight:700;color:var(--h-crimson-ink);list-style:none;display:inline-flex;gap:6px;align-items:center;min-height:36px}
.dmm-shelf-legend summary::-webkit-details-marker{display:none}
.dmm-shelf-legend summary::before{content:"?";width:20px;height:20px;border-radius:50%;display:grid;place-items:center;
  background:var(--h-crimson-soft);font-size:.72rem;font-weight:900}
.dmm-shelf-legend[open] summary{margin-bottom:8px}
.dmm-shelf-legend .lg{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}
.dmm-shelf-legend .lg span{display:inline-flex;align-items:flex-end;gap:6px}
.dmm-shelf-legend .sp{width:8px;height:16px!important;flex:none;max-width:none}
.dmm-shelf-legend .sp.is-miss,.dmm-shelf-legend .sp.is-wish{height:12px!important}
.dmm-shelf-legend p{margin:10px 0 0;font-size:.78rem}

/* Agregar serie: secundaria, al final */
.dmm-shelf-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;background:var(--h-surface-2)}
.dmm-shelf-add .dmm-bib-add-lbl{margin-bottom:2px}
.dmm-shelf-add .dmm-shelf-add-txt p{margin:0;font-size:.82rem;color:var(--h-muted-legible)}
.dmm-shelf-add .dmm-bib-add-box{min-width:300px;background:var(--h-surface)}
.dmm-shelf-add .dmm-bib-add-res{grid-column:1/-1}

/* --- Módulo "Tus series" del escritorio --- */
.hub-series{display:flex;flex-direction:column;gap:10px}
.dmm-shelf-row.is-mini{grid-template-columns:44px minmax(0,1fr) auto;padding:10px 12px;gap:8px 14px;border-radius:var(--h-radius-sm)}
.dmm-shelf-row.is-mini .dmm-shelf-cover{width:44px}
.dmm-shelf-row.is-mini .dmm-shelf-spines{height:24px}
.dmm-shelf-row.is-mini .sp{height:20px}
.dmm-shelf-row.is-mini .sp.is-miss,.dmm-shelf-row.is-mini .sp.is-wish{height:15px!important}
.dmm-shelf-row.is-mini .dmm-bib-ttl h3{font-size:.92rem!important}
.dmm-shelf-row.is-mini .dmm-shelf-act{min-width:0}
.dmm-shelf-row.is-mini .dmm-shelf-go,.dmm-shelf-row.is-mini .dmm-shelf-done{min-height:36px;font-size:.8rem;padding:0 13px}

/* --- Móvil --- */
@media (max-width:640px){
  .dmm-shelf-head{grid-template-columns:1fr;padding:16px 16px 14px;gap:12px}
  .dmm-shelf-head h1{font-size:1.3rem!important}
  .dmm-shelf-stats{gap:18px}
  .dmm-shelf-stats b{font-size:1.35rem}
  .dmm-shelf-sort{display:none}
  .dmm-bib-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .dmm-bib-tab{flex:none}
  .dmm-shelf-row{grid-template-columns:52px minmax(0,1fr);padding:12px}
  .dmm-shelf-cover{width:52px}
  .dmm-shelf-spines .sp{max-width:none}
  .dmm-shelf-act{grid-column:1/-1;flex-direction:row;min-width:0}
  .dmm-shelf-act>*{flex:1}
  .dmm-shelf-act .dmm-bib-complete,.dmm-shelf-act .dmm-bib-toggle{min-height:44px}
  .dmm-shelf-row .dmm-bib-unfollow{flex:none}
  .dmm-shelf-add{grid-template-columns:1fr}
  .dmm-shelf-add .dmm-bib-add-box{min-width:0}
  .dmm-shelf-row.is-mini{grid-template-columns:44px minmax(0,1fr)}
  .dmm-shelf-row.is-mini .dmm-shelf-act{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){
  .dmm-shelf-row,.dmm-shelf-spines .sp,.dmm-shelf-row .dmm-bib-complete,.dmm-shelf-go{transition:none}
  .dmm-shelf-row:hover .sp{transform:none}
}
