/* ============================================================================
   inloff — Wishlist / Lista de regalos (capa visual sobre YITH)
   ----------------------------------------------------------------------------
   Namespace .inloff-wl-*. Consume SIEMPRE los tokens globales var(--inloff-*)
   (inloff-tokens.css). NO reutiliza el hardcode de inloff-myaccount.css.
   F0: base + sistema de toast. F1+: botón PDP, grid de página, cabecera, etc.
   ========================================================================= */

/* Mapea --c-heart (usado por los SVG de inloff_home_icon) al token de marca. */
.inloff-wl,
.inloff-wl-toast,
.inloff-wl-pdp,
.inloff-wl-page { --c-heart: var(--inloff-heart); }

/* --------------------------------------------------------------------------
   Toast (feedback de añadir/quitar/compartir) — accesible (aria-live).
   Un único contenedor fijo; los toasts se apilan y autodescartan vía JS.
   -------------------------------------------------------------------------- */
.inloff-wl-toasts {
    position: fixed;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    z-index: 100000;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: max-content;
    max-width: calc(100vw - 32px);
    pointer-events: none;
}

.inloff-wl-toast {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 18px;
    background: var(--inloff-navy);
    color: var(--inloff-on-navy);
    border-radius: var(--inloff-radius-pill);
    box-shadow: var(--inloff-shadow);
    font-size: 14.5px;
    line-height: 1.3;
    letter-spacing: .01em;
    pointer-events: auto;
    opacity: 0;
    transform: translateY(12px) scale(.97);
    transition: opacity .28s var(--inloff-ease), transform .28s var(--inloff-ease);
}
.inloff-wl-toast.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.inloff-wl-toast__ico {
    display: inline-grid;
    place-items: center;
    flex: none;
}
.inloff-wl-toast__ico .inloff-ico {
    width: 19px;
    height: 19px;
    stroke-width: 1.6;
    color: var(--inloff-heart-light);
}
.inloff-wl-toast--removed .inloff-wl-toast__ico .inloff-ico { color: var(--inloff-on-navy-soft); }
.inloff-wl-toast__txt { font-weight: 500; }
.inloff-wl-toast__link {
    margin-left: 6px;
    color: var(--inloff-heart-light);
    text-decoration: underline;
    text-underline-offset: 3px;
    white-space: nowrap;
    font-weight: 600;
}
.inloff-wl-toast__link:hover { color: #fff; }

@media (max-width: 600px) {
    .inloff-wl-toasts { bottom: 16px; }
    .inloff-wl-toast { font-size: 14px; padding: 12px 16px; }
}

@media (prefers-reduced-motion: reduce) {
    .inloff-wl-toast { transition: opacity .2s linear; transform: none; }
    .inloff-wl-toast.is-visible { transform: none; }
}

/* --------------------------------------------------------------------------
   Estado de "ocupado" reutilizable (botón corazón / acciones).
   -------------------------------------------------------------------------- */
.inloff-wl-busy { opacity: .55; pointer-events: none; }

@keyframes inloff-wl-pop {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.28); }
    100% { transform: scale(1); }
}
.inloff-wl-pop { animation: inloff-wl-pop .42s var(--inloff-ease); }

/* ==========================================================================
   F1 · Botón "Guardar en favoritos" en PDP
   Hermano outline del add-to-cart. Reskin sobre las clases YITH .yith-wcwl-*.
   ========================================================================== */
:root {
    --inloff-wl-heart: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20.3 C12 20.3 3.5 15 3.5 8.8 C3.5 6 5.6 4.2 8 4.2 C9.7 4.2 11.2 5.2 12 6.6 C12.8 5.2 14.3 4.2 16 4.2 C18.4 4.2 20.5 6 20.5 8.8 C20.5 15 12 20.3 12 20.3 Z'/></svg>");
    --inloff-wl-heart-fill: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M12 20.3 C12 20.3 3.5 15 3.5 8.8 C3.5 6 5.6 4.2 8 4.2 C9.7 4.2 11.2 5.2 12 6.6 C12.8 5.2 14.3 4.2 16 4.2 C18.4 4.2 20.5 6 20.5 8.8 C20.5 15 12 20.3 12 20.3 Z'/></svg>");
}

.inloff-wl-pdp { margin: 14px 0 0; }
.inloff-wl-pdp .yith-wcwl-add-to-wishlist { margin: 0; }

/* El enlace = botón outline a ancho completo. */
/* O2.8 — Acción SECUNDARIA: el botón ghost full-weight competía con la CTA
   primaria (añadir al carrito navy-filled). Lo bajamos a peso terciario: sin
   ancho completo, borde fino suave, color apagado, altura menor. Lee como
   "guardar para después", no como segunda CTA. */
.inloff-wl-pdp { text-align: center; }
/* Los wrappers yith son block full-width; colapsarlos a inline-block hace que
   todo el control encoja al contenido del <a> y, con text-align:center del
   padre, quede centrado y terciario (en vez de barra full-width). O2.8. */
