/* =============================================
   OFERTI.CSS — Estilos propios de Oferti
   Tema hijo de Techna
   Versión 1.1
   =============================================

   ÍNDICE
   1.  Header y Navegación
   2.  Búsqueda
   3.  Breadcrumbs
   4.  Filtros de tienda
   5.  Barra de resultados
   6.  Tarjetas de producto (tienda)
   7.  Badges
   8.  Página de producto
   9.  Modal de oferta
   10. Perfil de vendedor
   11. Login y Registro
   12. Tabla comparativa
   13. Utilidades
   ============================================= */


/* =============================================
   1. HEADER Y NAVEGACIÓN
   ============================================= */

.header-middle {
    background-color: #ffffff;
    border-radius: 4px;
    border-top: solid 1px #eceff1;
    box-shadow: 0 2px 8px 0 rgba(0,0,0,0.12);
}

.header-nav {
    background-color: #ffffff;
    border-radius: 0;
    border: solid 1px #eceff1;
    box-shadow: 0 1px 8px 0 rgba(0,0,0,0.10);
}

.header-nav .small-menu-copy { margin: 0 auto; }

.header-top {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.top-bar {
    margin: 0;
    padding: 10px 0;
    font-size: 13px;
    color: #505050;
}

.top-bar .flex-left { margin: 0 auto; }

.logo { max-width: 97%; }

/* Navegación — color activo */
#navigation .nav.navbar-nav li.open > a,
#navigation .nav.navbar-nav > li > a:hover,
#navigation .nav.navbar-nav > li > a:focus,
#navigation .nav.navbar-nav > li > a:active,
#navigation .nav.navbar-nav > li.current > a,
#navigation .navbar-nav > li.current-menu-parent > a,
#navigation .navbar-nav > li.current-menu-ancestor > a,
#navigation .navbar-nav > li.current-menu-item > a {
    color: #5854ec;
    background: transparent;
}

#navigation .nav.navbar-nav > li > a {
    background: transparent;
    padding: 20px;
    margin: 0;
    color: #888888;
    text-transform: none;
}

/* Menú lateral móvil: mantener texto oscuro en hover/focus (sin morado) */
@media (max-width: 768px) {
    .small-menu #navigation .nav.navbar-nav > li > a:hover,
    .small-menu #navigation .nav.navbar-nav > li > a:focus,
    .small-menu #navigation .nav.navbar-nav > li > a:active {
        color: #111827 !important;
    }
}

.btn:hover, .btn:focus, .btn:active {
    border: none;
    background: #5854ec;
    color: #ffffff;
}

/* Logo desktop */
@media (min-width: 770px) {
    .logo { margin-left: -40px; }
}

/* Header móvil */
@media (max-width: 769px) {
    .main-action {
        list-style: none;
        border-bottom: none !important;
        display: flex;
        align-items: center;
        position: relative;
        justify-content: flex-end;
        padding-top: 17px;
        padding-bottom: 17px;
        margin-top: 0;
        margin-bottom: 0;
    }
    .main-action li:nth-last-child(2) { margin-right: 0; }
    .main-action li:last-child { margin-left: 5px; }
    .small-show {
        display: flex;
        align-items: center;
        position: relative;
        z-index: 10;
    }
    .logo {
        margin-left: -38px;
        position: relative;
        z-index: 1;
    }
}

/* Carrito — contador */
.cart-count,
.woocommerce-cart-count,
.header-cart-count,
.cart-contents-count,
.woomenucart-count {
    background-color: #111822 !important;
    color: white !important;
    border-radius: 50% !important;
}

/* Botón subir — ocultar */
.to_top.btn { display: none !important; }


/* =============================================
   2. BÚSQUEDA
   ============================================= */

.main-search {
    width: 57%;
    border: 2px solid #5854ec;
    background: #fff;
    border-radius: 4px;
    height: 38px;
}

.quick-search-results {
    position: absolute;
    top: 107%;
    left: 0;
    right: 0;
    max-height: 400px;
    overflow-y: auto;
    padding: 15px;
    display: none;
    background: #fff;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,0.06);
    border-radius: 4px;
    z-index: 10;
}

/* Búsqueda móvil */
@media (max-width: 991px) {
    body:not(.home) .small-search { display: none; }

    .small-search.oferti-search-visible {
        display: block !important;
        width: 100%;
        padding: 0 15px;
        margin: 0 0 12px 0;
    }

    .small-search.oferti-search-hidden { display: none; }

    #oferti-search-panel {
        width: 100%;
        background: #5854ec;
        margin-bottom: 10px;
    }

    #oferti-search-panel-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 15px;
    }

    #oferti-search-panel-title {
        color: #fff;
        font-weight: 700;
        font-size: 16px;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    #oferti-search-panel-title i { font-size: 16px; }

    #oferti-search-close {
        color: #fff;
        font-size: 18px;
        line-height: 1;
        text-decoration: none;
    }

    #oferti-search-close:hover { opacity: 0.7; color: #fff; }
}

/* =============================================
   Carrito — cards Oferti (`woocommerce/cart/cart.php`, sin tabla apilada)
   ============================================= */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-page.woocommerce-cart .woocommerce-cart-form {
    margin-bottom: 24px;
}

body.woocommerce-cart .oferti-cart-card,
body.woocommerce-page.woocommerce-cart .oferti-cart-card {
    background: #fff;
    border: 1px solid #ececef;
    border-radius: var(--oferti-ui-card-radius, 5px);
    padding: 16px;
    margin-bottom: 14px;
    box-sizing: border-box;
}

body.woocommerce-cart .oferti-cart-card__top,
body.woocommerce-page.woocommerce-cart .oferti-cart-card__top {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

body.woocommerce-cart .oferti-cart-card__thumb img,
body.woocommerce-page.woocommerce-cart .oferti-cart-card__thumb img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 5px;
    border: 1px solid #ececef;
    display: block;
    vertical-align: middle;
}

body.woocommerce-cart .oferti-cart-card__intro,
body.woocommerce-page.woocommerce-cart .oferti-cart-card__intro {
    flex: 1;
    min-width: 0;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    align-items: flex-start;
}

body.woocommerce-cart .oferti-cart-card__title.product-name,
body.woocommerce-page.woocommerce-cart .oferti-cart-card__title.product-name {
    font-size: 15px;
    font-weight: 600;
    color: #111827;
    line-height: 1.35;
    margin: 0;
}

body.woocommerce-cart .oferti-cart-card__title a,
body.woocommerce-page.woocommerce-cart .oferti-cart-card__title a {
    color: inherit;
    text-decoration: none;
}

body.woocommerce-cart .oferti-cart-card__title a:hover,
body.woocommerce-page.woocommerce-cart .oferti-cart-card__title a:hover {
    color: #5854ec;
}

body.woocommerce-cart .oferti-cart-card__remove,
body.woocommerce-page.woocommerce-cart .oferti-cart-card__remove {
    flex-shrink: 0;
}

/* Botón quitar: icono X (mismo patrón que .oferti-guest-topbar__close-box). Anula WC `a.remove` (círculo rojo) y Techna `.shop_table.cart a.remove` (naranja). */
body.woocommerce-cart .oferti-cart-card .product-remove a.remove.oferti-cart-remove-btn,
body.woocommerce-page.woocommerce-cart .oferti-cart-card .product-remove a.remove.oferti-cart-remove-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 5px !important;
    background: #f2f2f2 !important;
    box-shadow: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    font-weight: 400 !important;
    color: transparent !important;
    text-decoration: none !important;
    flex-shrink: 0;
    overflow: hidden;
}

body.woocommerce-cart .oferti-cart-card .product-remove a.remove.oferti-cart-remove-btn:hover,
body.woocommerce-cart .oferti-cart-card .product-remove a.remove.oferti-cart-remove-btn:focus,
body.woocommerce-page.woocommerce-cart .oferti-cart-card .product-remove a.remove.oferti-cart-remove-btn:hover,
body.woocommerce-page.woocommerce-cart .oferti-cart-card .product-remove a.remove.oferti-cart-remove-btn:focus {
    background: #e8e8ea !important;
    color: transparent !important;
}

body.woocommerce-cart .oferti-cart-card .product-remove a.remove.oferti-cart-remove-btn:focus-visible,
body.woocommerce-page.woocommerce-cart .oferti-cart-card .product-remove a.remove.oferti-cart-remove-btn:focus-visible {
    outline: 2px solid rgba(88, 84, 236, 0.45);
    outline-offset: 2px;
}

body.woocommerce-cart .oferti-cart-remove-icon,
body.woocommerce-page.woocommerce-cart .oferti-cart-remove-icon {
    display: block;
    width: 14px;
    height: 14px;
    position: relative;
    pointer-events: none;
}

body.woocommerce-cart .oferti-cart-remove-icon::before,
body.woocommerce-cart .oferti-cart-remove-icon::after,
body.woocommerce-page.woocommerce-cart .oferti-cart-remove-icon::before,
body.woocommerce-page.woocommerce-cart .oferti-cart-remove-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 12px;
    height: 2px;
    margin-left: -6px;
    margin-top: -1px;
    background: #1a1a1e;
    border-radius: 1px;
}

body.woocommerce-cart .oferti-cart-remove-icon::before,
body.woocommerce-page.woocommerce-cart .oferti-cart-remove-icon::before {
    transform: rotate(45deg);
}

body.woocommerce-cart .oferti-cart-remove-icon::after,
body.woocommerce-page.woocommerce-cart .oferti-cart-remove-icon::after {
    transform: rotate(-45deg);
}

body.woocommerce-cart .oferti-cart-card .product-remove a.remove.oferti-cart-remove-btn:hover .oferti-cart-remove-icon::before,
body.woocommerce-cart .oferti-cart-card .product-remove a.remove.oferti-cart-remove-btn:hover .oferti-cart-remove-icon::after,
body.woocommerce-page.woocommerce-cart .oferti-cart-card .product-remove a.remove.oferti-cart-remove-btn:hover .oferti-cart-remove-icon::before,
body.woocommerce-page.woocommerce-cart .oferti-cart-card .product-remove a.remove.oferti-cart-remove-btn:hover .oferti-cart-remove-icon::after {
    background: #111827;
}

body.woocommerce-cart .oferti-cart-card__rows,
body.woocommerce-page.woocommerce-cart .oferti-cart-card__rows {
    margin: 14px 0 0;
    padding: 0;
}

body.woocommerce-cart .oferti-cart-card__row,
body.woocommerce-page.woocommerce-cart .oferti-cart-card__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid #ececef;
    margin: 0;
}

body.woocommerce-cart .oferti-cart-card__row:last-child,
body.woocommerce-page.woocommerce-cart .oferti-cart-card__row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

body.woocommerce-cart .oferti-cart-card__dt,
body.woocommerce-page.woocommerce-cart .oferti-cart-card__dt {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: #6b7280;
    flex: 0 0 auto;
}

body.woocommerce-cart .oferti-cart-card__dd,
body.woocommerce-page.woocommerce-cart .oferti-cart-card__dd {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: #111827;
    text-align: right;
    flex: 1;
    min-width: 0;
}

body.woocommerce-cart .oferti-cart-card__dd--with-qty,
body.woocommerce-page.woocommerce-cart .oferti-cart-card__dd--with-qty {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px 16px;
}

body.woocommerce-cart .oferti-cart-card__dd--with-qty .oferti-cart-card__qty-meta,
body.woocommerce-page.woocommerce-cart .oferti-cart-card__dd--with-qty .oferti-cart-card__qty-meta {
    margin-right: auto;
    text-align: left;
    font-size: 13px;
    font-weight: 500;
    color: #6b7280;
    white-space: nowrap;
}

body.woocommerce-cart .oferti-cart-card__dd--with-qty .oferti-cart-card__subtotal-money,
body.woocommerce-page.woocommerce-cart .oferti-cart-card__dd--with-qty .oferti-cart-card__subtotal-money {
    flex: 0 0 auto;
    font-weight: 600;
    color: #111827;
}

/* Enlace tienda Dokan: misma línea tipográfica que el valor en fila Precio (.oferti-cart-card__dd). */
body.woocommerce-cart .oferti-cart-card a.oferti-cart-vendor-store-link,
body.woocommerce-page.woocommerce-cart .oferti-cart-card a.oferti-cart-vendor-store-link {
    font-size: 14px;
    font-weight: 500;
    color: #111827;
    text-decoration: none;
}

