.gift-grid { align-items: stretch; }
@media (min-width: 761px) { .gift-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gift-card { display: flex; flex-direction: column; }
.gift-card figure { margin: 0; }
.gift-card figure img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.gift-card h2 { font-size: 22px; }
.gift-form { display: flex; flex: 1; flex-direction: column; gap: 7px; }
.gift-form label { font-size: 12px; }
.gift-form select { width: 100%; min-height: 44px; font: inherit; padding: 8px; border: 1px solid #b8a698; background: #faf6ee; color: #302d28; }
.gift-form .add-to-cart { margin-top: auto; }

@media (max-width: 480px) {
  .gift-card h2 { font-size: 16px; }
  .gift-form label, .gift-form select { font-size: 12px; }
  .gift-form select { padding: 5px; }
}
.gift-model-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 9px; margin-bottom: 8px; }
.gift-model-control img { width: 56px; height: 56px; object-fit: cover; border: 1px solid #d5c8b6; }
.gift-model-control img[hidden] { display: none; }
@media (max-width: 600px) {
  .gift-grid { grid-template-columns: minmax(0, 1fr); }
  .gift-card h2 { font-size: 20px; }
}


.gift-model-control select[hidden] { display: none; }
.gift-model-picker { position: relative; min-width: 0; }
.gift-model-picker[open] { z-index: 5; }
.gift-model-picker summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 44px;
  list-style: none;
  padding: 8px 12px;
  border: 1px solid #b8a698;
  background: #faf6ee;
  color: #302d28;
  font-size: 14px;
  cursor: pointer;
}
.gift-model-picker summary::-webkit-details-marker { display: none; }
.gift-model-picker summary::after { content: '▾'; color: #735842; }
.gift-model-picker[open] summary::after { content: '▴'; }
.gift-model-options {
  position: absolute;
  top: calc(100% + 3px);
  left: 0;
  width: 100%;
  max-height: min(53vh, 24rem);
  overflow: auto;
  border: 1px solid #b8a698;
  background: #faf6ee;
  box-shadow: 0 8px 18px #302d2820;
}
.gift-model-options button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 56px;
  padding: 6px 9px;
  background: transparent;
  border: 0;
  color: #302d28;
  font: inherit;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}
.gift-model-options button + button { border-top: 1px solid #e7ded1; }
.gift-model-options button:hover,
.gift-model-options button:focus-visible,
.gift-model-options button[aria-pressed="true"] { background: #eee5d8; }
.gift-model-control .gift-model-options img { width: 44px; height: 44px; flex: 0 0 44px; }
