/* Vapovor — Skrupt Favoris (champ « CSS personnalisé » du module). Reprend l'apparence de l'ancien module nxtalwishlist avec les jetons du thème. */
:root { --skw-ink: var(--vvp-color-action, #263b63); --skw-muted: var(--vvp-color-text-secondary, #62656a); --skw-line: rgba(13, 27, 42, .1); --skw-soft: #f4f6f8; --skw-accent: var(--vvp-color-action, #263b63); --skw-accent-ink: #fff; --skw-radius: 16px; --skw-radius-control: var(--vvp-radius-pill, 999px); --skw-toast-bg: var(--vvp-color-action, #263b63); }

/* Cartes produit : le cœur rejoint les actions secondaires de la carte. */
.product-miniature .skw-button--card { --skw-size: 36px; --skw-icon-size: 20px; color: var(--vvp-list-muted, #62656a); background: var(--vvp-list-surface, #fff); box-shadow: 0 0 0 1px var(--vvp-list-subtle, #edeff3); }
.product-miniature .skw-button--card[aria-pressed="true"] { color: var(--vvp-card-accent-ink, #263b63); background: var(--vvp-card-accent-soft, #fceef3); box-shadow: 0 0 0 1px var(--vvp-card-accent-soft, #fceef3); }
.product-miniature.vvp-card-compact .product-card-tools .skw-button--card { order: 1; flex: 1 1 0; width: auto; min-width: 0; max-width: 36px; height: 40px; min-height: 40px; color: var(--vvp-list-muted, #62656a); background: transparent; box-shadow: none; border-radius: 50%; }
.product-miniature.vvp-card-compact .product-card-tools .skw-button--card[aria-pressed="true"] { color: var(--vvp-card-accent, #263b63); background: transparent; box-shadow: none; }
@media (hover: hover) { .product-miniature.vvp-card-compact .product-card-tools .skw-button--card:hover { color: var(--vvp-card-accent, #263b63); } }
.product-miniature .skw-button--card:focus-visible { outline: 2px solid #263b63; outline-offset: 2px; }
@media (max-width: 767px) { .product-miniature.vvp-card-compact .product-card-tools .skw-button--card { --skw-icon-size: 18px; } }

/* Fiche produit (en-tête) et fenêtre d'achat : cœur au trait fin. */
:is(.skw-button--product, .skw-button--panel) .skw-icon__outline,
:is(.skw-button--product, .skw-button--panel)[aria-pressed="true"] .skw-icon__fill { display: none; }
:is(.skw-button--product, .skw-button--panel) .skw-icon__line { display: inline; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
:is(.skw-button--product, .skw-button--panel)[aria-pressed="true"] .skw-icon__line { fill: currentColor; }
.vvp-product-wishlist .skw-button--product { --skw-size: 44px; --skw-icon-size: 24px; color: var(--vvp-color-ink, #202124); }
.vvp-product-wishlist .skw-button--product[aria-pressed="true"] { color: var(--vvp-color-accent, #bd3e68); }
@media (hover: hover) { .vvp-product-wishlist .skw-button--product:hover { color: var(--vvp-color-accent, #bd3e68); } }
.vvp-page-hero .vvp-product-wishlist .skw-button--product,
.vvp-page-hero .vvp-product-wishlist .skw-button--product[aria-pressed="true"],
.vvp-page-hero .vvp-product-wishlist .skw-button--product:hover { color: #f7f8fc; }
.vvp-product-wishlist .skw-button--product:focus-visible { outline: 2px solid var(--vvp-color-focus, #263b63); outline-offset: 3px; }
.skw-button--panel { --skw-size: 36px; --skw-icon-size: 24px; color: var(--vvp-color-action, #263b63); }
.skw-button--panel[aria-pressed="true"] { color: var(--vvp-color-action, #263b63); }
@media (hover: hover) { .skw-button--panel:hover { color: var(--vvp-color-accent, #bd3e68); } }
/* Fenêtre d'achat (aperçu rapide) : en haut à droite, à hauteur de la disponibilité, comme avant. */
.modal.quickview .skw-button--panel { position: absolute; top: 10px; right: 10px; z-index: 1; }

/* Lignes du panier : comme la corbeille. */
.cart-line-product-actions .skw-button--cart { --skw-size: 44px; --skw-icon-size: 1.35rem; border-radius: 10px; color: var(--vvp-color-ink, #202124); }
.cart-line-product-actions .skw-button--cart[aria-pressed="true"] { color: var(--vvp-color-ink, #202124); }
@media (hover: hover) { .cart-line-product-actions .skw-button--cart:hover { background: var(--vvp-color-subtle, #eef0f2); color: var(--vvp-color-action, #263b63); } }

/* Page « Mes favoris » et bloc sous le panier. */
.skw-page__body { display: grid; gap: 22px; }
.skw-page .customer-panel__head[hidden] { display: none; }
.skw-page .skw-empty { margin: 0; }
.skw-item { gap: 20px; padding: 16px 18px; border-color: rgba(13, 27, 42, .1); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, opacity .2s ease; }
@media (hover: hover) { .skw-list--page .skw-item:hover { border-color: rgba(191, 165, 109, .42); box-shadow: 0 18px 38px rgba(13, 27, 42, .065); transform: translateY(-1px); } }
.skw-item:focus-within { border-color: rgba(191, 165, 109, .42); }
.skw-item__body { gap: 7px; }
.skw-item__name { color: var(--vvp-color-action, #263b63); font-family: var(--vvp-font-ui, inherit); font-size: 16px; font-weight: 600; line-height: 1.45; }
.skw-item__price { color: var(--vvp-color-action, #263b63); font-size: 1.05rem; font-weight: 600; gap: 8px 12px; }
.skw-item__regular { color: #8b95a5; font-weight: 700; }
.skw-item__discount { background: rgba(191, 165, 109, .14); color: #9a7b34; font-size: .82rem; font-weight: 900; padding: 4px 8px; }
.skw-item__attributes { color: #687385; font-size: .94rem; font-weight: 700; gap: 6px 14px; }
.skw-item__attribute-label { font-weight: 800; }
.skw-item__actions { gap: 12px; }
.skw-item__cart { gap: 12px; }
.skw-qty { grid-template-columns: 42px minmax(36px, 1fr) 42px; width: 152px; height: 54px; padding: 2px; border: 1px solid #cad4e2; border-radius: 999px; }
.skw-qty__step { width: 42px; height: 42px; border-radius: 999px; background: #f4f6f8; color: var(--vvp-color-action, #263b63); justify-self: center; }
@media (hover: hover) { .skw-qty__step:hover { background: #eef1f5; color: var(--vvp-color-ink, #0d1b2a); } }
.skw-qty__input { height: 46px; padding: 0 8px; color: var(--vvp-color-ink, #202124); font-size: 1.05rem; font-weight: 800; }
.skw-item__add { border-color: var(--vvp-color-action, #263b63); background: var(--vvp-color-action, #263b63); color: #fff; }
@media (hover: hover) { .skw-item__add:not([disabled]):hover { border-color: var(--vvp-color-action-hover, #1f2d4a); background: var(--vvp-color-action-hover, #1f2d4a); } }
.skw-item__remove { border-radius: 16px; background: #f5f6f8; border-color: rgba(13, 27, 42, .08); color: #1f2d4a; }
@media (hover: hover) { .skw-item__remove:hover { background: var(--vvp-color-ink, #0d1b2a); border-color: var(--vvp-color-ink, #0d1b2a); color: #fff; } }
.skw-item__options { border-color: var(--vvp-color-action, #263b63); color: var(--vvp-color-action, #263b63); }
.skw-panel__actions { gap: 16px; border-top-color: rgba(13, 27, 42, .08); }
.skw-add-all { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; }
body#cart #wrapper #main .skw-cart-block--full { border: 1px solid var(--vvp-color-panel-line); border-radius: var(--vvp-radius-panel); box-shadow: none; }
body#cart #wrapper #main .skw-cart-block--full .skw-cart-block__head { padding: 24px 24px 12px; }
body#cart #wrapper #main .skw-cart-block--full .skw-cart-block__title { gap: 10px; margin: 0; color: var(--vvp-type-heading-color, #263b63); font-family: var(--vvp-font-ui, inherit); font-size: var(--vvp-type-card-size, 20px); font-weight: var(--vvp-type-card-weight, 600); line-height: var(--vvp-type-card-line, 28px); letter-spacing: var(--vvp-type-card-tracking, -.2px); }
body#cart #wrapper #main .skw-cart-block__body,
body#cart #wrapper #main .skw-cart-block__foot { padding-left: 24px; padding-right: 24px; }
/* Sous le panier : lignes comme celles du panier (sans cadre, photo 80 px, prix discret, boutons du panier). */
body#cart .skw-list--cart .skw-item { grid-template-columns: 80px minmax(0, 1fr) auto; gap: 24px; padding: 18px 0; border-width: 1px 0 0; border-radius: 0; box-shadow: none; transform: none; }
body#cart .skw-list--cart .skw-item__image { width: 80px; height: 80px; }
body#cart .skw-list--cart .skw-item__image img { max-width: 80px; max-height: 80px; }
body#cart .skw-list--cart .skw-item__price { color: var(--vvp-color-ink, #202124); font-size: 14px; font-weight: 500; }
body#cart .skw-list--cart .skw-item__attributes { font-size: 14px; font-weight: 400; }
body#cart .skw-list--cart .skw-qty { grid-template-columns: 38px minmax(36px, 1fr) 38px; width: 136px; height: 46px; }
body#cart .skw-list--cart .skw-qty__step { width: 38px; height: 38px; }
body#cart .skw-list--cart .skw-qty__input { height: 38px; }
body#cart .skw-list--cart .skw-item__add { flex-basis: 56px; width: 56px; height: 48px; border-radius: 999px; }
body#cart .skw-list--cart .skw-item__remove { flex-basis: 44px; width: 44px; height: 44px; border-color: transparent; border-radius: 50%; background: transparent; color: var(--vvp-color-ink, #202124); }
@media (hover: hover) { body#cart .skw-list--cart .skw-item__remove:hover { background: var(--vvp-color-subtle, #eef0f2); color: var(--vvp-color-action, #263b63); } }

@media (max-width: 767px) {
  .skw-page .customer-panel__head { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 22px; }
  .skw-page .customer-panel__intro { gap: 14px; }
  .skw-page .customer-order-count { align-self: flex-start; width: auto; }
  .skw-item { gap: 14px; padding: 14px 14px 12px; }
  .skw-item__image { width: 72px; height: 78px; }
  .skw-item__price { font-size: 1rem; }
  .skw-item__attributes { font-size: .9rem; line-height: 1.25; }
  .skw-item__actions { gap: 7px; }
  .skw-item__cart { gap: 7px; }
  .skw-qty { width: auto; }
  .skw-item__add, .skw-item__remove { flex-basis: 46px; width: 46px; height: 46px; }
  .skw-item__remove { border-radius: 15px; }
  body#cart .skw-list--cart .skw-item { grid-template-columns: 72px minmax(0, 1fr); gap: 12px 14px; }
  body#cart .skw-list--cart .skw-item__image { width: 72px; height: 72px; }
  body#cart .skw-list--cart .skw-item__image img { max-width: 72px; max-height: 72px; }
  body#cart #wrapper #main .skw-cart-block--full .skw-cart-block__head { padding: 20px 20px 10px; }
  body#cart #wrapper #main .skw-cart-block__body, body#cart #wrapper #main .skw-cart-block__foot { padding-left: 20px; padding-right: 20px; }
}