body.woocommerce-cart .oferti-cart-card a.oferti-cart-vendor-store-link:hover,
body.woocommerce-cart .oferti-cart-card a.oferti-cart-vendor-store-link:focus-visible,
body.woocommerce-page.woocommerce-cart .oferti-cart-card a.oferti-cart-vendor-store-link:hover,
body.woocommerce-page.woocommerce-cart .oferti-cart-card a.oferti-cart-vendor-store-link:focus-visible {
    color: #5854ec;
    text-decoration: none;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table a.oferti-cart-vendor-store-link {
    font-size: 14px;
    font-weight: 500;
    color: #111827;
    text-decoration: none;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table a.oferti-cart-vendor-store-link:hover,
body.woocommerce-checkout .woocommerce-checkout-review-order-table a.oferti-cart-vendor-store-link:focus-visible {
    color: #5854ec;
    text-decoration: none;
}

body.woocommerce-cart .oferti-cart-actions,
body.woocommerce-page.woocommerce-cart .oferti-cart-actions {
    padding: 16px !important;
    margin-top: 4px;
    border: 1px solid #ececef;
    border-radius: var(--oferti-ui-card-radius, 5px);
    background: #fafafa;
    box-sizing: border-box;
}

body.woocommerce-cart .oferti-cart-actions .coupon,
body.woocommerce-page.woocommerce-cart .oferti-cart-actions .coupon {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 12px;
}

body.woocommerce-cart .oferti-cart-actions .coupon .input-text,
body.woocommerce-page.woocommerce-cart .oferti-cart-actions .coupon .input-text {
    flex: 1 1 140px;
    min-width: 0;
}

/* Totales — sustituir subrayado Techna amarillo por separador Oferti */
body.woocommerce-cart .cart-collaterals .cart_totals,
body.woocommerce-page.woocommerce-cart .cart-collaterals .cart_totals {
    background: #fff;
    border: 1px solid #ececef;
    border-radius: var(--oferti-ui-card-radius, 5px);
    padding: 20px 20px 16px;
    box-sizing: border-box;
}

body.woocommerce-cart .cart_totals h2,
body.woocommerce-page.woocommerce-cart .cart_totals h2 {
    display: block !important;
    margin: 0 0 16px !important;
    padding: 0 0 12px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1a1a23 !important;
    border-bottom: none !important;
    box-shadow: 0 1px 0 0 #ececef;
}

body.woocommerce-cart .cart_totals table.shop_table,
body.woocommerce-page.woocommerce-cart .cart_totals table.shop_table {
    border: none !important;
    margin: 0 !important;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td,
body.woocommerce-page.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-page.woocommerce-cart .cart_totals table.shop_table td {
    border: none !important;
    padding: 8px 0 !important;
    font-size: 14px;
    color: #374151;
}

body.woocommerce-cart .cart_totals tr.shipping th,
body.woocommerce-cart .cart_totals tr.shipping td,
body.woocommerce-page.woocommerce-cart .cart_totals tr.shipping th,
body.woocommerce-page.woocommerce-cart .cart_totals tr.shipping td {
    background: #f9fafb;
    padding: 10px 12px !important;
    border-radius: 5px;
}

body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td,
body.woocommerce-page.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-page.woocommerce-cart .cart_totals .order-total td {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    padding-top: 14px !important;
}

/* CTA carrito → checkout: mismo criterio que «Comprar ahora» / cuenta (.oferti-btn-comprar-ahora) */
body.woocommerce-cart .oferti-cart-proceed-wrap .checkout-button.oferti-btn-comprar-ahora,
body.woocommerce-page.woocommerce-cart .oferti-cart-proceed-wrap .checkout-button.oferti-btn-comprar-ahora {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    box-sizing: border-box;
    background: #5854ec !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 10px 16px !important;
    border-radius: 5px !important;
    border: 1px solid #5854ec !important;
    line-height: normal !important;
    box-shadow: none !important;
    margin: 0 !important;
    text-align: center;
    text-decoration: none !important;
}

body.woocommerce-cart .oferti-cart-proceed-wrap .checkout-button.oferti-btn-comprar-ahora:hover,
body.woocommerce-cart .oferti-cart-proceed-wrap .checkout-button.oferti-btn-comprar-ahora:focus,
body.woocommerce-page.woocommerce-cart .oferti-cart-proceed-wrap .checkout-button.oferti-btn-comprar-ahora:hover,
body.woocommerce-page.woocommerce-cart .oferti-cart-proceed-wrap .checkout-button.oferti-btn-comprar-ahora:focus {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

body.woocommerce-cart .oferti-cart-proceed-wrap,
body.woocommerce-page.woocommerce-cart .oferti-cart-proceed-wrap {
    margin-top: 20px;
}


/* =============================================
   3. BREADCRUMBS
   ============================================= */

.page-title {
    padding: 20px 0;
    margin-bottom: 0;
    margin-top: -1px;
    position: relative;
    z-index: 1;
    background-color: #ffffff;
    border: none;
    border-top: solid 1px #eceff1;
}

.page-title h1 { display: none; }

.page-title .woocommerce-breadcrumb {
    transform: translateX(24px);
    z-index: 1;
}

@media (max-width: 991px) {
    .page-title .woocommerce-breadcrumb { transform: translateX(6px); }
}

.col-sm-12 .woocommerce-breadcrumb { display: none; }

/* Migas (todo el sitio): negro Oferti #111827; sin subrayado */
nav.woocommerce-breadcrumb,
ul.breadcrumb,
.woocommerce nav.woocommerce-breadcrumb {
    color: #111827;
}

nav.woocommerce-breadcrumb a,
ul.breadcrumb a,
ul.breadcrumb a:focus,
ul.breadcrumb a:visited,
.woocommerce nav.woocommerce-breadcrumb a {
    color: #111827;
    text-decoration: none !important;
}

nav.woocommerce-breadcrumb a:hover,
nav.woocommerce-breadcrumb a:focus-visible,
ul.breadcrumb a:hover,
ul.breadcrumb a:focus-visible,
.woocommerce nav.woocommerce-breadcrumb a:hover,
.woocommerce nav.woocommerce-breadcrumb a:focus-visible {
    color: #111827;
    text-decoration: none !important;
}

ul.breadcrumb li:last-child {
    color: #111827;
}

ul.breadcrumb {
    background-color: transparent;
    padding: 0;
    margin: 0;
    font-size: .92em;
    transform: translateX(22px);
    z-index: 1;
}


/* =============================================
   4. FILTROS DE TIENDA
   ============================================= */

.shop-top-bar,
.techna-filters,
.woocommerce-result-count,
.woocommerce-page .woocommerce-result-count,
.products-per-page,
form.woocommerce-ordering,
.woocommerce-ordering,
a.change-view-style,
.change-view-style { display: none !important; }

.oferti-accordion-wrapper {
    width: 100%;
    margin-bottom: 8px;
    border: 1px solid #e1e4e8;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}

.oferti-accordion-header {
    background: #f6f8fa;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    user-select: none;
}

.oferti-acc-left {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 700;
    font-size: 16px;
    color: #24292e;
}

.oferti-acc-badge {
    background: #2ea44f;
    color: #fff;
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 12px;
    min-width: 20px;
    text-align: center;
}

.oferti-acc-right i {
    transition: transform 0.3s ease;
    color: #57606a;
}

.oferti-accordion-body {
    display: none;
    padding: 20px;
    background: #fff;
    border-top: 1px solid #e1e4e8;
    flex-direction: column;
    gap: 15px;
}

.oferti-accordion-body.show { display: flex; }

.oferti-filter-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.oferti-filter-row label {
    font-size: 13px;
    font-weight: 600;
    color: #57606a;
}

.oferti-input {
    width: 100% !important;
    height: 42px !important;
    border: 1px solid #d0d7de !important;
    border-radius: 6px !important;
    padding: 0 12px !important;
    font-size: 14px !important;
    background-color: #fcfcfc !important;
    color: #24292e !important;
}

.oferti-no-results {
    text-align: center;
    padding: 10px;
    color: #555;
}

.oferti-no-results p {
    font-size: 15px;
    color: #777;
    margin-bottom: 24px;
}

.oferti-reset-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #5854ec;
    color: #fff;
    padding: 10px 24px;
    border-radius: 3px;
    text-decoration: none;
    font-weight: 500;
    transition: background 0.2s;
}

.oferti-reset-btn:hover { background: #4a46d4; color: #fff; }


/* =============================================
   5. BARRA DE RESULTADOS
   ============================================= */

.oferti-results-bar {
    display: none !important;
    align-items: center;
    justify-content: space-between;
    background: #f7f7f7;
    border: 1px solid #ebebeb;
    border-radius: 8px;
    padding: 10px 16px;
    margin-bottom: 10px;
    font-size: 14px;
    color: #555;
}

.oferti-results-count strong { color: #111; font-weight: 700; }

.oferti-clear-filters {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #5854ec;
    font-weight: 500;
    text-decoration: none;
    font-size: 13px;
}

.oferti-clear-filters:hover { opacity: 0.7; color: #5854ec; }


/* =============================================
   6. TARJETAS DE PRODUCTO — TIENDA
   CSS limpio, sin conflictos con Techna
   ============================================= */

/* Ocultar elementos heredados de Techna dentro de nuestra card */
.oferti-product-card .list-flex-1,
.oferti-product-card .list-flex-2,
.oferti-product-card .list-flex-3,
.oferti-product-card .list-hide,
.oferti-product-card .list-show,
.oferti-product-card .product-rating,
.oferti-product-card .rating-wrap,
.oferti-product-card .product-action,
.oferti-product-card .short-description { 
    display: none !important; }

/* Tarjeta base — especificidad alta para ganar a Techna */
.woocommerce ul.products li.oferti-product-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 5px;
    overflow: hidden;
    padding: 0;
    margin: 0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    transition: box-shadow 0.2s ease;
    float: none;
    width: auto;
}

.woocommerce ul.products li.oferti-product-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.10);
}

/* Imagen */
.oferti-card-image-link {
    display: block;
    width: 100%;
    overflow: hidden;
    flex-shrink: 0;
    line-height: 0;
}

.oferti-card-image-link img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    object-position: center;
    display: block;
    margin: 0;
    transition: transform 0.3s ease;
}

.woocommerce ul.products li.oferti-product-card:hover .oferti-card-image-link img {
    transform: scale(1.02);
}

/* Contenido */
.oferti-card-body {
    padding: 5px 12px 12px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Título */
.oferti-card-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 13px;
    font-weight: 600;
    color: #111;
    text-decoration: none;
    line-height: 1.3;
    margin-bottom: 3px;
}

.oferti-card-title:hover { 
    text-decoration: none;
}

/* Precio */
.oferti-card-price {
    font-size: 14px;
    font-weight: 700;
    color: #5854ec;
    margin-bottom: 0px;
}

.oferti-card-price del { display: none !important; }

.oferti-card-price ins {
    text-decoration: none;
    font-weight: 700;
}

.oferti-card-location {
    margin-top: 4px;
    margin-bottom: 4px;
    font-size: 12px;
    color: #6b7280;
    line-height: 1.2;
}

/* Badges */
.oferti-card-badges { margin-top: auto; padding-top: 4px; }
.oferti-card-badges .oferti-badge-approved { border-radius: 5px; }

/* Desktop — grid 4 columnas */
@media (min-width: 768px) {
    .woocommerce ul.products {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
        margin-right: 0;
        float: none;
    }

    /* Techna agrega clearfix con pseudo-elementos; en grid ocupan una celda vacia */
    .woocommerce ul.products::before,
    .woocommerce ul.products::after {
        content: none !important;
        display: none !important;
    }

    .woocommerce ul.products li.oferti-product-card {
        width: auto !important;
        float: none !important;
        margin-right: 0 !important;
    }

    .oferti-card-image-link img { height: 220px; }
}

/* Móvil — 2 columnas */
@media (max-width: 767px) {
    .woocommerce ul.products {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 6px !important;
        margin-right: 0 !important;
    }

    .woocommerce ul.products li.product:first-child {
        grid-column: 1 !important;
    }

    .woocommerce ul.products li.oferti-product-card {
        width: 100% !important;
        margin: 0 !important;
        float: none !important;
    }

    .oferti-card-image-link img { height: 150px; }
    .oferti-card-title { font-size: 11px; }
    .oferti-card-price { font-size: 12px; }
}

/* Elementos de Techna que no deben aparecer en la tienda */
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .button { display: none !important; }

.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .woocommerce-product-rating { display: none !important; }

.woocommerce ul.products li.product .list-show.short-description { display: none !important; }

/* Sección iPhones destacados — home */
.product-hot-deal .hot-deal-cat,
.product-hot-deal .star-rating,
.product-hot-deal .product-action,
.element-list-cat { display: none !important; }

@media (max-width: 767px) {
    .product-hot-deal { display: none !important; }
    .spec-six-list .element-list-cat,
    .spec-six-list .product-action { display: none !important; }
    .spec-six-list .price del { display: none !important; }
    .home .woocommerce ul.products { gap: 6px !important; }
    .home .woocommerce ul.products li.product .list-flex-2 { padding-bottom: 7px !important; }
}

/* Productos relacionados — móvil */
@media (max-width: 767px) {
    .related ul.products.columns-4 {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 6px !important;
    }

    .related ul.products li.product.grid {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        background: #fff !important;
        border: 1px solid #eee !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        padding: 0 !important;
        box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
    }

    .related ul.products li.product.grid .list-flex-1 { width: 100% !important; display: block !important; }
    .related ul.products li.product.grid .list-flex-1 a { display: block !important; width: 100% !important; }
    .related ul.products li.product.grid .list-flex-1 img {
        width: 100% !important;
        height: 150px !important;
        object-fit: cover !important;
        object-position: center !important;
    }
    .related ul.products li.product.grid .list-flex-2 { width: 100% !important; padding: 6px 9px !important; }
    .related ul.products li.product.grid .list-flex-2 h3 {
        font-size: 11px !important;
        line-height: 1.3 !important;
        overflow: hidden !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
    }
    .related ul.products li.product.grid .list-flex-2 .price {
        display: block !important;
        font-size: 12px !important;
        font-weight: bold !important;
        color: #5854ec;
    }
    .related ul.products li.product.grid .list-flex-2 .price del { display: none !important; }
    .related ul.products li.product.grid .list-flex-3 { display: none !important; }
    .related ul.products li.product.grid .product-action,
    .related ul.products li.product.grid .list-hide { display: none !important; }
}


/* =============================================
   7. BADGES
   ============================================= */

.oferti-badge-approved {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    color: #2ea44f;
    background: #e8f5ee;
    border-radius: 5px;
    padding: 4px 8px;
    margin: 0;
}

.oferti-badge-approved i { font-size: 12px; }

.oferti-badge-review {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    color: #b45309;
    background: #fffbeb;
    border: 1px solid #fcd34d;
    border-radius: 5px;
    padding: 4px 8px;
    margin: 0;
}

.oferti-badge-review i { font-size: 12px; }

.oferti-card-review-row {
    margin: 6px 0 4px;
}

.oferti-post-submit-modal {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.oferti-post-submit-modal.is-open {
    display: flex;
}

.oferti-post-submit-modal__card {
    width: min(520px, 100%);
    background: #fff;
    border-radius: 5px;
    padding: 20px 20px 20px 22px;
    position: relative;
    border: 1px solid #e9e8ff;
    box-shadow: 0 20px 50px rgba(17, 24, 39, 0.24);
}

.oferti-post-submit-modal__close {
    position: absolute;
    top: max(10px, env(safe-area-inset-top, 0px));
    right: max(10px, env(safe-area-inset-right, 0px));
    border: 0;
    background: transparent;
    font-size: 26px;
    line-height: 1;
    color: #6b7280;
    cursor: pointer;
    margin: 0;
    padding: 0;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    -webkit-tap-highlight-color: transparent;
    transition: color 0.15s ease, background 0.15s ease;
}

.oferti-post-submit-modal__close:hover,
.oferti-post-submit-modal__close:focus-visible {
    color: #111827;
    background: rgba(17, 24, 39, 0.06);
    outline: none;
}

.oferti-post-submit-modal__head {
    padding-right: 42px;
    text-align: center;
}

.oferti-post-submit-modal__title {
    margin: 0 0 8px;
    font-size: 22px;
    font-weight: 800;
    color: #111827;
    text-align: center;
}

.oferti-post-submit-modal__text {
    margin: 0 0 14px;
    color: #111827;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.45;
    text-align: center;
}

@media (max-width: 479px) {
    .oferti-post-submit-modal {
        padding: 12px;
        align-items: flex-start;
        padding-top: max(12px, env(safe-area-inset-top, 12px));
    }

    .oferti-post-submit-modal__card {
        margin-top: 4px;
        padding: 52px 16px 20px;
    }

    .oferti-post-submit-modal__head {
        padding-right: 0;
    }

    .oferti-post-submit-modal__close {
        top: max(8px, env(safe-area-inset-top, 6px));
        right: max(8px, env(safe-area-inset-right, 6px));
    }

    .oferti-post-submit-modal__title {
        font-size: 20px;
    }

    .oferti-post-submit-modal__listing-title {
        font-size: 17px !important;
    }

    .oferti-post-submit-modal__listing-body .oferti-post-submit-modal__price {
        font-size: 16px !important;
    }
}
.oferti-post-submit-modal__listing {
    border: 1px solid #e5e7eb;
    border-radius: 5px;
    overflow: hidden;
    margin-bottom: 14px;
}

.oferti-post-submit-modal__listing img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.oferti-post-submit-modal__listing-body {
    padding: 12px;
}

.oferti-post-submit-modal__listing-title {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #111827;
}

.oferti-post-submit-modal__price {
    margin-top: 4px;
    color: #4b5563;
    font-size: 17px;
    font-weight: 600;
}

.oferti-post-submit-modal__brand {
    margin-top: 4px;
    color: #d97706;
    font-weight: 600;
}

.oferti-post-submit-modal__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.oferti-post-submit-modal__cta {
    width: 100%;
}

.oferti-my-listings {
    max-width: 820px;
    margin: 14px auto 24px;
}

.oferti-my-listings-card--list {
    border: 1px solid rgba(17, 24, 39, 0.06);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 4px 20px rgba(17, 24, 39, 0.08), 0 1px 3px rgba(17, 24, 39, 0.06);
    overflow: hidden;
}

.oferti-my-listings-card--list .oferti-my-listings-card__body {
    padding: 14px 16px 12px;
}

.oferti-my-listings-card--list .oferti-my-listings-card__top {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    align-items: start;
    gap: 10px 12px;
}

.oferti-my-listings-card__thumb img {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    object-fit: cover;
    display: block;
    background: #f3f4f6;
}

.oferti-my-listings-card__thumb a {
    display: inline-block;
    line-height: 0;
}

.oferti-my-listings-card__top-main {
    min-width: 0;
}

.oferti-my-listings-card h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    color: #111827;
}

.oferti-my-listings-card h3 a {
    color: #111827;
    text-decoration: none;
}

.oferti-my-listings-card h3 a:hover,
.oferti-my-listings-card h3 a:focus {
    color: #5854ec;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.oferti-my-listings-card__price {
    margin-top: 4px;
    color: #4b5563;
    font-size: 13px;
    line-height: 1.35;
}


.oferti-my-listings-card__status {
    display: inline-flex;
    margin: 0;
    flex-shrink: 0;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

.oferti-my-listings-card__status-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 6px;
    justify-self: end;
    align-self: start;
}

.oferti-my-listings-card__status.is-revision {
    background: #fef3c7;
    color: #92400e;
}

.oferti-my-listings-card__status.is-rechazada {
    background: #fef2f2;
    color: #991b1b;
}

.oferti-my-listings-card__status.is-borrador {
    background: #eef2ff;
    color: #3730a3;
}

.oferti-my-listings-card__status.is-publicada {
    background: #ecfdf5;
    color: #065f46;
}

.oferti-my-listings-card__status.is-pausada,
.oferti-my-listings-card__status.is-archivada {
    background: #f3f4f6;
    color: #374151;
}

.oferti-my-listings-card__status.is-sin_stock {
    background: #fff7ed;
    color: #9a3412;
}

.oferti-my-listings-card__status--secondary {
    background: #eef2ff;
    color: #3730a3;
}

.oferti-my-listings-card__hint {
    margin: 10px 0 0;
    color: #6b7280;
    font-size: 13px;
    line-height: 1.45;
}

.oferti-my-listings-card__edit {
    margin: 8px 0 0;
}

.oferti-my-listings-card__edit-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--techna-accent, #2563eb);
    text-decoration: none;
}

.oferti-my-listings-card__edit-link:hover,
.oferti-my-listings-card__edit-link:focus {
    text-decoration: underline;
}

.oferti-my-listings__empty {
    border: 1px solid rgba(17, 24, 39, 0.06);
    border-radius: 5px;
    background: #fff;
    box-shadow: none;
    padding: 14px;
    color: #6b7280;
}

.oferti-my-listings__empty p {
    margin: 0 0 12px;
}

.oferti-my-listings__empty p:last-child {
    margin-bottom: 0;
}

/* CTA alineado a «Ver orden» / comprar en mis-ventas: centrado y tipografía consistente */
.oferti-my-listings .oferti-my-listings__empty a.button.oferti-trade-btn-primary {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    padding: 10px 16px !important;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: normal !important;
    border-radius: 5px !important;
    border: 1px solid #5854ec !important;
    box-shadow: none !important;
}

.oferti-my-listings .oferti-my-listings__empty a.button.oferti-trade-btn-primary:hover,
.oferti-my-listings .oferti-my-listings__empty a.button.oferti-trade-btn-primary:focus {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.oferti-my-listings .oferti-my-listings__empty a.button.oferti-trade-btn-secondary {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    padding: 10px 16px !important;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: normal !important;
    border-radius: 5px !important;
    box-shadow: none !important;
}

.oferti-trade-matches {
    max-width: 820px;
    margin: 14px auto 24px;
    background: transparent;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.oferti-trade-matches__header h2 {
    margin: 0;
}

.oferti-trade-matches__header p {
    margin: 6px 0 12px;
    color: #6b7280;
}

/* Filtros como tabs: título de estado + línea activa inferior (sin píldoras) */
.oferti-trade-matches__filters {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    align-items: stretch;
    margin: 0 0 12px;
    padding: 0;
    border-bottom: 1px solid #e5e7eb;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.oferti-trade-matches__filters::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.oferti-trade-matches__filters a {
    position: relative;
    flex: 0 0 auto;
    border: 0;
    border-radius: 0;
    margin: 0 0 -1px;
    padding: 10px 14px 12px;
    background: transparent;
    white-space: nowrap;
    color: #6b7280;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.oferti-trade-matches__filters a:hover {
    color: #111827;
}

.oferti-trade-matches__filters a:focus-visible {
    outline: 2px solid #5854ec;
    outline-offset: 2px;
    border-radius: 4px;
}

.oferti-trade-matches__filters a.is-active {
    color: #111827;
    background: transparent;
    border-bottom-color: #5854ec;
}

/* Móvil: más compacto + varias filas: sin barra de scroll (ni overflow) */
@media (max-width: 639px) {
    .oferti-trade-matches__filters {
        flex-wrap: wrap;
        row-gap: 0;
        column-gap: 0;
        justify-content: flex-start;
        overflow-x: visible;
    }

    .oferti-trade-matches__filters a {
        padding: 5px 7px 8px;
        font-size: 13px;
    }
}

.oferti-trade-matches__list {
    display: grid;
    gap: 12px;
}

/* =============================================
   Landing «Cómo intercambiar» (.oferti-howtotrade*)
   ============================================= */

.oferti-howtotrade {
    max-width: 720px;
    margin: 0 auto;
    padding: 16px 18px 32px;
    box-sizing: border-box;
}

.oferti-howtotrade__title {
    margin: 0 0 8px;
    font-size: clamp(20px, 7vw, 34px);
    font-weight: 700;
    line-height: 1.18;
    color: #111822;
    text-align: center;
}

.oferti-howtotrade__h2 {
    margin: 0 0 10px;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.28;
    color: #111822;
    text-align: center;
}

.oferti-howtotrade__lead {
    margin: 0 0 6px;
    font-size: 14px;
    line-height: 1.42;
    color: #1f2937;
    font-weight: 600;
    text-align: center;
}

.oferti-howtotrade__muted,
.oferti-howtotrade .oferti-howtotrade__muted {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.45;
    color: #374151;
    text-align: center;
}

.oferti-howtotrade__muted a,
.oferti-howtotrade__intro a {
    color: #5854ec;
    font-weight: 600;
}

.oferti-howtotrade__hero {
    margin-bottom: 22px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e5e7eb;
}

.oferti-howtotrade__hero-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 16px;
}

.oferti-howtotrade .oferti-howtotrade__hero-actions .oferti-trade-btn-primary,
.oferti-howtotrade .oferti-howtotrade__hero-actions .oferti-trade-btn-secondary,
.oferti-howtotrade .oferti-howtotrade__cta-single {
    min-height: 44px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
}

.oferti-howtotrade__section {
    margin-bottom: 24px;
}

.oferti-howtotrade__section--soft {
    padding: 14px 16px;
    border-radius: var(--oferti-ui-card-radius, 14px);
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}

.oferti-howtotrade__section-foot {
    margin-top: 12px;
    margin-bottom: 0;
}

.oferti-howtotrade__steps {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: oferti-ht;
}

.oferti-howtotrade__steps > li {
    counter-increment: oferti-ht;
    position: relative;
    margin: 0 0 14px;
    padding: 14px 14px 14px 52px;
    border: 1px solid #e5e7eb;
    border-radius: var(--oferti-ui-card-radius, 14px);
    background: #fff;
    box-sizing: border-box;
}

.oferti-howtotrade__steps > li::before {
    content: counter(oferti-ht);
    position: absolute;
    left: 12px;
    top: 14px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #5854ec;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    line-height: 30px;
    text-align: center;
}

.oferti-howtotrade__step-title {
    display: block;
    margin: 0 0 4px;
    font-size: 16px;
    color: #111822;
}

.oferti-howtotrade__step-text {
    display: block;
    font-size: 14px;
    line-height: 1.42;
    color: #374151;
    text-align: justify;
}

.oferti-howtotrade__intro {
    margin: 0 0 12px;
    font-size: 15px;
    line-height: 1.42;
    color: #374151;
    text-align: center;
}

.oferti-howtotrade__state-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
}

@media (min-width: 560px) {
    .oferti-howtotrade__state-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.oferti-howtotrade__state-card {
    padding: 12px 14px;
    border-radius: var(--oferti-ui-card-radius, 14px);
    border: 1px solid #e5e7eb;
    background: #fff;
}

.oferti-howtotrade__state-label {
    display: inline-flex;
    align-items: center;
    margin: 0 0 8px;
    padding: 4px 8px;
    border-radius: var(--oferti-ui-badge-radius, 5px);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

.oferti-howtotrade__state-label.is-in-progress {
    background: #e0f2fe;
    color: #0369a1;
}

.oferti-howtotrade__state-label.is-completed {
    background: #ecfdf5;
    color: #065f46;
}

.oferti-howtotrade__state-label.is-cancelled {
    background: #fef2f2;
    color: #991b1b;
}

.oferti-howtotrade__state-desc {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
    color: #374151;
}

.oferti-howtotrade__prose {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
    color: #374151;
    text-align: justify;
}

.oferti-howtotrade__trust {
    margin: 0;
    padding: 0 0 0 1.25rem;
    color: #374151;
    font-size: 15px;
    line-height: 1.5;
}

.oferti-howtotrade__trust li {
    margin: 8px 0;
}

.oferti-howtotrade__faq {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.oferti-howtotrade__details {
    border: 1px solid #e5e7eb;
    border-radius: var(--oferti-ui-card-radius, 12px);
    background: #fff;
    overflow: hidden;
}

.oferti-howtotrade__summary {
    padding: 14px 16px;
    font-size: 15px;
    font-weight: 700;
    color: #111822;
    cursor: pointer;
    list-style: none;
    min-height: 44px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

.oferti-howtotrade__summary::-webkit-details-marker {
    display: none;
}

.oferti-howtotrade__summary::after {
    content: "";
    width: 8px;
    height: 8px;
    margin-left: auto;
    border-right: 2px solid #5854ec;
    border-bottom: 2px solid #5854ec;
    transform: rotate(45deg);
    flex-shrink: 0;
}

.oferti-howtotrade__details[open] .oferti-howtotrade__summary::after {
    transform: rotate(-135deg);
    margin-top: 4px;
}

.oferti-howtotrade__faq-a {
    margin: 0;
    padding: 0 16px 14px;
    font-size: 14px;
    line-height: 1.45;
    color: #4b5563;
}

.oferti-howtotrade__final {
    margin-top: 28px;
    padding: 20px 16px 22px;
    text-align: center;
    border-radius: var(--oferti-ui-card-radius, 14px);
    border: 1px solid rgba(88, 84, 236, 0.22);
    background: linear-gradient(180deg, #f5f4ff 0%, #fff 55%);
}

.oferti-howtotrade__final-title {
    margin: 0 0 14px;
    font-size: 20px;
    font-weight: 800;
    color: #111822;
}

.oferti-howtotrade__cta-single {
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
}

.oferti-howtotrade__final-hint {
    margin: 10px auto 8px;
    max-width: 26rem;
    font-size: 14px;
    line-height: 1.42;
    color: #374151;
}

@media (min-width: 560px) {
    .oferti-howtotrade__hero-actions {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 12px;
    }

    .oferti-howtotrade .oferti-howtotrade__hero-actions .oferti-trade-btn-primary {
        flex: 1 1 200px;
    }

    .oferti-howtotrade .oferti-howtotrade__hero-actions .oferti-trade-btn-secondary {
        flex: 1 1 180px;
    }
}

/* Mis ventas (vendedor Dokan): lista mismo layout que Mis compras (thumb | info + badge arriba a la derecha; CTA morado abajo) */
.oferti-mis-ventas .oferti-mis-ventas__list {
    display: grid;
    gap: 12px;
    margin-top: 4px;
}
.oferti-mis-ventas .screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    overflow-wrap: normal !important;
    word-wrap: normal !important;
}
/* Tarjeta pedido: misma shell que `.oferti-account-order-card` pero con 5px y borde suave como antes en mis-ventas */
.oferti-mis-ventas .oferti-account-order-card {
    border-radius: 5px !important;
    border: 1px solid rgba(17, 24, 39, 0.06) !important;
    box-shadow: none !important;
    padding: 14px;
}
.oferti-mis-ventas .oferti-account-order-card__info-head .oferti-mis-ventas__status-badge {
    flex-shrink: 0;
    align-self: flex-start;
}
.oferti-mis-ventas .oferti-account-order-card__product-title {
    word-break: break-word;
}
/* Una sola acción: ancho completo (evita grid 2 columnas de cuenta sin `body.woocommerce-account`) */
.oferti-mis-ventas .oferti-account-order-card__actions {
    grid-template-columns: 1fr;
}
.oferti-mis-ventas__status-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: var(--oferti-ui-badge-radius, 5px);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    flex-shrink: 0;
    background: #f3f4f6;
    color: #374151;
}
/* Mis ventas: pedido completado (pastel). En mis-matches el match completado usa #15803d como el toast verde. */
.oferti-mis-ventas__status-badge.is-completed {
    background: #ecfdf5;
    color: #065f46;
}
.oferti-mis-ventas__status-badge.is-processing,
.oferti-mis-ventas__status-badge.is-on-hold {
    background: #e0f2fe;
    color: #0369a1;
}
.oferti-mis-ventas__status-badge.is-pending {
    background: #faefcf;
    color: #8a5a00;
}
.oferti-mis-ventas__status-badge.is-cancelled,
.oferti-mis-ventas__status-badge.is-failed {
    background: #fef2f2;
    color: #991b1b;
}
.oferti-mis-ventas__status-badge.is-refunded {
    background: #f3f4f6;
    color: #374151;
}
.oferti-mis-ventas__status-badge.is-draft,
.oferti-mis-ventas__status-badge.is-checkout-draft {
    background: #f3f4f6;
    color: #374151;
}
@media (max-width: 639px) {
    .oferti-mis-ventas .oferti-account-order-card__actions {
        width: 100%;
        min-width: 0;
    }
}
/* CTA mismo criterio que "Comprar ahora" / .oferti-trade-pdp-modal__btn-submit */
.oferti-mis-ventas .oferti-mis-ventas__cta.oferti-btn-comprar-ahora {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    background: #5854ec !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 10px 16px !important;
    border-radius: 5px !important;
    border: 1px solid #5854ec !important;
    line-height: normal !important;
    box-shadow: none !important;
    margin: 0 !important;
    box-sizing: border-box;
    text-decoration: none !important;
    text-align: center;
}
.oferti-mis-ventas .oferti-mis-ventas__cta.oferti-btn-comprar-ahora:hover,
.oferti-mis-ventas .oferti-mis-ventas__cta.oferti-btn-comprar-ahora:focus {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}
.oferti-mis-ventas .oferti-mis-ventas__list > article.oferti-mis-ventas__row.is-highlight {
    box-shadow: 0 0 0 2px rgba(88, 84, 236, 0.35);
}
.oferti-mis-ventas__pagination .page-numbers {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 16px;
    padding: 0;
    list-style: none;
}
.oferti-mis-ventas__pagination li {
    margin: 0;
}

/* Mis ventas — detalle mínimo (?pedido=) */
.oferti-mis-ventas .oferti-mis-ventas__detail-back {
    display: inline-flex;
    align-items: center;
    margin-bottom: 14px;
    font-weight: 600;
    text-decoration: none;
    padding: 8px 14px !important;
    border-radius: 8px;
    width: fit-content;
    box-sizing: border-box;
}
.oferti-mis-ventas__detail-header {
    margin-bottom: 6px;
}
.oferti-mis-ventas__items-wrap {
    overflow: hidden;
    margin-top: 4px;
    margin-bottom: 20px;
    border-radius: 5px;
    border: 1px solid #e5e7eb;
    background: #fff;
}
.oferti-mis-ventas .oferti-mis-ventas__items-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    font-size: 14px;
    line-height: 1.35;
    color: #111827;
    background: #fff;
}
.oferti-mis-ventas .oferti-mis-ventas__items-table thead th {
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
    font-weight: 700;
    font-size: 13px;
    color: #374151;
}
.oferti-mis-ventas .oferti-mis-ventas__items-table thead th.oferti-mis-ventas__items-table-col-qty {
    text-align: center;
    white-space: nowrap;
    width: 5.5rem;
}
.oferti-mis-ventas .oferti-mis-ventas__items-table thead th.oferti-mis-ventas__items-table-col-total {
    text-align: right;
    white-space: nowrap;
    width: 7rem;
}
.oferti-mis-ventas .oferti-mis-ventas__items-table tbody td {
    padding: 10px 12px;
    vertical-align: middle;
    border: 1px solid #e5e7eb;
}
.oferti-mis-ventas .oferti-mis-ventas__items-table-qty {
    text-align: center;
    font-weight: 600;
}
.oferti-mis-ventas .oferti-mis-ventas__items-table-total {
    text-align: right;
    font-weight: 600;
}
.oferti-mis-ventas .oferti-mis-ventas__items-table-total .woocommerce-Price-amount {
    font-weight: inherit;
}
.oferti-mis-ventas .oferti-mis-ventas__item-product {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.oferti-mis-ventas .oferti-mis-ventas__item-product > img {
    flex-shrink: 0;
    width: 52px !important;
    height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #e5e7eb;
    margin: 0;
}
.oferti-mis-ventas .oferti-mis-ventas__item-product-name {
    min-width: 0;
    font-weight: 600;
    word-break: break-word;
}
.oferti-mis-ventas .oferti-mis-ventas__item-product-link {
    font-weight: 600;
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.oferti-mis-ventas .oferti-mis-ventas__item-product-link:hover,
.oferti-mis-ventas .oferti-mis-ventas__item-product-link:focus-visible {
    color: #5854ec;
}
.oferti-mis-ventas .oferti-mis-ventas__item-product-link:focus-visible {
    outline: 2px solid #5854ec;
    outline-offset: 2px;
}
.oferti-mis-ventas .oferti-mis-ventas__items-empty {
    text-align: center;
    padding: 16px !important;
    color: #6b7280;
    font-weight: 500;
}
.oferti-mis-ventas .oferti-mis-ventas__items-summary .oferti-mis-ventas__items-summary-cell {
    padding: 0;
    border: 1px solid #e5e7eb;
    vertical-align: middle;
}
.oferti-mis-ventas .oferti-mis-ventas__items-summary--compact .oferti-mis-ventas__items-meta-strip {
    padding: 8px 12px;
}
.oferti-mis-ventas .oferti-mis-ventas__items-summary--grand .oferti-mis-ventas__items-meta-strip {
    padding: 10px 12px;
}
.oferti-mis-ventas .oferti-mis-ventas__items-meta-strip {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 14px;
    column-gap: 16px;
}
.oferti-mis-ventas .oferti-mis-ventas__items-meta-k {
    flex: 0 1 auto;
    font-weight: 700;
    font-size: 13px;
    color: #374151;
}
.oferti-mis-ventas .oferti-mis-ventas__items-meta-v {
    flex: 1 1 0%;
    min-width: 10em;
    text-align: right;
    font-weight: 600;
    font-size: 14px;
    color: #111827;
    line-height: 1.35;
    word-break: normal;
    overflow-wrap: anywhere;
}
.oferti-mis-ventas .oferti-mis-ventas__items-summary--grand .oferti-mis-ventas__items-meta-k {
    font-size: 14px;
    color: #111827;
}
.oferti-mis-ventas .oferti-mis-ventas__items-summary--grand .oferti-mis-ventas__items-meta-v {
    font-size: 15px;
    font-weight: 700;
}
.oferti-mis-ventas .oferti-mis-ventas__items-summary--grand .oferti-mis-ventas__items-meta-v .woocommerce-Price-amount {
    font-weight: inherit;
}
.oferti-mis-ventas .oferti-mis-ventas__items-summary--compact .oferti-mis-ventas__items-summary-cell {
    background: #fafafa;
}
@media (max-width: 420px) {
    .oferti-mis-ventas .oferti-mis-ventas__items-meta-strip {
        flex-wrap: wrap;
        row-gap: 6px;
    }
    .oferti-mis-ventas .oferti-mis-ventas__items-meta-v {
        flex-basis: 100%;
        min-width: 0;
        text-align: left;
    }
}

.oferti-mis-ventas .oferti-mis-ventas__items-wrap + .oferti-mis-ventas__detail-card {
    margin-top: 0;
}

.oferti-mis-ventas__detail-card {
    margin-top: 8px;
    border: 1px solid rgba(17, 24, 39, 0.06);
    border-radius: 5px;
    background: #fff;
    overflow: hidden;
}
.oferti-mis-ventas__detail-card-h {
    margin: 0;
    padding: 12px 16px;
    font-size: 15px;
    font-weight: 700;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    color: #111827;
}
.oferti-mis-ventas__detail-body {
    padding: 16px;
}
.oferti-mis-ventas__detail-dl {
    margin: 0;
}
.oferti-mis-ventas__detail-pair {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px 12px;
    margin: 0 0 14px;
    align-items: baseline;
}
.oferti-mis-ventas__detail-pair:last-child {
    margin-bottom: 0;
}
.oferti-mis-ventas__detail-pair dt {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: #374151;
}
.oferti-mis-ventas__detail-pair dd {
    margin: 0;
    font-size: 14px;
    color: #111827;
    font-weight: 600;
    word-break: break-word;
}
.oferti-mis-ventas__detail-value--multiline {
    overflow-wrap: anywhere;
}
.oferti-mis-ventas__detail-sep {
    margin: 16px 0;
    border: 0;
    border-top: 1px solid #e5e7eb;
}
@media (min-width: 480px) {
    .oferti-mis-ventas__detail-pair {
        grid-template-columns: minmax(140px, 220px) 1fr;
    }
}

.oferti-trade-match-card {
    border: 1px solid #d8d8d8;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

/* Lista /mis-matches: misma jerarquía y elevación que el detalle */
.oferti-trade-match-card--list {
    border: 1px solid rgba(17, 24, 39, 0.06);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 4px 20px rgba(17, 24, 39, 0.08), 0 1px 3px rgba(17, 24, 39, 0.06);
    overflow: hidden;
}

.oferti-trade-match-card--list .oferti-trade-match-card__body {
    padding: 14px 16px 12px;
}

.oferti-trade-match-card--list .oferti-trade-match-card__top {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    align-items: start;
    gap: 10px 12px;
}

.oferti-trade-match-card--list .oferti-trade-match-card__top-main {
    min-width: 0;
}

.oferti-trade-match-card--list .oferti-trade-match-card__top .oferti-trade-match-card__status {
    margin: 0;
    justify-self: end;
    align-self: start;
    flex-shrink: 0;
}

.oferti-trade-match-card--list h3 {
    margin: 0 0 4px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    color: #111827;
}

.oferti-trade-match-card--list h3 .oferti-trade-match-card__title-link {
    color: inherit;
    text-decoration: none;
}

.oferti-trade-match-card--list h3 .oferti-trade-match-card__title-link:hover,
.oferti-trade-match-card--list h3 .oferti-trade-match-card__title-link:focus-visible {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.oferti-trade-match-card--list .oferti-trade-match-card__hint {
    margin: 0;
    color: #4b5563;
    font-size: 13px;
    line-height: 1.4;
}

.oferti-trade-match-card__exchange-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    margin: 0;
    line-height: 1.45;
    font-size: 14px;
    font-weight: 600;
    color: #111827;
}

.oferti-trade-match-card__exchange-line .oferti-trade-match-card__exchange-start {
    font-weight: 600;
    color: #111827;
}

.oferti-trade-match-card__exchange-line a.oferti-trade-match-card__exchange-mine,
.oferti-trade-match-card__exchange-line a.oferti-trade-match-card__exchange-theirs {
    display: inline;
    max-width: none;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    color: #3730a3;
    font-weight: 600;
    text-decoration: none;
    word-break: break-word;
}

.oferti-trade-match-card__exchange-line a.oferti-trade-match-card__exchange-mine:hover,
.oferti-trade-match-card__exchange-line a.oferti-trade-match-card__exchange-mine:focus,
.oferti-trade-match-card__exchange-line a.oferti-trade-match-card__exchange-theirs:hover,
.oferti-trade-match-card__exchange-line a.oferti-trade-match-card__exchange-theirs:focus {
    color: #111827;
}

.oferti-trade-match-card__exchange-line .oferti-trade-match-card__swap {
    color: #7b7b7b;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    flex-shrink: 0;
    padding: 0 2px;
}

/* Una sola frase: anula el flex/nowrap de __meta-row base */
.oferti-trade-match-card__meta-row.oferti-trade-match-card__exchange-line {
    display: flex;
    flex-wrap: wrap;
    white-space: normal;
    overflow: visible;
    width: 100%;
}

.oferti-trade-match-card__diff-row {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #e9ecef;
}

.oferti-trade-match-card__diff-line {
    margin: 0;
    font-size: 15px;
    line-height: 1.45;
    color: #111827;
}

.oferti-trade-match-card__diff-k {
    font-weight: 700;
    color: #111827;
}

.oferti-trade-match-card__diff-v {
    font-weight: 400;
    color: #111827;
}

.oferti-trade-match-card--list .oferti-trade-match-card__line {
    margin: 8px 0 0;
    color: #6b7280;
    font-size: 13px;
    line-height: 1.45;
}

/* Lista: botones apilados como en vista detalle (todos los anchos) */
.oferti-trade-match-card--list .oferti-trade-match-card__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e9ecef;
}

.oferti-trade-match-card--list .oferti-trade-match-card__actions > * {
    width: 100%;
    max-width: none;
    grid-column: auto;
}

.oferti-trade-match-card--list .oferti-trade-match-card__actions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}

.oferti-trade-match-card--list .oferti-trade-match-card__actions-bm-wrap {
    flex: none;
    width: 100%;
    min-width: 0;
}

.oferti-trade-match-card--detail {
    background: #fff;
    border: 1px solid rgba(17, 24, 39, 0.06);
    border-radius: 16px;
    padding: 18px 18px 16px;
    overflow: visible;
    box-shadow: 0 4px 20px rgba(17, 24, 39, 0.08), 0 1px 3px rgba(17, 24, 39, 0.06);
}

.oferti-trade-match-card--detail .oferti-trade-match-card__detail-head {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
    margin: 0 0 0;
}

.oferti-trade-match-card--detail .oferti-trade-match-card__detail-head .oferti-trade-match-card__status {
    margin: 0;
}

.oferti-trade-match-card--detail .oferti-trade-match-card__hint {
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.45;
    color: #4b5563;
}

.oferti-trade-match-card--detail .oferti-trade-match-card__meta > p {
    margin: 0 0 8px;
    font-size: 15px;
    line-height: 1.45;
    color: #111827;
}

.oferti-trade-match-card--detail .oferti-trade-match-card__meta > p strong {
    font-weight: 700;
    color: #111827;
}

.oferti-trade-match-card--detail .oferti-trade-match-card__meta a {
    color: #3730a3;
    font-weight: 600;
    text-decoration: none;
}

.oferti-trade-match-card--detail .oferti-trade-match-card__meta a:hover,
.oferti-trade-match-card--detail .oferti-trade-match-card__meta a:focus {
    color: #111827;
}

.oferti-trade-match-card--detail .oferti-trade-match-card__footnote {
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 1.4;
    color: #6b7280;
}

.oferti-trade-match-card--detail .oferti-trade-match-card__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #e9ecef;
}

.oferti-trade-match-card--detail .oferti-trade-match-card__actions-primary {
    width: 100%;
}

.oferti-trade-match-card--detail .oferti-trade-bm-track,
.oferti-trade-match-card__actions-bm-wrap .oferti-trade-bm-track {
    width: 100%;
}

/* Acciones match: ancho / layout compartido */
.oferti-trade-match-card--detail .oferti-trade-bm-track button,
.oferti-trade-match-card--detail .oferti-trade-bm-track a.button,
.oferti-trade-match-card--detail .oferti-trade-bm-track .button,
.oferti-trade-match-card__actions-bm-wrap .oferti-trade-bm-track button,
.oferti-trade-match-card__actions-bm-wrap .oferti-trade-bm-track a.button,
.oferti-trade-match-card__actions-bm-wrap .oferti-trade-bm-track .button,
.oferti-trade-match-card__actions > button.oferti-trade-match-confirm-open[data-oferti-trade-open] {
    width: 100% !important;
    box-sizing: border-box;
    min-height: 44px;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-shadow: none !important;
    line-height: normal !important;
    text-decoration: none !important;
    cursor: pointer;
}

/* Confirmar intercambio: morado sólido */
.oferti-trade-match-card__actions > button.oferti-trade-match-confirm-open[data-oferti-trade-open] {
    border-radius: 5px !important;
    font-weight: 700 !important;
    background: #5854ec !important;
    color: #fff !important;
    border: 0 !important;
}

.oferti-trade-match-card__actions > button.oferti-trade-match-confirm-open[data-oferti-trade-open]:hover,
.oferti-trade-match-card__actions > button.oferti-trade-match-confirm-open[data-oferti-trade-open]:focus {
    background: #000000 !important;
    color: #fff !important;
}

/* Enviar mensaje al vendedor (Better Messages): mismo criterio que .wo-offer-btn-product */
.oferti-trade-match-card--detail .oferti-trade-bm-track button,
.oferti-trade-match-card--detail .oferti-trade-bm-track a.button,
.oferti-trade-match-card--detail .oferti-trade-bm-track .button,
.oferti-trade-match-card__actions-bm-wrap .oferti-trade-bm-track button,
.oferti-trade-match-card__actions-bm-wrap .oferti-trade-bm-track a.button,
.oferti-trade-match-card__actions-bm-wrap .oferti-trade-bm-track .button {
    border-radius: 4px !important;
    padding: 13px 20px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    background: #fff !important;
    color: #5854ec !important;
    border: 1px solid #5854ec !important;
    text-align: center !important;
}

/* Sin relleno morado al hover/focus/:active — mismo aspecto que estado normal */
.oferti-trade-match-card--detail .oferti-trade-bm-track button:hover,
.oferti-trade-match-card--detail .oferti-trade-bm-track button:focus,
.oferti-trade-match-card--detail .oferti-trade-bm-track button:active,
.oferti-trade-match-card--detail .oferti-trade-bm-track a.button:hover,
.oferti-trade-match-card--detail .oferti-trade-bm-track a.button:focus,
.oferti-trade-match-card--detail .oferti-trade-bm-track a.button:active,
.oferti-trade-match-card__actions-bm-wrap .oferti-trade-bm-track button:hover,
.oferti-trade-match-card__actions-bm-wrap .oferti-trade-bm-track button:focus,
.oferti-trade-match-card__actions-bm-wrap .oferti-trade-bm-track button:active,
.oferti-trade-match-card__actions-bm-wrap .oferti-trade-bm-track a.button:hover,
.oferti-trade-match-card__actions-bm-wrap .oferti-trade-bm-track a.button:focus,
.oferti-trade-match-card__actions-bm-wrap .oferti-trade-bm-track a.button:active {
    background: #fff !important;
    color: #5854ec !important;
    border-color: #5854ec !important;
}

.oferti-trade-match-card--detail .oferti-trade-bm-track button:focus-visible,
.oferti-trade-match-card__actions-bm-wrap .oferti-trade-bm-track button:focus-visible,
.oferti-trade-match-card--detail .oferti-trade-bm-track a.button:focus-visible,
.oferti-trade-match-card__actions-bm-wrap .oferti-trade-bm-track a.button:focus-visible {
    outline: 2px solid #5854ec;
    outline-offset: 2px;
}

.oferti-trade-match-support-wa {
    margin: 0;
    width: 100%;
}

.oferti-trade-match-card--detail .oferti-trade-match-support-wa a.button,
.oferti-trade-match-card--list .oferti-trade-match-support-wa a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    min-height: 44px;
    width: 100%;
    box-sizing: border-box;
    text-decoration: none !important;
    font-weight: 700 !important;
}

.oferti-trade-match-card__body {
    padding: 11px;
}

.oferti-trade-match-card__top {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    gap: 10px;
    align-items: center;
}

.oferti-trade-match-card__thumb {
    width: 56px;
    height: 56px;
    border-radius: 8px;
    border: 1px solid #dadada;
    overflow: hidden;
    background: #f5f5f2;
}

.oferti-trade-match-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.oferti-trade-match-card h3 {
    margin: 0 0 2px;
    font-size: 15px;
    line-height: 1.25;
}

.oferti-trade-match-card.oferti-trade-match-card--detail h3 {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 700;
    color: #111827;
    line-height: 1.25;
}

.oferti-trade-match-card__status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 0;
}

.oferti-trade-match-card__status-icon {
    line-height: 1;
    font-size: 13px;
}

.oferti-trade-match-card__status.is-in_progress { background: #e0f2fe; color: #0369a1; }
.oferti-trade-match-card__status.is-trade-confirmed { background: #ecfdf5; color: #065f46; }
/* Mismo verde y palomita en círculo que el toast verde (.oferti-listing-toast) */
.oferti-trade-match-card__status.is-completed {
    background: #15803d;
    color: #fff;
}
.oferti-trade-match-card__status.is-completed .oferti-trade-match-card__status-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    min-width: 18px;
    line-height: 1;
    color: #15803d;
    background: #fff;
    border-radius: 50%;
}
.oferti-trade-match-card__status.is-completed .oferti-trade-match-card__status-icon i {
    font-size: 12px;
    line-height: 1;
}
.oferti-trade-match-card__status.is-cancelled { background: #fef2f2; color: #991b1b; }
.oferti-trade-match-card__status.is-turn { background: #fdecec; color: #b91c1c; }
.oferti-trade-match-card__status.is-pending { background: #faefcf; color: #8a5a00; }

.oferti-trade-match-card__hint {
    margin: 0;
    color: #4b5563;
    font-size: 13px;
}

.oferti-trade-match-card__meta-row {
    margin-top: 12px;
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    align-items: center;
    color: #2f2f2f;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    line-height: 1.25;
}

.oferti-trade-match-card__meta-row a {
    color: #2f2f2f;
    display: inline-block;
    max-width: 170px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.oferti-trade-match-card__detail-link-wrap {
    margin: 6px 0 0;
}

.oferti-trade-match-card__detail-link {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    color: #3730a3;
    text-decoration: none;
}

.oferti-trade-match-card__detail-link:hover,
.oferti-trade-match-card__detail-link:focus {
    color: #111827;
}

.oferti-trade-match-card__back-to-list {
    margin: 10px 0 14px;
}

.oferti-trade-match-card__back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #3730a3;
    text-decoration: none;
}

.oferti-trade-match-card__back-link::before {
    content: "\2190";
    font-size: 1.05em;
    line-height: 1;
    opacity: 0.9;
}

.oferti-trade-match-card__back-link:hover,
.oferti-trade-match-card__back-link:focus {
    color: #111827;
}

.oferti-trade-match-card__swap {
    color: #7b7b7b;
    font-size: 18px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
}

.oferti-trade-match-card__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 10px;
    border-top: 1px solid #e9e9e9;
    padding-top: 10px;
}

.oferti-trade-match-card__actions form {
    margin: 0;
}

.oferti-trade-match-complete-wrap {
    grid-column: 1 / -1;
    margin-top: 8px;
}

.oferti-trade-match-complete-wrap__kicker {
    margin: 0 0 6px;
    font-size: 13px;
    color: #6b7280;
    line-height: 1.35;
}

.oferti-trade-match-complete-form .button.oferti-trade-btn-primary {
    width: 100%;
}

.oferti-trade-match-card__actions > :only-child {
    grid-column: 1 / -1;
}

.oferti-trade-match-card__line {
    margin: 8px 0 0;
    color: #666;
    font-size: 13px;
}

.oferti-trade-btn-primary,
.oferti-trade-btn-secondary {
    width: 100%;
    min-height: 42px;
    border-radius: 5px;
    font-weight: 700;
}

.oferti-trade-btn-primary {
    background: #5854ec !important;
    color: #fff !important;
    border: 0 !important;
}

.oferti-trade-btn-secondary {
    background: #fff !important;
    color: #111827 !important;
    border: 1px solid #d1d5db !important;
}

/* WhatsApp (marca): verde oficial #25D366, texto e icono blancos — PDP + Mis matches */
.oferti-trade-btn-whatsapp {
    background: #25d366 !important;
    color: #fff !important;
    border: 1px solid #20bd5a !important;
    border-radius: 5px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.oferti-trade-btn-whatsapp:hover,
.oferti-trade-btn-whatsapp:focus {
    background: #20bd5a !important;
    color: #fff !important;
    border-color: #1da851 !important;
    box-shadow: 0 2px 8px rgba(37, 211, 102, 0.35);
}

.oferti-trade-btn-whatsapp:active {
    background: #1da851 !important;
    border-color: #1b9d4c !important;
}

.oferti-trade-btn-whatsapp:focus-visible {
    outline: 2px solid #128c7e;
    outline-offset: 2px;
}

.oferti-trade-match-oferti-wa-support {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.oferti-trade-match-oferti-wa-support .fab.fa-whatsapp {
    font-size: 18px;
    color: #fff;
}

.oferti-trade-match-oferti-wa-support:hover .fab.fa-whatsapp,
.oferti-trade-match-oferti-wa-support:focus .fab.fa-whatsapp,
.oferti-trade-match-oferti-wa-support:active .fab.fa-whatsapp {
    color: #fff;
}

.oferti-trade-matches__empty {
    border: 1px dashed #d1d5db;
    border-radius: 12px;
    padding: 14px;
    color: #6b7280;
}

.oferti-badges-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}

/* En ficha: controlar espacio entre badges y precio */
.single-product .summary.entry-summary .oferti-badges-wrap {
    margin-bottom: 8px;
}


/* =============================================
   8. PÁGINA DE PRODUCTO
   ============================================= */

.single-product .summary.entry-summary p.price,
.single-product .summary.entry-summary span.price {
    margin-bottom: 0px !important;
}

.single-product .summary.entry-summary .oferti-single-location {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    margin-bottom: 4px;
    font-size: 12px;
    color: #6b7280;
    line-height: 1.2;
}

.single-product .summary.entry-summary .oferti-single-location i {
    color: #6b7280;
    font-size: 12px;
}

.single-product .summary.entry-summary .oferti-single-location__sep {
    color: #c4c4cd;
}

.single-product .summary.entry-summary .woocommerce-product-details__short-description {
    margin-bottom: 14px;
}

.oferti-product-specs {
    margin-top: 8px;
    margin-bottom: 20px;
    padding: 10px;
    border: 1px solid #eee;
    border-radius: 6px;
    background: #ffffff;
}

.oferti-product-specs ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 10px;
    row-gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.oferti-product-specs li {
    font-size: 13px;
    color: #333;
    padding-left: 10px;
}

.oferti-spec {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #f8f9fa;
    border-radius: 5px;
    font-weight: 700;
    padding: 4px 3px;
    color: #1e7f4f;
}

/* Color: mismo contenedor que el resto de specs; solo el punto añade la muestra del color */
.oferti-spec-color-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.oferti-spec-color-dot--ring {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), inset 0 0 0 1px rgba(0, 0, 0, 0.1);
}

.oferti-imei {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #e8f5ee;
    border-radius: 5px;
    font-weight: 500;
    padding: 3px;
    color: #1e7f4f;
}

.oferti-imei i { font-size: 14px; }

.oferti-date {
    display: flex;
    align-items: center;
    gap: 6px;
    border-radius: 5px;
    color: #666666;
}

.woocommerce-product-details__short-description {
    margin-top: 10px;
    font-size: 14px;
    color: #444;
    padding: 12px 14px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
}

.woocommerce-product-details__short-description p {
    font-size: 13px;
    color: #333;
    line-height: 1.45;
    margin: 0;
    text-align: justify;
}

.oferti-battery {
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 12px 14px;
    margin-top: 12px;
}

.battery-section {
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 15px;
    margin: 20px 0;
    width: 100%;
}

.oferti-trade-section {
    background: #ffffff;
    border: 1px solid #e8e8ef;
    border-radius: 8px;
    padding: 15px;
    margin: 16px 0;
    width: 100%;
}

.oferti-trade-header {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}

.oferti-trade-icon {
    color: #5854ec;
    font-size: 18px;
    margin-right: 10px;
}

.oferti-trade-section h4 {
    margin: 0;
    font-size: 14px;
    color: #333;
    font-weight: 600;
}

.oferti-trade-text {
    color: #666;
    font-size: 14px;
    line-height: 1.45;
    margin: 0;
}

.oferti-trade-entry {
    margin-top: 12px;
    border-top: 0;
    padding-top: 0;
}

.oferti-trade-entry__form {
    display: grid;
    gap: 8px;
}

.oferti-trade-entry__form label {
    font-weight: 600;
    font-size: 14px;
}

.oferti-trade-entry__form select {
    min-height: 42px;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    padding: 0 10px;
}

.oferti-trade-entry__msg {
    margin: 0 0 8px;
    font-size: 13px;
    color: #4b5563;
}

.oferti-trade-entry__msg--ok {
    color: #065f46;
}

.oferti-trade-entry__msg--err {
    color: #b91c1c;
}

.oferti-trade-guest-card {
    border-top: 1px solid #ececf3;
    border-bottom: 1px solid #ececf3;
    margin: 2px 0 14px;
}

.oferti-trade-guest-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid #f1f2f6;
    font-size: 13px;
    color: #333;
}

.oferti-trade-guest-row:last-child {
    border-bottom: 0;
}

.oferti-trade-guest-row strong {
    text-align: right;
    font-size: 13px;
    font-weight: 700;
    color: #333;
}

.oferti-trade-guest-cta {
    width: 100% !important;
    min-height: 44px;
    background: #5854ec !important;
    color: #ffffff !important;
    font-size: 16px !important;
    padding: 13px 20px !important;
    border-radius: 5px !important;
    border: 1px solid #5854ec !important;
    text-align: center;
    margin-top: 10px !important;
    font-weight: 600 !important;
    display: block !important;
    box-sizing: border-box;
    line-height: normal !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.oferti-trade-pdp-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
}

.oferti-trade-pdp-modal.is-open {
    display: block;
}

.oferti-trade-pdp-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 24, 39, 0.55);
}

.oferti-trade-pdp-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(640px, calc(100% - 24px));
    max-height: calc(100vh - 24px);
    margin: 12px auto;
    overflow: auto;
    background: #fff;
    border-radius: 5px;
    border: 1px solid #ececec;
}

.oferti-trade-pdp-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px;
    border-bottom: 1px solid #efefef;
}