.inloff-wl-pdp .yith-wcwl-add-to-wishlist,
.inloff-wl-pdp .yith-wcwl-add-button,
.inloff-wl-pdp .yith-wcwl-wishlistaddedbrowse,
.inloff-wl-pdp .yith-wcwl-wishlistexistsbrowse {
    display: inline-block !important;
    width: auto !important;
}
.inloff-wl-pdp .yith-wcwl-add-button > a,
.inloff-wl-pdp .yith-wcwl-wishlistaddedbrowse > a,
.inloff-wl-pdp .yith-wcwl-wishlistexistsbrowse > a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: auto !important;
    min-height: 40px;
    padding: 8px 18px !important;
    margin: 0 !important;
    border: 1px solid var(--inloff-line, #E8E1D4) !important;
    border-radius: var(--inloff-radius-pill) !important;
    background: transparent !important;
    color: var(--inloff-text-secondary, #6b7280) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: .01em;
    text-transform: none !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    transition: background .18s var(--inloff-ease), color .18s var(--inloff-ease), border-color .18s var(--inloff-ease);
}
.inloff-wl-pdp .yith-wcwl-add-button > a:hover,
.inloff-wl-pdp .yith-wcwl-wishlistaddedbrowse > a:hover {
    border-color: var(--inloff-navy) !important;
    color: var(--inloff-navy) !important;
    background: transparent !important;
}

/* Ocultar el icono nativo de YITH y poner nuestro corazón via mask en ::before. */
.inloff-wl-pdp .yith-wcwl-add-button > a > svg,
.inloff-wl-pdp .yith-wcwl-add-button > a > i,
.inloff-wl-pdp .yith-wcwl-wishlistaddedbrowse .feedback svg,
.inloff-wl-pdp .yith-wcwl-wishlistaddedbrowse .feedback i { display: none !important; }

.inloff-wl-pdp .yith-wcwl-add-button > a::before,
.inloff-wl-pdp .yith-wcwl-wishlistaddedbrowse .feedback::before {
    content: "";
    width: 18px;
    height: 18px;
    flex: none;
    background-color: currentColor;
    -webkit-mask: var(--inloff-wl-heart) center / 18px no-repeat;
            mask: var(--inloff-wl-heart) center / 18px no-repeat;
}

/* Estado "ya añadido" (feedback + enlace a la lista). */
.inloff-wl-pdp .yith-wcwl-wishlistaddedbrowse {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.inloff-wl-pdp .yith-wcwl-wishlistaddedbrowse .feedback {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--inloff-heart-dark);
    font-size: 13.5px;
    font-weight: 600;
}
.inloff-wl-pdp .yith-wcwl-wishlistaddedbrowse .feedback::before {
    background-color: var(--inloff-heart);
    -webkit-mask-image: var(--inloff-wl-heart-fill);
            mask-image: var(--inloff-wl-heart-fill);
}
.inloff-wl-pdp .yith-wcwl-wishlistaddedbrowse > a::before {
    content: "";
    width: 16px; height: 16px; flex: none;
    background-color: currentColor;
    -webkit-mask: var(--inloff-wl-heart-fill) center / 16px no-repeat;
            mask: var(--inloff-wl-heart-fill) center / 16px no-repeat;
}

/* Spinner de carga AJAX de YITH dentro del botón. */
.inloff-wl-pdp .ajax-loading { margin: 0 0 0 6px; }

/* ==========================================================================
   F1 · Intro editorial (página /lista-de-deseos/ y pestaña de cuenta)
   ========================================================================== */
.inloff-wl-intro { margin: 0 0 28px; }
.inloff-wl-intro__eyebrow {
    margin: 0 0 6px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--inloff-heart-dark);
}
.inloff-wl-intro__title {
    margin: 0 0 8px;
    font-family: var(--inloff-font-serif);
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.08;
    color: var(--inloff-navy);
    font-weight: 600;
}
.inloff-wl-intro__sub {
    margin: 0;
    max-width: 56ch;
    color: var(--inloff-muted);
    font-size: 15.5px;
    line-height: 1.55;
}
.inloff-wl-intro--account { margin-bottom: 22px; }
.inloff-wl-intro--account .inloff-wl-intro__title { font-size: clamp(24px, 3vw, 32px); }

/* ==========================================================================
   F1 · Página de wishlist — card-ificación del <table> de YITH
   Conservamos el markup/JS de YITH (clases .wishlist_table, names items[],
   .remove_from_wishlist, .add_to_cart) y solo lo restyleamos a tarjetas.
   ========================================================================== */

/* La cabecera/título nativos de YITH los sustituye nuestro .inloff-wl-intro. */
.yith-wcwl-form .wishlist-title-container { display: none; }

/* Form contenedor */
.yith-wcwl-form.wishlist-fragment { margin: 0; }

/* Tabla → bloque */
.wishlist_table.wishlist_view {
    display: block;
    width: 100%;
    border: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}
.wishlist_table.wishlist_view thead { display: none !important; }
.wishlist_table.wishlist_view tbody.wishlist-items-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(238px, 1fr));
    gap: 20px;
    border: 0;
}

/* Cada fila = tarjeta */
.wishlist_table.wishlist_view tbody tr {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--inloff-line);
    border-radius: var(--inloff-radius);
    overflow: hidden;
    box-shadow: var(--inloff-shadow-sm);
    /* No transicionamos box-shadow (propiedad de paint): con listas largas, el :hover en
       cascada al hacer scroll dispara repaints. transform + border-color bastan para el efecto. */
    transition: transform .2s var(--inloff-ease), border-color .2s var(--inloff-ease);
    /* Listas largas sin paginar: el navegador se salta el render de las tarjetas fuera del
       viewport (mantiene la lista única del gift-registry, sin cambios de markup/UX). La
       keyword auto recuerda el tamaño real tras el primer pintado; navegadores sin soporte
       lo ignoran de forma segura. Eje ancho ~238px (track del grid) + alto estimado ~460px. */
    content-visibility: auto;
    contain-intrinsic-size: auto 238px auto 460px;
}
.wishlist_table.wishlist_view tbody tr:hover {
    box-shadow: var(--inloff-shadow);
    border-color: var(--inloff-line-heart);
    transform: translateY(-2px);
}

/* Celdas → bloques */
.wishlist_table.wishlist_view td {
    display: block;
    width: auto !important;
    border: 0 !important;
    padding: 0;
    text-align: left !important;
    background: transparent !important;
}

/* Imagen */
.wishlist_table.wishlist_view td.product-thumbnail {
    margin: 0;
    background: var(--inloff-cream-light) !important;
}
.wishlist_table.wishlist_view td.product-thumbnail a { display: block; }
.wishlist_table.wishlist_view td.product-thumbnail img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    margin: 0;
    border-radius: 0;
}

/* Nombre */
.wishlist_table.wishlist_view td.product-name {
    padding: 14px 16px 0;
    order: 2;
}
.wishlist_table.wishlist_view td.product-name a {
    display: block;
    color: var(--inloff-navy);
    font-family: var(--inloff-font-serif);
    font-size: 16.5px;
    line-height: 1.28;
    font-weight: 600;
    text-decoration: none;
}
.wishlist_table.wishlist_view td.product-name a:hover { color: var(--inloff-heart-dark); }
.wishlist_table.wishlist_view td.product-name .wc-item-meta,
.wishlist_table.wishlist_view td.product-name dl {
    margin: 6px 0 0;
    font-size: 12.5px;
    color: var(--inloff-muted);
}

