@layer marielco-wishlist {
    .marielco-wishlist { padding-block: 44px 64px; }
    .marielco-wishlist [hidden],.marielco-wishlist-notice[hidden] { display: none; }
    .marielco-wishlist__head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 0 var(--marielco-page-gutter) 28px; }
    .marielco-wishlist__head h1 { margin: 0; font-size: 30px; font-weight: 400; letter-spacing: -.02em; line-height: 1.2; }
    .marielco-wishlist__head > span { flex: none; color: var(--marielco-text-muted); font-size: 12px; letter-spacing: .04em; }
    /* A neutral geometric floor survives removal of the loading placeholders. */
    .marielco-wishlist__body { position: relative; display: grid; grid-template-areas: 'content'; }
    .marielco-wishlist__body::before { content: ''; grid-area: content; align-self: start; inline-size: calc(100% - 10px); aspect-ratio: 16 / 5; margin-block-end: 74px; pointer-events: none; }
    .marielco-wishlist__body > :is(ul,div) { grid-area: content; min-inline-size: 0; }
    .marielco-wishlist .marielco-product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px 2px; padding-inline: 2px; --marielco-card-info-align: center; --marielco-card-info-inline: 10px; --marielco-card-title-case: uppercase; --marielco-card-title-size: 12px; --marielco-card-price-size: 12px; }
    .marielco-wishlist__skeleton { visibility: hidden; pointer-events: none; align-self: start; }
    .marielco-wishlist__skeleton li { min-inline-size: 0; list-style: none; }
    .marielco-wishlist__placeholder-image { display: block; aspect-ratio: 4 / 5; background: #f4f4f4; }
    .marielco-wishlist__placeholder-copy { display: grid; justify-items: center; align-content: start; gap: 8px; block-size: 74px; padding: 14px 12px 0; }
    .marielco-wishlist__placeholder-copy i { inline-size: 80%; block-size: 10px; background: #f5f5f5; }
    .marielco-wishlist__placeholder-copy i:nth-child(2) { inline-size: 64%; }
    .marielco-wishlist__placeholder-copy i:last-child { inline-size: 28%; }
    .marielco-wishlist[data-wishlist-state='loading'][data-wishlist-slow] .marielco-wishlist__skeleton { visibility: visible; }
    .marielco-wishlist[data-wishlist-state='loading'][data-wishlist-slow] :is(.marielco-wishlist__placeholder-image,.marielco-wishlist__placeholder-copy i) { animation: marielco-wishlist-pulse 2s ease-in-out infinite; }
    @keyframes marielco-wishlist-pulse { 50% { opacity: .55; } }
    .marielco-wishlist__loading { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .marielco-wishlist__unavailable { margin: 0; padding: 0 var(--marielco-page-gutter) 24px; color: var(--marielco-text-muted); font-size: 13px; }
    .marielco-wishlist__empty,.marielco-wishlist__error { display: grid; align-content: center; justify-items: center; gap: 12px; padding: 48px var(--marielco-page-gutter); text-align: center; }
    .marielco-wishlist__empty h2 { margin: 0; font-size: 22px; font-weight: 400; }
    .marielco-wishlist__empty p { margin: 0 0 12px; color: var(--marielco-text-muted); font-size: 14px; }
    .marielco-wishlist__error p { margin: 0 0 12px; color: var(--marielco-text-muted); font-size: 14px; }
    [data-wishlist-id] { cursor: pointer; }
    [data-wishlist-id]:disabled { cursor: wait; }
    .marielco-wishlist-notice { position: fixed; z-index: 100; inset: auto 16px 16px; max-inline-size: 32rem; margin-inline: auto; padding: 12px 16px; border: 1px solid var(--marielco-border-subtle,#d6d6d6); background: #fff; color: #111; font-size: 13px; }
    @media (min-width: 769px) and (max-width: 1199px) { .marielco-wishlist .marielco-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .marielco-wishlist__body::before { inline-size: calc(100% - 8px); aspect-ratio: 6 / 5; margin-block-end: 172px; } }
    @media (max-width: 768px) { .marielco-wishlist { padding-block: 28px 40px; } .marielco-wishlist__head { padding-block-end: 24px; gap: 12px; } .marielco-wishlist__head h1 { font-size: 24px; } .marielco-wishlist .marielco-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); --marielco-card-info-inline: 6px; } .marielco-wishlist__placeholder-copy { block-size: 92px; } .marielco-wishlist__body::before { inline-size: calc(100% - 6px); aspect-ratio: 4 / 5; margin-block-end: 208px; } }
    @media (prefers-reduced-motion: reduce) { .marielco-wishlist[data-wishlist-state='loading'][data-wishlist-slow] :is(.marielco-wishlist__placeholder-image,.marielco-wishlist__placeholder-copy i) { animation: none; } }
}