.oferti-trade-pdp-modal__header h4 {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #111827;
}

.oferti-trade-pdp-modal__close {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid #d1d5db;
    background: #f8f7f2;
    color: #111827;
    font-size: 24px;
    line-height: 1;
}

.oferti-trade-pdp-modal__form {
    padding: 16px 18px 18px;
}

.oferti-trade-pdp-modal__subtitle {
    margin: 0 0 12px;
    font-size: 13px;
    font-weight: 700;
    color: #111827;
}

.oferti-trade-pdp-modal__options {
    display: grid;
    gap: 10px;
    padding-bottom: 16px;
    margin-bottom: 0;
    border-bottom: 1px solid #e9ecef;
}

.oferti-trade-pdp-option {
    display: grid;
    grid-template-columns: 26px 56px 1fr;
    align-items: center;
    gap: 10px;
    border: 1px solid #e5e7eb;
    border-radius: 5px;
    padding: 10px;
}

.oferti-trade-pdp-option:has(input:checked) {
    border-color: #b8dcc6;
    background: #e8f5ee;
    box-shadow: 0 0 0 1px rgba(46, 164, 79, 0.08);
}

.oferti-trade-pdp-option input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    margin: 0;
    flex-shrink: 0;
    border: 2px solid #b8dcc6;
    border-radius: 50%;
    background-color: #fff;
    box-sizing: border-box;
    cursor: pointer;
}

