/* Tienda de Precios — identidad sobre la base Eldesa v2.
 * Archivo versionado por nombre (hCDN): tdp-N.css (TDP_ASSET), nunca pisar.
 * Idea: el logo es un sticker redondo; el precio es una etiqueta de góndola.
 */

@font-face { font-family: "Baloo 2"; font-style: normal; font-weight: 600 800; font-display: swap; src: url(assets/fonts/baloo2-latin-ext-v1.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Baloo 2"; font-style: normal; font-weight: 600 800; font-display: swap; src: url(assets/fonts/baloo2-latin-v1.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Nunito Sans"; font-style: normal; font-weight: 400 800; font-display: swap; src: url(assets/fonts/nunitosans-latin-ext-v1.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Nunito Sans"; font-style: normal; font-weight: 400 800; font-display: swap; src: url(assets/fonts/nunitosans-latin-v1.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- Tokens ---------- */
:root {
  --tp-bg: #f3f5fa;
  --tp-surface: #ffffff;
  --tp-surface-2: #eef1f8;
  --tp-ink: #0b2167;
  --tp-text: #1c2648;
  --tp-mute: #59638a;
  --tp-line: #dce2ee;
  --tp-line-2: #c6cfe2;
  --tp-red: #e30613;
  --tp-red-d: #b9040f;
  --tp-on-red: #ffffff;
  --tp-yellow: #ffd500;
  --tp-on-yellow: #0b2167;
  --tp-hero: #ffd500;
  --tp-red-text: #c0040e;
  --tp-band: #fdecec;
  --tp-hero-ink: #0b2167;
  --tp-foot: #0b2167;
  --tp-foot-2: #081a52;
  --tp-shadow: 0 1px 2px rgba(11, 33, 103, .06), 0 8px 24px rgba(11, 33, 103, .07);
  --tp-display: "Baloo 2", "Nunito Sans", system-ui, sans-serif;
  --tp-body: "Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --tp-r: 18px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --tp-bg: #081029; --tp-surface: #0f1a3d; --tp-surface-2: #16234f; --tp-ink: #f2f4fb; --tp-text: #dde3f3;
    --tp-mute: #9ba6c8; --tp-line: #243260; --tp-line-2: #34447a; --tp-red: #e30613; --tp-red-d: #c4040f; --tp-red-text: #ff6b74; --tp-band: #1a1a45;
    --tp-hero: #0f1a3d; --tp-hero-ink: #ffd500; --tp-foot: #050b1f; --tp-foot-2: #030716;
    --tp-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 28px rgba(0, 0, 0, .35);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --tp-bg: #081029; --tp-surface: #0f1a3d; --tp-surface-2: #16234f; --tp-ink: #f2f4fb; --tp-text: #dde3f3;
  --tp-mute: #9ba6c8; --tp-line: #243260; --tp-line-2: #34447a; --tp-red: #e30613; --tp-red-d: #c4040f; --tp-red-text: #ff6b74; --tp-band: #1a1a45;
  --tp-hero: #0f1a3d; --tp-hero-ink: #ffd500; --tp-foot: #050b1f; --tp-foot-2: #030716;
  --tp-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 28px rgba(0, 0, 0, .35);
  color-scheme: dark;
}

/* La base Eldesa lee estas variables: se apuntan a las de la marca. */
html body.el-v2 {
  --el-blue: var(--tp-red);
  --el-blue-d: var(--tp-red-d);
  --el-ink: var(--tp-ink);
  --el-mute: var(--tp-mute);
  --el-line: var(--tp-line);
  --el-bg: var(--tp-bg);
  --el-card: var(--tp-surface);
  --el-top: var(--tp-ink);
  --el-r: var(--tp-r);
  --el-font: var(--tp-body);
  --theme-text-color: var(--tp-text);
  --theme-headings-color: var(--tp-ink);
  --theme-link-initial-color: var(--tp-ink);
  --theme-link-hover-color: var(--tp-red);
  --theme-palette-color-1: var(--tp-red);
  --theme-palette-color-2: var(--tp-red-d);
  --theme-palette-color-3: var(--tp-text);
  --theme-palette-color-4: var(--tp-ink);
  --theme-palette-color-5: var(--tp-line);
  --theme-palette-color-6: var(--tp-surface-2);
  --theme-palette-color-7: var(--tp-bg);
  --theme-palette-color-8: var(--tp-surface);
  --theme-border-color: var(--tp-line);
  --theme-form-field-border-initial-color: var(--tp-line-2);
  --theme-form-field-background-initial-color: var(--tp-surface);
  --theme-form-field-background-focus-color: var(--tp-surface);
  background: var(--tp-bg);
  color: var(--tp-text);
  font-family: var(--tp-body);
  -webkit-font-smoothing: antialiased;
}
html { background: var(--tp-bg); }
html body.el-v2 #wrapper, html body.el-v2 #main { background: var(--tp-bg); }
html body.el-v2 a { color: inherit; }
html body.el-v2 :focus-visible { outline: 3px solid var(--tp-red); outline-offset: 2px; border-radius: 8px; }

html body.el-v2 h1, html body.el-v2 h2, html body.el-v2 h3,
html body.el-v2 .product-title, html body.el-v2 .shop-page-title {
  font-family: var(--tp-display);
  color: var(--tp-ink);
  letter-spacing: -.005em;
  line-height: 1.08;
}

/* ---------- Header ---------- */
html body.el-v2 #header, html body.el-v2 .header-wrapper { background: var(--tp-surface); }
html body.el-v2 #header { box-shadow: 0 1px 0 var(--tp-line); position: relative; z-index: 50; }
html body.el-v2 .el-v2-top { background: var(--tp-ink); color: var(--tp-surface); font-weight: 600; }
html body.el-v2 .el-v2-top a, html body.el-v2 .el-v2-top span { color: inherit; }
:root[data-theme="dark"] body.el-v2 .el-v2-top { background: var(--tp-yellow); color: #0b2167; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) body.el-v2 .el-v2-top { background: var(--tp-yellow); color: #0b2167; } }
html body.el-v2 .el-v2-top .el-v2-wrap { justify-content: center; min-height: 32px; font-size: 13.5px; }

html body.el-v2 .el-v2-main .el-v2-wrap { min-height: 74px; gap: 16px; }
/* Logo redondo: sticker que cuelga un poco del borde del header. */
html body.el-v2 .el-v2-logo { flex: 0 0 auto; display: block; width: 92px; height: 74px; position: relative; }
html body.el-v2 .el-v2-logo img {
  position: absolute; left: 0; top: 4px;
  width: 92px !important; height: 92px !important; aspect-ratio: 1 / 1 !important;
  object-fit: contain; filter: drop-shadow(0 4px 10px rgba(11, 33, 103, .18));
  transition: transform .2s ease;
}
html body.el-v2 .el-v2-logo:hover img { transform: rotate(-4deg) scale(1.03); }

html body.el-v2 .el-v2-catbtn {
  background: var(--tp-red); color: var(--tp-on-red); font-family: var(--tp-display);
  font-weight: 700; font-size: 16px; height: 46px; padding: 0 20px 0 16px;
}
html body.el-v2 .el-v2-catbtn:hover, html body.el-v2 .el-v2-catbtn[aria-expanded="true"] { background: var(--tp-red-d); }
html body.el-v2 .el-v2-search input.search-field {
  background: var(--tp-surface-2) !important; border: 2px solid transparent !important; color: var(--tp-text) !important;
  height: 48px; border-radius: 999px; font-size: 15.5px; box-shadow: none !important;
}
html body.el-v2 .el-v2-search input.search-field::placeholder { color: var(--tp-mute); opacity: 1; }
html body.el-v2 .el-v2-search input.search-field:focus { border-color: var(--tp-ink) !important; background: var(--tp-surface) !important; }
html body.el-v2 .el-v2-search .ux-search-submit, html body.el-v2 .el-v2-search button { color: var(--tp-ink) !important; background: transparent !important; }
html body.el-v2 .el-v2-icbtn { color: var(--tp-ink); border-radius: 999px; font-weight: 700; }
html body.el-v2 .el-v2-icbtn:hover { background: var(--tp-surface-2); color: var(--tp-red-text); }
html body.el-v2 .el-v2-badge { background: var(--tp-red); color: #fff; box-shadow: 0 0 0 2px var(--tp-surface); }

.tdp-theme {
  display: inline-grid; place-items: center; width: 44px; height: 44px; margin: 0; padding: 0;
  border: 0; border-radius: 999px; background: transparent; color: var(--tp-ink); cursor: pointer;
}
.tdp-theme:hover { background: var(--tp-surface-2); }
.tdp-theme .tdp-theme-sun { display: none; }
:root[data-theme="dark"] .tdp-theme .tdp-theme-sun { display: block; }
:root[data-theme="dark"] .tdp-theme .tdp-theme-moon { display: none; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .tdp-theme .tdp-theme-sun { display: block; }
  :root:not([data-theme="light"]) .tdp-theme .tdp-theme-moon { display: none; }
}

/* Menú Catálogo (panel) */
html body.el-v2 .el-v2-catmenu, html body.el-v2 .el-v2-dlg, html body.el-v2 .el-v2-dw-panel {
  background: var(--tp-surface); color: var(--tp-text); border-color: var(--tp-line);
  box-shadow: var(--tp-shadow);
}
html body.el-v2 .el-v2-catmenu a, html body.el-v2 .el-v2-dlg a { color: var(--tp-text); }
html body.el-v2 .el-v2-catmenu a:hover { color: var(--tp-red-text); background: var(--tp-surface-2); }
html body.el-v2 .el-v2-catmenu-head, html body.el-v2 .el-v2-dlg-head { border-color: var(--tp-line); color: var(--tp-ink); }
html body.el-v2 .el-v2-catmenu .el-v2-cat-ic .a, html body.el-v2 .tdp-cats .el-v2-cat-ic .a { fill: var(--tp-yellow); stroke: none; }
html body.el-v2 .el-v2-catall { background: var(--tp-surface-2); color: var(--tp-ink) !important; }

/* ================================================================
 * Sistema
 * Espaciado base 8 px · radios 12 (controles) / 16 (tarjetas) / 24 (paneles)
 * Baloo 2: precios y títulos de sección. Nunito Sans: todo lo demás.
 * ================================================================ */
html body.el-v2 { --tp-s1: 8px; --tp-s2: 16px; --tp-s3: 24px; --tp-s4: 32px; --tp-s6: 48px; --tp-s8: 64px; --tp-ctl: 48px; }
html body.el-v2 .el-v2-wrap { max-width: 1280px; padding-left: 24px; padding-right: 24px; }

/* ---------- Botones: una sola receta ---------- */
.tdp-btn, html body.el-v2 .single_add_to_cart_button, html body.el-v2 .wc-proceed-to-checkout .checkout-button,
html body.el-v2 #place_order, html body.el-v2 .products .add-to-cart-button .button,
html body.el-v2 .woocommerce-form .button, html body.el-v2 .facetwp-load-more {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 8px;
  height: var(--tp-ctl); min-height: var(--tp-ctl); padding: 0 24px !important; margin: 0 !important;
  border: 0 !important; border-radius: 999px !important; box-shadow: none !important;
  background: var(--tp-red) !important; color: var(--tp-on-red) !important;
  font-family: var(--tp-body) !important; font-weight: 800 !important; font-size: 16px !important; line-height: 1 !important;
  letter-spacing: 0 !important; text-transform: none !important; text-decoration: none !important; white-space: nowrap;
  cursor: pointer; transition: background-color .15s ease;
}
.tdp-btn:hover, html body.el-v2 .single_add_to_cart_button:hover, html body.el-v2 .wc-proceed-to-checkout .checkout-button:hover,
html body.el-v2 #place_order:hover, html body.el-v2 .products .add-to-cart-button .button:hover, html body.el-v2 .woocommerce-form .button:hover { background: var(--tp-red-d) !important; }
.tdp-btn.is-ghost { background: transparent !important; color: var(--tp-hero-ink) !important; box-shadow: inset 0 0 0 2px currentColor !important; }
.tdp-btn.is-ghost:hover { background: color-mix(in srgb, var(--tp-hero-ink) 10%, transparent) !important; }
html body.el-v2 .facetwp-load-more { background: var(--tp-ink) !important; color: var(--tp-bg) !important; }
html body.el-v2 .products .add-to-cart-button .button::after { content: none !important; }

/* ---------- Insignias y ahorro ---------- */
.tdp-badges { position: absolute; top: 12px; left: 12px; z-index: 3; display: flex; gap: 6px; flex-wrap: wrap; pointer-events: none; }
.tdp-b {
  display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 999px;
  font-family: var(--tp-body); font-weight: 800; font-size: 13px; line-height: 1; letter-spacing: 0;
}
.tdp-b.is-sale { background: var(--tp-yellow); color: #0b2167; }
.tdp-b.is-off { background: var(--tp-red); color: #fff; }
.tdp-save { margin: 0; color: var(--tp-red-text); font-weight: 800; font-size: 14px; line-height: 1.3; }
.tdp-save .woocommerce-Price-amount { color: inherit !important; font: inherit !important; }

/* ---------- Precio ---------- */
/* Etiqueta amarilla = precio a pagar. Tachado = precio anterior. */
html body.el-v2 .price { color: var(--tp-ink); }
html body.el-v2 .products .price-wrapper .price,
html body.el-v2.single-product .product-info .price {
  display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center !important; justify-content: flex-start !important;
  gap: 6px 10px !important; width: auto !important; margin: 0 !important; font-size: 0 !important; line-height: 1 !important; text-align: left !important;
}
html body.el-v2 .products .price > .woocommerce-Price-amount,
html body.el-v2 .products .price ins,
html body.el-v2.single-product .product-info .price > .woocommerce-Price-amount,
html body.el-v2.single-product .product-info .price ins {
  order: 1; position: relative; display: inline-flex !important; align-items: center; height: 36px;
  padding: 2px 12px 0 20px; text-decoration: none; border-radius: 4px 8px 8px 4px;
  background: var(--tp-yellow); color: #0b2167 !important;
  font-family: var(--tp-display); font-weight: 800; font-size: 22px !important; line-height: 1; letter-spacing: -.01em;
  clip-path: polygon(10px 0, 100% 0, 100% 100%, 10px 100%, 0 50%);
}
html body.el-v2 .products .price > .woocommerce-Price-amount::before,
html body.el-v2 .products .price ins::before,
html body.el-v2.single-product .product-info .price > .woocommerce-Price-amount::before,
html body.el-v2.single-product .product-info .price ins::before {
  content: ""; position: absolute; left: 9px; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%; background: var(--tp-surface);
}
html body.el-v2 .price ins .woocommerce-Price-amount { font: inherit !important; color: inherit !important; }
html body.el-v2 .products .price del, html body.el-v2.single-product .product-info .price del {
  order: 2; color: var(--tp-mute) !important; opacity: 1; font-family: var(--tp-body); font-weight: 700; font-size: 14px !important; text-decoration-thickness: 1.5px;
}
html body.el-v2 .price del .woocommerce-Price-amount { color: inherit !important; font: inherit !important; }
html body.el-v2.single-product .product-info .price > .woocommerce-Price-amount,
html body.el-v2.single-product .product-info .price ins { height: 52px; font-size: 34px !important; padding: 4px 18px 0 28px; clip-path: polygon(14px 0, 100% 0, 100% 100%, 14px 100%, 0 50%); }
html body.el-v2.single-product .product-info .price > .woocommerce-Price-amount::before,
html body.el-v2.single-product .product-info .price ins::before { left: 12px; width: 8px; height: 8px; margin-top: -4px; }
html body.el-v2.single-product .product-info .price del { font-size: 18px !important; }

/* ---------- Tarjeta de producto ---------- */
html body.el-v2 .products .product-small.col { padding: 0 8px 16px !important; }
html body.el-v2 .products .product-small .col-inner { background: transparent !important; height: 100%; }
html body.el-v2 .products .product-small.box {
  display: flex !important; flex-direction: column; height: 100%;
  background: var(--tp-surface); border: 1px solid var(--tp-line) !important; border-radius: 16px !important; overflow: hidden;
  box-shadow: none !important; transition: border-color .15s ease, box-shadow .15s ease;
}
html body.el-v2 .products .product-small.box:hover { border-color: var(--tp-line-2) !important; box-shadow: var(--tp-shadow) !important; }
/* Foto entera, sin recorte, sobre blanco */
html body.el-v2 .products .product-small .box-image {
  position: relative !important; flex: 0 0 auto; width: 100%; aspect-ratio: 1 / 1; margin: 0 !important; padding: 0 !important;
  background: #fff !important; border: 0 !important; border-bottom: 1px solid var(--tp-line) !important; border-radius: 0 !important; overflow: hidden;
}
html body.el-v2 .products .product-small .box-image .image-none, html body.el-v2 .products .product-small .box-image .image-none > a { position: absolute; inset: 0; display: block; }
html body.el-v2 .products .product-small .box-image img {
  position: absolute !important; inset: 6% !important; width: 88% !important; height: 88% !important; max-width: none !important;
  object-fit: contain !important; object-position: center !important; transform: none !important; margin: 0 !important;
}
html body.el-v2 .products .box-text {
  display: flex !important; flex-direction: column; align-items: stretch !important; flex: 1 1 auto; gap: 0;
  padding: 16px !important; text-align: left !important;
}
html body.el-v2 .products .box-text .title-wrapper { flex: 0 0 auto !important; min-height: calc(2 * 1.35em); margin: 0 0 16px; font-size: 15px; }
html body.el-v2 .products .box-text .product-title, html body.el-v2 .products .box-text .name {
  margin: 0 !important; font-family: var(--tp-body) !important; font-weight: 700 !important; font-size: 15px !important; line-height: 1.35 !important;
  color: var(--tp-text) !important; letter-spacing: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
html body.el-v2 .products .box-text .product-title a { color: inherit !important; }
html body.el-v2 .products .box-text .product-title a:hover { color: var(--tp-red-text) !important; }
/* Bloque de precio de alto fijo: precio + tachado + ahorro alinean entre tarjetas */
html body.el-v2 .products .price-wrapper {
  display: flex !important; flex-direction: column; align-items: flex-start !important; justify-content: flex-start; gap: 6px;
  min-height: 64px; margin: 0 0 16px !important; padding: 0 !important; width: 100%;
}
html body.el-v2 .products .add-to-cart-button { margin: auto 0 0 !important; width: 100%; }
html body.el-v2 .products .add-to-cart-button .button { width: 100% !important; }
html body.el-v2 .products .el-v2-qty {
  height: var(--tp-ctl) !important; border: 2px solid var(--tp-line-2) !important; border-radius: 999px !important;
  background: var(--tp-surface) !important; color: var(--tp-text) !important;
}
html body.el-v2 .products .el-v2-qty button { color: var(--tp-red-text) !important; background: transparent !important; }
html body.el-v2 .products .el-v2-qty input, html body.el-v2 .products .el-v2-qty b { color: var(--tp-text) !important; background: transparent !important; border: 0 !important; }

/* ---------- Secciones ---------- */
.tdp-sec { padding-top: var(--tp-s6) !important; }
.tdp-sec-head { display: flex; align-items: center; gap: 12px; margin: 0 0 var(--tp-s3); min-height: 44px; }
.tdp-sec-head h2 { margin: 0 !important; font-family: var(--tp-display) !important; font-weight: 800 !important; font-size: 32px !important; line-height: 1.1 !important; color: var(--tp-ink) !important; }
.tdp-more { margin-left: auto; color: var(--tp-red-text) !important; font-weight: 800; font-size: 15px; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; white-space: nowrap; }
.tdp-more:hover { color: var(--tp-ink) !important; }
.tdp-sec .products, .tdp-offers-page .products { margin-left: -8px !important; margin-right: -8px !important; }

/* Hero */
.tdp-hero { background: var(--tp-hero); color: var(--tp-hero-ink); }
.tdp-hero-in { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; gap: 48px; padding-top: 56px !important; padding-bottom: 56px !important; }
.tdp-hero-txt h1 { margin: 0 0 16px !important; font-family: var(--tp-display) !important; font-weight: 800 !important; font-size: clamp(40px, 5.2vw, 72px) !important; line-height: 1 !important; color: var(--tp-hero-ink) !important; letter-spacing: -.01em; }
.tdp-hero-txt h1 span { display: block; }
.tdp-hero-txt p { margin: 0 0 32px; max-width: 40ch; font-size: 19px; line-height: 1.5; font-weight: 600; color: var(--tp-hero-ink); }
:root[data-theme="dark"] .tdp-hero-txt p { color: var(--tp-text); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .tdp-hero-txt p { color: var(--tp-text); } }
.tdp-hero-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.tdp-hero-btns .tdp-btn { height: 56px; min-height: 56px; padding: 0 32px !important; font-size: 18px !important; }
.tdp-hero-pick { position: relative; display: block; justify-self: end; width: 100%; max-width: 440px; text-decoration: none; }
.tdp-hero-photo { display: block; aspect-ratio: 1 / 1; border-radius: 24px; background: #fff; overflow: hidden; box-shadow: 0 24px 60px rgba(11, 33, 103, .18); }
.tdp-hero-photo img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 8%; box-sizing: border-box; }
.tdp-hero-off { position: absolute; top: 16px; left: 16px; height: 32px; font-size: 16px; padding: 0 14px; }
.tdp-hero-tag {
  position: absolute; left: -28px; bottom: 28px; display: flex; flex-direction: column; gap: 4px;
  padding: 14px 22px 14px 36px; background: var(--tp-red); color: #fff; border-radius: 6px 12px 12px 6px;
  clip-path: polygon(18px 0, 100% 0, 100% 100%, 18px 100%, 0 50%);
  filter: drop-shadow(0 10px 18px rgba(11, 33, 103, .25)); transform: rotate(-4deg); transform-origin: 0 50%;
  animation: tdp-swing 1.4s cubic-bezier(.3, 1.5, .5, 1) .2s both;
}
.tdp-hero-tag::before { content: ""; position: absolute; left: 13px; top: 50%; width: 9px; height: 9px; margin-top: -4.5px; border-radius: 50%; background: var(--tp-hero); }
.tdp-hero-tag small { font-weight: 700; font-size: 14px; line-height: 1.2; opacity: .95; }
.tdp-hero-tag b { font-family: var(--tp-display); font-weight: 800; font-size: 34px; line-height: 1; }
.tdp-hero-tag .woocommerce-Price-amount { color: inherit !important; }
@keyframes tdp-swing { from { transform: rotate(8deg); } to { transform: rotate(-4deg); } }
@media (prefers-reduced-motion: reduce) { .tdp-hero-tag { animation: none; } }

/* Categorías: círculos, como el logo */
.tdp-cats ul { display: flex; gap: 24px; margin: 0; padding: 0 0 4px; list-style: none; overflow-x: auto; scrollbar-width: none; }
.tdp-cats ul::-webkit-scrollbar { display: none; }
.tdp-cats li { margin: 0; flex: 0 0 auto; }
.tdp-cats a { display: flex; flex-direction: column; align-items: center; gap: 12px; width: 112px; text-align: center; text-decoration: none; color: var(--tp-text) !important; font-weight: 700; font-size: 15px; line-height: 1.25; }
.tdp-cat-ic { display: grid; place-items: center; width: 96px; height: 96px; border-radius: 50%; background: var(--tp-surface); border: 2px solid var(--tp-line); color: var(--tp-ink); transition: border-color .15s ease; }
.tdp-cat-ic svg { width: 48px; height: 48px; }
html body.el-v2 .tdp-cat-ic .el-v2-cat-ic .a, html body.el-v2 .el-v2-catmenu .el-v2-cat-ic .a { fill: var(--tp-yellow); stroke: none; }
.tdp-cats a:hover .tdp-cat-ic { border-color: var(--tp-red); }
.tdp-cats a:hover { color: var(--tp-red-text) !important; }

/* Banda de ofertas */
.tdp-offers-band { margin-top: var(--tp-s6); padding: var(--tp-s6) 0 var(--tp-s4) !important; background: var(--tp-band); }

/* Pestañas de la home */
html body.el-v2 .tdp-feed .el-v2-tabs { gap: 8px; }
html body.el-v2 .el-v2-tabs button {
  height: 44px; padding: 0 20px; margin: 0; border-radius: 999px; border: 2px solid var(--tp-line-2); background: var(--tp-surface);
  color: var(--tp-ink); font-family: var(--tp-body); font-weight: 800; font-size: 15px; text-transform: none; letter-spacing: 0;
}
html body.el-v2 .el-v2-tabs button[aria-pressed="true"] { background: var(--tp-ink); border-color: var(--tp-ink); color: var(--tp-bg); }
html body.el-v2 .el-v2-tabs .el-v2-ic { display: none; }

/* Cómo comprar: secuencia real, numerada */
.tdp-steps { padding-bottom: var(--tp-s8) !important; }
.tdp-steps ol { counter-reset: tdp; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.tdp-steps li { counter-increment: tdp; position: relative; display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 24px 24px 24px 76px; background: var(--tp-surface); border: 1px solid var(--tp-line); border-radius: 16px; }
.tdp-steps li::before { content: counter(tdp); position: absolute; left: 24px; top: 22px; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--tp-yellow); color: #0b2167; font-family: var(--tp-display); font-weight: 800; font-size: 20px; }
.tdp-steps b { font-family: var(--tp-display); font-size: 21px; line-height: 1.2; color: var(--tp-ink); }
.tdp-steps span { color: var(--tp-mute); font-size: 15px; line-height: 1.5; }

/* Página Ofertas */
.tdp-offers-page { padding-top: var(--tp-s4) !important; padding-bottom: var(--tp-s8) !important; }
.tdp-page-head { margin: 0 0 var(--tp-s3); }
.tdp-page-head h1 { margin: 0 0 4px !important; font-size: clamp(34px, 4vw, 48px) !important; font-weight: 800; }
.tdp-page-head p { margin: 0; color: var(--tp-mute); font-weight: 600; }
.tdp-empty { padding: 48px 24px; text-align: center; background: var(--tp-surface); border: 1px solid var(--tp-line); border-radius: 16px; }
.tdp-empty p { margin: 0 0 16px; font-size: 17px; color: var(--tp-text); }
html body.el-v2.page .page-title, html body.el-v2.page-template-default .entry-header { display: none; }

/* Header: link Ofertas */
.tdp-offers-link { display: inline-flex; align-items: center; gap: 6px; height: 46px; padding: 0 14px; border-radius: 999px; color: var(--tp-ink) !important; font-weight: 800; font-size: 15px; text-decoration: none; white-space: nowrap; }
.tdp-offers-link .el-v2-ic { width: 20px; height: 20px; color: var(--tp-red); }
.tdp-offers-link:hover { background: var(--tp-surface-2); color: var(--tp-red-text) !important; }
html body.el-v2 .el-v2-catbtn { font-family: var(--tp-body); font-weight: 800; font-size: 15px; }
html body.el-v2 .el-v2-icbtn { font-family: var(--tp-body); font-weight: 800; }

/* ---------- Tienda ---------- */
html body.el-v2 .shop-page-title { background: transparent !important; }
html body.el-v2 .shop-page-title .page-title-inner { padding-top: 32px !important; padding-bottom: 8px !important; align-items: flex-end; }
html body.el-v2 h1.shop-page-title, html body.el-v2 .shop-page-title h1 { font-size: clamp(34px, 4vw, 48px) !important; font-weight: 800; color: var(--tp-ink) !important; margin: 0 !important; }
html body.el-v2 .woocommerce-breadcrumb, html body.el-v2 .woocommerce-breadcrumb a { color: var(--tp-mute) !important; font-weight: 600; font-size: 14px; }
html body.el-v2 .woocommerce-breadcrumb a:hover { color: var(--tp-red-text) !important; }
html body.el-v2 .facetwp-counts, html body.el-v2 .woocommerce-result-count { color: var(--tp-mute) !important; font-weight: 600; font-size: 14px; }
html body.el-v2 .el-v2-sort a, html body.el-v2 .el-v2-sort button, html body.el-v2 .el-v2-sort label {
  height: 40px; display: inline-flex; align-items: center; border-radius: 999px; border: 2px solid var(--tp-line-2) !important;
  background: var(--tp-surface) !important; color: var(--tp-ink) !important; font-weight: 800; font-size: 14px;
}
html body.el-v2 .el-v2-sort .is-on, html body.el-v2 .el-v2-sort [aria-current="true"], html body.el-v2 .el-v2-sort [aria-pressed="true"], html body.el-v2 .el-v2-sort input:checked + label {
  background: var(--tp-ink) !important; border-color: var(--tp-ink) !important; color: var(--tp-bg) !important;
}
html body.el-v2 #shop-sidebar .fwp-filtros > div:not(:empty) { background: var(--tp-surface) !important; border: 1px solid var(--tp-line) !important; border-radius: 16px !important; }
html body.el-v2 #shop-sidebar .fwp-filtros { color: var(--tp-text); font-size: 15px; }
html body.el-v2 #shop-sidebar .fwp-accordion .fwp-acc-title, html body.el-v2 #shop-sidebar .facet-label { color: var(--tp-ink) !important; font-family: var(--tp-body) !important; font-weight: 800 !important; font-size: 16px !important; }
html body.el-v2 #shop-sidebar .facetwp-facet-busqueda .facetwp-search, html body.el-v2 #shop-sidebar .ed-marca-facet-search {
  height: 44px; background: var(--tp-surface-2) !important; border: 1.5px solid transparent !important; color: var(--tp-text) !important; border-radius: 999px !important;
}
html body.el-v2 #shop-sidebar .facetwp-facet-busqueda .facetwp-search:focus { border-color: var(--tp-ink) !important; background: var(--tp-surface) !important; }
html body.el-v2 #shop-sidebar .facetwp-search::placeholder { color: var(--tp-mute); opacity: 1; }
:root[data-theme="dark"] body.el-v2 #shop-sidebar .facetwp-icon { filter: invert(1); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) body.el-v2 #shop-sidebar .facetwp-icon { filter: invert(1); } }
html body.el-v2 #shop-sidebar .facetwp-checkbox { color: var(--tp-text); background-image: none !important; padding-left: 0 !important; }
html body.el-v2 #shop-sidebar .facetwp-checkbox:hover { color: var(--tp-red-text); }
html body.el-v2 #shop-sidebar .facetwp-counter { color: var(--tp-mute); }
html body.el-v2 .fwp-filtros > div:has(> .facet-wrap[style*="display: none"]) { display: none !important; }

/* ---------- Ficha ---------- */
html body.el-v2.single-product .product-main { padding-top: 24px; }
html body.el-v2.single-product .ed-product-topbar { margin-bottom: 16px; }
html body.el-v2.single-product .ed-product-topbar a { color: var(--tp-mute); }
html body.el-v2.single-product .row.content-row {
  display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start;
  margin: 0 !important; padding: 32px !important; background: var(--tp-surface) !important; border: 1px solid var(--tp-line) !important; border-radius: 24px !important;
}
html body.el-v2.single-product .row.content-row > .col { flex: none !important; max-width: none !important; width: auto !important; padding: 0 !important; }
html body.el-v2.single-product .product-info h1.product-title { margin: 0 0 16px !important; font-size: clamp(30px, 3vw, 42px) !important; font-weight: 800; line-height: 1.08 !important; }
html body.el-v2.single-product .product-info .is-divider { display: none; }
html body.el-v2.single-product .product-info .price-wrapper { margin: 0 0 12px; }
.tdp-save-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 8px; }
.tdp-save-row .tdp-save { font-size: 15px; }
html body.el-v2.single-product .woocommerce-product-details__short-description { margin: 16px 0 24px; max-width: 46ch; color: var(--tp-text); font-size: 17px; line-height: 1.55; }
html body.el-v2.single-product form.cart { display: flex !important; flex-wrap: wrap; align-items: stretch; gap: 12px; margin: 0 0 16px !important; }
html body.el-v2.single-product form.cart .single_add_to_cart_button { flex: 1 1 220px; height: 52px; min-height: 52px; font-size: 17px !important; }
html body.el-v2.single-product form.cart .ux-quantity, html body.el-v2.single-product form.cart .quantity {
  display: inline-flex !important; align-items: center; height: 52px; margin: 0 !important; padding: 0 4px; overflow: hidden;
  border: 2px solid var(--tp-line-2) !important; border-radius: 999px !important; background: var(--tp-surface) !important;
}
html body.el-v2.single-product form.cart .quantity input.qty { width: 44px; height: 44px; padding: 0; text-align: center; background: transparent !important; border: 0 !important; color: var(--tp-text) !important; font-weight: 800; font-size: 17px; box-shadow: none !important; }
html body.el-v2.single-product form.cart .ux-quantity__button { width: 40px; height: 44px; margin: 0; padding: 0; background: transparent !important; color: var(--tp-red-text) !important; border: 0 !important; font-size: 22px; font-weight: 800; box-shadow: none !important; }
html body.el-v2.single-product .product_meta { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--tp-line); color: var(--tp-mute); font-size: 14px; }
html body.el-v2.single-product .product_meta > span { display: block; margin-bottom: 4px; }
html body.el-v2.single-product .product_meta a { color: var(--tp-ink); font-weight: 700; }
.tdp-paynote { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border-radius: 16px; background: var(--tp-surface-2); color: var(--tp-ink); }
.tdp-paynote svg { flex: 0 0 auto; margin-top: 2px; color: var(--tp-red); }
.tdp-paynote p { margin: 0; display: flex; flex-direction: column; gap: 2px; }
.tdp-paynote b { font-weight: 800; font-size: 16px; line-height: 1.25; }
.tdp-paynote span { color: var(--tp-mute); font-size: 14.5px; line-height: 1.4; }

/* Galería */
.tdp-gallery { display: flex; flex-direction: column; gap: 12px; }
.tdp-stage { position: relative; aspect-ratio: 1 / 1; border-radius: 16px; overflow: hidden; background: #fff; border: 1px solid var(--tp-line); }
.tdp-slide { position: absolute; inset: 0; margin: 0; display: grid; place-items: center; }
.tdp-slide[hidden] { display: none; }
.tdp-slide a { display: block; width: 100%; height: 100%; }
.tdp-slide img { display: block; width: 100% !important; height: 100% !important; object-fit: contain; }
.tdp-slide-video, .tdp-slide video, .tdp-slide iframe { background: #0b2167; }
.tdp-slide video, .tdp-slide iframe { display: block; width: 100%; height: 100%; border: 0; object-fit: contain; }
.tdp-nav { position: absolute; top: 50%; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; margin: -22px 0 0; padding: 0; border: 1px solid var(--tp-line); border-radius: 50%; background: #fff; color: #0b2167; box-shadow: 0 4px 14px rgba(11, 33, 103, .14); cursor: pointer; }
.tdp-nav.is-prev { left: 12px; } .tdp-nav.is-next { right: 12px; }
.tdp-nav:hover { color: #e30613; }
.tdp-count { position: absolute; right: 12px; bottom: 12px; z-index: 2; padding: 4px 10px; border-radius: 999px; background: rgba(11, 33, 103, .85); color: #fff; font-weight: 800; font-size: 13px; }
.tdp-slide-video:not([hidden]) ~ .tdp-count { bottom: auto; top: 12px; }
.tdp-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.tdp-thumbs li { margin: 0; }
.tdp-thumbs button { position: relative; display: block; width: 100%; aspect-ratio: 1 / 1; height: auto; margin: 0; padding: 0; overflow: hidden; border: 2px solid var(--tp-line); border-radius: 12px; background: #fff; cursor: pointer; }
.tdp-thumbs button[aria-current="true"] { border-color: var(--tp-red); }
.tdp-thumbs img { display: block; width: 100%; height: 100%; object-fit: contain; }
.tdp-play { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(11, 33, 103, .45); color: #fff; }
.tdp-play svg { width: 24px; height: 24px; }

/* Pestañas de la ficha */
html body.el-v2.single-product .product-footer { padding-bottom: var(--tp-s8); background: transparent !important; }
html body.el-v2.single-product .woocommerce-tabs .tabs { border-color: var(--tp-line) !important; }
html body.el-v2.single-product .woocommerce-tabs .tabs li a { color: var(--tp-mute) !important; font-family: var(--tp-body); font-weight: 800; font-size: 16px; text-transform: none; letter-spacing: 0; }
html body.el-v2.single-product .woocommerce-tabs .tabs li.active a { color: var(--tp-ink) !important; box-shadow: inset 0 -3px 0 var(--tp-red); }
html body.el-v2.single-product .woocommerce-tabs .tabs li::before, html body.el-v2.single-product .woocommerce-tabs .tabs li::after { display: none; }
html body.el-v2.single-product .woocommerce-Tabs-panel { max-width: 72ch; color: var(--tp-text); font-size: 16.5px; line-height: 1.6; }
html body.el-v2.single-product .woocommerce-Tabs-panel h2 { font-size: 26px !important; }

/* ---------- Carrito, checkout, cuenta ---------- */
html body.el-v2 .shop_table, html body.el-v2 .cart-sidebar, html body.el-v2 .checkout-sidebar, html body.el-v2 .col-inner.has-border,
html body.el-v2 .woocommerce-cart-form, html body.el-v2 .woocommerce-order, html body.el-v2 .woocommerce-form-login, html body.el-v2 .woocommerce-form-register, html body.el-v2 .el-v2-acc-card {
  background: var(--tp-surface) !important; color: var(--tp-text) !important; border-color: var(--tp-line) !important;
}
html body.el-v2 .shop_table th, html body.el-v2 .shop_table td { border-color: var(--tp-line) !important; color: var(--tp-text); }
html body.el-v2 .shop_table .order-total th, html body.el-v2 .shop_table .order-total td, html body.el-v2 .shop_table .order-total .amount { color: var(--tp-ink) !important; font-family: var(--tp-display); font-size: 22px; }
html body.el-v2 .woocommerce-billing-fields h3, html body.el-v2 #order_review_heading, html body.el-v2 .woocommerce-additional-fields h3, html body.el-v2 .cart_totals h2 { font-family: var(--tp-display) !important; color: var(--tp-ink) !important; font-size: 24px !important; }
html body.el-v2 .woocommerce form .form-row label { color: var(--tp-text) !important; font-weight: 700; }
html body.el-v2 .woocommerce form .form-row input.input-text, html body.el-v2 .woocommerce form .form-row textarea, html body.el-v2 .woocommerce form .form-row select { min-height: 48px; }
html body.el-v2 #payment, html body.el-v2 .woocommerce-checkout-payment { background: transparent !important; }
html body.el-v2 #payment .payment_methods > li { background: var(--tp-surface-2) !important; border: 0 !important; border-radius: 16px; color: var(--tp-ink); }
html body.el-v2 #payment .payment_box { background: transparent !important; color: var(--tp-mute) !important; }
html body.el-v2 #payment .payment_box::before { display: none !important; }
html body.el-v2 #place_order { width: 100%; height: 56px; font-size: 18px !important; }
html body.el-v2 .wc-proceed-to-checkout .checkout-button { width: 100%; }
html body.el-v2 .woocommerce-info, html body.el-v2 .woocommerce-message, html body.el-v2 .message-wrapper { background: var(--tp-surface-2) !important; color: var(--tp-text) !important; border: 0 !important; border-radius: 16px; }
html body.el-v2 .woocommerce-info a, html body.el-v2 .woocommerce-message a { color: var(--tp-red-text) !important; font-weight: 800; }
html body.el-v2 .button-continue-shopping { height: 44px; display: inline-flex !important; align-items: center; border: 2px solid var(--tp-red-text) !important; color: var(--tp-red-text) !important; background: transparent !important; border-radius: 999px !important; text-transform: none !important; font-weight: 800 !important; }
html body.el-v2 .cart_totals .shop_table_responsive tr { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
html body.el-v2 .cart_totals .shop_table_responsive td { border: 0; text-align: right; }
html body.el-v2 .el-v2-acc-intro h1 { font-size: 40px !important; }
html body.el-v2 .el-v2-acc-intro p { color: var(--tp-mute); }

/* ---------- Footer ---------- */
html body.el-v2 #footer, html body.el-v2 .el-v2-foot { background: var(--tp-foot) !important; color: #c9d1ec; }
html body.el-v2 .el-v2-foot a { color: #e8ecf8 !important; }
html body.el-v2 .el-v2-foot a:hover { color: var(--tp-yellow) !important; }
html body.el-v2 .el-v2-foot h2 { color: var(--tp-yellow) !important; font-family: var(--tp-body) !important; font-weight: 800; font-size: 16px !important; }
html body.el-v2 .el-v2-foot-logo img { width: 112px !important; height: 112px !important; aspect-ratio: 1 / 1 !important; object-fit: contain; background: none !important; padding: 0 !important; border-radius: 0 !important; filter: none !important; }
html body.el-v2 .el-v2-foot-bottom { border-color: rgba(255, 255, 255, .12) !important; color: #9aa6cf; }
html body.el-v2 .el-v2-foot-pays span { display: inline-flex; align-items: center; height: 32px; padding: 0 14px; border-radius: 999px; background: var(--tp-yellow); color: #0b2167; font-weight: 800; }

/* ---------- Celular ---------- */
html body.el-v2 .el-dock { background: var(--tp-surface) !important; border-color: var(--tp-line) !important; }
html body.el-v2 .el-dock-item { color: var(--tp-ink) !important; }
html body.el-v2 .el-top-fab { background: var(--tp-surface) !important; color: var(--tp-ink) !important; border: 1px solid var(--tp-line) !important; }
html body.el-v2 .el-v2-toast { background: var(--tp-ink) !important; color: var(--tp-bg) !important; }

@media (max-width: 1100px) {
  html body.el-v2 .tdp-offers-link span { display: none; }
}
@media (max-width: 849px) {
  html body.el-v2 .el-v2-wrap { padding-left: 16px; padding-right: 16px; }
  html body.el-v2 .el-v2-main .el-v2-wrap { min-height: 64px; flex-wrap: wrap; row-gap: 12px; padding-bottom: 12px; }
  html body.el-v2 .el-v2-logo { width: 68px; height: 60px; }
  html body.el-v2 .el-v2-logo img { width: 72px !important; height: 72px !important; top: 2px; }
  html body.el-v2 .tdp-offers-link { display: none; }
  .tdp-hero-in { grid-template-columns: 1fr; gap: 32px; padding-top: 32px !important; padding-bottom: 40px !important; }
  .tdp-hero-txt h1 { font-size: clamp(36px, 10.5vw, 52px) !important; }
  .tdp-hero-txt p { font-size: 17px; margin-bottom: 24px; }
  .tdp-hero-btns .tdp-btn { flex: 1 1 100%; }
  .tdp-hero-pick { justify-self: center; max-width: 320px; margin-left: 20px; }
  .tdp-hero-tag { left: -20px; bottom: 20px; padding: 10px 16px 10px 30px; }
  .tdp-hero-tag b { font-size: 26px; }
  .tdp-sec { padding-top: 40px !important; }
  .tdp-sec-head h2 { font-size: 26px !important; }
  .tdp-more { font-size: 14px; }
  .tdp-cats ul { gap: 12px; }
  .tdp-cats a { width: 84px; font-size: 13px; gap: 8px; }
  .tdp-cat-ic { width: 72px; height: 72px; }
  .tdp-cat-ic svg { width: 36px; height: 36px; }
  html body.el-v2 .tdp-feed .el-v2-tabs { flex-wrap: wrap; }
  html body.el-v2 .tdp-feed .el-v2-tabs .tdp-more { flex: 1 1 100%; margin-left: 0; order: 3; }
  .tdp-steps ol { grid-template-columns: 1fr; }
  html body.el-v2 .products .product-small.col { padding: 0 6px 12px !important; }
  html body.el-v2 .products .box-text { padding: 12px !important; }
  html body.el-v2 .products .box-text .title-wrapper { margin-bottom: 12px; }
  html body.el-v2 .products .box-text .product-title { font-size: 14px !important; }
  html body.el-v2 .products .price > .woocommerce-Price-amount, html body.el-v2 .products .price ins { height: 32px; font-size: 19px !important; padding: 2px 10px 0 18px; }
  html body.el-v2 .products .price-wrapper { min-height: 60px; margin-bottom: 12px !important; }
  html body.el-v2 .products .add-to-cart-button .button { height: 44px; min-height: 44px; padding: 0 12px !important; font-size: 15px !important; }
  .tdp-badges { top: 8px; left: 8px; gap: 4px; }
  .tdp-b { height: 24px; padding: 0 8px; font-size: 12px; }
  html body.el-v2.single-product .row.content-row { grid-template-columns: 1fr; gap: 24px; padding: 16px !important; border-radius: 20px !important; }
  html body.el-v2.single-product .product-info .price > .woocommerce-Price-amount, html body.el-v2.single-product .product-info .price ins { height: 46px; font-size: 30px !important; }
  .tdp-thumbs { gap: 8px; }
}
/* Tarjeta angosta (2 por fila en celular): el botón dice "Agregar" */
@media (max-width: 549px) {
  html body.el-v2 .products .add-to-cart-button .button { font-size: 0 !important; }
  html body.el-v2 .products .add-to-cart-button .button::after { content: "Agregar" !important; font-size: 15px; font-weight: 800; }
}

/* ---------- Un solo borde izquierdo/derecho para todo el sitio (1280 + 24 px) ---------- */
html body.el-v2 .shop-page-title .page-title-inner,
html body.el-v2 .category-page-row,
html body.el-v2.single-product .product-main,
html body.el-v2.single-product .product-footer > .container,
html body.el-v2 .row.row-main {
  max-width: 1280px !important; margin-left: auto !important; margin-right: auto !important;
  padding-left: 24px !important; padding-right: 24px !important; box-sizing: border-box; width: 100%;
}
html body.el-v2 .shop-page-title .page-title-inner > .flex-col { padding: 0 !important; }
html body.el-v2 .shop-page-title .page-title-inner > .flex-col:first-child:empty { display: none; }
html body.el-v2 .shop-page-title .page-title-inner .flex-center { text-align: left !important; align-items: flex-start; }
html body.el-v2 .category-page-row > .col, html body.el-v2 .row.row-main > .col { padding-left: 0 !important; padding-right: 0 !important; }
html body.el-v2 .category-page-row > #shop-sidebar, html body.el-v2 .category-page-row > .large-3 { padding-right: 24px !important; }
html body.el-v2 .category-page-row .products { margin-left: -8px !important; margin-right: -8px !important; }
html body.el-v2.single-product .woocommerce-tabs { padding-left: 0 !important; padding-right: 0 !important; }
html body.el-v2 .row-main .tdp-offers-page { max-width: none; padding-left: 0 !important; padding-right: 0 !important; }
html body.el-v2 #shop-sidebar .fwp-filtros > div:not(:empty) { padding: 16px !important; margin-bottom: 12px !important; }
html body.el-v2 #shop-sidebar .facet-wrap, html body.el-v2 #shop-sidebar .facetwp-facet { margin-bottom: 0 !important; padding-bottom: 0 !important; }
html body.el-v2 #shop-sidebar .facet-label { padding-top: 0 !important; padding-bottom: 12px !important; }
.tdp-pager-hidden { display: none !important; }
@media (max-width: 849px) {
  html body.el-v2 .shop-page-title .page-title-inner, html body.el-v2 .category-page-row, html body.el-v2.single-product .product-main,
  html body.el-v2.single-product .product-footer > .container, html body.el-v2 .row.row-main { padding-left: 16px !important; padding-right: 16px !important; }
  html body.el-v2 .category-page-row .products { margin-left: -6px !important; margin-right: -6px !important; }
}
html body.el-v2 .shop-container .row.category-page-row { max-width: 1280px !important; padding-left: 24px !important; padding-right: 24px !important; margin-left: auto !important; margin-right: auto !important; }
html body.el-v2.single-product .product-container, html body.el-v2.single-product .shop-container, html body.el-v2.single-product .product.type-product { max-width: none !important; width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
@media (max-width: 849px) { html body.el-v2 .shop-container .row.category-page-row { padding-left: 16px !important; padding-right: 16px !important; } }
html body.el-v2 #main .row.category-page-row { max-width: 1280px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 24px !important; padding-right: 24px !important; }
html body.el-v2 #main:has(> .row.category-page-row) { max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
html body.el-v2 #main .row.category-page-row > .col { padding-left: 0 !important; padding-right: 0 !important; }
html body.el-v2 #main .row.category-page-row > .col.large-3 { padding-right: 24px !important; }
@media (max-width: 849px) { html body.el-v2 #main .row.category-page-row { padding-left: 16px !important; padding-right: 16px !important; } }

/* ---------- Carrito y checkout: estructura ---------- */
html body.el-v2 .row.row-main { padding-top: 32px !important; padding-bottom: 64px !important; }
html body.el-v2 #main { min-height: 60vh; }
.tdp-page-h { margin: 0 0 24px !important; font-family: var(--tp-display) !important; font-weight: 800 !important; font-size: clamp(32px, 3.6vw, 44px) !important; line-height: 1.05 !important; color: var(--tp-ink) !important; }
html body.el-v2.woocommerce-cart .row-main .woocommerce.row {
  display: grid !important; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; align-items: start; margin: 0 !important; max-width: none !important;
}
html body.el-v2.woocommerce-cart .row-main .woocommerce.row > .col { width: auto !important; max-width: none !important; flex: none !important; padding: 0 !important; border: 0 !important; }
html body.el-v2.woocommerce-cart .row-main .woocommerce.row::after, html body.el-v2.woocommerce-cart .row-main .woocommerce.row::before { display: none !important; }
html body.el-v2 .woocommerce-cart-form, html body.el-v2 .cart-sidebar { padding: 24px !important; border: 1px solid var(--tp-line) !important; border-radius: 24px !important; }
html body.el-v2 .cart_totals { display: flex; flex-direction: column; gap: 16px; }
html body.el-v2 .cart_totals > h2 { order: 0; display: block !important; margin: 0 !important; }
html body.el-v2 .cart_totals > table { order: 1; margin: 0 !important; }
html body.el-v2 .cart_totals > .wc-proceed-to-checkout { order: 2; padding: 0 !important; margin: 0 !important; }
html body.el-v2 .cart_totals tr { border: 0 !important; }
html body.el-v2 .cart_totals th, html body.el-v2 .cart_totals td { border: 0 !important; padding: 6px 0 !important; text-decoration: none !important; }
html body.el-v2 .cart_totals .order-total { border-top: 1px solid var(--tp-line) !important; padding-top: 8px; }
html body.el-v2 .cart-sidebar .tdp-paynote { margin-top: 16px; }
html body.el-v2 .shop_table .product-remove a.remove { color: var(--tp-mute) !important; font-size: 22px; }
html body.el-v2 .shop_table .product-remove a.remove:hover { color: var(--tp-red-text) !important; background: transparent !important; }
html body.el-v2 button[name="update_cart"] { height: 44px; padding: 0 20px !important; border-radius: 999px !important; background: transparent !important; color: var(--tp-ink) !important; border: 2px solid var(--tp-line-2) !important; font-weight: 800 !important; text-transform: none !important; opacity: 1 !important; }
html body.el-v2 button[name="update_cart"]:disabled { opacity: .55 !important; }
html body.el-v2 .button-continue-shopping { gap: 6px; padding: 0 18px !important; }
/* Checkout */
html body.el-v2 .checkout-sidebar, html body.el-v2 form.checkout .col-inner.has-border { padding: 24px !important; border: 1px solid var(--tp-line) !important; border-radius: 24px !important; }
html body.el-v2 .woocommerce-checkout-review-order-table th:last-child, html body.el-v2 .woocommerce-checkout-review-order-table td:last-child { text-align: right !important; }
html body.el-v2 .woocommerce-checkout-review-order-table th, html body.el-v2 .woocommerce-checkout-review-order-table td { padding: 12px 0 !important; }
html body.el-v2 #payment .payment_methods label { color: var(--tp-ink) !important; font-weight: 800; }
html body.el-v2 .woocommerce form .form-row input.input-text, html body.el-v2 .woocommerce form .form-row textarea, html body.el-v2 .woocommerce form .form-row select, html body.el-v2 .select2-container .select2-selection {
  border-radius: 12px !important; border: 1.5px solid var(--tp-line-2) !important; background: var(--tp-surface) !important; color: var(--tp-text) !important;
}
html body.el-v2 .select2-container .select2-selection__rendered { color: var(--tp-text) !important; line-height: 46px !important; }
html body.el-v2 .select2-container .select2-selection--single { height: 48px !important; }
html body.el-v2 .select2-dropdown { background: var(--tp-surface); color: var(--tp-text); border-color: var(--tp-line-2); }
html body.el-v2 input[type="checkbox"] { accent-color: var(--tp-red); width: 18px; height: 18px; }
html body.el-v2 .woocommerce-form-login-toggle .woocommerce-info { margin-bottom: 24px; }
@media (max-width: 849px) {
  html body.el-v2.woocommerce-cart .row-main .woocommerce.row { grid-template-columns: 1fr; }
  html body.el-v2 .woocommerce-cart-form, html body.el-v2 .cart-sidebar, html body.el-v2 .checkout-sidebar { padding: 16px !important; border-radius: 20px !important; }
  html body.el-v2 .row.row-main { padding-top: 24px !important; }
}
html body.el-v2.woocommerce-cart .row-main .woocommerce { padding: 0 !important; }
html body.el-v2.woocommerce-cart .row-main .woocommerce.row, html body.el-v2.woocommerce-cart .row-main .woocommerce.row > * { min-width: 0; }
html body.el-v2 .cart-sidebar { display: flex; flex-direction: column; }
html body.el-v2 .cart-sidebar .tdp-paynote { order: 5; margin-top: 16px; }
html body.el-v2 .cart_totals td::before { display: none !important; }
html body.el-v2 .shop_table .quantity, html body.el-v2 .shop_table .ux-quantity { background: var(--tp-surface) !important; border-color: var(--tp-line-2) !important; }
html body.el-v2 .shop_table .quantity input.qty { background: transparent !important; color: var(--tp-text) !important; border: 0 !important; }
html body.el-v2 .shop_table .ux-quantity__button { background: transparent !important; color: var(--tp-red-text) !important; border: 0 !important; }
@media (max-width: 849px) {
  html body.el-v2.woocommerce-cart .row-main .woocommerce.row { grid-template-columns: minmax(0, 1fr) !important; }
  html body.el-v2 .cart-wrapper, html body.el-v2 .woocommerce-cart-form .shop_table { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  html body.el-v2 .woocommerce-cart-form .shop_table tr.cart_item { position: relative; display: block; padding-right: 32px; }
  html body.el-v2 .woocommerce-cart-form .shop_table td.product-remove { position: absolute !important; right: 0; top: 4px; width: auto !important; padding: 0 !important; }
}
html body.el-v2 { --theme-font-family: var(--tp-body); --theme-headings-font-family: var(--tp-display); }
html body.el-v2 *:not(svg):not(path) { font-family: inherit; }
html body.el-v2 h1, html body.el-v2 h2, html body.el-v2 .tdp-page-h, html body.el-v2 .tdp-sec-head h2, html body.el-v2 .tdp-steps b, html body.el-v2 .tdp-hero-tag b, html body.el-v2 .price, html body.el-v2 .price *, html body.el-v2 .shop_table .order-total .amount, html body.el-v2 .tdp-steps li::before { font-family: var(--tp-display) !important; }
html body.el-v2 .price del, html body.el-v2 .price del * { font-family: var(--tp-body) !important; }
html body.el-v2 .col-inner.has-border .checkout-sidebar { border: 0 !important; padding: 0 !important; border-radius: 0 !important; background: transparent !important; }
html body.el-v2 .cart_totals .shop_table_responsive th { display: block !important; padding: 6px 0 !important; color: var(--tp-text); font-weight: 700; }
html body.el-v2 .cart_totals .shop_table_responsive td { display: block !important; }

/* ---------- Pedido recibido ---------- */
html body.el-v2 .woocommerce-order { background: transparent !important; }
html body.el-v2 .woocommerce-thankyou-order-received {
  display: flex; flex-direction: column; gap: 6px; margin: 0 0 24px !important; padding: 24px 28px !important;
  background: var(--tp-yellow) !important; color: #0b2167 !important; border: 0 !important; border-radius: 24px !important;
}
html body.el-v2 .woocommerce-thankyou-order-received::before, html body.el-v2 .woocommerce-thankyou-order-received svg { display: none !important; }
.tdp-ty-h { font-family: var(--tp-display); font-weight: 800; font-size: clamp(26px, 3vw, 36px); line-height: 1.1; }
.tdp-ty-p { font-size: 16px; font-weight: 600; max-width: 60ch; }
html body.el-v2 ul.woocommerce-order-overview {
  display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 24px !important; padding: 0 !important; list-style: none; border: 0 !important;
}
html body.el-v2 ul.woocommerce-order-overview li {
  margin: 0 !important; padding: 16px !important; border: 1px solid var(--tp-line) !important; border-radius: 16px; background: var(--tp-surface);
  color: var(--tp-mute); font-size: 14px; font-weight: 600; float: none !important; width: auto !important;
}
html body.el-v2 ul.woocommerce-order-overview li strong { display: block; margin-top: 4px; color: var(--tp-ink); font-size: 17px; font-weight: 800; }
html body.el-v2 .woocommerce-order > p { color: var(--tp-text); }
html body.el-v2 .woocommerce-order-details, html body.el-v2 .woocommerce-customer-details { margin-top: 24px; padding: 24px; background: var(--tp-surface); border: 1px solid var(--tp-line); border-radius: 24px; }
html body.el-v2 .woocommerce-order-details__title, html body.el-v2 .woocommerce-column__title { margin: 0 0 12px !important; font-family: var(--tp-display) !important; font-size: 24px !important; color: var(--tp-ink) !important; }
html body.el-v2 .woocommerce-table--order-details th:last-child, html body.el-v2 .woocommerce-table--order-details td:last-child { text-align: right !important; }
html body.el-v2 .woocommerce-table--order-details tfoot tr:nth-last-child(2) th, html body.el-v2 .woocommerce-table--order-details tfoot tr:nth-last-child(2) td { color: var(--tp-ink); font-family: var(--tp-display); font-size: 20px; }
html body.el-v2 .woocommerce-customer-details address { border: 0 !important; padding: 0 !important; color: var(--tp-text); font-style: normal; line-height: 1.6; }
@media (max-width: 849px) { html body.el-v2 ul.woocommerce-order-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); } html body.el-v2 .woocommerce-order-details, html body.el-v2 .woocommerce-customer-details { padding: 16px; border-radius: 20px; } }

/* ================================================================
 * Cabecera estilo marketplace (referencia: Mercado Libre)
 * Fila 1: logo · buscador · cuenta/carrito. Fila 2: CP · secciones · envío gratis.
 * ================================================================ */
:root { --tp-hd: #ffd500; --tp-hd-ink: #0b2167; --tp-hd-hover: rgba(11, 33, 103, .08); --tp-ok: #00a650; --tp-ok-ink: #007a3c; --tp-search: #ffffff; --tp-search-ink: #1c2648; }
:root[data-theme="dark"] { --tp-hd: #0f1a3d; --tp-hd-ink: #f2f4fb; --tp-hd-hover: rgba(255, 255, 255, .08); --tp-ok: #00a650; --tp-ok-ink: #3ddc84; --tp-search: #18244f; --tp-search-ink: #eef1fa; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --tp-hd: #0f1a3d; --tp-hd-ink: #f2f4fb; --tp-hd-hover: rgba(255, 255, 255, .08); --tp-ok-ink: #3ddc84; --tp-search: #18244f; --tp-search-ink: #eef1fa; } }

html body.el-v2 #header, html body.el-v2 .header-wrapper { background: var(--tp-hd) !important; box-shadow: 0 1px 0 rgba(11, 33, 103, .12) !important; }
html body.el-v2 #header { position: sticky; top: 0; z-index: 100; }
.tdp-hd { color: var(--tp-hd-ink); }
.tdp-hd a, .tdp-hd button { color: inherit; }
.tdp-hd-r1 { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "logo search act"; align-items: center; gap: 24px; min-height: 72px; }
.tdp-menu-btn { display: none !important; grid-area: menu; }
.tdp-logo { grid-area: logo; display: block; width: 60px; height: 60px; flex: 0 0 auto; }
.tdp-logo img { display: block; width: 60px !important; height: 60px !important; object-fit: contain; }
.tdp-search { grid-area: search; position: relative; width: 100%; max-width: 760px; margin: 0; }
.tdp-search input[type="search"] {
  display: block; width: 100%; height: 44px; margin: 0; padding: 0 56px 0 16px !important;
  background: var(--tp-search) !important; color: var(--tp-search-ink) !important; border: 1px solid transparent !important; border-radius: 8px !important;
  box-shadow: 0 1px 2px rgba(11, 33, 103, .18) !important; font-family: var(--tp-body); font-size: 15.5px; -webkit-appearance: none; appearance: none;
}
:root[data-theme="dark"] .tdp-search input[type="search"] { border-color: #34447a !important; box-shadow: none !important; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .tdp-search input[type="search"] { border-color: #34447a !important; box-shadow: none !important; } }
.tdp-search input[type="search"]::placeholder { color: var(--tp-mute); opacity: 1; }
.tdp-search input[type="search"]:focus { outline: none !important; border-color: var(--tp-ink) !important; box-shadow: 0 0 0 3px rgba(11, 33, 103, .2) !important; }
.tdp-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.tdp-search button[type="submit"] {
  position: absolute; top: 0; right: 0; display: grid; place-items: center; width: 52px; height: 44px; margin: 0; padding: 0;
  border: 0; border-left: 1px solid var(--tp-line); border-radius: 0 8px 8px 0; background: transparent; color: var(--tp-search-ink) !important; cursor: pointer;
}
.tdp-search button[type="submit"]:hover { color: var(--tp-red-text) !important; }
.tdp-hd-act { grid-area: act; display: flex; align-items: center; gap: 4px; }
.tdp-hd-ic { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 44px; min-width: 44px; padding: 0 10px; border: 0; border-radius: 8px; background: transparent; font-weight: 700; font-size: 14.5px; text-decoration: none; cursor: pointer; }
.tdp-hd-ic:hover { background: var(--tp-hd-hover); }
.tdp-hd-ic .el-v2-ic, .tdp-hd-ic .tdp-ic { width: 24px; height: 24px; }
.tdp-hd .tdp-theme { color: var(--tp-hd-ink); width: 44px; height: 44px; border-radius: 8px; }
.tdp-hd .tdp-theme:hover { background: var(--tp-hd-hover); }
html body.el-v2 .tdp-hd .el-v2-badge {
  position: absolute; top: 4px; right: 2px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px;
  display: grid; place-items: center; background: var(--tp-red); color: #fff; font-size: 12px; font-weight: 800; line-height: 1; box-shadow: 0 0 0 2px var(--tp-hd);
}
html body.el-v2 .tdp-hd .el-v2-badge[hidden] { display: none; }

.tdp-hd-r2 { border-top: 1px solid rgba(11, 33, 103, .1); }
:root[data-theme="dark"] .tdp-hd-r2 { border-top-color: rgba(255, 255, 255, .08); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .tdp-hd-r2 { border-top-color: rgba(255, 255, 255, .08); } }
.tdp-hd-r2-in { display: flex; align-items: center; gap: 24px; min-height: 44px; }
.tdp-cp { display: inline-flex; align-items: center; gap: 6px; height: 40px; margin: 0; padding: 0 8px 0 0; border: 0; background: transparent; text-align: left; cursor: pointer; flex: 0 0 auto; }
.tdp-cp .tdp-ic { width: 22px; height: 22px; }
.tdp-cp span { display: flex; flex-direction: column; line-height: 1.1; }
.tdp-cp small { font-size: 12px; font-weight: 600; opacity: .8; }
.tdp-cp b { font-size: 14px; font-weight: 800; }
.tdp-cp:hover b { text-decoration: underline; }
.tdp-hd-nav { display: flex; align-items: center; gap: 4px; flex: 1 1 auto; min-width: 0; }
.tdp-navlink { display: inline-flex; align-items: center; gap: 4px; height: 36px; margin: 0; padding: 0 10px; border: 0; border-radius: 8px; background: transparent; font-family: var(--tp-body); font-size: 14.5px; font-weight: 700; text-decoration: none; text-transform: none; letter-spacing: 0; cursor: pointer; white-space: nowrap; }
.tdp-navlink:hover, .tdp-navlink[aria-expanded="true"] { background: var(--tp-hd-hover); }
.tdp-navlink .tdp-ic { width: 16px; height: 16px; }
html body.el-v2 .tdp-hd .el-v2-catbtn { background: transparent !important; color: var(--tp-hd-ink) !important; height: 36px; padding: 0 10px; font-size: 14.5px; font-weight: 700; border-radius: 8px; }
html body.el-v2 .tdp-hd .el-v2-catbtn:hover, html body.el-v2 .tdp-hd .el-v2-catbtn[aria-expanded="true"] { background: var(--tp-hd-hover) !important; }
.tdp-ship-msg { display: inline-flex; align-items: center; gap: 8px; min-width: 0; font-weight: 800; font-size: 14px; line-height: 1.2; }
.tdp-ship-msg .tdp-ic { flex: 0 0 auto; width: 22px; height: 22px; }
.tdp-ship-msg > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tdp-hd .tdp-ship-msg { margin-left: auto; height: 32px; padding: 0 14px 0 10px; border-radius: 999px; background: #0b2167; color: #fff; }
:root[data-theme="dark"] .tdp-hd .tdp-ship-msg { background: var(--tp-yellow); color: #0b2167; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .tdp-hd .tdp-ship-msg { background: var(--tp-yellow); color: #0b2167; } }
.tdp-hd .tdp-ship-msg.is-ok { background: var(--tp-ok) !important; color: #fff !important; }

/* Panel de categorías bajo «Categorías» */
html body.el-v2 .tdp-hd .el-v2-catwrap { position: relative; }
html body.el-v2 .tdp-hd .el-v2-catmenu { color: var(--tp-text); }
.tdp-only-m { display: none !important; }

/* Sugerencias */
.tdp-sugg { position: absolute; z-index: 200; top: calc(100% + 6px); left: 0; right: 0; max-height: min(70vh, 560px); overflow-y: auto; padding: 6px 0; background: var(--tp-surface); color: var(--tp-text); border: 1px solid var(--tp-line); border-radius: 12px; box-shadow: 0 16px 40px rgba(11, 33, 103, .22); }
.tdp-sugg[hidden] { display: none; }
.tdp-sugg a, .tdp-sugg .tdp-sg-all { display: grid; align-items: center; gap: 12px; padding: 8px 16px; color: var(--tp-text) !important; text-decoration: none; }
.tdp-sg-cat { grid-template-columns: 24px minmax(0, 1fr) auto; min-height: 44px; }
.tdp-sg-cat svg { color: var(--tp-mute); }
.tdp-sg-cat small { color: var(--tp-mute); font-size: 13px; }
.tdp-sg-p { grid-template-columns: 48px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 12px; row-gap: 2px; }
.tdp-sg-p img { grid-row: 1 / 3; width: 48px; height: 48px; object-fit: contain; border-radius: 8px; background: #fff; border: 1px solid var(--tp-line); }
.tdp-sg-n { font-size: 15px; line-height: 1.3; }
.tdp-sg-pr { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; font-size: 14px; }
.tdp-sg-pr b { font-family: var(--tp-display); font-weight: 800; font-size: 17px; color: var(--tp-ink); }
.tdp-sg-pr s { color: var(--tp-mute); font-size: 13px; }
.tdp-sg-pr em { font-style: normal; font-weight: 800; color: var(--tp-ok-ink); font-size: 13px; }
.tdp-sugg mark { background: transparent; color: inherit; font-weight: 800; }
.tdp-sugg a:hover, .tdp-sugg .is-active { background: var(--tp-surface-2); }
.tdp-sg-empty { margin: 0; padding: 12px 16px; color: var(--tp-mute); }
.tdp-sugg .tdp-sg-all { width: 100%; margin: 6px 0 0; border: 0; border-top: 1px solid var(--tp-line); border-radius: 0; background: transparent; color: var(--tp-red-text) !important; font-family: var(--tp-body); font-weight: 800; font-size: 14.5px; text-align: left; text-transform: none; letter-spacing: 0; cursor: pointer; min-height: 44px; }

/* Diálogo de código postal */
.tdp-dlg { width: min(440px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 20px; background: var(--tp-surface); color: var(--tp-text); box-shadow: 0 24px 60px rgba(0, 0, 0, .35); }
.tdp-dlg::backdrop { background: rgba(5, 12, 40, .55); }
.tdp-dlg-in { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 28px 24px 24px; margin: 0; }
.tdp-dlg h2 { margin: 0 !important; padding-right: 32px; font-family: var(--tp-display) !important; font-size: 24px !important; color: var(--tp-ink) !important; line-height: 1.15 !important; }
.tdp-dlg p { margin: 0; color: var(--tp-mute); font-size: 15px; line-height: 1.45; }
.tdp-dlg label { margin: 4px 0 0; font-weight: 800; font-size: 14px; color: var(--tp-text); }
.tdp-dlg-row { display: flex; gap: 8px; }
.tdp-dlg-row input { flex: 1 1 auto; min-width: 0; height: 48px; margin: 0; padding: 0 14px; font-size: 18px !important; font-weight: 700; letter-spacing: .08em; }
.tdp-dlg-row .tdp-btn { flex: 0 0 auto; }
.tdp-dlg-x { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--tp-surface-2); color: var(--tp-ink); font-size: 22px; line-height: 1; cursor: pointer; }
.tdp-dlg-msg:empty { display: none; }
.tdp-dlg-msg.is-err { color: var(--tp-red-text) !important; font-weight: 700; }
.tdp-dlg-msg.is-ok { color: var(--tp-ok-ink) !important; font-weight: 800; }
.tdp-dlg-help { align-self: flex-start; color: var(--tp-mute) !important; font-size: 14px; text-decoration: underline; }

/* Progreso de envío gratis (carrito) */
.tdp-ship-prog { display: flex; flex-direction: column; gap: 8px; margin: 16px 0 0; padding: 14px 16px; border-radius: 14px; background: var(--tp-surface-2); color: var(--tp-ink); }
.tdp-ship-prog .tdp-ship-msg { font-size: 14.5px; }
.tdp-ship-prog.is-ok .tdp-ship-msg { color: var(--tp-ok-ink); }
.tdp-ship-bar { display: block; height: 6px; border-radius: 999px; background: var(--tp-line); overflow: hidden; }
.tdp-ship-bar i { display: block; height: 100%; border-radius: inherit; background: var(--tp-ok); transition: width .3s ease; }
.tdp-linkbtn { align-self: flex-start; margin: 0; padding: 0; border: 0; background: none; color: var(--tp-red-text); font-weight: 800; font-size: 14px; text-decoration: underline; cursor: pointer; text-transform: none; letter-spacing: 0; min-height: 0; }
html body.el-v2 .cart-sidebar .tdp-ship-prog { order: 4; }

/* ---------- Aviso «Agregado al carrito» (claro y oscuro) ---------- */
html body.el-v2 .el-v2-toast {
  left: auto !important; right: 24px !important; bottom: 24px !important; width: min(420px, calc(100vw - 24px)); max-width: none !important;
  display: flex; align-items: center; gap: 12px; padding: 12px 12px 12px 12px !important; border-radius: 16px !important;
  background: var(--tp-surface) !important; color: var(--tp-text) !important; border: 1px solid var(--tp-line); box-shadow: 0 18px 40px rgba(5, 12, 40, .28) !important;
}
html body.el-v2 .el-v2-toast-img { flex: 0 0 56px; height: 56px; border: 1px solid var(--tp-line); border-radius: 10px; background: #fff; }
html body.el-v2 .el-v2-toast-txt { gap: 2px; }
html body.el-v2 .el-v2-toast-txt b { display: inline-flex; align-items: center; gap: 6px; color: var(--tp-ok-ink); font-size: 14.5px; font-weight: 800; }
html body.el-v2 .el-v2-toast-txt small { color: var(--tp-text) !important; font-size: 14px; max-width: 220px; }
.tdp-toast-ship { font-size: 12.5px; font-weight: 700; color: var(--tp-mute); }
.tdp-toast-ship.is-ok { color: var(--tp-ok-ink); }
html body.el-v2 .el-v2-toast-go { flex: 0 0 auto; height: 40px; padding: 0 14px !important; border-radius: 999px; background: var(--tp-red) !important; color: #fff !important; font-weight: 800; font-size: 14px; display: inline-flex; align-items: center; text-decoration: none; }
html body.el-v2 .el-v2-toast-go:hover { background: var(--tp-red-d) !important; }
html body.el-v2 .el-v2-toast-x { flex: 0 0 auto; width: 32px; height: 32px; color: var(--tp-mute) !important; border-radius: 50%; }
html body.el-v2 .el-v2-toast-x:hover { background: var(--tp-surface-2); }
html body.el-v2 .el-v2-toast.is-err { background: var(--tp-surface) !important; border-color: var(--tp-red); }

/* ---------- Carrito lateral ---------- */
html body.el-v2 .el-v2-dw-panel { background: var(--tp-surface) !important; color: var(--tp-text) !important; }
html body.el-v2 .el-v2-dw header, html body.el-v2 .el-v2-dw-item, html body.el-v2 .el-v2-dw-sum, html body.el-v2 .el-v2-dw footer { border-color: var(--tp-line) !important; background: transparent; }
html body.el-v2 .el-v2-dw h2 { color: var(--tp-ink) !important; font-family: var(--tp-display) !important; }
html body.el-v2 .el-v2-dw-x { background: var(--tp-surface-2) !important; color: var(--tp-ink) !important; }
html body.el-v2 .el-v2-dw-name, html body.el-v2 .el-v2-dw-name a { color: var(--tp-text) !important; }
html body.el-v2 .el-v2-dw-unit, html body.el-v2 .el-v2-dw-note { color: var(--tp-mute) !important; }
html body.el-v2 .el-v2-dw-line, html body.el-v2 .el-v2-dw-sum b { color: var(--tp-ink) !important; }
html body.el-v2 .el-v2-dw-go { display: flex !important; align-items: center; justify-content: center; height: 48px; border-radius: 999px !important; background: var(--tp-red) !important; color: #fff !important; font-weight: 800; text-decoration: none; }
html body.el-v2 .el-v2-dw-more { color: var(--tp-ink) !important; background: transparent !important; border-color: var(--tp-line-2) !important; border-radius: 999px !important; }
html body.el-v2 .el-v2-dw-img { border-color: var(--tp-line) !important; background: #fff !important; }
html body.el-v2 .el-v2-qty { background: var(--tp-surface) !important; border-color: var(--tp-line-2) !important; color: var(--tp-text) !important; }
html body.el-v2 .el-v2-qty input, html body.el-v2 .el-v2-qty b, html body.el-v2 .el-v2-qty span { color: var(--tp-text) !important; background: transparent !important; }
html body.el-v2 .el-v2-qty small { color: var(--tp-mute) !important; }
html body.el-v2 .el-v2-qty button { color: var(--tp-red-text) !important; background: transparent !important; }

/* Sin barra inferior ni flecha flotante: la cabecera ya tiene menú y carrito. */
html body.el-v2 .el-dock, html body.el-v2 .el-top-fab, html body.el-v2 .el-wa-fab { display: none !important; }
html body.el-v2 { padding-bottom: 0 !important; }
.el-v2-top, .el-v2-main { display: none !important; }

@media (max-width: 849px) {
  .tdp-hd-r1 { grid-template-columns: 44px auto minmax(0, 1fr) auto; grid-template-areas: "menu logo . act" "search search search search"; gap: 8px 8px; min-height: 0; padding-top: 8px !important; padding-bottom: 10px !important; }
  .tdp-menu-btn { display: inline-flex !important; padding: 0; }
  .tdp-logo, .tdp-logo img { width: 46px !important; height: 46px !important; }
  .tdp-search { max-width: none; }
  .tdp-search input[type="search"] { height: 42px; font-size: 16px; }
  .tdp-search button[type="submit"] { height: 42px; }
  .tdp-acc span { display: none; }
  .tdp-acc { display: none !important; }
  .tdp-hd-ic { padding: 0; }
  .tdp-hd-r2-in { gap: 8px; min-height: 40px; }
  .tdp-hd-nav { display: none; }
  .tdp-cp { min-width: 0; flex: 1 1 auto; }
  .tdp-cp span { flex-direction: row; gap: 4px; align-items: baseline; min-width: 0; }
  .tdp-cp small { font-size: 13px; white-space: nowrap; }
  .tdp-cp b { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .tdp-hd .tdp-ship-msg { height: 28px; padding: 0 10px 0 8px; font-size: 12.5px; max-width: 58%; }
  .tdp-hd .tdp-ship-msg .tdp-ic { width: 18px; height: 18px; }
  .tdp-only-m { display: flex !important; }
  html body.el-v2 .el-v2-toast { left: 12px !important; right: 12px !important; bottom: 12px !important; width: auto; }
  html body.el-v2 .el-v2-toast-txt small { max-width: 150px; }
  .tdp-sugg { max-height: 60vh; }
}
@media (max-width: 380px) { .tdp-hd .tdp-ship-msg > span { max-width: 140px; } }
