/* V73 · uma ação principal por card, escolhida por quem olha. Reservar vem antes da loja. */
:root{--v73-purple:#7c5ce7;--v73-purple-deep:#6344d7;--v73-line:#e5dff0;--v73-ink:#272039;--v73-muted:#665f73;--v73-soft:#f7f1ff}

/* Uma única dica de reserva por lista, no lugar de uma por card. */
.list-reservation-help{max-width:640px;margin:0 auto 16px;padding:10px 14px;border-radius:12px;background:var(--v73-soft);color:#4b3f63;font-size:14px;line-height:1.45;text-align:center}

/* Antes do JS: a loja deixa de ser o botão roxo quando não é a ação principal. */
.gift-grid>.gift-card .gift-purchase-row .gift-store-link.ghost{background:#fff!important;color:var(--v73-purple-deep)!important;border:1.5px solid #dcd2f5!important;box-shadow:none!important}

/* Linha de ações no pé do card. */
.gift-grid>.gift-card.gift-card{position:relative}
.gift-grid>.gift-card.gift-card>.gift-body{padding-bottom:10px!important}
.gift-grid>.gift-card.gift-card>.ml-card-actions{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;width:auto!important;margin:0!important;padding:0 18px 18px}
.gift-grid>.gift-card .ml-card-actions>*{grid-column:1;min-width:0;margin:0!important}
.gift-grid>.gift-card .ml-card-actions>.gift-store-link{grid-column:2}
.gift-grid>.gift-card .ml-card-actions>.gift-store-link:only-child,.gift-grid>.gift-card.is-reserved-by-me .ml-card-actions>*{grid-column:1/-1}
.gift-grid>.gift-card.is-reserved-by-me .ml-card-actions>.gift-store-link{order:1}
.gift-grid>.gift-card.is-reserved-by-me .ml-card-actions>.gift-reservation-actions{order:2}
.gift-grid>.gift-card .ml-card-actions form.gift-external-action{width:100%}

/* product-cards-v66 pinta de branco, com !important, todo link dentro de .gift-external-action-grid. */
.gift-grid>.gift-card .ml-card-actions .gift-store-link{display:flex!important;align-items:center;justify-content:center;gap:6px;width:auto!important;min-height:48px!important;padding:10px 16px!important;border-radius:12px;font-size:15px!important;font-weight:700!important;line-height:1.2;white-space:nowrap;text-decoration:none;box-shadow:none!important}
.gift-grid>.gift-card .ml-card-actions .gift-store-link.ghost{background:#fff!important;color:var(--v73-purple-deep)!important;border:1.5px solid #dcd2f5!important}
.gift-grid>.gift-card .ml-card-actions .gift-store-link:not(.ghost){background:var(--v73-purple)!important;color:#fff!important;border:1px solid var(--v73-purple)!important}
/* Reservado por mim: a loja é o próximo passo; "Já comprei" vira confirmação secundária. */
.gift-grid>.gift-card.is-reserved-by-me .gift-reservation-actions:not(.is-purchased) button.gift-purchased-action{background:#fff!important;color:var(--v73-purple-deep)!important;border:1.5px solid #dcd2f5!important;box-shadow:none!important}

/* Principal de quem presenteia: reservar. */
.gift-grid>.gift-card .ml-card-actions.gift-external-action-grid button[value="claim"],.gift-grid>.gift-card .ml-card-actions.gift-external-action-grid>a.gift-external-action[href^="/entrar"]{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:48px!important;padding:10px 16px!important;border:1px solid var(--v73-purple)!important;border-radius:12px;background:var(--v73-purple)!important;color:#fff!important;font-size:15px;font-weight:700;line-height:1.2;box-shadow:0 4px 10px #7c5ce724!important;text-decoration:none}

/* Principal do dono: editar. */
.gift-grid>.gift-card .ml-owner-actions .gift-edit-primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:10px 16px;border:1px solid var(--v73-purple);border-radius:12px;background:var(--v73-purple);color:#fff;font-size:15px;font-weight:700;line-height:1.2;text-decoration:none;box-shadow:none}

/* Confirmação ao ir para a loja sem reservar. */
.ml-reserve-first{max-width:min(420px,calc(100vw - 32px))}
.ml-reserve-first .confirm-actions{display:grid!important;grid-template-columns:1fr;gap:8px;margin-top:16px}
.ml-reserve-first .confirm-actions>*{width:100%;min-height:48px;justify-content:center;text-align:center}
.ml-reserve-first .confirm-actions .link-button{min-height:44px;background:none;border:0;color:var(--v73-muted);text-decoration:underline}
.ml-reserve-first [hidden]{display:none!important}

/* Celular: card compacto, foto à esquerda e ações na largura toda. */
@media (max-width:640px){
  .gift-grid[data-gift-grid],.gift-grid{gap:12px!important}
  .list-reservation-help{font-size:13.5px;text-align:left}
  .gift-grid>.gift-card.gift-card{display:grid!important;grid-template-columns:84px minmax(0,1fr)!important;column-gap:12px;row-gap:12px;align-items:start;padding:12px!important;border-radius:18px}
  .gift-grid>.gift-card.gift-card>.gift-image{grid-column:1;grid-row:1;width:84px!important;height:84px!important;padding:6px!important;border:0!important;border-radius:12px!important;background:var(--v73-soft)!important;cursor:zoom-in}
  .gift-grid>.gift-card.gift-card>.gift-body{grid-column:2;grid-row:1;flex-direction:row!important;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:3px!important;padding:0 44px 0 0!important}
  .gift-grid>.gift-card.gift-card.is-without-image>.gift-body{grid-column:1/-1}
  .gift-grid>.gift-card.gift-card>.gift-body>*{flex:1 1 100%;margin:0!important}
  .gift-grid>.gift-card.gift-card>.gift-body>.gift-store-name,.gift-grid>.gift-card.gift-card>.gift-body>.purchase-preference-tag{flex:0 1 auto}
  .gift-grid>.gift-card.gift-card>.ml-card-actions{grid-column:1/-1;grid-row:2;padding:0}
  .gift-grid>.gift-card .ml-card-actions{grid-template-columns:minmax(0,1fr) 48px}
  .gift-grid>.gift-card .gift-photo-open,.gift-grid>.gift-card .gift-title-details{display:none!important}
  .gift-grid>.gift-card .gift-owner-menu{top:6px!important;right:6px!important}
  .gift-grid>.gift-card.gift-card .gift-body h3{font-size:15px!important;line-height:1.3!important;-webkit-line-clamp:2;cursor:pointer}
  .gift-grid>.gift-card.gift-card .gift-body h3.is-expanded{display:block!important;-webkit-line-clamp:unset;overflow:visible}
  .gift-grid>.gift-card.gift-card .gift-store-name{font-size:12.5px}
  .gift-grid>.gift-card.gift-card .gift-body>.purchase-preference-tag{font-size:11.5px!important;padding:2px 7px!important}
  .gift-grid>.gift-card.gift-card .gift-purchase-row{margin:2px 0 0!important}
  .gift-grid>.gift-card.gift-card .gift-purchase-row .gift-price{font-size:16px!important;margin:0!important}
  .gift-grid>.gift-card.gift-card .gift-public-note{padding:8px 10px;font-size:12.5px}
  .gift-grid>.gift-card.gift-card .gift-recipient{padding:0 0 4px;border:0;font-size:13px}
  .gift-grid>.gift-card.gift-card .gift-recipient strong{font-size:14px}
  .gift-grid>.gift-card.gift-card .reservation-self{font-size:11.5px;align-self:flex-start;flex:0 1 auto}
  .gift-grid>.gift-card .ml-card-actions .gift-store-link.gift-store-icon{width:48px!important;padding:0!important;font-size:20px!important;overflow:hidden}
  .gift-grid>.gift-card .gift-store-icon .gift-store-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* Visitante: "Ver na loja" com o mesmo tamanho de "Reservar" (antes a loja era só uma setinha de 48px). */
.gift-grid>.gift-card.visitor-card:not(.is-reserved-by-me) .ml-card-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
.gift-grid>.gift-card.visitor-card:not(.is-reserved-by-me) .ml-card-actions>.gift-store-link:only-child{grid-column:1/-1}
.gift-grid>.gift-card.visitor-card .ml-card-actions .gift-store-link.gift-store-icon{width:auto!important;padding:10px 10px!important;font-size:14.5px!important;overflow:visible}
.gift-grid>.gift-card.visitor-card .gift-store-icon .gift-store-label{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:nowrap}
@media(max-width:420px){.gift-grid>.gift-card.visitor-card:not(.is-reserved-by-me) .ml-card-actions button,.gift-grid>.gift-card.visitor-card:not(.is-reserved-by-me) .ml-card-actions .gift-store-link{font-size:14px!important;padding-left:8px!important;padding-right:8px!important}}