.oferti-trade-pdp-option input[type="radio"]:checked {
    border-color: #6bb87a;
    background-color: #fff;
    background-image: radial-gradient(circle, #6bb87a 0%, #6bb87a 42%, transparent 43%);
}

.oferti-trade-pdp-option input[type="radio"]:focus-visible {
    outline: 2px solid #6bb87a;
    outline-offset: 2px;
}

.oferti-trade-pdp-option__thumb {
    width: 56px;
    height: 56px;
    border-radius: 5px;
    border: 1px solid #e5e7eb;
    background: #f8f8f5;
    overflow: hidden;
}

.oferti-trade-pdp-option__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.oferti-trade-pdp-option__body strong {
    display: block;
    font-size: 13px;
    line-height: 1.2;
    color: #111827;
}

.oferti-trade-pdp-option__body small {
    display: block;
    font-size: 14px;
    line-height: 1.2;
    color: #111827;
}

/* Confirmar intercambio: una sola tarjeta (sin radio), mismo aspecto que propuesta PDP */
.oferti-trade-pdp-option--static {
    grid-template-columns: 56px 1fr;
    cursor: default;
    border-color: #b8dcc6;
    background: #e8f5ee;
    box-shadow: 0 0 0 1px rgba(46, 164, 79, 0.08);
}

.oferti-trade-pdp-option--static .oferti-trade-pdp-option__thumb {
    grid-column: 1;
}

.oferti-trade-confirm-modal__pick-one {
    padding-bottom: 16px;
    margin-bottom: 0;
    border-bottom: 1px solid #e9ecef;
}

.oferti-trade-confirm-modal__subtitle-resumen {
    margin-top: 18px;
}

.oferti-trade-pdp-summary-wrap {
    margin-top: 18px;
}

.oferti-trade-pdp-summary-wrap__title {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 700;
    color: #111827;
}

.oferti-trade-pdp-summary {
    border: 1px solid #e9ecef;
    background: #f8f9fa;
    border-radius: 5px;
    padding: 16px 16px 14px;
}

.oferti-trade-pdp-summary__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 8px;
    font-size: 15px;
    line-height: 1.35;
    color: #111827;
}

.oferti-trade-pdp-summary__row span {
    flex: 1;
    min-width: 0;
}

.oferti-trade-pdp-summary__row strong {
    flex-shrink: 0;
    font-size: 15px;
    font-weight: 700;
    color: #111827;
    text-align: right;
}

.oferti-trade-pdp-summary__middle {
    margin-top: 16px;
    margin-bottom: 16px;
    padding-top: 4px;
    text-align: center;
}

.oferti-trade-pdp-summary__hint {
    margin: 0 0 2px;
    text-align: center;
    color: #6b7280;
    font-size: 13px;
    font-weight: 500;
}

.oferti-trade-pdp-summary__mode {
    margin: 0 0 8px;
    text-align: center;
    color: #6b7280;
    font-size: 13px;
    font-weight: 500;
}

.oferti-trade-pdp-summary__amount {
    margin: 0 0 10px;
    text-align: center;
    color: #111827;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.1;
}

.oferti-trade-pdp-summary__chip-wrap {
    text-align: center;
}

.oferti-trade-pdp-summary__chip {
    display: inline-block;
    margin: 0;
    padding: 6px 14px;
    border-radius: 5px;
    background: #f0f1ff;
    color: #4f46a5;
    border: 1px solid #e0e2ff;
    font-size: 14px;
    font-weight: 600;
}

.oferti-trade-pdp-summary__adjust-line {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.oferti-trade-pdp-summary__adjust {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #111827;
    white-space: nowrap;
}

.oferti-trade-pdp-summary__adjust-line input[type="number"] {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    border: 1px solid #d1d5db;
    border-radius: 5px;
    padding: 0 12px;
    font-size: 16px;
    font-weight: 600;
    background: #fff;
    color: #111827;
    box-sizing: border-box;
}

.oferti-trade-pdp-summary__adjust-currency {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
}

.oferti-trade-pdp-summary__note {
    margin: 0;
    font-size: 13px;
    color: #6b7280;
}

/* Confirmación de match: comisión 0% (mismo modal PDP) */
.oferti-trade-pdp-summary__commission {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e5e7eb;
}

.oferti-trade-pdp-summary__row--fee {
    margin-bottom: 0;
}

.oferti-trade-pdp-summary__commission-note {
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.4;
    color: #6b7280;
}

.oferti-trade-pdp-modal__actions {
    margin-top: 16px;
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
}

/* Mismo criterio visual que CTA "Comprar ahora" / oferti-trade-guest-cta (morado Oferti) */
.oferti-trade-pdp-modal__btn-submit {
    width: 100% !important;
    min-height: 44px;
    background: #5854ec !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 10px 16px !important;
    border-radius: 5px !important;
    border: 1px solid #5854ec !important;
    line-height: normal !important;
    box-shadow: none !important;
    margin: 0 !important;
    box-sizing: border-box;
}

.oferti-trade-pdp-modal__btn-submit:hover,
.oferti-trade-pdp-modal__btn-submit:focus {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

.oferti-trade-pdp-modal__btn-cancel {
    width: 100% !important;
    min-height: 44px;
    background: #fff !important;
    color: #111827 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 10px 16px !important;
    border-radius: 5px !important;
    border: 1px solid #d1d5db !important;
    line-height: normal !important;
    margin: 0 !important;
    box-sizing: border-box;
}

.oferti-trade-guest-cta:hover,
.oferti-trade-guest-cta:focus {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

.oferti-trade-guest-note {
    text-align: center;
    color: #8f8f93;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 600;
    margin-top: 10px;
}

.battery-header { display: flex; align-items: center; margin-bottom: 5px; }
.battery-icon { color: #4CAF50; font-size: 18px; margin-right: 10px; }
.battery-section h4 { margin: 0; font-size: 14px; color: #333; font-weight: 600; }
.battery-text { color: #666; font-size: 14px; line-height: 1.4; margin-bottom: 0px; }
.battery-link {
    display: inline-flex;
    align-items: center;
    color: #007bff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
}

.oferti-why-section {
    margin-top: 10px;
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid #eee;
    border-radius: 8px;
    background: #fff;
}

.oferti-why-header {
    display: flex;
    align-items: center;
    margin-bottom: 14px;
}

.oferti-why-section h4 {
    margin: 0;
    font-size: 14px;
    color: #333;
    font-weight: 600;
}

.oferti-why-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.oferti-why-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 18px 0;
}

.oferti-why-item:last-child {
    margin-bottom: 0;
}

.oferti-why-item__icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
    color: #5854ec;
    font-size: 22px;
    line-height: 1;
}

.oferti-why-item__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.oferti-why-item__title {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    line-height: 1.35;
}

.oferti-why-item__desc {
    display: block;
    font-size: 13px;
    font-weight: 400;
    color: #6b7280;
    line-height: 1.45;
}

.single_add_to_cart_button,
.product form.cart .button {
    border-radius: 4px !important;
    padding: 13px 20px !important;
    font-size: 16px !important;
    width: 100%;
    font-weight: 600 !important;
}

.button.single_add_to_cart_button.button.alt {
    margin-top: 40px;
    margin-right: 50px;
    padding: 10px 15px;
}

.single-product .summary .woocommerce-variation-add-to-cart,
.single-product .summary .single_add_to_cart_button { margin-top: 0 !important; }

.button-sold {
    background: #777;
    border-color: #777;
    color: #fff;
    cursor: not-allowed;
    width: 100%;
    margin-top: 10px;
    padding: 40px 0;
    font-size: 16px;
    border-radius: 6px;
}

/* WhatsApp en ficha: misma estética de marca (verde #25D366, texto blanco) */
.button-whats {
    width: 100% !important;
    box-sizing: border-box;
    min-height: 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 20px !important;
    border-radius: 5px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: normal !important;
    text-decoration: none !important;
    margin: 0 !important;
    background: #25d366 !important;
    color: #fff !important;
    border: 1px solid #20bd5a !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.button-whats .fab.fa-whatsapp {
    font-size: 18px;
    color: #fff;
}

.button-whats:hover .fab.fa-whatsapp,
.button-whats:focus .fab.fa-whatsapp,
.button-whats:active .fab.fa-whatsapp {
    color: #fff;
}

.button-whats:hover,
.button-whats:focus {
    text-decoration: none !important;
    background: #20bd5a !important;
    color: #fff !important;
    border-color: #1da851 !important;
    box-shadow: 0 2px 8px rgba(37, 211, 102, 0.35);
}

.button-whats:active {
    background: #1da851 !important;
    border-color: #1b9d4c !important;
}

.button-whats:focus-visible {
    outline: 2px solid #128c7e;
    outline-offset: 2px;
}

.buyer-protection-section {
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 15px;
    margin: 20px 0;
    width: 100%;
}

.buyer-protection-header { display: flex; align-items: center; margin-bottom: 10px; }
.buyer-protection-icon { color: #003087; font-size: 18px; margin-right: 10px; }
.buyer-protection-section h4 { margin: 0; font-size: 14px; color: #333; font-weight: 600; }
.buyer-protection-text { color: #666; font-size: 14px; line-height: 1.4; margin-bottom: 12px; }

/* Layout dos columnas — producto */
@media (min-width: 769px) {
    .single-product div.product { display: block; overflow: hidden; }
    .single-product .oferti-product-left {
        width: 50%;
        float: left;
        box-sizing: border-box;
        padding-right: 1px;
    }
    .single-product .oferti-product-left > .images,
    .single-product .images .woocommerce-product-gallery {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }
    .single-product .summary.entry-summary {
        width: 40%;
        float: right;
        margin: 0;
        padding-left: 0;
    }
}

@media (max-width: 768px) {
    .single-product .oferti-product-left { width: 100%; float: none; padding-right: 0; margin-bottom: 0 !important; }
    .single-product .oferti-product-left > .images,
    .single-product .oferti-product-left .woocommerce-product-gallery {
        margin-bottom: 0 !important;
    }
    .single-product .summary.entry-summary {
        width: 100%;
        float: none;
        padding-left: 0;
        margin-top: 8px !important;
    }
}

.related.products .wo-offer-btn-shop { display: none !important; }
.related.products .add_to_cart_button,
.related.products .ajax_add_to_cart,
.related.products .button.product_type_simple { display: none !important; }

@media (max-width: 768px) {
    .oferti-product-specs ul {
        grid-template-columns: 1fr 1fr;
        column-gap: 8px;
    }
}


/* =============================================
   9. MODAL DE OFERTA
   ============================================= */

.wo-offer-btn-product {
    background: #fff !important;
    color: #5854ec !important;
    font-size: 16px !important;
    padding: 13px 20px !important;
    border-radius: 4px !important;
    border: 1px solid #5854ec !important;
    text-align: center;
    margin-top: 20px !important;
    font-weight: 600 !important;
    width: 100% !important;
    display: block !important;
    box-sizing: border-box;
}

.oferti-single-vender-cta-wrap {
    margin-top: 20px;
    width: 100%;
}

a.button.oferti-single-vender-cta.wo-offer-btn-product {
    margin-top: 0 !important;
    font-size: 14px !important;
    padding: 11px 16px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    line-height: 1.25 !important;
}

.oferti-single-vender-cta__inner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.oferti-single-vender-cta__icon {
    flex-shrink: 0;
    font-size: 15px;
    line-height: 1;
}

.oferti-single-vender-cta__label {
    text-align: center;
}

.oferti-single-vender-cta:hover,
.oferti-single-vender-cta:focus {
    background: rgba(88, 84, 236, 0.09) !important;
    color: #5854ec !important;
    border-color: #5854ec !important;
}

.oferti-single-vender-cta:focus-visible {
    outline: 2px solid #5854ec;
    outline-offset: 2px;
}

.oferti-pending-ctas .oferti-disabled-btn {
    opacity: 0.6;
    cursor: not-allowed !important;
    pointer-events: none;
}

.wo-offer-btn-shop {
    background: #fff !important;
    color: #5854ec !important;
    font-size: 16px !important;
    padding: 15px 20px !important;
    border-radius: 4px !important;
    border: 1px solid #5854ec !important;
    width: 98% !important;
    text-align: center;
    display: block;
    font-weight: 600 !important;
}

.wo-offer-modal {
    position: fixed;
    left: 0; top: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999999;
}

.wo-offer-modal-content {
    background: #fff;
    padding: 30px;
    border-radius: 12px;
    max-width: 520px;
    width: 95%;
    position: relative;
}

/* Mobile/iOS: permitir scroll del modal sin romper viewport */
@media (max-width: 900px) {
    .wo-offer-modal {
        /* Overlay fijo sin scroll: el scroll vive en el panel */
        align-items: stretch;
        justify-content: stretch;
        padding: 0;
        overflow: hidden;
        box-sizing: border-box;
    }

    .wo-offer-modal-content {
        /* Full-screen modal en móvil (mejor UX en iOS) */
        width: 100%;
        max-width: none;
        height: 100%;
        max-height: none;
        margin: 0;
        border-radius: 0;
        padding: calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
}

.wo-offer-header { display: flex; gap: 15px; align-items: center; margin-bottom: 20px; }

.wo-offer-thumb img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #e5e5e5;
}

.wo-offer-info { flex: 1; }
.wo-offer-price { margin: 0; font-size: 17px; font-weight: 600; color: #27ae60; }

.wo-offer-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 20px;
    background: #f8f8f8;
    padding: 15px;
    border-radius: 10px;
    border: 1px solid #e5e5e5;
}

.wo-offer-panel label { margin: 0; font-weight: bold; white-space: nowrap; }

#wo-offer-input {
    width: 150px;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #ccc;
    font-size: 16px;
    -webkit-appearance: none;
    margin: 0;
}

#wo-offer-input::-webkit-outer-spin-button,
#wo-offer-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#wo-offer-input[type=number] { -moz-appearance: textfield; }

/* Oferti Offer Core v2 (modal sin admin-ajax): input con IDs únicos */
#oferti-offer-input {
    width: 150px;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #ccc;
    font-size: 16px;
    -webkit-appearance: none;
    margin: 0;
}
#oferti-offer-input::-webkit-outer-spin-button,
#oferti-offer-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#oferti-offer-input[type=number] { -moz-appearance: textfield; }

/* Oferti Offer Core v2 (modal sin admin-ajax): input con IDs únicos */
#oferti-offer-input {
    width: 150px;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #ccc;
    font-size: 16px;
    -webkit-appearance: none;
    margin: 0;
}
#oferti-offer-input::-webkit-outer-spin-button,
#oferti-offer-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#oferti-offer-input[type=number] { -moz-appearance: textfield; }

.wo-offer-close {
    position: absolute;
    top: 12px; right: 35px;
    font-size: 35px;
    cursor: pointer;
    color: #555;
    transition: 0.2s ease;
}

.wo-offer-close:hover { color: #000; }

.wo-offer-main-title {
    text-align: center;
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 600;
    color: #333;
}

.oferti-offer-subtitle {
    text-align: center;
    margin: -6px 0 18px 0;
    color: #666;
    font-size: 14px;
}

.oferti-offer-layout {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 5px;
    align-items: start;
}

.oferti-offer-left,
.oferti-offer-right {
    width: 100%;
}

.oferti-offer-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 0;
}

.oferti-offer-form label {
    margin: 0;
    font-weight: 600;
    color: #2f3b3b;
}

.oferti-offer-form input {
    width: 100%;
    min-width: 100%;
    height: 46px;
    border: 1px solid #d9d9d9;
    border-radius: 5px;
    padding: 0 14px;
    font-size: 14px;
    box-sizing: border-box;
}

.oferti-offer-submit {
    width: 100%;
    border-radius: 5px !important;
    padding: 14px 18px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    margin-top: 16px !important;
}

.oferti-offer-right {
    text-align: center;
}

#oferti-offer-product-image {
    width: 100%;
    max-width: 240px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    border: 1px solid #e5e5e5;
    border-radius: 2px;
    margin: 0 auto 12px;
    display: block;
}

#oferti-offer-product-title {
    margin: 0 0 8px;
    color: #111822;
    font-size: 14px;
    font-weight: 600;
}

#oferti-offer-product-price {
    margin-top: 8px;
    color: #5854ec;
    font-size:14px;
    line-height: 1.1;
    font-weight: 900;
}

@media (max-width: 900px) {
    .oferti-offer-layout {
        grid-template-columns: 1fr;
    }
    .oferti-offer-right {
        order: -1;
        display: grid;
        grid-template-columns: 88px 1fr;
        column-gap: 12px;
        row-gap: 2px;
        align-items: start;
        text-align: left;
    }
    #oferti-offer-product-image {
        grid-column: 1;
        grid-row: 1 / span 2;
        max-width: 88px;
        margin: 0;
    }
    #oferti-offer-product-title {
        grid-column: 2;
        margin: 0;
        align-self: end;
    }
    #oferti-offer-product-price {
        grid-column: 2;
        margin: 0;
        font-size: 16px;
        align-self: start;
    }
    /* evita que el bloque del formulario se pegue al header horizontal */
    .oferti-offer-left {
        margin-top: 12px;
    }
}

