/* =============================================================================
   DKT Store — Mi cuenta v2, bloque 2 (0.9.157): "Precios y promociones" (.dkt-pp-*) y
   "Biblioteca" (.dkt-bib-*). Carga después de account-v2.css y reutiliza sus tokens y botones.
   Maqueta aprobada por Ricardo 07-sep-2026 (espacio comercial v1 + Mi cuenta v2.2).
   @package astra-dkt-store
   ============================================================================= */

/* ---------- cabecera con pastillas ---------- */
.dkt-pp-pills { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 8px; }
.dkt-pp-sec { margin-top: 26px; }
.dkt-pp-sec > h3 { font-family: var(--dkt-font-titles); font-size: 1.05rem; color: var(--dkt-vino); display: flex; align-items: center; gap: 10px; margin: 0 0 12px; }
.dkt-pp-sec > h3 .n { font-size: 11px; letter-spacing: .12em; color: var(--dkt-muted); font-weight: 600; }
.dkt-pp-sec > h3 .dkt-acc-pill { font-size: 11px; }

/* ---------- 01 · condiciones ---------- */
.dkt-pp-cond { background: var(--dkt-white); border: 1px solid var(--dkt-line); border-radius: var(--dkt-radius-lg); box-shadow: var(--dkt-shadow-sm); padding: 6px 20px; }
.dkt-pp-cond .row { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: start; padding: 13px 0; border-top: 1px solid var(--dkt-line); font-size: 14px; line-height: 1.5; color: var(--dkt-ink); }
.dkt-pp-cond .row:first-child { border-top: 0; }
.dkt-pp-cond .ic { width: 32px; height: 32px; border-radius: 9px; background: rgba(165, 0, 80, .10); color: var(--dkt-magenta); display: grid; place-items: center; }
.dkt-pp-cond .ic svg { width: 17px; height: 17px; }
.dkt-pp-cond b { color: var(--dkt-vino); font-weight: 600; }

