/* Shared collection language: warm panel, real product cards, compact editing. */
.myopal-collection { background: var(--myopal-color-background); min-height: 60vh; }
.myopal-collection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem .75rem; list-style: none; padding: 0; margin: 0; }
.myopal-collection-toolbar { display: flex; justify-content: space-between; align-items: center; color: var(--myopal-color-muted); font-size: .8125rem; }
.myopal-collection-sort { position: relative; }
.myopal-collection-sort summary { cursor: pointer; padding: .5rem; }
.myopal-collection-sort nav { position: absolute; right: 0; z-index: 5; width: 11rem; background: #fff; box-shadow: var(--myopal-shadow-card); border-radius: .75rem; overflow: hidden; }
.myopal-collection-sort a { display: block; padding: .875rem; font-size: .8125rem; text-decoration: none; }
.myopal-collection-sort a[aria-current] { background: #e9dec7; }
.myopal-collection-empty { text-align: center; padding: 5rem 1rem; }
.myopal-collection-empty h2 { font-size: 1.25rem; font-weight: 400; }
.myopal-collection-empty p { color: var(--myopal-color-muted); margin: 1rem 0 2rem; }
.myopal-collection-empty a { display: inline-block; border-radius: 999px; padding: .75rem 1.5rem; background: #15130f; color: #e4c37a; text-decoration: none; }
.myopal-collection-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.myopal-collection-pagination > * { padding: .65rem; }
.myopal-product-card { position: relative; }
.myopal-favorite-form { margin: 0; }
.myopal-favorite-control { width: var(--myopal-favorite-size,2rem); height: var(--myopal-favorite-size,2rem); min-width: 0; min-height: 0; display: grid; place-items: center; padding: .35rem; border: 0; border-radius: 50%; background: #fff; cursor: pointer; }
.myopal-favorite-control .myopal-icon { width:var(--myopal-favorite-icon,1.25rem); height:var(--myopal-favorite-icon,1.25rem); }

.myopal-detail-favorite { display: flex; align-items: center; gap: .5rem; font-size: .8125rem; margin-top: 1rem; }
.myopal-collection-feedback { position: fixed; bottom:calc(var(--myopal-fixed-bottom-clearance,0px) + var(--myopal-keyboard-inset,0px) + .75rem); left: 50%; transform: translateX(-50%); max-width: calc(100% - 2rem); width: max-content; padding: .75rem 1rem; background: #191610; color: #fff; border-radius: .75rem; z-index: 100; font-size: .8125rem; }
@media (min-width: 48rem) { .myopal-collection-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; } }
@media (min-width: 64rem) { .myopal-collection-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.myopal-favorite-control { color: var(--myopal-color-gold-ink); }
.myopal-favorite-control[aria-pressed=true] svg { fill: currentColor; }

.myopal-favorite-control { position: relative; }
.myopal-favorite-control::before { content: ""; position: absolute; inset: calc((var(--myopal-favorite-size,2rem) - 2.75rem) / 2); }

.myopal-favorite-control .myopal-heart-filled { display:none; }
.myopal-favorite-control[aria-pressed=true] .myopal-icon:not(.myopal-heart-filled) { display:none; }
.myopal-favorite-control[aria-pressed=true] .myopal-heart-filled { display:inline-block; }

/* Both card types position their controls relative to the image. */
.myopal-card-media{position:relative}
.myopal-card-favorite{--myopal-favorite-size:2.75rem;--myopal-favorite-icon:.875rem;position:absolute;right:0;bottom:0;z-index:2}
.myopal-card-favorite .myopal-favorite-control{position:relative;isolation:isolate;width:2.75rem;height:2.75rem;background:none;padding:0}
.myopal-card-favorite .myopal-favorite-control::before{inset:.5625rem;z-index:-1;background:var(--myopal-color-surface);border-radius:50%;box-shadow:var(--myopal-shadow-card)}
.myopal-history-remove{position:absolute;top:0;right:0;z-index:3;margin:0;padding:0}
.myopal-history-remove button{position:relative;isolation:isolate;display:grid;place-items:center;width:2.75rem;height:2.75rem;min-height:2.75rem;border:0;padding:0;background:none;color:var(--myopal-action-danger-foreground);cursor:pointer}
.myopal-history-remove button::before{content:'';position:absolute;inset:.5625rem;border-radius:50%;background:var(--myopal-action-danger-background);z-index:-1}.myopal-history-remove .myopal-icon{width:.875rem;height:.875rem}
.myopal-collection-toolbar{gap:.75rem;flex-wrap:wrap}.myopal-collection [hidden],.myopal-design [hidden]{display:none}