.wo-offer-tooltip {
    display: none;
    position: absolute;
    background: #222;
    color: #fff;
    padding: 12px 15px;
    border-radius: 6px;
    max-width: 240px;
    width: max-content;
    z-index: 99999;
    line-height: 1.5;
    font-size: 14px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

.wo-offer-tooltip-title { 
    margin-bottom: 12px; 
    text-align: left; 
    font-weight: 600; 
    font-size: 13px; 
}

.wo-offer-tooltip-btn {
    display: block;
    width: 100%;
    text-align: center;
    padding: 8px 0;
    background: #5854ec;
    color: #fff !important;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s ease;
}

.wo-offer-tooltip-arrow {
    position: absolute;
    top: -6px; left: 25px;
    width: 0; height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #222;
}

/* Evitar doble render si hay snippets Code Snippets activos (botón antiguo). */
.single-product .summary .wo-offer-btn { display: none !important; }

/* Evitar doble render si hay snippets Code Snippets activos (botón antiguo). */
.single-product .summary .wo-offer-btn { display: none !important; }


/* =============================================
   10. PERFIL DE VENDEDOR
   ============================================= */

.oferti-vendedor-container { margin: 12px 0; clear: both; }

.oferti-vendedor-card {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: start;
    column-gap: 14px;
    padding: 20px;
    background: #fafafa;
    border-radius: 6px;
    border: 1px solid #eee;
    box-sizing: border-box;
}

.oferti-vendor-avatar {
    position: relative;
    width: 72px;
    min-width: 72px;
}

.oferti-vendor-avatar img {
    border-radius: 50%;
    width: 60px;
    height: 60px;
    border: 3px solid #fff;
}

.oferti-vendor-details {
    flex: 1;
    position: relative;
    padding-top: 2px;
}

/* Font Awesome chevron (esquina superior derecha); morado Oferti; lleva a la tienda. */
.oferti-vendor-store-chevron {
    position: absolute;
    top: 2px;
    right: 0;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 8px;
    margin: -6px -8px 0 0;
    color: #5854ec;
    line-height: 1;
    text-decoration: none;
}

.oferti-vendor-store-chevron:hover,
.oferti-vendor-store-chevron:focus-visible {
    color: #4642cf;
    text-decoration: none;
}

.oferti-vendor-store-chevron .oferti-vendor-store-chevron__icon {
    display: block;
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
    color: #5854ec;
}

.oferti-vendor-store-chevron:hover .oferti-vendor-store-chevron__icon,
.oferti-vendor-store-chevron:focus-visible .oferti-vendor-store-chevron__icon {
    color: #4642cf;
}

.oferti-vendor-verified-link-wrap {
    margin-top: 0;
}

.oferti-vendor-profile-link-inline {
    display: inline-block;
    /* Mismo verde que .oferti-badge-approved */
    color: #2ea44f !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}
.oferti-vendor-profile-link-inline:hover { text-decoration: none; }
.oferti-vendor-profile-link-inline:hover,
.oferti-vendor-profile-link-inline:focus,
.oferti-vendor-profile-link-inline:active {
    color: #238636 !important;
}
.oferti-vendor-profile-link-inline:visited {
    color: #2ea44f !important;
}
.oferti-vendor-label { font-size: 12px; color: #666; display: block; }

.oferti-vendor-link {
    font-size: 16px;
    font-weight: bold;
    color: #5854ec;
    text-decoration: none;
}

.oferti-vendor-link:hover { text-decoration: none; }
.no-rating { color: #999; font-size: 14px; }

.oferti-vendor-rating-row {
    margin-top: 0px;
}

.oferti-vendor-verified {
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #5854ec;
    border: 2px solid #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 11px;
    line-height: 1;
}

.oferti-contactar-vendedor {
    margin: 15px 0;
    padding: 20px;
    background: #fafafa;
    border-radius: 6px;
    text-align: center;
    border: 1px solid #eee;
}

.oferti-contactar-vendedor h3 { margin-top: 0; color: #333; font-size: 1.2em; margin-bottom: 10px; }
.oferti-contactar-vendedor p { color: #666; margin-bottom: 15px; line-height: 1.5; }

.better-messages-dokan-product-button {
    display: inline-block !important;
    padding: 12px 24px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    background: #007cba !important;
    color: white !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.better-messages-dokan-product-button:hover { background: #005a87 !important; }

@media (max-width: 768px) {
    .oferti-vendedor-card { grid-template-columns: 72px minmax(0, 1fr); text-align: left; max-width: 100%; column-gap: 12px; }
    .oferti-vendor-avatar img { width: 70px; height: 70px; }
    .oferti-vendor-avatar { margin: 0; }
    .oferti-vendor-profile-link-inline { font-size: 12px; }
    .oferti-contactar-vendedor { padding: 15px; margin: 15px 0; }
    .better-messages-dokan-product-button { width: 100%; padding: 14px 20px !important; }
}


/* =============================================
   11. LOGIN Y REGISTRO
   ============================================= */

.form-row .woocommerce-Button.button,
.woocommerce-FormRow.form-row .woocommerce-Button.button {
    float: right;
    background-color: #5854ec;
    color: white;
    border: none;
    padding: 12px 35px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    margin-top: 10px;
    width: 100%;
    display: block;
}

.woocommerce-FormRow.form-row .woocommerce-Button.button:hover {
    background-color: #111822 !important;
    box-shadow: 0 4px 12px rgba(17,24,34,0.2);
}

.woocommerce-form-login { display: flex; flex-direction: column; }

.woocommerce-LostPassword.lost_password {
    align-self: flex-end;
    margin-top: 4px;
    text-align: right;
}

.woocommerce-LostPassword.lost_password a { font-size: 13px !important; font-weight: 500; }

.register-link { display: block !important; color: #111822 !important; font-weight: 500 !important; }
.register-link strong { color: #5854ec; }

/* My Account — auth Oferti (tabs Login / Registrar) */
.oferti-auth {
	max-width: 480px;
	margin: 1rem auto 2rem;
}

.oferti-auth__tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	border: 1px solid #e5e7eb;
	border-radius: var(--oferti-ui-card-radius, 5px);
	overflow: hidden;
	margin-bottom: 1rem;
}

.oferti-auth__tab {
	margin: 0;
	padding: 12px 16px;
	border: none;
	background: #f9fafb;
	font-size: 15px;
	font-weight: 600;
	color: #6b7280;
	cursor: pointer;
	border-bottom: 2px solid transparent;
}

.oferti-auth__tab:hover,
.oferti-auth__tab:focus {
	background: #f3f4f6;
	color: #111827;
}

.oferti-auth__tab.is-active {
	background: #ffffff;
	color: #111827;
	border-bottom-color: #5854ec;
}

.oferti-auth__card {
	background: #fff;
	padding: 0 16px 20px;
}

.oferti-auth__panel-title {
	font-size: 1.125rem;
	margin: 0 0 1rem;
	padding: 0;
	font-family: inherit;
	font-weight: 600;
}

.oferti-field-error {
	display: block;
	font-size: 13px;
	color: #b91c1c;
	margin-top: 4px;
}

.oferti-input-invalid {
	border-color: #fca5a5 !important;
}

.oferti-auth__password-mail-hint {
	font-size: 14px;
	color: #4b5563;
	margin-bottom: 0.75rem;
}

/* Primaria tipo "Comprar ahora" (mismo criterio que .oferti-trade-pdp-modal__btn-submit) */
.oferti-auth .woocommerce-form-login .oferti-btn-comprar-ahora,
.oferti-auth .woocommerce-form-register .oferti-btn-comprar-ahora {
	width: 100% !important;
	min-height: 44px;
	background: #5854ec !important;
	color: #ffffff !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	padding: 10px 16px !important;
	border-radius: 5px !important;
	border: 1px solid #5854ec !important;
	line-height: normal !important;
	box-shadow: none !important;
	margin: 0 !important;
	box-sizing: border-box;
}

.oferti-auth .woocommerce-form-login .oferti-btn-comprar-ahora:hover,
.oferti-auth .woocommerce-form-login .oferti-btn-comprar-ahora:focus,
.oferti-auth .woocommerce-form-register .oferti-btn-comprar-ahora:hover,
.oferti-auth .woocommerce-form-register .oferti-btn-comprar-ahora:focus {
	background: #000000 !important;
	border-color: #000000 !important;
	color: #ffffff !important;
}

/* Login: enlace recuperación debajo del botón, centrado */
.oferti-auth .woocommerce-form-login .oferti-auth__login-forgot {
	width: 100%;
	margin: 12px 0 0;
	padding: 4px 0 0;
	text-align: center;
	float: none !important;
	clear: both;
}

.oferti-auth .woocommerce-form-login .oferti-auth__lost-link {
	display: inline-block;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.35;
	color: #000000 !important;
	text-decoration: none !important;
	padding: 6px 10px;
	min-height: 32px;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

.oferti-auth .woocommerce-form-login .oferti-auth__lost-link:hover,
.oferti-auth .woocommerce-form-login .oferti-auth__lost-link:focus {
	color: #000000 !important;
	text-decoration: none !important;
}

.oferti-auth .woocommerce-form-login .oferti-auth__login-submit {
	width: 100% !important;
	float: none !important;
	clear: both;
	margin: 10px 0 0;
	padding: 0 0 4px;
}

.oferti-auth .woocommerce-form-login .oferti-auth__login-submit .woocommerce-form-login__submit {
	margin-top: 0 !important;
}

/* Radio unificado para cards/badges de paneles Oferti */
:root {
    --oferti-ui-card-radius: 5px;
    --oferti-ui-badge-radius: 5px;
}

/* Iconos Mi cuenta (oferti-mobile-menu.js): mismo patrón que menú móvil */
.woocommerce-MyAccount-navigation li > a {
    display: flex;
    align-items: center;
    gap: 8px;
}

.woocommerce-MyAccount-navigation li > a .oferti-menu-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    font-size: 16px;
    line-height: 1;
    color: inherit;
    opacity: 0.92;
}

/* /cuenta/compras - tabs KISS (scopeado al endpoint de orders) */
.woocommerce-account.woocommerce-orders .woocommerce-MyAccount-navigation {
    display: none;
}

.woocommerce-account.woocommerce-orders .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    max-width: 100%;
}

.woocommerce-account.woocommerce-orders .woocommerce {
    display: block;
}

/* Oculta breadcrumb global solo en /cuenta/compras; usamos breadcrumb propio en orders UI */
.woocommerce-account.woocommerce-orders .breadcrumbs-wrap {
    display: none !important;
}

/* /cuenta/…/ver-compra (view-order) — mismo layout que Compras: sin nav lateral + breadcrumb Oferti */
.woocommerce-account.woocommerce-view-order .woocommerce-MyAccount-navigation {
    display: none;
}

.woocommerce-account.woocommerce-view-order .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    max-width: 100%;
}

.woocommerce-account.woocommerce-view-order .woocommerce {
    display: block;
}

.woocommerce-account.woocommerce-view-order .breadcrumbs-wrap {
    display: none !important;
}

.oferti-account-view-order__status-sep {
    margin: 0 8px;
    color: rgba(6, 95, 70, 0.45);
    font-weight: 400;
}

.oferti-account-orders {
    max-width: 900px;
}

.oferti-account-view-order__notes {
    margin: 0 0 24px;
}

.oferti-account-view-order__notes h2 {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 700;
    color: #111827;
}

.oferti-account-view-order__content {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.oferti-account-view-order {
    max-width: 900px;
}

.oferti-account-orders__breadcrumb,
.oferti-account-profile__breadcrumb,
.oferti-account-addresses__breadcrumb,
.oferti-account-mi-perfil__breadcrumb,
.oferti-account-puntos-entrega__breadcrumb {
    margin: 0 0 10px;
    color: #111827;
    font-size: 13px;
    line-height: 1.35;
}

.oferti-account-orders__breadcrumb a,
.oferti-account-profile__breadcrumb a,
.oferti-account-addresses__breadcrumb a,
.oferti-account-mi-perfil__breadcrumb a,
.oferti-account-puntos-entrega__breadcrumb a {
    color: #111827;
    text-decoration: none !important;
}

.oferti-account-orders__breadcrumb a:hover,
.oferti-account-orders__breadcrumb a:focus-visible,
.oferti-account-profile__breadcrumb a:hover,
.oferti-account-profile__breadcrumb a:focus-visible,
.oferti-account-addresses__breadcrumb a:hover,
.oferti-account-addresses__breadcrumb a:focus-visible,
.oferti-account-mi-perfil__breadcrumb a:hover,
.oferti-account-mi-perfil__breadcrumb a:focus-visible,
.oferti-account-puntos-entrega__breadcrumb a:hover,
.oferti-account-puntos-entrega__breadcrumb a:focus-visible {
    color: #111827;
    text-decoration: none !important;
}

.oferti-account-orders__breadcrumb-sep,
.oferti-account-profile__breadcrumb-sep,
.oferti-account-addresses__breadcrumb-sep,
.oferti-account-mi-perfil__breadcrumb-sep,
.oferti-account-puntos-entrega__breadcrumb-sep {
    margin: 0 6px;
    color: inherit;
    opacity: 0.45;
    font-weight: 400;
    user-select: none;
}

.oferti-account-orders__header h2 {
    margin: 0 0 10px;
    padding: 0;
    font-family: "Montserrat", sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    color: #111827;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.oferti-account-orders__header p {
    margin: 6px 0 12px;
    color: #6b7280;
}

/* Techna envuelve h2 en .widget-title-wrap en My Account; neutralizar solo en compras */
.woocommerce-account.woocommerce-orders .oferti-account-orders__header .widget-title-wrap {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.woocommerce-account.woocommerce-orders .oferti-account-orders__header .widget-title-wrap::before,
.woocommerce-account.woocommerce-orders .oferti-account-orders__header .widget-title-wrap::after {
    display: none !important;
}

.oferti-account-orders__tabs {
    display: flex;
    gap: 0;
    border-bottom: 0 !important;
    margin: 0 0 14px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.oferti-account-orders__tabs a {
    position: relative;
    flex: 0 0 auto;
    margin: 0 0 -1px;
    padding: 10px 14px 12px;
    color: #6b7280;
    text-decoration: none;
    font-weight: 600;
    border-bottom: 2px solid transparent;
}

.oferti-account-orders__tabs a:hover,
.oferti-account-orders__tabs a:focus {
    color: #111827;
}

.oferti-account-orders__tabs a.is-active {
    color: #111827;
    border-bottom-color: #5854ec;
}

.oferti-account-orders__list {
    display: grid;
    gap: 12px;
}

.oferti-account-order-card {
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 20px rgba(17, 24, 39, 0.06), 0 1px 3px rgba(17, 24, 39, 0.05);
    padding: 14px 16px;
}

.oferti-account-order-card__main {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 12px;
}

.oferti-account-order-card__info {
    flex: 1;
    min-width: 0;
}

.oferti-account-order-card__info-head {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 6px;
}

.oferti-account-order-card__thumb {
    display: block;
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 10px;
    overflow: hidden;
    background: #f3f4f6;
    border: 1px solid rgba(17, 24, 39, 0.06);
}

.oferti-account-order-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.oferti-account-order-card__product-title {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    color: #111827;
    flex: 1;
    min-width: 0;
}

.oferti-account-order-card__status {
    display: inline-flex;
    flex-shrink: 0;
    padding: 4px 8px;
    border-radius: 6px;
    background: #e5e7eb;
    color: #111827;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

.oferti-account-order-card__meta {
    margin: 0 0 4px;
    color: #374151;
    font-size: 14px;
    line-height: 1.4;
}

.oferti-account-order-card__meta--total {
    margin-bottom: 0;
}

.oferti-account-order-card__meta strong {
    color: #111827;
}

.oferti-account-order-card__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #eceff3;
}

body.woocommerce-account .oferti-account-order-card__actions .button,
body.woocommerce-account .oferti-account-order-card__actions a.button.oferti-account-order-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
    padding: 10px 14px;
    box-sizing: border-box;
    line-height: 1.25;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    border-radius: 5px;
    background: #e5e7eb;
    color: #111827;
    border: none;
    transition: background 0.15s ease, color 0.15s ease;
}

body.woocommerce-account .oferti-account-order-card__actions a.button.oferti-account-order-card__btn:hover,
body.woocommerce-account .oferti-account-order-card__actions a.button.oferti-account-order-card__btn:focus {
    background: #d1d5db;
    color: #111827;
}

body.woocommerce-account .oferti-account-order-card__actions .button:only-child,
body.woocommerce-account .oferti-account-order-card__actions a.button:only-child {
    grid-column: 1 / -1;
}

.oferti-account-orders__empty {
    border: 1px dashed #d1d5db;
    border-radius: 12px;
    padding: 14px;
    color: #6b7280;
}

.oferti-account-orders__pagination {
    margin-top: 14px;
}

@media (max-width: 640px) {
    .oferti-account-order-card__actions {
        grid-template-columns: 1fr;
    }
}

/* /cuenta/direccion (edit-address) - UI tipo cards */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-navigation {
    display: none;
}

.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    max-width: 100%;
}

.woocommerce-account.woocommerce-edit-address .woocommerce {
    display: block;
}

.woocommerce-account.woocommerce-edit-address .breadcrumbs-wrap {
    display: none !important;
}

.oferti-account-addresses {
    max-width: 900px;
}

.oferti-account-addresses__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 10px;
    margin: 0 0 14px;
}

.oferti-account-addresses__header h2 {
    margin: 0;
    padding: 0;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.oferti-account-addresses__add-btn {
    width: auto !important;
    min-height: 34px !important;
    padding: 6px 12px !important;
    margin: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    font-size: 13px !important;
    line-height: 1.2;
}

/* Techna envuelve h2 en widget-title-wrap; neutralizar en este header */
.woocommerce-account.woocommerce-edit-address .oferti-account-addresses__header .widget-title-wrap {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.woocommerce-account.woocommerce-edit-address .oferti-account-addresses__header .widget-title-wrap::before,
.woocommerce-account.woocommerce-edit-address .oferti-account-addresses__header .widget-title-wrap::after {
    display: none !important;
}

.oferti-account-addresses__list {
    display: grid;
    gap: 12px;
}

.oferti-account-address-card {
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 20px rgba(17, 24, 39, 0.06), 0 1px 3px rgba(17, 24, 39, 0.05);
    padding: 14px 16px;
}

.oferti-account-address-card__badge {
    display: inline-flex;
    margin: 0 0 8px;
    padding: 4px 8px;
    border-radius: 6px;
    background: #f3f4f6;
    color: #111827;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

.oferti-account-address-card__body address {
    margin: 0;
    color: #1f2937;
    font-style: normal;
    line-height: 1.45;
}

.oferti-account-address-card__empty {
    margin: 0;
    color: #6b7280;
}

.oferti-account-address-card__actions {
    margin-top: 10px;
    display: flex;
    justify-content: flex-start;
}

.oferti-account-address-card__edit-link {
    color: #5854ec;
    text-decoration: none;
    font-weight: 600;
}

.oferti-account-address-card__edit-link:hover,
.oferti-account-address-card__edit-link:focus {
    color: #4f46e5;
    text-decoration: underline;
}

@media (max-width: 640px) {
    .oferti-account-addresses__header {
        align-items: center;
        flex-direction: row;
        justify-content: space-between;
    }
}

/* /cuenta/editar-cuenta (edit-account) - mismo ajuste UI base */
.woocommerce-account.woocommerce-edit-account .woocommerce-MyAccount-navigation {
    display: none;
}

.woocommerce-account.woocommerce-edit-account .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    max-width: 100%;
}

.woocommerce-account.woocommerce-edit-account .woocommerce {
    display: block;
}

.woocommerce-account.woocommerce-edit-account .breadcrumbs-wrap {
    display: none !important;
}

.woocommerce-account.woocommerce-edit-account .widget-title-wrap {
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.woocommerce-account.woocommerce-edit-account .widget-title-wrap::before,
.woocommerce-account.woocommerce-edit-account .widget-title-wrap::after {
    display: none !important;
}

.woocommerce-account.woocommerce-edit-account .woocommerce-EditAccountForm {
    max-width: 900px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: var(--oferti-ui-card-radius);
    background: #fff;
    box-shadow: 0 4px 20px rgba(17, 24, 39, 0.06), 0 1px 3px rgba(17, 24, 39, 0.05);
    padding: 16px;
}

.woocommerce-account.woocommerce-edit-account .woocommerce-EditAccountForm label {
    display: inline-block;
    margin-bottom: 6px;
    color: #111827;
    font-weight: 600;
}

.woocommerce-account.woocommerce-edit-account .woocommerce-EditAccountForm .input-text {
    border: 1px solid #d1d5db;
    border-radius: 5px;
    min-height: 42px;
    padding: 10px 12px;
    background: #fff;
    color: #111827;
}

.woocommerce-account.woocommerce-edit-account .woocommerce-EditAccountForm .input-text:focus {
    border-color: #5854ec;
    box-shadow: 0 0 0 2px rgba(88, 84, 236, 0.12);
    outline: none;
}

.woocommerce-account.woocommerce-edit-account .woocommerce-EditAccountForm fieldset {
    margin-top: 12px;
    border: 0;
    border-radius: 0;
    padding: 0;
    min-inline-size: 0;
}

.oferti-account-profile__header h2 {
    margin: 0 0 10px;
    padding: 0;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.woocommerce-account.woocommerce-edit-account .oferti-account-profile__header .widget-title-wrap {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.woocommerce-account.woocommerce-edit-account .oferti-account-profile__header .widget-title-wrap::before,
.woocommerce-account.woocommerce-edit-account .oferti-account-profile__header .widget-title-wrap::after {
    display: none !important;
}

.oferti-account-profile__submit-wrap {
    margin-top: 16px;
}

.woocommerce-account.woocommerce-edit-account .woocommerce-EditAccountForm button[name="save_account_details"] {
    min-height: 42px;
    border: 1px solid #5854ec !important;
    border-radius: 5px;
    background: #5854ec !important;
    color: #fff !important;
    font-weight: 700;
    padding: 10px 18px;
}

.woocommerce-account.woocommerce-edit-account .woocommerce-EditAccountForm button[name="save_account_details"]:hover,
.woocommerce-account.woocommerce-edit-account .woocommerce-EditAccountForm button[name="save_account_details"]:focus {
    background: #4743d9 !important;
    border-color: #4743d9 !important;
    color: #fff !important;
}

/* Aplicación transversal actual: mis-matches, compras, mis-publicaciones, direcciones */
.oferti-trade-match-card--list,
.oferti-trade-match-card--detail,
.oferti-account-order-card,
.oferti-my-listings-card--list,
.oferti-account-address-card {
    border-radius: var(--oferti-ui-card-radius) !important;
}

.oferti-trade-match-card__status,
.oferti-account-order-card__status,
.oferti-my-listings-card__status,
.oferti-account-address-card__badge {
    border-radius: var(--oferti-ui-badge-radius) !important;
}

/* /cuenta/mi-perfil — configuración de tienda Dokan (minimal Oferti) */
.woocommerce-account.woocommerce-mi-perfil .woocommerce-MyAccount-navigation {
    display: none;
}

.woocommerce-account.woocommerce-mi-perfil .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    max-width: 100%;
}

.woocommerce-account.woocommerce-mi-perfil .woocommerce {
    display: block;
}

.woocommerce-account.woocommerce-mi-perfil .breadcrumbs-wrap {
    display: none !important;
}

/* /cuenta/puntos-de-entrega (Oferti Checkout — mismo layout que direcciones / mi-perfil) */
.woocommerce-account.woocommerce-puntos-de-entrega .woocommerce-MyAccount-navigation {
    display: none;
}

.woocommerce-account.woocommerce-puntos-de-entrega .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    max-width: 100%;
}

.woocommerce-account.woocommerce-puntos-de-entrega .woocommerce {
    display: block;
}

.woocommerce-account.woocommerce-puntos-de-entrega .breadcrumbs-wrap {
    display: none !important;
}

.oferti-account-mi-perfil {
    max-width: 900px;
}

.oferti-account-mi-perfil__header {
    margin: 0 0 20px;
    display: flex;
    justify-content: center;
    text-align: center;
}

.oferti-account-mi-perfil__header-inner {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35em 0.65em;
    max-width: 100%;
}

.oferti-account-mi-perfil__header-inner .oferti-account-mi-perfil__title {
    margin: 0;
    padding: 0;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #111827;
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.25;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.oferti-account-mi-perfil__title-icon {
    flex-shrink: 0;
    font-size: 1.125rem;
    line-height: 1;
    color: inherit;
    opacity: 0.88;
}

.oferti-account-mi-perfil__header-pipe {
    color: #d1d5db;
    font-weight: 400;
    user-select: none;
}

.oferti-account-mi-perfil__header-action {
    color: #111827;
    text-decoration: none;
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.25;
}

.oferti-account-mi-perfil__header-action:hover,
.oferti-account-mi-perfil__header-action:focus {
    color: #5854ec;
    text-decoration: none;
}

.oferti-account-mi-perfil__header-action:focus-visible {
    outline: 2px solid #5854ec;
    outline-offset: 3px;
}

.oferti-mi-perfil-store__banner-heading {
    width: 100%;
    margin: 0 0 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.oferti-mi-perfil-store__banner-title {
    margin: 0;
    padding: 0;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    color: #111827;
    text-align: center;
    display: inline-block;
    max-width: 100%;
}

.oferti-account-mi-perfil__intro {
    margin: 6px 0 0;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.45;
}

.woocommerce-account.woocommerce-mi-perfil .oferti-account-mi-perfil__header-inner .widget-title-wrap {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.woocommerce-account.woocommerce-mi-perfil .oferti-account-mi-perfil__header-inner .widget-title-wrap::before,
.woocommerce-account.woocommerce-mi-perfil .oferti-account-mi-perfil__header-inner .widget-title-wrap::after {
    display: none !important;
}

/* Portada / avatar Dokan: el CSS oficial solo aplica dentro de .dokan-settings-area; fuera del dashboard hay que replicarlo */
.oferti-mi-perfil-store #dokan-banner-wrapper.dokan-banner {
    position: relative;
    max-width: 100% !important;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 28px;
    text-align: center;
    border-radius: var(--oferti-ui-card-radius);
    overflow: hidden;
    border: 4px dashed #d8d8d8;
    min-height: 180px;
}

.oferti-mi-perfil-store #dokan-banner-wrapper .image-wrap {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.oferti-mi-perfil-store #dokan-banner-wrapper .dokan-remove-banner-image {
    position: absolute;
    inset: 0;
    box-sizing: border-box;
    display: none;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 64px;
    line-height: 1;
    text-decoration: none;
    z-index: 3;
    cursor: pointer;
}

.oferti-mi-perfil-store #dokan-banner-wrapper:hover .dokan-remove-banner-image,
.oferti-mi-perfil-store #dokan-banner-wrapper:focus-within .dokan-remove-banner-image {
    display: flex;
}

/* Pantallas táctiles: sin :hover confiable — mostrar control para poder quitar/reemplazar portada */
@media (hover: none) {
    .oferti-mi-perfil-store #dokan-banner-wrapper .image-wrap:not(.dokan-hide) .dokan-remove-banner-image {
        display: flex;
        align-items: flex-start;
        justify-content: flex-end;
        inset: auto;
        top: 8px;
        right: 8px;
        width: auto;
        height: auto;
        min-width: 44px;
        min-height: 44px;
        padding: 6px 10px;
        font-size: 32px;
        border-radius: 8px;
        background: rgba(17, 24, 39, 0.55);
    }
}

.oferti-mi-perfil-store #dokan-banner-wrapper:hover {
    cursor: default;
}

.oferti-mi-perfil-store #dokan-banner-wrapper .button-area {
    margin-left: auto;
    margin-right: auto;
}

.oferti-mi-perfil-store .dokan-gravatar-img,
.oferti-mi-perfil-store .dokan-banner-img {
    border-radius: 6px;
}

.oferti-mi-perfil-store #dokan-banner-wrapper .dokan-banner-img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.woocommerce-account.woocommerce-mi-perfil .oferti-mi-perfil-store__banner-heading .widget-title-wrap,
.woocommerce-account.woocommerce-mi-perfil .oferti-mi-perfil-store__banner-title.widget-title-wrap {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    text-align: center !important;
    width: 100%;
}

.woocommerce-account.woocommerce-mi-perfil .oferti-mi-perfil-store__banner-heading .widget-title-wrap::before,
.woocommerce-account.woocommerce-mi-perfil .oferti-mi-perfil-store__banner-heading .widget-title-wrap::after,
.woocommerce-account.woocommerce-mi-perfil .oferti-mi-perfil-store__banner-title.widget-title-wrap::before,
.woocommerce-account.woocommerce-mi-perfil .oferti-mi-perfil-store__banner-title.widget-title-wrap::after {
    display: none !important;
}

/* Foto de perfil: bloque centrado (no afecta otros .dokan-form-group) */
.oferti-mi-perfil-store .dokan-form-group:has(#dokan-profile-picture-wrapper) {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.oferti-mi-perfil-store .dokan-form-group:has(#dokan-profile-picture-wrapper) .dokan-w3.dokan-control-label {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 10px;
    padding: 0;
    text-align: center;
}

.oferti-mi-perfil-store .dokan-form-group:has(#dokan-profile-picture-wrapper) #dokan-profile-picture-wrapper {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.oferti-mi-perfil-store .dokan-form-group:has(#dokan-profile-picture-wrapper) .dokan-left,
.oferti-mi-perfil-store .dokan-form-group:has(#dokan-profile-picture-wrapper) .gravatar-wrap {
    float: none;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Avatar tienda: mismo problema que portada (estilos solo en .dokan-settings-area) */
.oferti-mi-perfil-store #dokan-profile-picture-wrapper.dokan-gravatar {
    position: relative;
}

.oferti-mi-perfil-store #dokan-profile-picture-wrapper .gravatar-wrap {
    position: relative;
    display: inline-block;
    line-height: 0;
    vertical-align: top;
}

/* Misma lógica que portada: overlay al 100% del recorte circular (no caja 80×80 fija) */
.oferti-mi-perfil-store #dokan-profile-picture-wrapper .gravatar-wrap .dokan-gravatar-img {
    display: block;
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: 50%;
}

.oferti-mi-perfil-store #dokan-profile-picture-wrapper .dokan-remove-gravatar-image {
    position: absolute;
    inset: 0;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 32px;
    line-height: 1;
    text-decoration: none;
    border-radius: 50%;
    z-index: 2;
    cursor: pointer;
}

.oferti-mi-perfil-store #dokan-profile-picture-wrapper .gravatar-wrap:hover .dokan-remove-gravatar-image,
.oferti-mi-perfil-store #dokan-profile-picture-wrapper .gravatar-wrap:focus-within .dokan-remove-gravatar-image {
    display: flex;
}

@media (hover: none) {
    .oferti-mi-perfil-store #dokan-profile-picture-wrapper .gravatar-wrap:not(.dokan-hide) .dokan-remove-gravatar-image {
        display: flex;
        align-items: flex-start;
        justify-content: flex-end;
        inset: auto;
        top: 4px;
        right: 4px;
        width: auto;
        height: auto;
        min-width: 40px;
        min-height: 40px;
        padding: 4px 8px;
        font-size: 22px;
        line-height: 1;
        border-radius: 8px;
        background: rgba(17, 24, 39, 0.55);
    }
}

.oferti-mi-perfil-store .dokan-form-group .dokan-w3.dokan-control-label,
.oferti-mi-perfil-store .dokan-profile-picture-wrapper {
    float: none;
    width: 100%;
    margin-left: 0;
    padding-left: 0;
    text-align: left;
}

.oferti-mi-perfil-store .dokan-form-group .dokan-w5,
.oferti-mi-perfil-store .dokan-form-group .dokan-w6 {
    float: none;
    width: 100%;
    margin-left: 0 !important;
    padding-left: 0;
}

.oferti-mi-perfil-store .dokan-form-control {
    border-radius: 6px;
    border-color: rgba(17, 24, 39, 0.12);
}

.oferti-mi-perfil-store .dokan-form-control:focus {
    border-color: #111827;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);
}

.oferti-mi-perfil-store .dokan-map-wrap {
    border-radius: var(--oferti-ui-card-radius);
    overflow: hidden;
}

.oferti-mi-perfil-store input[type="submit"].dokan-btn.dokan-btn-theme,
.oferti-mi-perfil-store .dokan-btn-theme {
    background: #111827 !important;
    border-color: #111827 !important;
    color: #fff !important;
    border-radius: var(--oferti-ui-badge-radius);
    padding: 10px 18px !important;
    font-weight: 600;
}

.oferti-mi-perfil-store input[type="submit"].dokan-btn.dokan-btn-theme:hover,
.oferti-mi-perfil-store input[type="submit"].dokan-btn.dokan-btn-theme:focus,
.oferti-mi-perfil-store .dokan-btn-theme:hover,
.oferti-mi-perfil-store .dokan-btn-theme:focus {
    background: #000 !important;
    border-color: #000 !important;
    color: #fff !important;
}

/* /cuenta (dashboard) - hub operativo */
.woocommerce-account.woocommerce-dashboard .woocommerce-MyAccount-navigation {
    display: none;
}

.woocommerce-account.woocommerce-dashboard .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    max-width: 100%;
}

.woocommerce-account.woocommerce-dashboard .woocommerce {
    display: block;
}

.woocommerce-account.woocommerce-dashboard .breadcrumbs-wrap {
    display: none !important;
}

.oferti-account-hub {
    max-width: 900px;
}

/* Panel Mi Panel: Techna envuelve títulos en .widget-title-wrap + .widget-title; Redux pone borde/accent morado y ::before */
body.woocommerce-account .oferti-account-hub .oferti-account-hub-access-card .widget-title-wrap,
body.woocommerce-account .oferti-account-hub .oferti-account-hub__pending .widget-title-wrap {
    margin: 0 0 10px !important;
    padding: 0 0 10px !important;
    border: 0 !important;
    border-width: 0 !important;
    border-bottom: 0 !important;
    border-image: none !important;
    /* Una sola línea gris a todo el ancho (evita doble borde morado + gris del theme) */
    box-shadow: 0 1px 0 0 rgba(17, 24, 39, 0.12) !important;
    background: transparent !important;
    background-image: none !important;
}

body.woocommerce-account .oferti-account-hub .oferti-account-hub-access-card .widget-title-wrap::before,
body.woocommerce-account .oferti-account-hub .oferti-account-hub-access-card .widget-title-wrap::after,
body.woocommerce-account .oferti-account-hub .oferti-account-hub__pending .widget-title-wrap::before,
body.woocommerce-account .oferti-account-hub .oferti-account-hub__pending .widget-title-wrap::after {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
}

body.woocommerce-account .oferti-account-hub .oferti-account-hub-access-card .widget-title-wrap h3,
body.woocommerce-account .oferti-account-hub .oferti-account-hub-access-card .widget-title-wrap .widget-title,
body.woocommerce-account .oferti-account-hub .oferti-account-hub__pending .widget-title-wrap h3,
body.woocommerce-account .oferti-account-hub .oferti-account-hub__pending .widget-title-wrap .widget-title {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-image: none !important;
    color: #111827 !important;
    box-shadow: none !important;
    background: transparent !important;
    background-image: none !important;
}

body.woocommerce-account .oferti-account-hub .oferti-account-hub-access-card .widget-title-wrap h3::before,
body.woocommerce-account .oferti-account-hub .oferti-account-hub-access-card .widget-title-wrap h3::after,
body.woocommerce-account .oferti-account-hub .oferti-account-hub-access-card .widget-title-wrap .widget-title::before,
body.woocommerce-account .oferti-account-hub .oferti-account-hub-access-card .widget-title-wrap .widget-title::after,
body.woocommerce-account .oferti-account-hub .oferti-account-hub__pending .widget-title-wrap h3::before,
body.woocommerce-account .oferti-account-hub .oferti-account-hub__pending .widget-title-wrap h3::after,
body.woocommerce-account .oferti-account-hub .oferti-account-hub__pending .widget-title-wrap .widget-title::before,
body.woocommerce-account .oferti-account-hub .oferti-account-hub__pending .widget-title-wrap .widget-title::after {
    display: none !important;
    content: none !important;
}

/* Template sin wrap: h3 directo bajo la card */
body.woocommerce-account .oferti-account-hub .oferti-account-hub-access-card > h3,
body.woocommerce-account .oferti-account-hub .oferti-account-hub__pending > h3 {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 8px !important;
    padding: 0 0 8px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(17, 24, 39, 0.1) !important;
    border-image: none !important;
    color: #111827 !important;
    box-shadow: none !important;
    background-image: none !important;
}

body.woocommerce-account .oferti-account-hub .oferti-account-hub-access-card > h3::before,
body.woocommerce-account .oferti-account-hub .oferti-account-hub-access-card > h3::after,
body.woocommerce-account .oferti-account-hub .oferti-account-hub__pending > h3::before,
body.woocommerce-account .oferti-account-hub .oferti-account-hub__pending > h3::after {
    display: none !important;
    content: none !important;
}

body.woocommerce-account .oferti-account-hub .widget-title {
    border: 0 !important;
    border-image: none !important;
    box-shadow: none !important;
    background-image: none !important;
}

.oferti-account-hub__header h2 {
    margin: 0;
    color: #111827;
}

.oferti-account-hub__header p {
    margin: 6px 0 0;
    color: #6b7280;
}

.oferti-account-hub__kpis {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.oferti-account-hub-kpi {
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: var(--oferti-ui-card-radius);
    background: #fff;
    box-shadow: 0 4px 24px rgba(17, 24, 39, 0.08), 0 2px 6px rgba(17, 24, 39, 0.05);
    padding: 12px 14px;
    display: grid;
    gap: 4px;
    transition: box-shadow 0.15s ease, background-color 0.15s ease;
}

.oferti-account-hub-kpi:hover,
.oferti-account-hub-kpi:focus-within {
    background-color: rgba(88, 84, 236, 0.08);
    box-shadow: 0 6px 28px rgba(17, 24, 39, 0.1), 0 3px 8px rgba(17, 24, 39, 0.06);
}

.oferti-account-hub-kpi a {
    color: inherit;
    text-decoration: none;
    display: grid;
    gap: 4px;
}

.oferti-account-hub-kpi strong {
    font-size: 22px;
    line-height: 1;
    color: #111827;
}

.oferti-account-hub-kpi span {
    color: #4b5563;
    font-size: 13px;
}

.oferti-account-hub-kpi__ico {
    font-size: 18px;
    line-height: 1;
    color: #111827;
}

.oferti-account-hub__access {
    margin-top: 14px;
    display: grid;
    gap: 10px;
}

.oferti-account-hub-access-card {
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: var(--oferti-ui-card-radius);
    background: #fff;
    box-shadow: 0 4px 20px rgba(17, 24, 39, 0.06), 0 1px 3px rgba(17, 24, 39, 0.05);
    padding: 14px;
}

.oferti-account-hub-access-card__title {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #111827;
    font-size: 16px;
    font-weight: 600;
}

.oferti-account-hub-access-card__title-icon {
    flex-shrink: 0;
    font-size: 15px;
    line-height: 1;
    color: #111827;
    opacity: 0.88;
}

.oferti-account-hub-access-card__link {
    color: #5854ec !important;
    text-decoration: none;
}

.oferti-account-hub-access-card__link:hover,
.oferti-account-hub-access-card__link:focus,
.oferti-account-hub-access-card__link:active {
    color: #4840d4 !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}

body.woocommerce-account .oferti-account-hub .oferti-account-hub-access-card p > a.oferti-account-hub-access-card__link {
    color: #5854ec !important;
}

.oferti-account-hub-access-card p {
    margin: 4px 0 10px;
    color: #6b7280;
    font-size: 14px;
}


.oferti-account-hub__pending {
    margin-top: 14px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: var(--oferti-ui-card-radius);
    background: #fff;
    box-shadow: 0 4px 20px rgba(17, 24, 39, 0.06), 0 1px 3px rgba(17, 24, 39, 0.05);
    padding: 14px;
}

.oferti-account-hub__pending-title {
    margin: 0 0 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 600;
    color: #111827;
}

.oferti-account-hub__pending-title-icon {
    flex-shrink: 0;
    font-size: 15px;
    line-height: 1;
    color: #111827;
    opacity: 0.88;
}

.oferti-account-hub__pending ul {
    margin: 0;
    padding-left: 18px;
}

.oferti-account-hub__pending li + li {
    margin-top: 6px;
}

.oferti-account-hub__pending a {
    color: #5854ec !important;
    text-decoration: none;
}

.oferti-account-hub__pending a:hover,
.oferti-account-hub__pending a:focus {
    color: #4840d4 !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Sin lista: tratamos el párrafo como CTA opcional mismo morado si es enlace futuro — hoy texto gris está bien */

.oferti-account-hub__pending p {
    margin: 0;
    color: #6b7280;
}

.oferti-account-hub__empty {
    margin-top: 14px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: var(--oferti-ui-card-radius);
    background: #fff;
    box-shadow: 0 4px 20px rgba(17, 24, 39, 0.06), 0 1px 3px rgba(17, 24, 39, 0.05);
    padding: 14px;
    color: #6b7280;
    text-align: center;
}

.oferti-account-hub__empty-lead {
    margin: 0 0 12px;
    color: #4b5563;
    font-size: 14px;
    line-height: 1.45;
}

.oferti-account-hub__empty-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    max-width: 360px;
    margin: 0 auto;
}

.woocommerce-account.woocommerce-dashboard .oferti-account-hub__empty-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    min-height: 44px !important;
    line-height: 1.25 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    border-radius: var(--oferti-ui-badge-radius, 5px);
    font-weight: 700 !important;
    font-size: 15px !important;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.woocommerce-account.woocommerce-dashboard .oferti-account-hub__empty-btn--primary {
    background: #5854ec !important;
    color: #fff !important;
    border: 0 !important;
}

.woocommerce-account.woocommerce-dashboard .oferti-account-hub__empty-btn--primary:hover,
.woocommerce-account.woocommerce-dashboard .oferti-account-hub__empty-btn--primary:focus {
    background: #4840d4 !important;
    color: #fff !important;
}

.woocommerce-account.woocommerce-dashboard .oferti-account-hub__empty-btn--secondary {
    background: #fff !important;
    color: #111827 !important;
    border: 1px solid #d1d5db !important;
}

.woocommerce-account.woocommerce-dashboard .oferti-account-hub__empty-btn--secondary:hover,
.woocommerce-account.woocommerce-dashboard .oferti-account-hub__empty-btn--secondary:focus {
    background: #f9fafb !important;
    color: #111827 !important;
    border-color: #9ca3af !important;
}

.woocommerce-account.woocommerce-dashboard .oferti-account-hub__empty-btn:focus-visible {
    outline: 2px solid #5854ec;
    outline-offset: 2px;
}

@media (min-width: 900px) {
    .oferti-account-hub__access {
        grid-template-columns: 1fr 1fr;
    }
}

/* Mobile drawer menu overrides (child-only, staging-safe) */
@media (max-width: 768px) {
    .main-action > li > a.close-menu {
        display: none !important;
    }

    body.small-menu-open {
        overflow: hidden;
    }

    body.small-menu-open::before {
        content: "";
        position: fixed;
        inset: 0;
        background: rgba(17, 24, 39, 0.64);
        z-index: 100001;
        pointer-events: none;
    }

    .small-menu {
        left: 0 !important;
        width: min(78vw, 320px);
        max-width: 78vw;
        padding: 58px 0 10px 0;
        background: #fff !important;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.12) !important;
        border-right: 1px solid rgba(17, 24, 39, 0.06);
        transform: translate3d(-110%, 0, 0);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: transform 0.24s ease, opacity 0.24s ease, visibility 0.24s ease;
        will-change: transform;
        z-index: 100002;
    }

    .small-menu.is-open {
        transform: translate3d(0, 0, 0);
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .small-menu .close-menu.oferti-small-menu-close {
        position: fixed;
        top: calc(env(safe-area-inset-top, 0px) + 6px);
        left: 8px;
        right: auto;
        display: none;
        width: 44px;
        height: 44px;
        align-items: center;
        justify-content: center;
        font-size: 31px;
        font-weight: 400;
        line-height: 1;
        color: #111827;
        text-decoration: none;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        z-index: 3;
    }

    body.small-menu-open .small-menu .close-menu.oferti-small-menu-close {
        display: inline-flex !important;
    }

    .small-menu #navigation,
    .small-menu #navigation .navbar,
    .small-menu #navigation .navbar-default {
        background: #fff !important;
    }

    .small-menu #navigation .nav.navbar-nav > li {
        padding: 0 !important;
    }

    .small-menu #navigation .nav.navbar-nav > li > a {
        display: flex;
        align-items: center;
        gap: 12px;
        width: 100%;
        box-sizing: border-box;
        padding: 16px 18px;
        border-bottom: 0;
        font-size: 15px;
        font-weight: 700;
        line-height: 1.25;
        color: #111827;
        text-align: left;
        transition: color 0.18s ease, background-color 0.18s ease;
    }

    .small-menu #navigation .nav.navbar-nav > li:first-child > a {
        padding-top: 16px !important;
    }

    .small-menu #navigation .nav.navbar-nav > li > a:hover,
    .small-menu #navigation .nav.navbar-nav > li > a:focus,
    .small-menu #navigation .nav.navbar-nav > li > a:active {
        color: #111827 !important;
        background: #f8fafc;
    }

    .small-menu #navigation .nav.navbar-nav > li > a i.oferti-menu-icon {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        width: 20px;
        height: 20px;
        font-size: 20px;
        line-height: 1;
        color: currentColor;
        opacity: 0.95;
    }
}