/* ---------- 02 · promociones ---------- */
.dkt-pp-promos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.dkt-pp-promos .pc { background: var(--dkt-white); border: 1px solid var(--dkt-line); border-radius: var(--dkt-radius-lg); box-shadow: var(--dkt-shadow-sm); padding: 16px 18px; display: flex; flex-direction: column; gap: 6px; min-height: 150px; }
.dkt-pp-promos .pc .k { font-family: var(--dkt-font-titles); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--dkt-muted); font-weight: 700; }
.dkt-pp-promos .pc h4 { font-family: var(--dkt-font-titles); font-size: 1rem; color: var(--dkt-vino); margin: 0; }
.dkt-pp-promos .pc .big { font-family: var(--dkt-font-titles); font-weight: 800; font-size: 1.5rem; color: var(--dkt-magenta); letter-spacing: -.02em; line-height: 1; }
.dkt-pp-promos .pc p { margin: 0; font-size: 13px; color: var(--dkt-ink-soft, #6E5A65); }
.dkt-pp-promos .pc .foot { margin-top: auto; display: flex; justify-content: space-between; align-items: center; font-size: 11.5px; color: var(--dkt-muted); padding-top: 8px; border-top: 1px dashed var(--dkt-line); }
.dkt-pp-promos .pc .pill { display: inline-flex; align-items: center; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 999px; background: #E5F4EF; color: #1c7a4f; }
.dkt-pp-promos .pc.mes { border-color: var(--dkt-pink-lt, #F7A8CE); background: linear-gradient(180deg, #fff, var(--dkt-blush, #FBEEF4)); }
.dkt-pp-promos .pc.mes .k { color: var(--dkt-magenta); }
.dkt-pp-note { font-size: 12.5px; color: var(--dkt-muted); margin: 10px 0 0; }

/* ---------- 03 · lista de precios ---------- */
.dkt-pp-lp { background: var(--dkt-white); border: 1px solid var(--dkt-line); border-radius: var(--dkt-radius-lg); box-shadow: var(--dkt-shadow-sm); overflow: hidden; }
.dkt-pp-printhead { display: none; }
.dkt-pp-tools { display: flex; gap: 10px; align-items: center; padding: 12px 14px; border-bottom: 1px solid var(--dkt-line); flex-wrap: wrap; }
.dkt-pp-search { flex: 1; min-width: 200px; display: flex; align-items: center; gap: 8px; border: 1.5px solid var(--dkt-line); border-radius: 10px; padding: 0 12px; background: var(--dkt-soft, #FCF7FA); color: var(--dkt-muted); margin: 0; }
.dkt-pp-search svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; flex: none; }
.dkt-pp-search input { flex: 1; border: 0 !important; background: transparent !important; padding: 9px 0 !important; font-size: 14px; color: var(--dkt-ink); outline: none; box-shadow: none !important; min-width: 0; }
.dkt-pp-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.dkt-pp-chips button { appearance: none; font-family: var(--dkt-font-titles); font-weight: 600; font-size: 12px; padding: 6px 11px; border-radius: 999px; cursor: pointer; }
/* <button> nuevos blindados contra el clobber global de botones del theme (forma + color con !important) */
body.woocommerce-account .dkt-pp-chips button { background: #fff !important; color: var(--dkt-ink-soft, #6E5A65) !important; border: 1px solid var(--dkt-line) !important; padding: 6px 11px !important; font-size: 12px !important; line-height: 1.2 !important; border-radius: 999px !important; box-shadow: none !important; min-height: 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
body.woocommerce-account .dkt-pp-chips button.on { background: var(--dkt-vino) !important; color: #fff !important; border-color: var(--dkt-vino) !important; }
body.woocommerce-account button.dkt-acc-btn { padding: 9px 14px !important; font-size: 13px !important; line-height: 1.2 !important; border-radius: 10px !important; box-shadow: none !important; min-height: 0 !important; text-transform: none !important; letter-spacing: 0 !important; border-width: 1.5px !important; border-style: solid !important; cursor: pointer; }
.dkt-pp-wrap { overflow-x: auto; }
.dkt-pp-table { width: 100%; border-collapse: collapse; font-size: 13.5px; min-width: 560px; margin: 0; }
.dkt-pp-table th { font-family: var(--dkt-font-titles); font-weight: 600; font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--dkt-muted); text-align: left; padding: 10px 14px; border-bottom: 1px solid var(--dkt-line); background: var(--dkt-soft, #FCF7FA); }
.dkt-pp-table th.num, .dkt-pp-table td.num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.dkt-pp-table td { padding: 11px 14px; border-bottom: 1px solid var(--dkt-line); vertical-align: middle; }
.dkt-pp-table tr:last-child td { border-bottom: 0; }
.dkt-pp-table td.p { font-weight: 600; color: var(--dkt-ink); }
.dkt-pp-table td.p a { color: var(--dkt-ink); text-decoration: none; }
.dkt-pp-table td.p a:hover { color: var(--dkt-magenta); }
.dkt-pp-table td.p small { display: block; font-weight: 400; color: var(--dkt-muted); font-size: 11.5px; }
.dkt-pp-table td.pub { color: var(--dkt-muted); text-decoration: line-through; }
.dkt-pp-table td.tu { font-family: var(--dkt-font-titles); font-weight: 700; font-size: 15px; color: var(--dkt-magenta); }
.dkt-pp-table td.ah { color: var(--dkt-teal, #2f8e7f); font-weight: 600; font-size: 12.5px; }
.dkt-pp-table td.same { color: var(--dkt-muted); font-size: 12px; }
.dkt-pp-table tr[hidden] { display: none; }
.dkt-pp-empty { padding: 18px 14px; margin: 0; color: var(--dkt-muted); font-size: 13.5px; }
.dkt-pp-more { padding: 10px 14px; font-size: 12px; color: var(--dkt-muted); border-top: 1px solid var(--dkt-line); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.dkt-pp-sync { margin: 14px 0 0; font-size: 12.5px; color: var(--dkt-muted); display: flex; align-items: center; gap: 8px; }
.dkt-pp-sync i { width: 8px; height: 8px; border-radius: 50%; background: var(--dkt-teal, #2f8e7f); display: inline-block; flex: none; }
.dkt-pp .dkt-acc-band { margin-top: 26px; }

/* ---------- BIBLIOTECA ---------- */
.dkt-bib-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.dkt-bib-card { background: var(--dkt-white); border: 1px solid var(--dkt-line); border-radius: var(--dkt-radius-lg); box-shadow: var(--dkt-shadow-sm); overflow: hidden; display: flex; flex-direction: column; transition: var(--dkt-transition); }
.dkt-bib-card:hover { transform: translateY(-2px); box-shadow: var(--dkt-shadow-md); }
.dkt-bib-card .cover { display: block; position: relative; background: var(--dkt-paper-2, #F6EEF2); aspect-ratio: 420 / 594; overflow: hidden; }
.dkt-bib-card .cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dkt-bib-card .cover .kind { position: absolute; left: 10px; top: 10px; font-family: var(--dkt-font-titles); font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 4px 9px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--dkt-vino); }
.dkt-bib-card .body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.dkt-bib-card h3 { font-family: var(--dkt-font-titles); font-size: 1rem; color: var(--dkt-vino); margin: 2px 0 2px; }
.dkt-bib-card p { margin: 0; font-size: 13px; color: var(--dkt-ink-soft, #6E5A65); }
.dkt-bib-card .meta { margin-top: 8px; font-size: 12px; color: var(--dkt-muted); }
.dkt-bib-card .dkt-acc-btns { margin-top: auto; padding-top: 10px; }
.dkt-bib-card.is-soon .cover img { filter: grayscale(1); opacity: .55; }
.dkt-bib-card.is-soon .cover { cursor: default; }
.dkt-bib-foot { margin: 18px 0 0; font-size: 12px; color: var(--dkt-muted); }

/* ---------- móvil ---------- */
@media (max-width: 900px) {
  .dkt-pp-promos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dkt-bib-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .dkt-pp-promos { grid-template-columns: 1fr; }
  .dkt-bib-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .dkt-bib-card .body { padding: 10px 12px 12px; }
  .dkt-bib-card p { display: none; }
  .dkt-bib-card .dkt-acc-btns { gap: 6px; }
  .dkt-bib-card .dkt-acc-btn { padding: 8px 10px; font-size: 12px; flex: 1; }
  .dkt-pp-cond { padding: 4px 14px; }
  .dkt-pp-cond .row { grid-template-columns: 30px 1fr; gap: 10px; font-size: 13.5px; }
  .dkt-pp-cond .ic { width: 28px; height: 28px; }
  .dkt-pp-tools { padding: 10px 12px; }
  .dkt-pp-chips { width: 100%; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; scrollbar-width: none; }
  .dkt-pp-chips::-webkit-scrollbar { display: none; }
  .dkt-pp-chips button { flex: none; }
  .dkt-pp-print { width: 100%; }
  .dkt-pp-table { min-width: 480px; font-size: 13px; }
  .dkt-pp-table th, .dkt-pp-table td { padding: 9px 10px; }
}

/* ---------- impresión: solo la lista de precios, con su cabecera.
   Solo cuando la página tiene la lista: comercial.js pone body.dkt-print-lp en beforeprint / al pulsar el botón
   (así Pedidos, Mis datos, etc. se imprimen normal). ---------- */
@media print {
  body.dkt-print-lp * { visibility: hidden; }
  body.dkt-print-lp #dkt-pp-lp, body.dkt-print-lp #dkt-pp-lp * { visibility: visible; }
  body.dkt-print-lp #dkt-pp-lp { position: absolute; left: 0; top: 0; width: 100%; border: 0; box-shadow: none; border-radius: 0; }
  body.dkt-print-lp #dkt-pp-lp .dkt-pp-tools { display: none; }
  body.dkt-print-lp #dkt-pp-lp .dkt-pp-printhead { display: block; padding: 8px 0 12px; font-size: 12px; color: #33232B; border-bottom: 2px solid #A50050; margin-bottom: 8px; }
  body.dkt-print-lp #dkt-pp-lp .dkt-pp-table { min-width: 0; font-size: 11.5px; }
  body.dkt-print-lp #dkt-pp-lp .dkt-pp-table th, body.dkt-print-lp #dkt-pp-lp .dkt-pp-table td { padding: 6px 8px; }
  body.dkt-print-lp #dkt-pp-lp .dkt-pp-table td.tu { color: #A50050; }
  body.dkt-print-lp #dkt-pp-lp .dkt-pp-table tr[hidden] { display: none; }
}
