/* Shared five-slot rail: wishlist and homepage. Card styles/actions remain shared owners. */

:is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations { margin-top: 80px; }
:is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations__head { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 48px; }
:is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations h2 { margin: 0; font: 800 30px/1.25 Montserrat, Arial, sans-serif; text-transform: uppercase; }
:is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations__controls { display: flex; flex: none; gap: 10px; }
:is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations__controls button { appearance: none; display: grid; place-items: center; box-sizing: border-box; width: 48px; height: 48px; margin: 0; padding: 0; border: 0; border-radius: 50%; color: #fff; background: #433228; cursor: pointer; transition: background-color 220ms ease, opacity 220ms ease; -webkit-tap-highlight-color: transparent; }
:is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations__controls button:disabled { opacity: .4; cursor: default; }
:is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations__controls img { width: 24px; height: 24px; max-width: none; }
/* Rail geometry reused from the paused SET recommendations, with the current shared card. */
:is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations { --related-gap: 40px; --related-columns: 5; }
:is(#guest-favorites, [data-recommendations-scope]) .product-related-slider__viewport { overflow: visible; min-width: 0; }
:is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations .product-grid { display: grid; grid-auto-flow: column; grid-template-columns: none !important; grid-auto-columns: calc((100% - (var(--related-columns) - 1) * var(--related-gap)) / var(--related-columns)); gap: var(--related-gap) !important; width: 100%; max-width: 100%; margin: 0; box-sizing: border-box; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scrollbar-width: none; scroll-snap-type: x proximity; scroll-padding: 0; padding: 4px 0 8px; -webkit-overflow-scrolling: touch; }
:is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations .product-grid::-webkit-scrollbar { display: none; }
:is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations .product-card { width: 100%; min-width: 0; scroll-snap-align: start; }
:is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations__controls[hidden] { display: none; }
@media (min-width: 801px) and (max-width: 1024px) {
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations { --related-gap: 41px; --related-columns: 3; }}
@media (max-width: 1024px) {
  :is(#guest-favorites, [data-recommendations-scope]) .product-related-slider__viewport { width: var(--related-viewport,100%); margin-left: calc(-1 * var(--related-inset,0px)); }
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations .product-grid { max-width: none; padding-inline: var(--related-inset,0px) var(--related-end,0px); scroll-padding-left: var(--related-inset,0px); grid-auto-columns: var(--related-card-width,192px); }}
@media (max-width: 800px) {
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations { --related-gap: 16px; }
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations__controls { display: none; }}
@media (min-width: 640px) and (max-width: 800px) {
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations .product-card__actions { gap: 8px; }
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations :is(.product-card__buy, .product-card__detail) { flex: 1; min-width: 0; }
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations :is(a.js-related-add, a.js-related-detail) { box-sizing: border-box; padding-inline: 4px; font-size: 12px; }
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations .related-qty.quantity-control { flex-wrap: wrap; height: auto; min-height: 64px; max-height: none; padding-inline: 4px; gap: 2px; }
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations .related-qty span { flex-basis: 100%; justify-content: center; margin: 0; }}
@media (hover: hover) and (pointer: fine) {
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations__controls button:not(:disabled):hover { background: #faa61a; }}
@media (max-width: 639px) {
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations { margin-top: 40px; }
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations__head { margin-bottom: 24px; }
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations h2 { font-size: 24px; }
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations__controls { display: none; }}
@media (prefers-reduced-motion: reduce) { :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations__controls button { transition: none; }}

/* Keep the only visible slot in flow during the shared reveal.
   The quantity overlay must align with Add despite its inline top margin. */
@media (max-width: 639px) {
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations .product-card__actions.is-qty-revealing > .product-card__buy {
    position: relative !important;
  }
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations .related-qty.quantity-control { margin-top: 0 !important; }}

/* The 192px cards still need two compact slots where Details is visible. */
@media (min-width: 640px) and (max-width: 800px) {
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations .product-card__actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 64px;
  }
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations .product-card__actions > :is(.product-card__buy, .product-card__detail) {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0;
    min-height: 64px;
    margin: 0;
    align-items: center;
    flex: none !important;
  }
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations .product-card__actions :is(a.js-related-add, a.js-related-detail) {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding-inline: 4px !important;
    font-size: 12px;
    text-align: center;
  }
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations .product-card__actions.is-qty:not(.is-qty-revealing) { grid-template-columns: minmax(0, 1fr); }
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations .product-card__actions.is-qty:not(.is-qty-revealing) > .product-card__detail { display: none !important; }
  :is(#guest-favorites, [data-recommendations-scope]) .gf-recommendations .related-qty.quantity-control {
    box-sizing: border-box;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    margin: 0 !important;
  }}