@media (min-width: 1200px) { .register-link { transform: translateX(-45px) !important; } }
@media (min-width: 992px) and (max-width: 1199px) { .register-link { transform: translateX(-50px) !important; } }
@media (min-width: 768px) and (max-width: 991px) { .register-link { transform: translateX(-150px) !important; } }
@media (min-width: 576px) and (max-width: 767px) { .register-link { transform: translateX(-50px) !important; } }
@media (max-width: 575px) {
    .register-link { transform: none !important; text-align: center !important; display: block !important; margin: 10px auto !important; }
}

.dokan-vendor-registration,
.dokan-customer-registration,
.form-row.form-group.user-role,
#dokan-seller-reg,
#dokan-customer-reg { display: none !important; }


/* =============================================
   12. TABLA COMPARATIVA
   ============================================= */

.table-responsive.safety-comp-table { margin: 20px 0; overflow-x: auto; border: none; }

.table-responsive.safety-comp-table .table { width: 100%; border: none; font-size: 14px; }

.table-responsive.safety-comp-table thead th {
    padding: 12px 15px;
    font-weight: 600;
    color: #2c3e50;
    border: none;
    text-align: center;
}

.table-responsive.safety-comp-table tbody td {
    padding: 12px 15px;
    border: none;
    text-align: center;
    line-height: 1.3;
    border-bottom: 1px solid #dee2e6;
}

