/* Páginas sueltas. Colores con variables del módulo Tema (claro por defecto, oscuro si el Tema lo cambia). */
.dlpx-hero { padding: 6px 4px 18px; text-align: center; }
.dlpx-hero h1 { margin: 0 0 6px; padding: 0; color: var(--dlp-tx, #111); font: 800 26px/1.15 "Open Sans", system-ui, sans-serif; }
.dlpx-hero p { margin: 0; color: var(--dlp-mut, #8d8d96); font: 400 14px/1.4 "Open Sans", system-ui, sans-serif; }
.dlpx-btn { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; max-width: 320px; height: 50px; margin: 10px auto 0; border: 1.5px solid var(--dlp-btn, #111); border-radius: 999px; background: var(--dlp-btn, #111); color: var(--dlp-btn-tx, #fff) !important; font: 800 13px/1 "Open Sans", system-ui, sans-serif; letter-spacing: .05em; text-transform: uppercase; text-decoration: none !important; }
.dlpx-btn.o { border-color: var(--dlp-line, #e9e9ee); background: transparent; color: var(--dlp-tx, #111) !important; }

/* Recuperar contraseña */
body.dlpx-lost .et_pb_title_container, body.dlpx-lost .et_pb_post_title, body.dlpx-lost h1.entry-title, body.dlpx-lost .et_pb_wc_title { display: none !important; }
body.dlpx-lost .woocommerce { max-width: 440px; margin: 0 auto; padding: 8px 0 60px; }
body.dlpx-lost form.lost_reset_password, body.dlpx-lost .woocommerce-message { padding: 22px 20px; border: 1px solid var(--dlp-line, #e9e9ee); border-radius: 22px; background: var(--dlp-card, #fff); color: var(--dlp-tx, #111); font: 400 14px/1.45 "Open Sans", system-ui, sans-serif; }
body.dlpx-lost form.lost_reset_password > p:first-child { margin: 0 0 14px; color: var(--dlp-mut, #8d8d96); font-size: 13px; }
body.dlpx-lost form.lost_reset_password p.form-row { float: none !important; width: 100% !important; margin: 0 0 12px !important; padding: 0 !important; }
body.dlpx-lost form.lost_reset_password label { display: block; margin: 0 0 4px 2px; color: var(--dlp-mut, #55555e); font: 700 10.5px/1.3 "Open Sans", system-ui, sans-serif; letter-spacing: .05em; text-transform: uppercase; }
body.dlpx-lost form.lost_reset_password input.input-text { box-sizing: border-box; width: 100%; height: 48px; padding: 0 14px; border: 1px solid var(--dlp-line, #e9e9ee) !important; border-radius: 12px !important; background: var(--dlp-field, #fcfcfd) !important; color: var(--dlp-tx, #111); font: 400 15px/1.3 "Open Sans", system-ui, sans-serif; }
body.dlpx-lost form.lost_reset_password .clear { display: none; }
body.dlpx-lost form.lost_reset_password button.button { width: 100%; height: 52px; margin: 6px 0 0; border: 0 !important; border-radius: 999px !important; background: var(--dlp-btn, #111) !important; color: var(--dlp-btn-tx, #fff) !important; font: 800 13px/1 "Open Sans", system-ui, sans-serif !important; letter-spacing: .05em; text-transform: uppercase; }
body.dlpx-lost .woocommerce-error, body.dlpx-lost .woocommerce-info { margin: 0 0 12px; border-radius: 14px; }

/* 404 */
.dlpx-404box { max-width: 420px; margin: 0 auto; padding: 70px 20px 90px; text-align: center; font-family: "Open Sans", system-ui, sans-serif; }
.dlpx-404n { color: var(--dlp-ac, #CF1E26); font: 900 84px/1 "Open Sans", system-ui, sans-serif; letter-spacing: -.03em; }
.dlpx-404box h1 { margin: 10px 0 6px; padding: 0; color: var(--dlp-tx, #111); font: 800 24px/1.2 "Open Sans", system-ui, sans-serif; }
.dlpx-404box p { margin: 0 0 18px; color: var(--dlp-mut, #8d8d96); font-size: 14px; line-height: 1.45; }
body.dlpx-404 #main-content, body.dlpx-404 #page-container { background: var(--dlp-bg, #fff); }

/* Detalle del pedido (Mi cuenta) */
.dlpx-vo { margin: 0 0 12px; padding: 14px; border: 1px solid var(--dlp-line, #e9e9ee); border-radius: 18px; background: var(--dlp-card, #fff); font-family: "Open Sans", system-ui, sans-serif; }
.dlpx-vo-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.dlpx-vo-n { color: var(--dlp-tx, #111); font-size: 17px; font-weight: 800; }
.dlpx-vo-d { margin-top: 2px; color: var(--dlp-mut, #8d8d96); font-size: 12px; }
.dlpx-chip { padding: 4px 11px; border-radius: 999px; background: var(--dlp-chip, #f1f1f3); color: var(--dlp-tx, #111); font-size: 11px; font-weight: 700; white-space: nowrap; }
.dlpx-chip.ok { background: color-mix(in srgb, var(--dlp-ok, #17803d) 16%, transparent); color: var(--dlp-ok, #17803d); }
.dlpx-chip.no { background: color-mix(in srgb, var(--dlp-ac, #CF1E26) 16%, transparent); color: var(--dlp-ac, #CF1E26); }
.dlpx-vo-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.dlpx-vo-meta span { padding: 4px 10px; border: 1px solid var(--dlp-line, #e9e9ee); border-radius: 999px; color: var(--dlp-mut, #8d8d96); font-size: 11.5px; font-weight: 600; }
body.dlpx-vieworder .dlpx-notes { margin: 0 0 12px; padding: 0; list-style: none; }
body.dlpx-vieworder .dlpx-notes li { margin: 0 0 8px; padding: 10px 14px; border: 1px solid var(--dlp-line, #e9e9ee); border-radius: 14px; background: var(--dlp-card, #fff); color: var(--dlp-tx, #111); font-size: 13px; }
body.dlpx-vieworder .dlpx-notes .meta { margin: 0 0 2px; color: var(--dlp-mut, #8d8d96); font-size: 11px; }
body.dlpx-vieworder .dlpx-notes p { margin: 0; }
body.dlpx-vieworder section.woocommerce-order-details, body.dlpx-vieworder section.woocommerce-customer-details { margin: 0 0 12px; padding: 14px; border: 1px solid var(--dlp-line, #e9e9ee); border-radius: 18px; background: var(--dlp-card, #fff); font-family: "Open Sans", system-ui, sans-serif; }
body.dlpx-vieworder .woocommerce-order-details__title, body.dlpx-vieworder .woocommerce-column__title { margin: 0 0 10px; padding: 0; color: var(--dlp-mut, #8d8d96); font: 800 11px/1 "Open Sans", system-ui, sans-serif; letter-spacing: .07em; text-transform: uppercase; }
body.dlpx-vieworder table.order_details { width: 100%; margin: 0; border: 0; border-collapse: collapse; }
body.dlpx-vieworder table.order_details thead { display: none; }
body.dlpx-vieworder table.order_details th, body.dlpx-vieworder table.order_details td { padding: 8px 0; border: 0; border-bottom: 1px dashed var(--dlp-line, #e9e9ee); background: none; color: var(--dlp-tx, #111); font-size: 13px; line-height: 1.4; }
body.dlpx-vieworder table.order_details td:last-child { text-align: right; white-space: nowrap; font-weight: 700; }
body.dlpx-vieworder table.order_details td.product-name a { color: var(--dlp-tx, #111) !important; font-weight: 700; text-decoration: none; }
body.dlpx-vieworder table.order_details tfoot tr:last-child th, body.dlpx-vieworder table.order_details tfoot tr:last-child td { border: 0; }
body.dlpx-vieworder table.order_details tfoot tr:has(.order-actions-button), body.dlpx-vieworder table.order_details .order-actions--heading { display: none; }
body.dlpx-vieworder .wc-item-meta, body.dlpx-vieworder dl.variation { margin: 4px 0 0; padding: 0; color: var(--dlp-mut, #8d8d96); font-size: 11.5px; list-style: none; }
body.dlpx-vieworder .wc-item-meta li, body.dlpx-vieworder dl.variation dt, body.dlpx-vieworder dl.variation dd { display: inline; margin: 0; }
body.dlpx-vieworder .woocommerce-customer-details address { margin: 0; padding: 0; border: 0; color: var(--dlp-tx, #111); font-size: 13px; line-height: 1.5; font-style: normal; }
body.dlpx-vieworder .woocommerce-columns--addresses { display: block; }
body.dlpx-vieworder .woocommerce-columns--addresses .woocommerce-column { float: none; width: 100%; max-width: none; }
body.dlpx-vieworder .woocommerce-customer-details .woocommerce-column--shipping-address { display: none; }

/* Página de producto y categorías (clara/oscura) */
body.single-product #main-content, body.tax-product_cat #main-content, body.post-type-archive-product #main-content { background: var(--dlp-bg, #fff); }
body.single-product .product_title, body.tax-product_cat h1.page-title, body.tax-product_cat .woocommerce-products-header__title, body.post-type-archive-product h1.page-title, body.single-product .related > h2, body.single-product .upsells > h2 { color: var(--dlp-tx, #111) !important; font-family: "Open Sans", system-ui, sans-serif !important; font-weight: 800 !important; }
body.single-product .woocommerce-breadcrumb, body.tax-product_cat .woocommerce-breadcrumb, body.single-product .woocommerce-breadcrumb a, body.tax-product_cat .woocommerce-breadcrumb a, body.woocommerce-result-count, body.tax-product_cat .woocommerce-result-count { color: var(--dlp-mut, #8d8d96) !important; }
body.single-product .summary .price, body.single-product .summary .price .amount { color: var(--dlp-ac, #CF1E26) !important; font-weight: 800; }
body.single-product .woocommerce-product-details__short-description, body.single-product .woocommerce-product-details__short-description p, body.single-product .product_meta, body.single-product .product_meta a { color: var(--dlp-mut, #8d8d96); }
body.single-product .woocommerce-product-gallery img { border-radius: 18px; }
body.single-product form.cart .quantity input.qty { height: 48px; border: 1px solid var(--dlp-line, #e9e9ee) !important; border-radius: 12px !important; background: var(--dlp-field, #fcfcfd) !important; color: var(--dlp-tx, #111) !important; }
body.single-product form.cart button.single_add_to_cart_button { height: 48px; padding: 0 28px; border: 0 !important; border-radius: 999px !important; background: var(--dlp-btn, #111) !important; color: var(--dlp-btn-tx, #fff) !important; font: 800 13px/1 "Open Sans", system-ui, sans-serif !important; letter-spacing: .05em; text-transform: uppercase; }
body.single-product .woocommerce-tabs ul.tabs li a, body.single-product .woocommerce-tabs .panel, body.single-product .woocommerce-tabs .panel p { color: var(--dlp-tx, #111) !important; }
body.tax-product_cat select.orderby, body.post-type-archive-product select.orderby { height: 42px; border: 1px solid var(--dlp-line, #e9e9ee); border-radius: 12px; background: var(--dlp-field, #fcfcfd); color: var(--dlp-tx, #111); }

/* Categorías y tienda: dos columnas como en el home */
body.tax-product_cat ul.products, body.post-type-archive-product ul.products { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 0 0 24px; padding: 0; }
body.tax-product_cat ul.products::before, body.tax-product_cat ul.products::after, body.post-type-archive-product ul.products::before, body.post-type-archive-product ul.products::after { display: none !important; }
body.tax-product_cat ul.products li.product, body.post-type-archive-product ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; }
@media (min-width: 981px) { body.tax-product_cat ul.products, body.post-type-archive-product ul.products { grid-template-columns: repeat(4, 1fr); } }