/* Precio */
.wishlist_table.wishlist_view td.product-price {
    padding: 8px 16px 0;
    order: 3;
    font-size: 16px;
    color: var(--inloff-ink);
}
.wishlist_table.wishlist_view td.product-price del { color: var(--inloff-muted); opacity: .8; margin-right: 6px; font-size: 14px; }
.wishlist_table.wishlist_view td.product-price ins { text-decoration: none; color: var(--inloff-heart-dark); font-weight: 700; }
.wishlist_table.wishlist_view td.product-price .price-variation { display: block; margin-top: 4px; font-size: 12.5px; color: var(--inloff-heart-dark); }

/* Stock */
.wishlist_table.wishlist_view td.product-stock-status {
    padding: 8px 16px 0;
    order: 4;
    font-size: 12.5px;
}
.wishlist_table.wishlist_view .wishlist-in-stock { color: #2e7d52; }
.wishlist_table.wishlist_view .wishlist-out-of-stock { color: #b3402f; }

/* Cantidad (oculta en tarjeta F1; se gestiona desde el carrito) */
.wishlist_table.wishlist_view td.product-quantity { padding: 8px 16px 0; order: 5; }
.wishlist_table.wishlist_view td.product-quantity input { width: 72px; }

/* Add to cart + acciones */
.wishlist_table.wishlist_view td.product-add-to-cart {
    padding: 14px 16px 16px;
    margin-top: auto;
    order: 6;
}
.wishlist_table.wishlist_view td.product-add-to-cart .dateadded {
    display: block;
    margin: 0 0 10px;
    font-size: 11.5px;
    letter-spacing: .02em;
    color: var(--inloff-muted);
}
.wishlist_table.wishlist_view td.product-add-to-cart .button,
.wishlist_table.wishlist_view td.product-add-to-cart a.add_to_cart_button,
.wishlist_table.wishlist_view td.product-add-to-cart a.added_to_cart {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    padding: 10px 18px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: var(--inloff-radius-pill) !important;
    background: var(--inloff-navy) !important;
    color: var(--inloff-on-navy) !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: .02em;
    text-transform: none !important;
    line-height: 1.2 !important;
    transition: background .18s var(--inloff-ease), transform .18s var(--inloff-ease);
}
.wishlist_table.wishlist_view td.product-add-to-cart .button:hover { background: var(--inloff-navy-soft) !important; transform: translateY(-1px); }
.wishlist_table.wishlist_view td.product-add-to-cart a.added_to_cart {
    margin-top: 8px !important;
    background: transparent !important;
    color: var(--inloff-heart-dark) !important;
    border: 1.5px solid var(--inloff-line-heart) !important;
}

/* Quitar = botón circular sobre la imagen */
.wishlist_table.wishlist_view td.product-remove {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 3;
    padding: 0;
    order: 0;
}
.wishlist_table.wishlist_view td.product-remove a.remove,
.wishlist_table.wishlist_view td.product-remove a.remove_from_wishlist {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255,255,255,.96);
    box-shadow: var(--inloff-shadow-sm);
    color: var(--inloff-navy) !important;
    font-size: 18px;
    line-height: 1;
    text-decoration: none;
    transition: background .15s var(--inloff-ease), color .15s var(--inloff-ease);
}
.wishlist_table.wishlist_view td.product-remove a.remove:hover {
    background: var(--inloff-navy);
    color: #fff !important;
}

/* Checkbox por ítem: oculto en F1 (las acciones masivas llegan en F2). */
.wishlist_table.wishlist_view td.product-checkbox { display: none; }

/* Repetición del botón "remove" en última columna: ocultar (ya está el X). */
.wishlist_table.wishlist_view td.product-add-to-cart a.remove_from_wishlist.button { display: none; }

/* Estado vacío editorial (un único <td.wishlist-empty> dentro de un tr). */
.wishlist_table.wishlist_view tbody tr:has(.wishlist-empty) {
    grid-column: 1 / -1;
    background: var(--inloff-cream);
    border: 1px dashed var(--inloff-line-strong);
    box-shadow: none;
}
.wishlist_table.wishlist_view tbody tr:has(.wishlist-empty):hover { transform: none; }
.wishlist_table.wishlist_view td.wishlist-empty {
    padding: 48px 24px !important;
    text-align: center !important;
    color: var(--inloff-muted);
    font-size: 16px;
}

/* Paginación */
.wishlist_table.wishlist_view tr.wishlist-pagination { grid-column: 1 / -1; border: 0; background: transparent; box-shadow: none; }
.wishlist_table.wishlist_view tr.wishlist-pagination:hover { transform: none; }
.wishlist_table.wishlist_view td.wishlist-pagination,
.wishlist_table.wishlist_view tr.wishlist-pagination td { padding: 18px 0 0 !important; text-align: center !important; }

/* ==========================================================================
   F1 · Footer del wishlist (share + add-all). Bulk se reskina en F2.
   ========================================================================== */
.yith_wcwl_wishlist_footer {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid var(--inloff-line);
}

/* Bulk actions: oculto en F1 (sin checkboxes visibles). */
.yith_wcwl_wishlist_footer .yith_wcwl_wishlist_bulk_action { display: none; }

/* Add all to cart */
.yith_wcwl_wishlist_footer input[name="add_all_to_cart"],
.yith_wcwl_wishlist_footer input[name="update_wishlist"] {
    -webkit-appearance: none;
    appearance: none;
    min-height: 48px;
    padding: 12px 26px;
    border: 0;
    border-radius: var(--inloff-radius-pill);
    background: var(--inloff-navy);
    color: var(--inloff-on-navy);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .02em;
    cursor: pointer;
    transition: background .18s var(--inloff-ease), transform .18s var(--inloff-ease);
}
.yith_wcwl_wishlist_footer input[name="add_all_to_cart"]:hover { background: var(--inloff-navy-soft); transform: translateY(-1px); }
.yith_wcwl_wishlist_footer input[name="update_wishlist"] {
    background: transparent;
    color: var(--inloff-navy);
    border: 1.5px solid var(--inloff-navy);
}

/* Share */
.yith-wcwl-share { margin: 0; }
.yith-wcwl-share .yith-wcwl-share-title {
    margin: 0 0 12px;
    font-family: var(--inloff-font-serif);
    font-size: 18px;
    color: var(--inloff-navy);
    font-weight: 600;
}
.yith-wcwl-share ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 12px;
    padding: 0;
    list-style: none;
}
.yith-wcwl-share ul li.share-button { margin: 0; }
.yith-wcwl-share ul li.share-button a {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--inloff-cream-warm);
    color: var(--inloff-navy);
    text-decoration: none;
    transition: background .15s var(--inloff-ease), color .15s var(--inloff-ease), transform .15s var(--inloff-ease);
}
.yith-wcwl-share ul li.share-button a:hover { background: var(--inloff-navy); color: #fff; transform: translateY(-2px); }
.yith-wcwl-share ul li.share-button a svg,
.yith-wcwl-share ul li.share-button a i { width: 18px; height: 18px; font-size: 17px; }

/* Copiar enlace */
.yith-wcwl-after-share-section {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.yith-wcwl-after-share-section input.copy-target {
    flex: 1 1 220px;
    min-width: 0;
    height: 42px;
    padding: 0 14px;
    border: 1px solid var(--inloff-line-strong);
    border-radius: var(--inloff-radius-pill);
    background: #fff;
    color: var(--inloff-ink-soft);
    font-size: 13px;
}
.yith-wcwl-after-share-section small { color: var(--inloff-muted); font-size: 12.5px; }
.yith-wcwl-after-share-section .copy-trigger {
    color: var(--inloff-heart-dark);
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* ==========================================================================
   F1 · Embed en Mi Cuenta
   ========================================================================== */
.inloff-wl-account .yith-wcwl-form { margin: 0; }
.inloff-wl-account .wishlist_table.wishlist_view tbody.wishlist-items-wrapper {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
}

/* ==========================================================================
   F1 · Responsive
   ========================================================================== */
@media (max-width: 600px) {
    .wishlist_table.wishlist_view tbody.wishlist-items-wrapper {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .wishlist_table.wishlist_view td.product-name a { font-size: 15px; }
    .wishlist_table.wishlist_view td.product-name,
    .wishlist_table.wishlist_view td.product-price,
    .wishlist_table.wishlist_view td.product-stock-status { padding-left: 12px; padding-right: 12px; }
    .wishlist_table.wishlist_view td.product-add-to-cart { padding: 12px; }
    .yith_wcwl_wishlist_footer { flex-direction: column; }
}
@media (max-width: 400px) {
    .wishlist_table.wishlist_view tbody.wishlist-items-wrapper { grid-template-columns: 1fr; }
}

/* ==========================================================================
   F3 · Gift-registry — notas por ítem + reservas (dueño / invitado)
   Inyectado en td.product-add-to-cart vía yith_wcwl_table_after_product_cart.
   ========================================================================== */
.inloff-wl-extra {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--inloff-line);
}

/* --- Nota: editor (dueño) --- */
.inloff-wl-note--edit {
    display: flex;
    align-items: center;
    gap: 6px;
}
.inloff-wl-note__input {
    flex: 1 1 auto;
    min-width: 0;
    height: 38px;
    padding: 0 12px;
    border: 1px solid var(--inloff-line-strong);
    border-radius: var(--inloff-radius-sm);
    background: var(--inloff-cream-light);
    color: var(--inloff-ink);
    font-size: 13px;
    transition: border-color .15s var(--inloff-ease), background .15s var(--inloff-ease);
}
.inloff-wl-note__input:focus {
    outline: none;
    border-color: var(--inloff-heart);
    background: #fff;
}
.inloff-wl-note__save {
    flex: none;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: var(--inloff-radius-sm);
    background: var(--inloff-navy);
    color: var(--inloff-on-navy);
    cursor: pointer;
    transition: background .15s var(--inloff-ease);
}
.inloff-wl-note__save:hover { background: var(--inloff-navy-soft); }
.inloff-wl-note__save .inloff-ico { width: 17px; height: 17px; stroke-width: 1.8; }
.inloff-wl-note--edit.is-saved .inloff-wl-note__input { border-color: #2e7d52; background: rgba(46,125,82,.06); }

/* --- Nota: vista (invitado) --- */
.inloff-wl-note--view {
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.45;
    color: var(--inloff-ink-soft);
}
.inloff-wl-note__tag {
    display: inline-block;
    margin-right: 6px;
    padding: 1px 8px;
    border-radius: var(--inloff-radius-pill);
    background: var(--inloff-cream-deep);
    color: var(--inloff-heart-dark);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    vertical-align: middle;
}

/* --- Reserva: estado del dueño --- */
.inloff-wl-resv--owner {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 8px 0 0;
    font-size: 12.5px;
    color: var(--inloff-heart-dark);
    font-weight: 600;
}
.inloff-wl-resv--owner .inloff-ico { width: 16px; height: 16px; }

/* --- Reserva: invitado --- */
.inloff-wl-resv--guest { margin-top: 4px; }
.inloff-wl-resv__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    min-height: 42px;
    padding: 9px 16px;
    border: 1.5px solid var(--inloff-heart);
    border-radius: var(--inloff-radius-pill);
    background: transparent;
    color: var(--inloff-heart-dark);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s var(--inloff-ease), color .15s var(--inloff-ease);
}
.inloff-wl-resv__btn:hover { background: var(--inloff-heart); color: #fff; }
.inloff-wl-resv__btn .inloff-ico { width: 16px; height: 16px; }
.inloff-wl-resv__btn[hidden] { display: none; }

.inloff-wl-resv__form {
    display: flex;
    align-items: center;
    gap: 6px;
}
.inloff-wl-resv__name {
    flex: 1 1 auto;
    min-width: 0;
    height: 42px;
    padding: 0 12px;
    border: 1px solid var(--inloff-line-strong);
    border-radius: var(--inloff-radius-sm);
    font-size: 13px;
}
.inloff-wl-resv__name:focus { outline: none; border-color: var(--inloff-heart); }
.inloff-wl-resv__confirm {
    flex: none;
    height: 42px;
    padding: 0 16px;
    border: 0;
    border-radius: var(--inloff-radius-sm);
    background: var(--inloff-heart);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s var(--inloff-ease);
}
.inloff-wl-resv__confirm:hover { background: var(--inloff-heart-dark); }
.inloff-wl-resv__abort {
    flex: none;
    width: 42px;
    height: 42px;
    border: 1px solid var(--inloff-line-strong);
    border-radius: var(--inloff-radius-sm);
    background: #fff;
    color: var(--inloff-muted);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}
.inloff-wl-resv__abort:hover { color: var(--inloff-navy); border-color: var(--inloff-navy); }

.inloff-wl-resv__status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 8px 0 0;
    font-size: 12.5px;
    color: var(--inloff-muted);
}
.inloff-wl-resv__mine { color: var(--inloff-heart-dark); font-weight: 600; }
.inloff-wl-resv__full { color: #2e7d52; font-weight: 600; }
.inloff-wl-resv__cancel {
    border: 0;
    background: none;
    padding: 0;
    color: var(--inloff-muted);
    font-size: 12px;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}
.inloff-wl-resv__cancel:hover { color: var(--inloff-navy); }
.inloff-wl-resv--guest.is-full .inloff-wl-resv__btn { display: none; }

/* ==========================================================================
   F3 · Share sheet brandeado (override share.php)
   ========================================================================== */
.inloff-wl-share { width: 100%; max-width: 520px; }
.inloff-wl-share__title {
    margin: 0 0 4px;
    font-family: var(--inloff-font-serif);
    font-size: 19px;
    font-weight: 600;
    color: var(--inloff-navy);
}
.inloff-wl-share__hint {
    margin: 0 0 14px;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--inloff-muted);
}
.inloff-wl-share__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
}
.inloff-wl-share__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 46px;
    padding: 10px 18px;
    border: 1.5px solid var(--inloff-line-strong);
    border-radius: var(--inloff-radius-pill);
    background: #fff;
    color: var(--inloff-navy);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background .16s var(--inloff-ease), color .16s var(--inloff-ease), border-color .16s var(--inloff-ease), transform .16s var(--inloff-ease);
}
.inloff-wl-share__btn:hover { transform: translateY(-1px); }
.inloff-wl-share__btn svg, .inloff-wl-share__btn .inloff-ico { width: 18px; height: 18px; flex: none; }

/* WhatsApp — acción principal */
.inloff-wl-share__btn--wa {
    border-color: #25D366;
    color: #128C44;
}
.inloff-wl-share__btn--wa:hover { background: #25D366; color: #fff; border-color: #25D366; }

/* Copiar — acción principal (navy) */
.inloff-wl-share__btn--copy {
    background: var(--inloff-navy);
    border-color: var(--inloff-navy);
    color: var(--inloff-on-navy);
}
.inloff-wl-share__btn--copy:hover { background: var(--inloff-navy-soft); border-color: var(--inloff-navy-soft); }
.inloff-wl-share__btn--copy.is-copied { background: #2e7d52; border-color: #2e7d52; }

/* Email — secundaria */
.inloff-wl-share__btn--mail:hover { border-color: var(--inloff-navy); color: var(--inloff-navy); background: var(--inloff-cream-warm); }

.inloff-wl-share__url-row { margin-top: 4px; }
.inloff-wl-share__url {
    width: 100%;
    height: 42px;
    padding: 0 14px;
    border: 1px solid var(--inloff-line-strong);
    border-radius: var(--inloff-radius-pill);
    background: var(--inloff-cream-light);
    color: var(--inloff-ink-soft);
    font-size: 12.5px;
}
.inloff-wl-share__url:focus { outline: none; border-color: var(--inloff-heart); background: #fff; }

@media (max-width: 600px) {
    .inloff-wl-share__actions { gap: 8px; }
    .inloff-wl-share__btn { flex: 1 1 auto; justify-content: center; }
}

/* ==========================================================================
   F3b · Identidad de evento — intro (invitado) + editor (dueño)
   ========================================================================== */

/* Intro: fecha + cuenta atrás + mensaje del organizador */
.inloff-wl-intro__event-meta {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 4px 0 10px;
    padding: 6px 14px;
    border-radius: var(--inloff-radius-pill);
    background: var(--inloff-cream-deep);
    color: var(--inloff-heart-dark);
    font-size: 13.5px;
    font-weight: 600;
}
.inloff-wl-intro__event-meta .inloff-ico { width: 16px; height: 16px; }
.inloff-wl-intro__message {
    font-style: italic;
    color: var(--inloff-ink-soft);
}

/* Editor de evento (dueño) — colapsable */
.inloff-wl-event {
    margin: 0 0 28px;
    border: 1px solid var(--inloff-line);
    border-radius: var(--inloff-radius);
    background: var(--inloff-cream-light);
    overflow: hidden;
}
.inloff-wl-event[open] { box-shadow: var(--inloff-shadow-sm); }
.inloff-wl-event__summary {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    cursor: pointer;
    list-style: none;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--inloff-navy);
    user-select: none;
}
.inloff-wl-event__summary::-webkit-details-marker { display: none; }
.inloff-wl-event__summary::after {
    content: "";
    width: 9px; height: 9px;
    margin-left: auto;
    border-right: 2px solid var(--inloff-muted);
    border-bottom: 2px solid var(--inloff-muted);
    transform: rotate(45deg);
    transition: transform .2s var(--inloff-ease);
}
.inloff-wl-event[open] .inloff-wl-event__summary::after { transform: rotate(-135deg); }
.inloff-wl-event__summary-ico { display: inline-flex; }
.inloff-wl-event__summary-ico .inloff-ico { width: 19px; height: 19px; color: var(--inloff-heart); }

.inloff-wl-event__form {
    padding: 4px 18px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.inloff-wl-event__row { display: flex; gap: 12px; flex-wrap: wrap; }
.inloff-wl-event__field { flex: 1 1 auto; display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.inloff-wl-event__field--date { flex: 0 0 200px; }
.inloff-wl-event__label {
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--inloff-muted);
}
.inloff-wl-event__title,
.inloff-wl-event__date,
.inloff-wl-event__message {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--inloff-line-strong);
    border-radius: var(--inloff-radius-sm);
    background: #fff;
    color: var(--inloff-ink);
    font-size: 14px;
    font-family: inherit;
}
.inloff-wl-event__title:focus,
.inloff-wl-event__date:focus,
.inloff-wl-event__message:focus { outline: none; border-color: var(--inloff-heart); }
.inloff-wl-event__message { resize: vertical; }

.inloff-wl-event__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.inloff-wl-event__save {
    min-height: 44px;
    padding: 11px 22px;
    border: 0;
    border-radius: var(--inloff-radius-pill);
    background: var(--inloff-navy);
    color: var(--inloff-on-navy);
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    transition: background .16s var(--inloff-ease);
}
.inloff-wl-event__save:hover { background: var(--inloff-navy-soft); }
.inloff-wl-event__pretty {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    color: var(--inloff-muted);
}
.inloff-wl-event__pretty code {
    color: var(--inloff-heart-dark);
    background: var(--inloff-cream-warm);
    padding: 3px 9px;
    border-radius: var(--inloff-radius-sm);
    font-size: 12px;
}
.inloff-wl-event__copy {
    display: grid; place-items: center;
    width: 30px; height: 30px;
    border: 1px solid var(--inloff-line-strong);
    border-radius: var(--inloff-radius-sm);
    background: #fff;
    color: var(--inloff-navy);
    cursor: pointer;
}
.inloff-wl-event__copy:hover { background: var(--inloff-navy); color: #fff; }
.inloff-wl-event__copy .inloff-ico { width: 15px; height: 15px; }

@media (max-width: 600px) {
    .inloff-wl-event__field--date { flex: 1 1 auto; }
}

/* ==========================================================================
   F4 · Badges precio/stock (bajo el nombre del producto)
   ========================================================================== */
.inloff-wl-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0 0;
}
.inloff-wl-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: var(--inloff-radius-pill);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .01em;
    line-height: 1.4;
}
.inloff-wl-badge--drop { background: var(--inloff-heart); color: #fff; }
.inloff-wl-badge--restock { background: rgba(46, 125, 82, .12); color: #2e7d52; }
.inloff-wl-badge--low { background: rgba(232, 160, 32, .15); color: #9a6a06; }

/* ==========================================================================
   EPO-save · Personalización guardada + add-to-cart que la reaplica
   ========================================================================== */
.inloff-wl-epo {
    margin: 0 0 10px;
    padding: 10px 12px;
    background: var(--inloff-cream-warm);
    border-radius: var(--inloff-radius-sm);
}
.inloff-wl-epo__tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 5px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--inloff-heart-dark);
}
.inloff-wl-epo__tag .inloff-ico { width: 13px; height: 13px; }
.inloff-wl-epo__list { margin: 0; padding: 0; list-style: none; }
.inloff-wl-epo__list li { font-size: 12.5px; color: var(--inloff-ink-soft); line-height: 1.45; }
.inloff-wl-epo__list strong { color: var(--inloff-navy); font-weight: 600; }

.inloff-wl-epo-atc {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 44px;
    padding: 10px 18px;
    margin-bottom: 6px;
    border-radius: var(--inloff-radius-pill);
    background: var(--inloff-navy);
    color: var(--inloff-on-navy);
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    transition: background .18s var(--inloff-ease), transform .18s var(--inloff-ease);
}
.inloff-wl-epo-atc:hover { background: var(--inloff-navy-soft); transform: translateY(-1px); }
.inloff-wl-epo-atc .inloff-ico { width: 16px; height: 16px; }

/* ==========================================================================
   F4 · Toolbar (ordenar / filtrar / imprimir)
   ========================================================================== */
.inloff-wl-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0 0 20px;
    padding: 12px 16px;
    border: 1px solid var(--inloff-line);
    border-radius: var(--inloff-radius);
    background: var(--inloff-cream-light);
}
.inloff-wl-toolbar__controls { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.inloff-wl-toolbar__sort { display: inline-flex; align-items: center; gap: 8px; }
.inloff-wl-toolbar__lbl { font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--inloff-muted); }
.inloff-wl-toolbar__sort select {
    height: 38px;
    padding: 0 32px 0 12px;
    border: 1px solid var(--inloff-line-strong);
    border-radius: var(--inloff-radius-sm);
    background: #fff;
    color: var(--inloff-ink);
    font-size: 13.5px;
    cursor: pointer;
}
.inloff-wl-toolbar__filter { display: inline-flex; align-items: center; gap: 7px; font-size: 13.5px; color: var(--inloff-ink-soft); cursor: pointer; }
.inloff-wl-toolbar__filter input { width: 16px; height: 16px; accent-color: var(--inloff-heart); }
.inloff-wl-toolbar__print {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 38px;
    padding: 0 16px;
    border: 1px solid var(--inloff-line-strong);
    border-radius: var(--inloff-radius-pill);
    background: #fff;
    color: var(--inloff-navy);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s var(--inloff-ease), color .15s var(--inloff-ease);
}
.inloff-wl-toolbar__print:hover { background: var(--inloff-navy); color: #fff; }
.inloff-wl-toolbar__print .inloff-ico { width: 16px; height: 16px; }

/* "Guardar en favoritos" en línea de carrito */
.inloff-wl-cart-save {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 6px;
    color: var(--inloff-heart-dark);
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none;
}
.inloff-wl-cart-save:hover { color: var(--inloff-navy); }
.inloff-wl-cart-save .inloff-ico { width: 14px; height: 14px; }

@media (max-width: 600px) {
    .inloff-wl-toolbar { padding: 12px; }
    .inloff-wl-toolbar__controls { gap: 12px; width: 100%; justify-content: space-between; }
}

/* ==========================================================================
   F5 · Recomendaciones ("También te puede gustar")
   ========================================================================== */
.inloff-wl-recs {
    margin-top: 36px;
    padding-top: 28px;
    border-top: 1px solid var(--inloff-line);
}
.inloff-wl-recs__title {
    margin: 0 0 18px;
    font-family: var(--inloff-font-serif);
    font-size: 22px;
    font-weight: 600;
    color: var(--inloff-navy);
}
.inloff-wl-recs__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.inloff-wl-rec { display: block; text-decoration: none; }
.inloff-wl-rec__img {
    display: block;
    overflow: hidden;
    border-radius: var(--inloff-radius);
    background: var(--inloff-cream-light);
}
.inloff-wl-rec__img img {
    display: block;
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    transition: transform .4s var(--inloff-ease);
}
.inloff-wl-rec:hover .inloff-wl-rec__img img { transform: scale(1.04); }
.inloff-wl-rec__name {
    display: block;
    margin: 10px 0 3px;
    color: var(--inloff-navy);
    font-family: var(--inloff-font-serif);
    font-size: 14.5px;
    line-height: 1.3;
}
.inloff-wl-rec__price { display: block; color: var(--inloff-ink-soft); font-size: 13.5px; }
.inloff-wl-rec__price del { color: var(--inloff-muted); margin-right: 5px; }
.inloff-wl-rec__price ins { text-decoration: none; color: var(--inloff-heart-dark); font-weight: 700; }

@media (max-width: 900px) { .inloff-wl-recs__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 380px) { .inloff-wl-recs__grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   F4 · Impresión de la lista (registry imprimible)
   ========================================================================== */
@media print {
    .inloff-wl-recs,
    #header, #top-bar, .header-main, .footer, .footer-widgets, .absolute-footer,
    #wpadminbar, .inloff-wl-toolbar, .inloff-wl-event, .yith_wcwl_wishlist_footer,
    .inloff-wl-share, .inloff-wl-extra, .inloff-wl-resv, .header-wishlist-icon,
    .woot--bubble-holder, .woot-widget-holder, [id^="chatwoot"],
    .wishlist_table.wishlist_view td.product-remove,
    .wishlist_table.wishlist_view td.product-add-to-cart .button,
    .wishlist_table.wishlist_view td.product-add-to-cart a.added_to_cart { display: none !important; }

    body { background: #fff !important; }
    .inloff-wl-intro__title { font-size: 24px; }
    .wishlist_table.wishlist_view tbody.wishlist-items-wrapper { display: block !important; }
    .wishlist_table.wishlist_view tbody tr {
        display: flex !important;
        align-items: center;
        gap: 16px;
        page-break-inside: avoid;
        border: 0 !important;
        border-bottom: 1px solid #ddd !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 10px 0 !important;
        transform: none !important;
    }
    .wishlist_table.wishlist_view td.product-thumbnail { width: 64px; flex: none; background: transparent !important; }
    .wishlist_table.wishlist_view td.product-thumbnail img { width: 64px !important; aspect-ratio: 1/1; }
    .wishlist_table.wishlist_view td.product-name,
    .wishlist_table.wishlist_view td.product-price { padding: 0 !important; }
}

/* ==========================================================================
   UI · Layout de dos columnas (gift-registry) — solo página standalone
   Ítems en columna principal + panel lateral sticky (evento/compartir/acciones).
   ========================================================================== */
.inloff-wl-page .yith-wcwl-form.wishlist-fragment {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 344px;
    gap: 0 44px;
    align-items: start;
    max-width: var(--inloff-max, 1170px);
    margin: 0 auto;
}
.inloff-wl-page .inloff-wl-intro { grid-column: 1 / -1; margin-bottom: 22px; }
.inloff-wl-page .inloff-wl-main { grid-column: 1; min-width: 0; }
.inloff-wl-page .inloff-wl-rail { grid-column: 2; }
@media (min-width: 981px) {
    .inloff-wl-page .inloff-wl-rail { position: sticky; top: 90px; }
}

/* Ocultar el footer nativo de YITH en standalone (el rail re-expone share + add-all).
   Los inputs ocultos (nonce, wishlist_id) siguen enviándose con el form. */
.inloff-wl-page .yith_wcwl_wishlist_footer { display: none !important; }

/* Tarjeta del panel lateral */
.inloff-wl-rail__card {
    background: #fff;
    border: 1px solid var(--inloff-line);
    border-radius: var(--inloff-radius);
    box-shadow: var(--inloff-shadow-sm);
    padding: 22px 22px 24px;
    margin-bottom: 16px;
}
.inloff-wl-rail__count {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    font-size: 14px;
    font-weight: 600;
    color: var(--inloff-navy);
}
.inloff-wl-rail__count .inloff-ico { width: 17px; height: 17px; color: var(--inloff-heart); }
.inloff-wl-rail__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    min-height: 52px;
    padding: 14px 20px;
    margin: 0 0 20px;
    border: 0;
    border-radius: var(--inloff-radius-pill);
    background: var(--inloff-navy);
    color: var(--inloff-on-navy);
    font-size: 14.5px;
    font-weight: 600;
    cursor: pointer;
    transition: background .18s var(--inloff-ease), transform .18s var(--inloff-ease);
}
.inloff-wl-rail__cta:hover { background: var(--inloff-navy-soft); transform: translateY(-1px); }
.inloff-wl-rail__cta .inloff-ico { width: 18px; height: 18px; }
.inloff-wl-rail__share-wrap { border-top: 1px solid var(--inloff-line); padding-top: 16px; }
.inloff-wl-rail__share-title { margin: 0 0 12px; font-size: 13px; font-weight: 600; color: var(--inloff-ink-soft); }
.inloff-wl-rail__share { display: flex; flex-direction: column; gap: 8px; }
.inloff-wl-rail__share .inloff-wl-share__btn { width: 100%; justify-content: flex-start; min-height: 44px; }

/* Guest: cómo funciona */
.inloff-wl-rail__how-title { margin: 0 0 14px; font-family: var(--inloff-font-serif); font-size: 18px; color: var(--inloff-navy); font-weight: 600; }
.inloff-wl-rail__how { list-style: none; margin: 0 0 4px; padding: 0; display: flex; flex-direction: column; gap: 13px; }
.inloff-wl-rail__how li { display: flex; gap: 10px; font-size: 13.5px; line-height: 1.45; color: var(--inloff-ink-soft); }
.inloff-wl-rail__how .inloff-ico { width: 18px; height: 18px; flex: none; color: var(--inloff-heart); margin-top: 1px; }

/* Editor de evento dentro del rail */
.inloff-wl-rail .inloff-wl-event { margin: 0; }

/* Toolbar dentro de main: más ligera */
.inloff-wl-page .inloff-wl-main .inloff-wl-toolbar { margin-bottom: 18px; }

/* Cards dentro de main: tamaño cómodo en la columna más estrecha */
.inloff-wl-page .inloff-wl-main .wishlist_table.wishlist_view tbody.wishlist-items-wrapper {
    grid-template-columns: repeat(auto-fill, minmax(212px, 1fr));
    gap: 18px;
}

/* Móvil: una columna, rail debajo de los ítems */
@media (max-width: 980px) {
    .inloff-wl-page .yith-wcwl-form.wishlist-fragment { grid-template-columns: 1fr; gap: 0; }
    .inloff-wl-page .inloff-wl-main,
    .inloff-wl-page .inloff-wl-rail { grid-column: 1; }
    .inloff-wl-page .inloff-wl-rail { margin-top: 26px; }
}

/* Móvil: tarjetas a 1 columna (más legibles, sobre todo con personalización/reserva) */
@media (max-width: 560px) {
    .inloff-wl-page .inloff-wl-main .wishlist_table.wishlist_view tbody.wishlist-items-wrapper {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

/* Rail del dueño: compartir como acción principal */
.inloff-wl-rail__card--share .inloff-wl-rail__count { margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--inloff-line); }
.inloff-wl-rail__lead { margin: 0 0 6px; font-family: var(--inloff-font-serif); font-size: 19px; font-weight: 600; color: var(--inloff-navy); line-height: 1.2; }
.inloff-wl-rail__lead-hint { margin: 0 0 16px; font-size: 13px; line-height: 1.5; color: var(--inloff-muted); }

/* ==========================================================================
   Fix card · Imagen a ancho completo (anula la regla responsive de YITH
   que reduce el thumbnail a ~90px cuando la tarjeta es estrecha)
   ========================================================================== */
.wishlist_table.wishlist_view tbody tr td.product-thumbnail {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
    display: block !important;
    padding: 0 !important;
}
.wishlist_table.wishlist_view td.product-thumbnail > a,
.wishlist_table.wishlist_view td.product-thumbnail > a > img,
.wishlist_table.wishlist_view td.product-thumbnail > img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}
.wishlist_table.wishlist_view td.product-thumbnail img {
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: cover;
}

/* ==========================================================================
   Rediseño nota · campo limpio + botón guardar circular dentro del input
   ========================================================================== */
.inloff-wl-note--edit {
    position: relative;
    display: block;
}
.inloff-wl-note--edit .inloff-wl-note__input {
    width: 100%;
    height: 44px;
    padding: 0 48px 0 16px;
    border: 1px solid var(--inloff-line-strong);
    border-radius: var(--inloff-radius-pill);
    background: var(--inloff-cream-light);
    color: var(--inloff-ink);
    font-size: 13px;
    transition: border-color .15s var(--inloff-ease), background .15s var(--inloff-ease);
}
.inloff-wl-note--edit .inloff-wl-note__input::placeholder { color: var(--inloff-muted); opacity: 1; }
.inloff-wl-note--edit .inloff-wl-note__input:focus { outline: none; border-color: var(--inloff-heart); background: #fff; }
.inloff-wl-note--edit .inloff-wl-note__save {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--inloff-heart-dark);
    cursor: pointer;
    transition: background .15s var(--inloff-ease), color .15s var(--inloff-ease);
}
.inloff-wl-note--edit .inloff-wl-note__save:hover { background: var(--inloff-navy); color: #fff; }
.inloff-wl-note--edit .inloff-wl-note__save .inloff-ico { width: 16px; height: 16px; stroke-width: 2; }
.inloff-wl-note--edit.is-saved .inloff-wl-note__save { background: #2e7d52; color: #fff; }
.inloff-wl-note--edit.is-saved .inloff-wl-note__input { border-color: #2e7d52; }

/* Fix centrado del tick de guardar nota (grid place-items no centraba el track) */
.inloff-wl-note--edit .inloff-wl-note__save {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.inloff-wl-note--edit .inloff-wl-note__save .inloff-ico { margin: 0 !important; }

/* ==========================================================================
   Fix PDP · estado "añadido / en favoritos" (evita el círculo de texto)
   El contenedor --link-style encoge el enlace; lo forzamos a ancho completo,
   una sola línea, como pill outline coherente con "Añadir a la lista".
   ========================================================================== */
.inloff-wl-pdp .yith-wcwl-add-to-wishlist {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}
.inloff-wl-pdp .yith-wcwl-wishlistaddedbrowse,
.inloff-wl-pdp .yith-wcwl-wishlistexistsbrowse {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    width: 100%;
}
.inloff-wl-pdp .yith-wcwl-wishlistaddedbrowse .feedback {
    justify-content: center;
    text-align: center;
}
.inloff-wl-pdp .yith-wcwl-add-button > a,
.inloff-wl-pdp .yith-wcwl-wishlistaddedbrowse > a,
.inloff-wl-pdp .yith-wcwl-wishlistexistsbrowse > a {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* .inloff-wl-pdp es flex-item del form.cart → forzar fila completa */
.inloff-wl-pdp {
    width: 100% !important;
    flex: 1 0 100% !important;
    margin: 14px 0 0 !important;
}

/* El form.cart de productos con EPO es display:grid → .inloff-wl-pdp debe
   abarcar todas las columnas (flex/width no bastan en un grid item). */
.inloff-wl-pdp { grid-column: 1 / -1 !important; }

/* ==========================================================================
   Fix rail share · misma altura exacta (a vs button) + distribución uniforme
   ========================================================================== */
.inloff-wl-rail__share { gap: 10px; }
.inloff-wl-rail__share .inloff-wl-share__btn {
    width: 100%;
    height: 50px;
    min-height: 0;
    padding: 0 18px;
    box-sizing: border-box;
    line-height: 1;
    justify-content: flex-start;
}
/* Resetear el <button> "Copiar enlace" para que iguale a los <a> */
.inloff-wl-rail__share button.inloff-wl-share__btn {
    -webkit-appearance: none;
    appearance: none;
    font-family: inherit;
    font-size: 14px;
    margin: 0;
}