.table-responsive.safety-comp-table td.beneficio-titulo {
    text-align: center;
    font-weight: 500;
    color: #495057;
    border-bottom: 1px solid #dee2e6;
}

.table-responsive.safety-comp-table tbody tr:hover { background-color: #f8f9fa; }

@media (max-width: 767px) {
    .table-responsive.safety-comp-table { overflow-x: visible; border: none; }

    .table-responsive.safety-comp-table table,
    .table-responsive.safety-comp-table thead,
    .table-responsive.safety-comp-table tbody,
    .table-responsive.safety-comp-table th,
    .table-responsive.safety-comp-table td,
    .table-responsive.safety-comp-table tr { display: block; width: 100%; }

    .table-responsive.safety-comp-table thead { display: none; }

    .table-responsive.safety-comp-table tbody tr {
        background: white;
        border: 1px solid #e0e0e0;
        border-radius: 4px;
        margin-bottom: 15px;
        overflow: hidden;
        box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    }

    .table-responsive.safety-comp-table td:first-child {
        background: #5854ec;
        color: white;
        padding: 20px 15px;
        font-weight: 600;
        font-size: 16px;
        text-align: center;
        border: none;
        word-wrap: break-word;
        white-space: normal;
    }

    .table-responsive.safety-comp-table td { padding: 0; border: none; }
    .table-responsive.safety-comp-table tr { display: flex; flex-direction: column; }

    .table-responsive.safety-comp-table td:not(:first-child) {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 16px 15px;
        border-bottom: 1px solid #f5f5f5;
        min-height: 56px;
    }

    .table-responsive.safety-comp-table td:last-child { border-bottom: none; }
    .table-responsive.safety-comp-table td:nth-child(2):before { content: "Oferti"; background: rgba(38,180,144,0.1); color: #5854ec; font-weight: 600; font-size: 14px; padding: 8px 14px; border-radius: 6px; }
    .table-responsive.safety-comp-table td:nth-child(3):before { content: "Facebook"; background: rgba(24,119,242,0.1); color: #1877f2; font-weight: 600; font-size: 14px; padding: 8px 14px; border-radius: 4px; }
    .table-responsive.safety-comp-table td:nth-child(4):before { content: "Mercado Libre"; background: rgba(18,89,195,0.1); color: #1259c3; font-weight: 600; font-size: 14px; padding: 8px 14px; border-radius: 4px; }
}

/* =============================================
   Publicar iPhone (invitados) — shortcode [oferti_publicar_iphone]
   ============================================= */

/* Tienda (/comprar/, categorías) — misma barra superior indeterminada que salida invitado → /comprar */
.oferti-comprar-page-loading {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    z-index: 2147483000;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.28s ease-out;
    pointer-events: none;
    will-change: opacity;
}
.oferti-comprar-page-loading.is-active {
    opacity: 1;
}
.oferti-comprar-page-loading__bar {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 38%;
    max-width: 280px;
    background: linear-gradient(90deg, #5854ec, #9d99f2);
    border-radius: 0 3px 3px 0;
    box-shadow: 0 0 14px rgba(88, 84, 236, 0.45);
    animation: oferti-guest-nav-indeterminate 0.75s cubic-bezier(0.4, 0, 0.2, 1) infinite;
    will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
    .oferti-comprar-page-loading__bar {
        animation: none;
        width: 100%;
        max-width: none;
        background: #5854ec;
        opacity: 0.92;
        transform: none;
    }
}
body.oferti-comprar-loading {
    cursor: progress;
}

/* Salida a /comprar/: barra superior tipo “sitio cargando” (indeterminada), tonos Oferti */
.oferti-guest-nav-loading {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    z-index: 2147483000;
    overflow: hidden;
    opacity: 0;
    transition: none;
    pointer-events: none;
    will-change: opacity;
}
.oferti-guest-nav-loading.is-active {
    opacity: 1;
}
.oferti-guest-nav-loading__bar {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 38%;
    max-width: 280px;
    background: linear-gradient(90deg, #5854ec, #9d99f2);
    border-radius: 0 3px 3px 0;
    box-shadow: 0 0 14px rgba(88, 84, 236, 0.45);
    animation: oferti-guest-nav-indeterminate 0.75s cubic-bezier(0.4, 0, 0.2, 1) infinite;
    will-change: transform;
}
@keyframes oferti-guest-nav-indeterminate {
    0% {
        transform: translate3d(-100%, 0, 0);
    }
    100% {
        transform: translate3d(calc(100vw + 100%), 0, 0);
    }
}
@media (prefers-reduced-motion: reduce) {
    .oferti-guest-nav-loading__bar {
        animation: none;
        width: 100%;
        max-width: none;
        background: #5854ec;
        opacity: 0.92;
        transform: none;
    }
}
body.oferti-guest-exit-loading {
    cursor: progress;
}

.oferti-guest-listing {
    max-width: 100%;
    margin: 0 auto 48px;
    padding: 0 4px;
}

.oferti-guest-topbar {
    position: relative;
    z-index: 60;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-bottom: 12px;
    box-sizing: border-box;
    min-height: 72px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 14px max(18px, env(safe-area-inset-right, 0px)) 14px max(18px, env(safe-area-inset-left, 0px));
    background: rgba(255, 255, 255, 0.97);
    border-bottom: 1px solid #ececf5;
    backdrop-filter: blur(4px);
}

.oferti-guest-topbar__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    color: inherit;
    padding: 0;
    line-height: 0;
    justify-self: start;
}

.oferti-guest-topbar__submit {
    justify-self: end;
    align-self: center;
    margin: 0;
    padding: 8px 4px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    font-family: inherit;
    cursor: pointer;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: #5854ec;
    -webkit-appearance: none;
    appearance: none;
}

.oferti-guest-topbar__submit:hover,
.oferti-guest-topbar__submit:focus {
    color: #4844d4;
    text-decoration: underline;
}

.oferti-guest-topbar__submit:focus {
    outline: none;
}

.oferti-guest-topbar__submit:focus-visible {
    outline: 2px solid rgba(88, 84, 236, 0.45);
    outline-offset: 2px;
    text-decoration: none;
}

/* X plana sobre fondo gris claro */
.oferti-guest-topbar__close-box {
    width: 38px;
    height: 38px;
    border-radius: 5px;
    background: #f2f2f2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.oferti-guest-topbar__close-box::before,
.oferti-guest-topbar__close-box::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 2px;
    background: #1a1a1e;
    border-radius: 1px;
}

.oferti-guest-topbar__close-box::before {
    transform: rotate(45deg);
}

.oferti-guest-topbar__close-box::after {
    transform: rotate(-45deg);
}

.oferti-guest-topbar__title {
    margin: 0;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    color: #1a1a2e;
    line-height: 1.2;
    justify-self: center;
}

.oferti-guest-listing__intro {
    margin-bottom: 28px;
    text-align: center;
}

.oferti-guest-listing__title {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 8px;
}

.oferti-guest-listing__lead {
    margin: 0;
    color: #5c5c6f;
    font-size: 0.92rem;
    line-height: 1.5;
}

.oferti-guest-alert {
    padding: 14px 18px;
    border-radius: 5px;
    margin-bottom: 24px;
    font-size: 0.98rem;
    line-height: 1.45;
}

.oferti-guest-alert--success {
    background: #ecfdf5;
    border: 1px solid #6ee7b7;
    color: #065f46;
}

.oferti-guest-alert--error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.oferti-guest-trade-alert {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    background: #ecfdf5;
    border: 1px solid #cfe5d8;
    color: #2ea44f;
    border-radius: 5px;
    padding: 10px 12px;
    font-size: 1.3rem;
    line-height: 1.45;
}

.oferti-guest-trade-alert i {
    margin-top: 2px;
    color: #2ea44f;
    font-size: 14px;
}

/* PDP: modelo compatible — mismo fondo que badge Confirmado (.oferti-trade-match-card__status.is-trade-confirmed); texto #15803d; centrado; icono ⇄ */
.oferti-guest-trade-alert--pdp-compatible {
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #ecfdf5;
    border: 1px solid #cfe5d8;
    color: #15803d;
}

.oferti-guest-trade-alert--pdp-compatible .oferti-guest-trade-alert__swap {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 0;
    font-size: 14px;
    line-height: 1;
    color: #15803d;
}

.oferti-guest-trade-alert--pdp-compatible .oferti-guest-trade-alert__text {
    color: #15803d;
    font-weight: 600;
}

.oferti-guest-section {
    background: #fff;
    border: 1px solid #e8e8ef;
    border-radius: 5px;
    padding: 22px 22px 18px;
    margin-bottom: 20px;
    box-shadow: 0 4px 24px rgba(88, 84, 236, 0.06);
}

.oferti-guest-section__title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #5854ec;
    margin: 0 0 16px;
}


.oferti-guest-section--photos {
    padding: 22px 22px 18px;
}

.oferti-guest-photos-stack {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.oferti-guest-photo-drop {
    display: block;
    position: relative;
    border: 1px dashed rgba(15, 23, 42, 0.14);
    border-radius: 5px;
    background: transparent;
    min-height: 132px;
    cursor: pointer;
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.oferti-guest-photo-drop.is-dragover {
    border-color: #5854ec;
    box-shadow: 0 0 0 3px rgba(88, 84, 236, 0.12);
}

.oferti-guest-file--hero {
    position: absolute;
    inset: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    pointer-events: auto;
}

.oferti-guest-photo-drop__inner {
    min-height: 132px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    padding: 18px 18px;
    text-align: center;
    pointer-events: none;
}

.oferti-guest-photo-drop__icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.oferti-guest-photo-drop__browse {
    font-weight: 600;
    font-size: 1rem;
    color: #111827;
}

.oferti-guest-photo-drop:hover {
    border-color: rgba(15, 23, 42, 0.22);
}

.oferti-guest-photo-drop:focus-within {
    border-color: #5854ec;
    box-shadow: 0 0 0 3px rgba(88, 84, 236, 0.14);
}

.oferti-guest-photos-preview-outer {
    margin-top: 2px;
}

.oferti-guest-photos-preview-outer[hidden] {
    display: none !important;
}

.oferti-guest-photos-preview {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px 2px 10px;
    margin: 0 -2px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.oferti-guest-photo-thumb {
    position: relative;
    flex: 0 0 auto;
    width: 92px;
    height: 92px;
    border-radius: 5px;
    overflow: hidden;
    background: #f3f4f6;
    border: 0;
    padding: 0;
    cursor: move;
    -webkit-user-select: none;
    user-select: none;
}

.oferti-guest-photo-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
}

.oferti-guest-photo-thumb:focus {
    outline: none;
}

.oferti-guest-photo-thumb:focus-visible {
    box-shadow: 0 0 0 3px rgba(88, 84, 236, 0.22);
}

.oferti-guest-photo-thumb.is-dragging {
    opacity: 0.55;
    cursor: grabbing;
}

.oferti-guest-photo-thumb--hover {
    box-shadow: 0 0 0 2px rgba(88, 84, 236, 0.65);
}

.oferti-guest-photo-thumb__cover {
    position: absolute;
    left: 6px;
    bottom: 6px;
    padding: 3px 8px;
    border-radius: 5px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #fff;
    background: rgba(17, 24, 39, 0.72);
    line-height: 1.2;
    pointer-events: none;
}

.oferti-guest-photo-remove {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 20px;
    height: 20px;
    border-radius: 5px;
    border: 0;
    background: rgba(26, 26, 46, 0.75);
    color: #fff;
    font-size: 14px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
}

.oferti-guest-photo-remove:hover {
    background: rgba(26, 26, 46, 0.9);
}

.oferti-guest-photo-remove:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(88, 84, 236, 0.22);
}

.oferti-guest-photos-hint {
    margin: 0;
    font-size: 1.05rem;
    color: #6b7280;
    line-height: 1.45;
}

.oferti-guest-photos-count {
    font-weight: 700;
    color: #25253b;
    margin-right: 6px;
}

.oferti-guest-hint,
.oferti-guest-note {
    font-size: 1.3rem;
    color: #666;
    margin: 0;
    line-height: 1.45;
}

.oferti-guest-hint--contact {
    margin-top: 10px;
    margin-bottom: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #ebebf0;
}

.oferti-guest-note--local {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 20px;
    padding: 10px 12px;
    border: 1px solid #d7d9ff;
    border-radius: 5px;
    background: #f4f5ff;
    color: #2f2d85;
    font-size: 1.3rem;
}

.oferti-guest-note--local i {
    margin-top: 2px;
    color: #5854ec;
    font-size: 14px;
}

.oferti-guest-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 18px;
}

.oferti-guest-grid > .oferti-guest-field {
    min-width: 0;
}

.oferti-guest-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.oferti-trade-only-field {
    display: none;
}

.oferti-guest-field--full {
    grid-column: 1 / -1;
}

.oferti-guest-field__label {
    font-size: 1.2rem;
    font-weight: 600;
    color: #333;
}

.oferti-guest-input,
.oferti-guest-select,
.oferti-guest-textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid #d8d8e4;
    border-radius: 5px;
    font-size: 15px;
    line-height: 1.4;
    min-height: 44px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* Select e input nativos suelen tener altura distinta; min-height + padding unifican la fila (trade). */
.oferti-guest-select {
    height: auto;
}

.oferti-guest-input:focus,
.oferti-guest-select:focus,
.oferti-guest-textarea:focus {
    outline: none;
    border-color: #5854ec;
    box-shadow: 0 0 0 3px rgba(88, 84, 236, 0.15);
}

.oferti-guest-textarea {
    resize: vertical;
    min-height: 100px;
}

/* Icono mostrar contraseña dentro del input (no fuera de la caja). */
.oferti-guest-password-wrap {
    position: relative;
    display: block;
    width: 100%;
}

.oferti-guest-password-wrap .oferti-guest-input--password {
    width: 100%;
    padding-right: 44px;
    box-sizing: border-box;
}

.oferti-guest-password-toggle {
    position: absolute;
    right: 2px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    min-height: 40px;
    height: calc(100% - 6px);
    max-height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #6b7280;
    cursor: pointer;
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
}

.oferti-guest-password-toggle:hover,
.oferti-guest-password-toggle:focus-visible {
    color: #5854ec;
    outline: none;
    background: rgba(88, 84, 236, 0.08);
}

.oferti-guest-password-toggle:focus-visible {
    box-shadow: 0 0 0 2px rgba(88, 84, 236, 0.35);
}

.oferti-guest-password-toggle i {
    font-size: 17px;
}

.oferti-guest-file {
    font-size: 0.9rem;
    padding: 8px 0;
}

.oferti-guest-radios label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 6px 0;
    font-size: 0.92rem;
    color: #444;
    cursor: pointer;
    line-height: 1.3;
}

.oferti-guest-radios input {
    margin-right: 0;
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: #5854ec;
}

.oferti-guest-field.oferti-guest-imei-block {
    gap: 0;
}

.oferti-guest-field.oferti-guest-imei-block > label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    cursor: pointer;
}

.oferti-guest-imei-where {
    margin: 4px 0 0;
    font-size: 13px;
    line-height: 1.4;
    color: #2d2d3a;
}

.oferti-guest-imei-alert {
    margin-top: 7px;
    background: #ecfdf5;
    border: 1px solid #cfe5d8;
    color: #065f46;
    border-radius: 5px;
    padding: 10px 12px;
    font-size: 1.4rem;
    line-height: 1.45;
}

.oferti-guest-checkline__wrap {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 1.2rem;
    line-height: 1.35;
    color: #2d2d3a;
}

.oferti-guest-checkline__wrap input[type="checkbox"] {
    margin-top: 2px;
    accent-color: #5854ec;
}

.oferti-guest-radios--cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 10px;
}

.oferti-guest-radios--cards .oferti-guest-field__label {
    grid-column: 1 / -1;
}

.oferti-radio-card {
    position: relative;
    display: block !important;
    margin: 0 !important;
    padding: 12px 5px;
    border: 1px solid #d9dbe7;
    border-radius: 5px;
    background: #fff;
    cursor: pointer;
    text-align: center;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.oferti-radio-card input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.oferti-radio-card__title {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #2d2d3a;
    line-height: 1.2;
}

.oferti-radio-card__desc {
    display: block;
    margin-top: 6px;
    font-size: 14px;
    color: #6a6b7b;
    line-height: 1.3;
}

.oferti-radio-card:has(input[type="radio"]:checked) {
    border-color: #5854ec;
    background: #f4f5ff;
    box-shadow: 0 0 0 1px rgba(88, 84, 236, 0.18);
}

.oferti-radio-card:focus-within {
    border-color: #5854ec;
    box-shadow: 0 0 0 3px rgba(88, 84, 236, 0.16);
}

.oferti-guest-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
}

.oferti-guest-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 8px;
    margin-top: 0;
    width: 100%;
    box-sizing: border-box;
}

.oferti-guest-section--contact .oferti-guest-actions {
    margin-top: 16px;
}

.oferti-guest-actions .oferti-guest-btn {
    flex: 1;
    min-width: 0;
    padding: 10px 14px;
    font-size: 14px;
}

.oferti-guest-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 9px 14px;
    font-size: 14px;
    font-weight: 700;
    border-radius: 5px;
    text-decoration: none !important;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
    box-sizing: border-box;
    border-width: 1px;
    border-style: solid;
    font-family: inherit;
    line-height: 1.2;
}

.oferti-guest-btn--primary {
    background: #5854ec;
    color: #fff !important;
    border-color: #5854ec;
}

.oferti-guest-btn--primary:hover,
.oferti-guest-btn--primary:focus {
    background: #4844d4;
    border-color: #4844d4;
    color: #fff !important;
}

.oferti-guest-btn--cancel {
    background: #fff;
    color: #5854ec !important;
    border-color: #5854ec;
}

.oferti-guest-btn--cancel:hover,
.oferti-guest-btn--cancel:focus {
    background: #f4f5ff;
    color: #5854ec !important;
}

.oferti-guest-btn:active {
    transform: translateY(1px);
}

/* Formulario público: ocultar migas (la página lleva body.oferti-guest-clean-header). */
body.oferti-guest-clean-header .woocommerce-breadcrumb,
body.oferti-guest-clean-header .page-title .woocommerce-breadcrumb,
body.oferti-guest-clean-header ul.breadcrumb,
body.oferti-guest-clean-header nav.breadcrumb,
body.oferti-guest-clean-header nav[aria-label="breadcrumb"],
body.oferti-guest-clean-header #breadcrumb,
body.oferti-guest-clean-header #breadcrumbs,
body.oferti-guest-clean-header .breadcrumbs,
body.oferti-guest-clean-header .yoast-breadcrumb,
body.oferti-guest-clean-header .rank-math-breadcrumb,
body.oferti-guest-clean-header .king-composer-breadcrumb {
    display: none !important;
}

/* Quitar la franja de título/migas que suele quedar vacía y deja espacio arriba del contenido. */
body.oferti-guest-clean-header .page-title,
body.oferti-guest-clean-header .page-header,
body.oferti-guest-clean-header .title-holder,
body.oferti-guest-clean-header .breadcrumb-section,
body.oferti-guest-clean-header .woocommerce-products-header {
    display: none !important;
}

/* Landing de publicar: mantener header limpio (solo logo). */
body.oferti-guest-clean-header header,
body.oferti-guest-clean-header .header-nav,
body.oferti-guest-clean-header #navigation .navbar-nav,
body.oferti-guest-clean-header #navigation .header-search-wrap,
body.oferti-guest-clean-header .header-cart,
body.oferti-guest-clean-header .header-account-link,
body.oferti-guest-clean-header .mobile-nav-toggle {
    display: none !important;
}

body.oferti-guest-clean-header .header-middle {
    background: #fff !important;
    border-bottom: 1px solid #f0f0f5;
    min-height: 48px;
    box-shadow: none !important;
    border-top: 0 !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    margin-top: 6px !important;
    margin-bottom: 6px !important;
}

body.oferti-guest-clean-header .header-middle .header-top {
    min-height: 48px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
}

body.oferti-guest-clean-header .header-middle .header-top > :not(.flex-left) {
    display: none !important;
}

body.oferti-guest-clean-header .header-middle .flex-left {
    margin: 0 auto;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

body.oferti-guest-clean-header .header-middle .logo {
    margin: 0 auto !important;
    display: block;
    max-width: 132px;
    position: relative;
    z-index: 2;
}

body.oferti-guest-clean-header .header-middle .logo a,
body.oferti-guest-clean-header .header-middle .logo img,
body.oferti-guest-clean-header .header-middle .site-logo img,
body.oferti-guest-clean-header .header-middle img.default-logo {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.oferti-guest-clean-header .header-middle .container,
body.oferti-guest-clean-header .header-middle .row {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

body.oferti-guest-clean-header .oferti-guest-nav-title {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-size: 16px;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0;
    white-space: nowrap;
    pointer-events: none;
}

body.oferti-guest-clean-header .oferti-guest-listing__title {
    display: none;
}

body.oferti-guest-clean-header .oferti-guest-listing__intro {
    margin-bottom: 18px;
}

@media (max-width: 640px) {
    body.oferti-guest-clean-header .header-middle,
    body.oferti-guest-clean-header .header-middle .header-top {
        min-height: 48px;
    }

    body.oferti-guest-clean-header .header-middle .logo {
        max-width: 112px;
    }

    body.oferti-guest-clean-header .oferti-guest-nav-title {
        font-size: 15px;
    }
}

@media (max-width: 640px) {
    /* Más aire a los lados: se notan bordes y sombra de cada .oferti-guest-section. */
    .oferti-guest-listing {
        width: calc(100vw - 28px);
        max-width: calc(100vw - 28px);
        margin-left: calc(50% - 50vw + 14px);
        margin-right: calc(50% - 50vw + 14px);
        margin-bottom: 36px;
        padding: 0;
    }

    .oferti-guest-grid {
        grid-template-columns: 1fr;
    }

    .oferti-guest-section--photos {
        padding: 16px;
    }

    .oferti-guest-photo-drop,
    .oferti-guest-photo-drop__inner {
        min-height: 124px;
    }

    .oferti-guest-photo-drop__browse {
        font-size: 0.97rem;
    }

    .oferti-guest-photo-thumb {
        width: 84px;
        height: 84px;
    }

    .oferti-guest-photos-preview {
        padding-bottom: 8px;
    }

    .oferti-guest-input,
    .oferti-guest-select,
    .oferti-guest-textarea {
        font-size: 16px;
        min-height: 44px;
    }

    /* No aplicar a .oferti-radio-card: esas tarjetas llevan su propio padding (10px 8px). */
    .oferti-guest-radios label:not(.oferti-radio-card) {
        padding: 6px 0;
    }

    .oferti-guest-radios--cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .oferti-guest-radios--cards .oferti-radio-card {
        padding: 10px 8px;
    }

    .oferti-radio-card__title {
        font-size: 13px;
    }

    .oferti-radio-card__desc {
        font-size: 11px;
    }

    .oferti-guest-actions {
        position: static;
        background: transparent;
        border-top: 0;
        margin: 0;
        padding: 0;
        flex-direction: row;
        gap: 8px;
    }

    .oferti-guest-section--contact .oferti-guest-actions {
        margin-top: 14px;
    }

    .oferti-guest-topbar {
        position: sticky;
        top: 0;
        grid-template-columns: 42px minmax(0, 1fr) auto;
        min-height: 72px;
        padding: 14px max(16px, env(safe-area-inset-right, 0px)) 14px max(16px, env(safe-area-inset-left, 0px));
        margin-bottom: 12px;
    }

    .oferti-guest-topbar__close-box {
        width: 38px;
        height: 38px;
        border-radius: 5px;
    }

    .oferti-guest-topbar__close-box::before,
    .oferti-guest-topbar__close-box::after {
        width: 12px;
    }
}


/* =============================================
   APP — Tab bar inferior (solo móvil, estilo Mercari)
   ============================================= */

.oferti-app-tabbar {
    display: none;
}

@media (max-width: 767px) {

    body.oferti-app-tabbar-body {
        padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px));
    }

    .oferti-app-tabbar {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 9998;
        padding-bottom: env(safe-area-inset-bottom, 0px);
        padding-top: 2px;
        background: #fff;
        border-top: 1px solid #e8e8ed;
        box-shadow: 0 -2px 14px rgba(0, 0, 0, 0.06);
    }

    .oferti-app-tabbar__inner {
        display: flex;
        align-items: stretch;
        justify-content: space-around;
        max-width: 100%;
        min-height: 48px;
        box-sizing: border-box;
        padding: 8px 4px 8px;
    }

    .oferti-app-tabbar__item {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        min-width: 0;
        padding: 5px 6px;
        text-decoration: none !important;
        color: #8e8e93;
        font-size: 10px;
        font-weight: 600;
        line-height: 1.15;
        letter-spacing: 0.02em;
        -webkit-tap-highlight-color: transparent;
        transition: color 0.15s ease;
    }

    .oferti-app-tabbar__item.is-active {
        color: #111118;
    }

    .oferti-app-tabbar__icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
    }

    .oferti-app-tabbar__icon .fa {
        display: block;
        font-size: 23px;
        line-height: 1;
        width: 1.15em;
        text-align: center;
    }

    .oferti-app-tabbar__label {
        display: block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .oferti-app-tabbar__item--publish .oferti-app-tabbar__label {
        font-size: 12px;
        letter-spacing: 0;
    }
}

@media print {

    .oferti-app-tabbar {
        display: none !important;
    }

    body.oferti-app-tabbar-body {
        padding-bottom: 0 !important;
    }
}


/* =============================================
   13. UTILIDADES
   ============================================= */

/* ------------------------------------------------------------------
   Thank you — mensaje de compra exitosa (.woocommerce-thankyou-order-received)
   Texto desde `woocommerce_thankyou_order_received_text`:
   snippets-checkout-cart-redirect.php → `oferti_child_thankyou_order_received_copy`;
   estado `offer` → `oferti-offer-core-v2.php`.
   Fondo como `.oferti-badge-approved` (#e8f5ee); borde suave del verde del badge (rgba sobre #2ea44f).
   ------------------------------------------------------------------ */
body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received p.woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received,
body.woocommerce-account.woocommerce-view-order .oferti-account-view-order .woocommerce-thankyou-order-received {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 20px !important;
	padding: 14px 18px !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
	color: #065f46 !important;
	background: #e8f5ee !important;
	border: 1px solid rgba(46, 164, 79, 0.2) !important;
	border-radius: 5px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	text-align: center !important;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received strong,
body.woocommerce-order-received p.woocommerce-thankyou-order-received strong,
body.woocommerce-order-received .woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received strong,
body.woocommerce-account.woocommerce-view-order .oferti-account-view-order .woocommerce-thankyou-order-received strong {
	font-weight: 700 !important;
	color: #065f46 !important;
}

/* Texto antes del botón BM (filtro `oferti_thankyou_vendor_chat_intro`) */
body.woocommerce-order-received .oferti-chat-intro {
	margin: 0 0 12px;
	max-width: 520px;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
	font-size: 14px;
	line-height: 1.45;
	color: #4b5563;
	text-align: center;
}

/* Better Messages — WooCommerce franja de producto + badge de estado pedido (REST threadInfo) */
.bp-messages-wrap .oferti-bm-product-order-strip,
.oferti-bm-product-order-strip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 14px;
	width: 100%;
	box-sizing: border-box;
	padding: 10px 12px 12px;
	margin: 0;
	border-bottom: 1px solid rgba(17, 24, 39, 0.06);
}

.oferti-bm-product-order-strip__wc {
	flex: 1 1 auto;
	min-width: 0;
}

/* Borde sólo una vez: BM lo pone .bm-product-info; lo ocultamos y lo dibujamos aquí como fila única producto+badge */
.oferti-bm-product-order-strip .bm-product-info,
.bm-thread-info .oferti-bm-product-order-strip .bm-product-info {
	border-bottom: none !important;
}

.oferti-bm-product-order-strip .bm-product-info {
	display: flex;
	align-items: center;
	gap: 10px;
}

.oferti-bm-product-order-strip .bm-product-image {
	flex: 0 0 auto;
	width: 56px;
	height: 56px;
	border-radius: 6px;
	overflow: hidden;
	background: #f3f4f6;
}

.oferti-bm-product-order-strip .bm-product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.oferti-bm-product-order-strip .bm-product-details {
	min-width: 0;
}

.oferti-bm-product-order-strip__status {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	margin-left: auto;
}

.oferti-bm-match-status-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 10px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.01em;
	border-radius: 5px;
	border: 1px solid transparent;
	white-space: nowrap;
}

.oferti-bm-match-status-badge__icon {
	line-height: 1;
	font-size: 12px;
}

.oferti-bm-match-status-badge--in_progress {
	background: #faefcf;
	color: #8a5a00;
	border-color: #e9d79e;
}

.oferti-bm-match-status-badge--completed {
	background: #e8f5ee;
	color: #065f46;
	border-color: rgba(46, 164, 79, 0.25);
}

.oferti-bm-match-status-badge--cancelled {
	background: #fef2f2;
	color: #991b1b;
	border-color: #fecaca;
}

.oferti-order-status-badge {
	display: inline-block;
	padding: 5px 11px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.02em;
	border-radius: 5px;
	border: 1px solid rgba(46, 164, 79, 0.22);
	background: #e8f5ee;
	color: #065f46;
	white-space: nowrap;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
}

.oferti-order-status-badge--completed,
.oferti-order-status-badge--wc-completed {
	border-color: rgba(46, 164, 79, 0.25);
	background: #e8f5ee;
	color: #065f46;
}

.oferti-order-status-badge--processing,
.oferti-order-status-badge--wc-processing,
.oferti-order-status-badge--on-hold,
.oferti-order-status-badge--wc-on-hold {
	border-color: rgba(59, 130, 246, 0.25);
	background: #eff6ff;
	color: #1e40af;
}

.oferti-order-status-badge--pending,
.oferti-order-status-badge--wc-pending {
	border-color: rgba(107, 114, 128, 0.25);
	background: #f3f4f6;
	color: #374151;
}

.oferti-order-status-badge--cancelled,
.oferti-order-status-badge--wc-cancelled,
.oferti-order-status-badge--failed,
.oferti-order-status-badge--wc-failed {
	border-color: rgba(220, 38, 38, 0.2);
	background: #fef2f2;
	color: #991b1b;
}

.oferti-order-status-badge--refunded,
.oferti-order-status-badge--wc-refunded {
	border-color: rgba(107, 114, 128, 0.25);
	background: #fafafa;
	color: #57534e;
}

/*
 * Better Messages — mensajes enviados (bm-right-side en LTR): solo burbuja.
 * Avatar .bm-pic + fila nombre/hora (.bm-info) ocultos; llegada (bm-left-side) sin cambios.
 */
.bp-messages-wrap .bm-messages-list .bm-list .bm-messages-stack.bm-right-side .bm-pic {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	visibility: hidden !important;
}

.bp-messages-wrap .bm-messages-list .bm-list .bm-messages-stack.bm-right-side .bm-content .bm-info {
	display: none !important;
}

.bp-messages-wrap .bm-messages-list .bm-list .bm-messages-stack.bm-right-side .bm-content {
	margin-top: 0 !important;
	padding-right: 15px !important;
}

.bp-messages-wrap.bp-better-messages-mini .bm-messages-list .bm-list .bm-messages-stack.bm-right-side .bm-content {
	margin-top: 0 !important;
}


body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__email,
body.woocommerce-order-received ul.woocommerce-order-overview li.email {
	display: none !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview,
body.woocommerce-account.woocommerce-view-order .oferti-account-view-order ul.woocommerce-order-overview {
	display: block !important;
	list-style: none !important;
	margin: 0 0 28px !important;
	padding: 14px 16px !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	border: 1px solid rgba(17, 24, 39, 0.06) !important;
	border-radius: 5px !important;
	background: #fff !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li,
body.woocommerce-account.woocommerce-view-order .oferti-account-view-order ul.woocommerce-order-overview li {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 8px 12px !important;
	margin: 0 !important;
	padding: 12px 4px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	min-width: 0 !important;
	clear: both !important;
	float: none !important;
	order: 0 !important;
	border-right: 0 !important;
	border-bottom: 1px solid rgba(17, 24, 39, 0.06) !important;
	text-align: left !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	font-weight: 500 !important;
	color: #6b7280 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li:last-child,
body.woocommerce-account.woocommerce-view-order .oferti-account-view-order ul.woocommerce-order-overview li:last-child {
	border-bottom: 0 !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li strong,
body.woocommerce-account.woocommerce-view-order .oferti-account-view-order ul.woocommerce-order-overview li strong {
	display: inline-block !important;
	margin-top: 0 !important;
	margin-left: auto !important;
	max-width: 65% !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #111827 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	text-align: right !important;
	word-break: break-word !important;
	overflow-wrap: anywhere !important;
	vertical-align: baseline !important;
}

@media (max-width: 480px) {
	body.woocommerce-order-received ul.woocommerce-order-overview,
	body.woocommerce-account.woocommerce-view-order .oferti-account-view-order ul.woocommerce-order-overview {
		padding: 12px 12px !important;
	}

	body.woocommerce-order-received ul.woocommerce-order-overview li,
	body.woocommerce-account.woocommerce-view-order .oferti-account-view-order ul.woocommerce-order-overview li {
		padding: 10px 2px !important;
		font-size: 12px !important;
	}

	body.woocommerce-order-received ul.woocommerce-order-overview li strong,
	body.woocommerce-account.woocommerce-view-order .oferti-account-view-order ul.woocommerce-order-overview li strong {
		font-size: 14px !important;
		max-width: 58% !important;
	}
}

html { scroll-behavior: smooth; scroll-padding-top: 150px; }
:target { scroll-margin-top: 500px; }

.woocommerce-notices-wrapper:empty {
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

ul.products,
.products { margin-top: -15px !important; padding-top: 0 !important; }

.dokan-product-description,
.dokan-product-inventory.dokan-edit-row,
.dokan-other-options.dokan-edit-row,
.content-half-part.downloadable-checkbox,
.content-half-part.virtual-checkbox,
.sale_schedule,
.content-half-part.sale-price { display: none !important; }

input#_sale_price.dokan-product-sales-price { display: none !important; }

.dokan-dashboard .dokan-alert-danger {
    margin-left: 260px;
    max-width: calc(100% - 240px);
    box-sizing: border-box;
}

.dokan-short-description-textarea {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #ddd;
    border-radius: 3px;
    font-size: 14px;
    box-sizing: border-box;
    min-height: 100px !important;
    max-height: 150px !important;
    resize: vertical;
}

/* Better Messages: vista “sale page” — un solo hilo sin lista lateral */
.oferti-chat-section .bp-messages-wrap {
    height: 450px;
    max-height: 60vh;
}

.oferti-chat-section .threads-list {
    display: none !important;
}

/* Mis matches — confirmación intercambio / referencia TRD */
.oferti-trade-confirmed {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: 6px;
    background: #ecfdf5;
    border: 1px solid rgba(46, 164, 79, 0.22);
    color: #065f46;
    font-size: 14px;
    line-height: 1.4;
}

.oferti-trade-confirmed strong {
    display: block;
    margin-bottom: 4px;
}

.oferti-trade-confirmed__date {
    display: block;
    font-size: 13px;
    font-weight: 600;
    opacity: 0.9;
}

.oferti-trade-confirmed--compact {
    margin-bottom: 10px;
    padding: 8px 10px;
    font-size: 13px;
}

.oferti-trade-hint {
    margin: 8px 0 12px;
    font-size: 13px;
    color: #6b7280;
    line-height: 1.45;
}

.oferti-trade-confirm-form {
    margin-bottom: 8px;
}

.oferti-trade-confirm-form .button-primary {
    width: 100%;
    justify-content: center;
}

/* Mis matches — registro detallado del acuerdo confirmado */
.oferti-trade-agreement-sheet {
    margin: 14px 0 16px;
    padding: 14px 14px 12px;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: 14px;
    line-height: 1.45;
    color: #334155;
}

.oferti-trade-agreement-sheet__title {
    margin: 0 0 12px;
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
}

.oferti-trade-agreement-sheet__dl {
    margin: 0;
    display: grid;
    grid-template-columns: minmax(0, 38%) 1fr;
    gap: 6px 14px;
}

.oferti-trade-agreement-sheet__dl dt {
    margin: 0;
    font-weight: 600;
    color: #64748b;
    font-size: 13px;
}

.oferti-trade-agreement-sheet__dl dd {
    margin: 0 0 8px;
}

.oferti-trade-agreement-sheet__dl dd:last-of-type {
    margin-bottom: 0;
}

.oferti-trade-agreement-sheet__note {
    margin: 12px 0 0;
    font-size: 12px;
    color: #64748b;
}

.oferti-trade-agreement-sheet__dl--confirmation {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e2e8f0;
}

.oferti-trade-match-card--detail .oferti-trade-agreement-sheet__dl a {
    color: #3730a3;
    font-weight: 600;
    text-decoration: none;
}

.oferti-trade-match-card--detail .oferti-trade-agreement-sheet__dl a:hover,
.oferti-trade-match-card--detail .oferti-trade-agreement-sheet__dl a:focus {
    color: #111827;
}

@media (max-width: 520px) {
    .oferti-trade-agreement-sheet__dl {
        grid-template-columns: 1fr;
    }

    .oferti-trade-agreement-sheet__dl dd {
        margin-bottom: 12px;
    }
}
