/* ==========================================================================
   GALAXY GADGETZ · Cadeaugids (hub) + Cadeaugids-detail
   Alle selectors beginnen met .gift-. Alleen tokens, geen losse hexwaarden.
   ========================================================================== */

/* ---------------------------------------------------------------- HERO */
.gift-hero { padding: var(--gg-s-4) 0 var(--gg-s-10); background: var(--gg-paper); }
.gift-hero__grid { display: grid; gap: var(--gg-s-8); margin-top: var(--gg-s-6); }
.gift-hero__title { font-size: var(--gg-fs-3xl); font-weight: var(--gg-fw-heavy); letter-spacing: var(--gg-ls-display); line-height: var(--gg-lh-tight); margin-top: var(--gg-s-3); max-width: 14ch; text-wrap: balance; }
.gift-hero__lead { margin-top: var(--gg-s-4); max-width: 46ch; color: var(--gg-ink-2); }
.gift-hero__proof { list-style: none; margin: var(--gg-s-6) 0 0; padding: 0; display: grid; border-top: 1px solid var(--gg-line); }
.gift-hero__proof li { display: grid; grid-template-columns: 92px 1fr; gap: var(--gg-s-3); padding: var(--gg-s-3) 0; border-bottom: 1px solid var(--gg-line); font-size: var(--gg-fs-sm); }
.gift-hero__k { font-size: var(--gg-fs-2xs); letter-spacing: var(--gg-ls-caps); text-transform: uppercase; color: var(--gg-muted); padding-top: 3px; }

/* mobiel: keuzehulp direct na de intro, de drie beloftes erna */
@media (max-width: 899.98px) {
  .gift-hero__grid { gap: 0; }
  .gift-hero__text { display: contents; }
  .gift-quiz { order: 1; margin-top: var(--gg-s-6); }
  .gift-hero__proof { order: 2; margin-top: var(--gg-s-8); }
}

/* keuzehulp */
.gift-quiz { background: var(--gg-surface); border-radius: var(--gg-r-xl); padding: var(--gg-s-5) var(--gg-s-4); display: grid; gap: var(--gg-s-5); align-self: start; }
.gift-quiz__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; padding-bottom: var(--gg-s-4); border-bottom: 1px solid var(--gg-line-strong); }
.gift-quiz__title { font-size: var(--gg-fs-lg); font-weight: var(--gg-fw-bold); }
.gift-quiz__meta { font-size: var(--gg-fs-2xs); letter-spacing: var(--gg-ls-mono); text-transform: uppercase; color: var(--gg-muted); }
.gift-quiz__qs { display: grid; gap: var(--gg-s-6); }
.gift-q legend { display: flex; align-items: center; gap: 10px; font-size: var(--gg-fs-base); font-weight: var(--gg-fw-semibold); margin-bottom: var(--gg-s-3); }
.gift-q__num { font-family: var(--gg-mono); font-size: var(--gg-fs-2xs); font-weight: var(--gg-fw-medium); color: var(--gg-pink-strong); background: var(--gg-pink-tint); border-radius: var(--gg-r-xs); padding: 3px 6px; letter-spacing: var(--gg-ls-mono); }
.gift-q .gg-option__face { gap: 10px; }
.gift-q__count { font-family: var(--gg-mono); font-size: var(--gg-fs-2xs); color: var(--gg-muted); min-width: 1.4em; text-align: right; font-variant-numeric: tabular-nums; }
.gift-q .gg-option input:checked + .gg-option__face .gift-q__count { color: var(--gg-ink); }
/* optie zonder resultaat blijft kiesbaar (alternatieven worden getoond), maar oogt rustiger */
.gift-q .gg-option.is-unavailable .gg-option__label { text-decoration: none; }
.gift-quiz__foot { display: grid; gap: var(--gg-s-2); padding-top: var(--gg-s-1); }
.gift-quiz__foot [hidden] { display: none; }

@media (min-width: 900px) {
  .gift-hero { padding: var(--gg-s-6) 0 var(--gg-s-16); }
  .gift-hero__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--gg-s-16); align-items: start; margin-top: var(--gg-s-10); }
  .gift-hero__text { position: sticky; top: calc(var(--gg-header-h) + var(--gg-s-8)); }
  .gift-quiz { padding: var(--gg-s-8); }
  .gift-quiz__foot { grid-template-columns: 1fr auto; align-items: center; }
}

/* ------------------------------------------------------------ SHORTLIST */
.gift-results { padding-top: var(--gg-s-10); border-top: 1px solid var(--gg-line); scroll-margin-top: calc(var(--gg-header-h) + 8px); }
.gift-results [data-gift-summary] { min-height: 3em; }
.gift-results [data-gift-summary] h2:focus { outline: none; }
.gift-results [data-gift-summary] h2:focus-visible { outline: 2px solid var(--gg-focus); outline-offset: 4px; border-radius: 2px; }
.gift-grid { --gg-grid-gap: 24px 12px; }
.gift-grid .gg-card { height: 100%; }
.gift-grid .gg-card__body { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.gift-card-why { margin-top: auto; position: relative; top: 4px; padding: 10px 12px; border-radius: var(--gg-r-md); background: var(--gg-surface); font-size: var(--gg-fs-sm); line-height: 1.45; color: var(--gg-ink-2); }
.gift-card-why b { display: flex; align-items: center; gap: 6px; font-family: var(--gg-mono); font-size: var(--gg-fs-2xs); font-weight: var(--gg-fw-medium); letter-spacing: var(--gg-ls-mono); text-transform: uppercase; color: var(--gg-pink-strong); margin-bottom: 4px; }
.gift-card-why .gg-icon { width: 14px; height: 14px; }
.gift-more { margin-top: var(--gg-s-6); }
.gift-near { margin-top: var(--gg-s-10); padding-top: var(--gg-s-6); border-top: 1px dashed var(--gg-line-strong); }
.gift-near h3 { margin-bottom: var(--gg-s-5); }
.gift-results .gg-state { margin-top: var(--gg-s-2); }

@media (min-width: 600px) { .gift-grid { --gg-cols: 3; --gg-grid-gap: 32px 20px; } }
@media (min-width: 1200px) { .gift-grid { --gg-cols: 3; } }
@media (max-width: 599.98px) {
  .gift-card-why { padding: 8px 10px; font-size: var(--gg-fs-xs); }
}

/* -------------------------------------------------------------- INGANGEN */
.gift-entries__h { font-size: var(--gg-fs-2xs); font-family: var(--gg-mono); font-weight: var(--gg-fw-medium); letter-spacing: var(--gg-ls-caps); text-transform: uppercase; color: var(--gg-muted); margin: var(--gg-s-8) 0 var(--gg-s-3); }
.gift-entries .gg-section-head + .gift-entries__h { margin-top: 0; }
.gift-recipients { display: grid; gap: 12px; }
.gift-recipients .gg-tile, .gift-more-scroller .gg-tile { min-height: 208px; }
@media (min-width: 600px) { .gift-recipients .gg-tile { min-height: 280px; } }
.gift-entries__split { display: grid; gap: 0 var(--gg-s-10); }

.gift-budgets { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.gift-budget { display: grid; grid-template-rows: auto auto 1fr auto; gap: 2px; padding: var(--gg-s-5); min-height: 196px; border-radius: var(--gg-r-xl); background: var(--gg-paper); color: var(--gg-ink); text-decoration: none; box-shadow: inset 0 0 0 1px var(--gg-line); transition: box-shadow var(--gg-dur-1) var(--gg-ease); }
.gift-budget:hover { box-shadow: inset 0 0 0 1px var(--gg-ink); }
.gift-budget__label { font-family: var(--gg-mono); font-size: var(--gg-fs-2xs); letter-spacing: var(--gg-ls-caps); text-transform: uppercase; color: var(--gg-muted); }
.gift-budget__amount { font-size: clamp(2.25rem, 1.7rem + 2vw, 3.25rem); font-weight: var(--gg-fw-heavy); letter-spacing: var(--gg-ls-display); line-height: 1; }
.gift-budget__text { font-size: var(--gg-fs-sm); color: var(--gg-muted); margin-top: var(--gg-s-3); align-self: start; }
.gift-budget__meta { order: 4; display: flex; align-items: center; justify-content: space-between; font-size: var(--gg-fs-sm); font-weight: var(--gg-fw-semibold); padding-top: var(--gg-s-3); border-top: 1px solid var(--gg-line); }
.gift-budget:hover .gift-budget__meta .gg-icon { transform: translateX(3px); }
.gift-budget__meta .gg-icon { transition: transform var(--gg-dur-2) var(--gg-ease); }

.gift-occasions { list-style: none; margin: 0; padding: 0; background: var(--gg-paper); border-radius: var(--gg-r-xl); box-shadow: inset 0 0 0 1px var(--gg-line); overflow: hidden; }
.gift-occasions li + li { border-top: 1px solid var(--gg-line); }
.gift-occasion { display: flex; align-items: center; gap: 14px; min-height: 72px; padding: 14px 16px; color: var(--gg-ink); text-decoration: none; }
.gift-occasion:hover { background: var(--gg-surface); }
.gift-occasion:focus-visible { outline-offset: -3px; }
.gift-occasion__icon { flex: 0 0 auto; width: 40px; height: 40px; border-radius: var(--gg-r-md); background: var(--gg-surface); display: grid; place-items: center; }
.gift-occasion__icon .gg-icon { width: 20px; height: 20px; }
.gift-occasion__body { flex: 1; min-width: 0; display: grid; gap: 2px; }
.gift-occasion__title { font-weight: var(--gg-fw-semibold); }
.gift-occasion__meta { font-size: var(--gg-fs-xs); color: var(--gg-muted); }
.gift-occasion__count { font-family: var(--gg-mono); font-size: var(--gg-fs-2xs); color: var(--gg-muted); white-space: nowrap; }
.gift-occasion__chev { width: 18px; height: 18px; color: var(--gg-muted); flex: 0 0 auto; }
.gift-occasions__note { margin-top: var(--gg-s-3); max-width: 60ch; }

@media (max-width: 599.98px) {
  .gift-occasion__count { display: none; }
  .gift-budget { min-height: 176px; padding: var(--gg-s-4); }
}
@media (min-width: 600px) { .gift-recipients { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 900px) {
  .gift-recipients .gg-tile { min-height: 340px; }
  .gift-entries__split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
}

/* ------------------------------------------------------------ CADEAU GEVEN */
.gift-giving__grid { display: grid; gap: var(--gg-s-8); }
.gift-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--gg-s-6); }
.gift-facts li { display: grid; grid-template-columns: 40px 1fr; gap: 14px; align-items: start; }
.gift-facts li > .gg-icon { width: 40px; height: 40px; padding: 9px; border-radius: var(--gg-r-md); background: var(--gg-surface); }
.gg-section--surface .gift-facts li > .gg-icon { background: var(--gg-paper); }
.gift-facts__t { font-size: var(--gg-fs-base); font-weight: var(--gg-fw-semibold); margin-bottom: 4px; }
.gift-facts p { font-size: var(--gg-fs-sm); color: var(--gg-muted); max-width: 52ch; }
@media (min-width: 900px) { .gift-facts:not(.gift-facts--stack) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gg-s-8); } }

.gift-return { border: 1px solid var(--gg-line); border-radius: var(--gg-r-xl); padding: var(--gg-s-5) var(--gg-s-4); }
.gift-return__title { font-size: var(--gg-fs-lg); font-weight: var(--gg-fw-bold); margin-bottom: var(--gg-s-5); }
.gift-return__steps { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--gg-s-5); counter-reset: none; }
.gift-return__steps li { display: grid; grid-template-columns: 32px 1fr; gap: 12px; position: relative; }
.gift-return__steps li:not(:last-child)::after { content: ""; position: absolute; left: 15px; top: 34px; bottom: calc(-1 * var(--gg-s-5) + 2px); width: 1px; background: var(--gg-line-strong); }
.gift-return__n { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--gg-ink); color: var(--gg-paper); font-size: var(--gg-fs-xs); font-weight: var(--gg-fw-semibold); }
.gift-return__steps b { display: block; font-weight: var(--gg-fw-semibold); padding-top: 5px; }
.gift-return__steps p { font-size: var(--gg-fs-sm); color: var(--gg-muted); margin-top: 2px; }
.gift-return__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: var(--gg-s-6); padding-top: var(--gg-s-4); border-top: 1px solid var(--gg-line); color: var(--gg-muted); }

.gift-concepts { display: grid; gap: 12px; margin-top: var(--gg-s-10); }
.gift-voucher { border-radius: var(--gg-r-xl); padding: var(--gg-s-6) var(--gg-s-5); display: grid; gap: var(--gg-s-6); align-items: center; overflow: hidden; }
.gift-voucher__k { font-size: var(--gg-fs-2xs); letter-spacing: var(--gg-ls-caps); text-transform: uppercase; color: var(--gg-violet); }
.gift-voucher__title { font-size: var(--gg-fs-xl); font-weight: var(--gg-fw-bold); margin: 6px 0 8px; }
.gift-voucher__text p:last-child { color: var(--gg-on-dark-muted); font-size: var(--gg-fs-sm); max-width: 52ch; }
.gift-concept { border-radius: var(--gg-r-xl); padding: var(--gg-s-6) var(--gg-s-5); background: var(--gg-surface); display: grid; align-content: start; gap: 6px; }
.gift-concept__k { color: var(--gg-muted); }
.gift-concept__title { font-size: var(--gg-fs-lg); font-weight: var(--gg-fw-bold); }

@media (min-width: 900px) {
  .gift-giving__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--gg-s-16); align-items: start; }
  .gift-return { padding: var(--gg-s-8); }
  .gift-concepts { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
  .gift-voucher { grid-template-columns: 340px 1fr; padding: var(--gg-s-10); gap: var(--gg-s-10); }
  .gift-concept { padding: var(--gg-s-8); }
}


/* ------------------------------------------------------------- BEWIJS */
.gift-why__box { display: grid; gap: var(--gg-s-5); padding: var(--gg-s-6) var(--gg-s-5); border-radius: var(--gg-r-xl); border: 1px solid var(--gg-line); }
.gift-why__title { font-size: var(--gg-fs-xl); margin: var(--gg-s-2) 0; max-width: 28ch; }
.gift-why__box .gg-muted { max-width: 62ch; }
.gift-why__box .gift-why__drafts { margin-top: var(--gg-s-3); max-width: none; }
.gift-why { padding-top: 0; }
.gift-why__box .gg-btn { justify-self: start; }
@media (min-width: 900px) { .gift-why__box { grid-template-columns: 1fr auto; align-items: end; padding: var(--gg-s-10); gap: var(--gg-s-10); } }

/* ============================================================== DETAIL */
.gift-crumbs { padding-top: var(--gg-s-4); }
.gift-dhero { padding: var(--gg-s-5) 0 var(--gg-s-8); }
.gift-dhero__grid { display: grid; gap: var(--gg-s-6); }
.gift-dhero__title { font-size: var(--gg-fs-3xl); font-weight: var(--gg-fw-heavy); letter-spacing: var(--gg-ls-display); line-height: var(--gg-lh-tight); margin-top: var(--gg-s-3); text-wrap: balance; }
.gift-dhero__lead { margin-top: var(--gg-s-4); max-width: 50ch; color: var(--gg-ink-2); }
.gift-dhero__meta { display: flex; flex-wrap: wrap; gap: var(--gg-s-3) var(--gg-s-8); margin: var(--gg-s-6) 0 0; padding-top: var(--gg-s-4); border-top: 1px solid var(--gg-line); }
.gift-dhero__meta dt { font-family: var(--gg-mono); font-size: var(--gg-fs-2xs); letter-spacing: var(--gg-ls-caps); text-transform: uppercase; color: var(--gg-muted); }
.gift-dhero__meta dd { margin: 2px 0 0; font-size: var(--gg-fs-sm); font-weight: var(--gg-fw-semibold); }
.gift-dhero__media { border-radius: var(--gg-r-xl); --gg-ratio: 16 / 9; }
@media (min-width: 900px) {
  .gift-dhero { padding: var(--gg-s-8) 0 var(--gg-s-12); }
  .gift-dhero__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--gg-s-16); align-items: center; }
  .gift-dhero__media { --gg-ratio: 4 / 3; }
}

/* filterbalk + levertijd-check */
.gift-tools { border-block: 1px solid var(--gg-line); background: var(--gg-paper); padding: var(--gg-s-5) 0; }
.gift-tools__grid { display: grid; gap: var(--gg-s-5); }
.gift-tools__label { display: flex; align-items: center; gap: 8px; font-size: var(--gg-fs-sm); font-weight: var(--gg-fw-semibold); margin-bottom: var(--gg-s-2); }
.gift-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.gift-chips .gg-chip { min-height: var(--gg-tap); }
.gift-date-custom { margin-top: var(--gg-s-3); max-width: 320px; }
.gift-check:empty { display: none; }
.gift-check { margin-top: var(--gg-s-4); }
.gift-check__hint { display: flex; align-items: center; gap: 8px; }
.gift-check__box { display: grid; gap: var(--gg-s-4); padding: var(--gg-s-4); border-radius: var(--gg-r-lg); background: var(--gg-surface); }
.gift-check__title { display: flex; align-items: center; gap: 8px; font-weight: var(--gg-fw-semibold); }
.gift-check__sub { margin-top: 4px; max-width: 70ch; }
.gift-check__routes { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.gift-check__route { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: var(--gg-r-md); background: var(--gg-paper); }
.gift-check__route .gg-delivery__dot { margin-top: 6px; flex: 0 0 auto; }
.gift-check__rl { display: block; font-size: var(--gg-fs-sm); font-weight: var(--gg-fw-semibold); }
.gift-check__rv { display: flex; align-items: center; gap: 6px; font-size: var(--gg-fs-sm); margin-top: 2px; }
.gift-check__route.is-ok .gift-check__rv { color: var(--gg-success); }
.gift-check__route.is-late .gift-check__rv, .gift-check__route.is-tight .gift-check__rv { color: var(--gg-warning); }
.gift-check__route.is-late .gift-check__rv { color: var(--gg-muted); }
@media (min-width: 900px) {
  .gift-tools__grid { grid-template-columns: auto 1fr; gap: var(--gg-s-12); }
  .gift-check__box { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: center; padding: var(--gg-s-5) var(--gg-s-6); }
  .gift-check__routes { grid-template-columns: 1fr 1fr; }
  .gift-check__foot { grid-column: 1 / -1; }
}

/* shortlist (redactionele lijst) */
.gift-list-sec { padding-top: var(--gg-s-10); }
.gift-picks { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--gg-line); }
.gift-pick { display: grid; grid-template-columns: 96px minmax(0, 1fr); grid-template-areas: 'media head' 'body body' 'buy buy'; gap: var(--gg-s-4); padding: var(--gg-s-6) 0; border-bottom: 1px solid var(--gg-line); }
.gift-pick__head { grid-area: head; min-width: 0; display: grid; gap: var(--gg-s-2); align-content: center; }
.gift-pick__media { position: relative; display: block; aspect-ratio: 1; border-radius: var(--gg-r-lg); overflow: hidden; background: var(--gg-surface); grid-area: media; align-self: start; }
.gift-pick__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--gg-dur-4) var(--gg-ease); }
.gift-pick__media:hover img { transform: scale(1.03); }
.gift-pick__num { position: absolute; top: 8px; left: 8px; font-size: var(--gg-fs-2xs); font-weight: var(--gg-fw-semibold); background: var(--gg-paper); color: var(--gg-ink); border-radius: var(--gg-r-xs); padding: 3px 6px; }
.gift-pick__body { grid-area: body; min-width: 0; display: grid; gap: var(--gg-s-2); align-content: start; }
.gift-pick__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.gift-pick__tags:empty { display: none; }
.gift-pick__title { font-size: var(--gg-fs-lg); font-weight: var(--gg-fw-bold); letter-spacing: var(--gg-ls-heading); line-height: var(--gg-lh-snug); }
.gift-pick__title a { color: inherit; text-decoration: none; display: inline-block; padding-block: 4px; margin-block: -4px; }
.gift-pick__title a:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.gift-pick__why { margin-top: 2px; }
.gift-pick__why-l { display: flex; align-items: center; gap: 6px; font-family: var(--gg-mono); font-size: var(--gg-fs-2xs); letter-spacing: var(--gg-ls-mono); text-transform: uppercase; color: var(--gg-pink-strong); margin-bottom: 4px; }
.gift-pick__why-l .gg-icon { width: 14px; height: 14px; }
.gift-pick__why p:last-child { color: var(--gg-ink-2); max-width: 60ch; }
.gift-pick__note { font-size: var(--gg-fs-sm); color: var(--gg-muted); }
.gift-pick__note .gg-mono { font-size: var(--gg-fs-2xs); letter-spacing: var(--gg-ls-mono); text-transform: uppercase; color: var(--gg-ink); margin-right: 4px; }
.gift-pick__buy { grid-area: buy; display: grid; gap: var(--gg-s-2); align-content: start; }
.gift-pick__ontime { display: flex; align-items: flex-start; gap: 6px; font-size: var(--gg-fs-sm); font-weight: var(--gg-fw-medium); }
.gift-pick__ontime .gg-icon { margin-top: 2px; flex: 0 0 auto; }
.gift-pick__ontime.is-ok { color: var(--gg-success); }
.gift-pick__ontime.is-tight { color: var(--gg-warning); }
.gift-pick__ontime.is-late { color: var(--gg-muted); }
.gift-pick__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: var(--gg-s-2); }
.gift-pick__add { flex: 1 1 auto; }
.gift-picks__empty { padding: var(--gg-s-6) 0; }
.gift-out { display: flex; gap: 8px; align-items: flex-start; margin-top: var(--gg-s-5); color: var(--gg-muted); }
.gift-out .gg-icon { margin-top: 2px; flex: 0 0 auto; }

@media (min-width: 600px) {
  .gift-pick { grid-template-columns: 180px minmax(0, 1fr); grid-template-areas: 'media head' 'media body' 'media buy'; grid-template-rows: auto auto 1fr; gap: var(--gg-s-3) var(--gg-s-6); }
  .gift-pick__head { align-content: start; }
  .gift-pick__add { flex: 0 0 auto; }
}
@media (min-width: 900px) {
  .gift-pick { grid-template-columns: 220px minmax(0, 1fr) 280px; grid-template-areas: 'media head buy' 'media body buy'; grid-template-rows: auto 1fr; gap: var(--gg-s-3) var(--gg-s-8); padding: var(--gg-s-8) 0; }
  .gift-pick__buy { padding-left: var(--gg-s-6); border-left: 1px solid var(--gg-line); }
  .gift-pick__add { width: 100%; }
  .gift-pick__actions { flex-direction: column; align-items: stretch; }
  .gift-pick__more { justify-content: center; }
}

.gift-more-scroller .gg-tile { width: min(78vw, 300px); }

/* staten */
.gift-state-h1 { font-size: var(--gg-fs-2xl); font-weight: var(--gg-fw-heavy); letter-spacing: var(--gg-ls-heading); margin: var(--gg-s-3) 0 var(--gg-s-6); text-wrap: balance; }
.gift-draft__found { margin-top: var(--gg-s-8); }
.gift-draft__found h2 { margin-bottom: var(--gg-s-3); }
.gift-draft__list { display: grid; gap: 12px; }
.gift-dev { margin-top: var(--gg-s-8); padding: 12px 14px; border-radius: var(--gg-r-md); background: var(--gg-surface); font-size: var(--gg-fs-2xs); color: var(--gg-muted); line-height: 1.6; }

/* gidstegels: sterkere scrim zodat tekst ook op lichte foto's leesbaar blijft (zie shared_requests) */
.gift-guide-tile .gg-tile__title, .gift-guide-tile .gg-tile__meta { text-shadow: 0 1px 2px color-mix(in srgb, var(--gg-podium) 40%, transparent); }
@media (min-width: 900px) { .gift-grid .gg-card__media { aspect-ratio: 1 / 1; } }
.gift-picks__more { padding: var(--gg-s-5) 0 0; }
@media (max-width: 599.98px) { .gift-dhero__meta { flex-wrap: nowrap; gap: var(--gg-s-5); } .gift-dhero__meta dd { white-space: nowrap; } }

/* ------------------------------------------------------------------
   Digitale cadeaubon: een strakke digitale kaart (idee David, 12 okt 2026).
   Galaxy-verloop, subtiele baan als decoratie, zachte glans bij hover.
   ------------------------------------------------------------------ */
.gift-voucher__stack { position: relative; width: min(100%, 340px); aspect-ratio: 1.586; margin: 8px auto 12px; }
.gv-card {
  position: absolute; inset: 0; border-radius: 18px; overflow: hidden; isolation: isolate;
  display: grid; grid-template-rows: auto 1fr auto; padding: 18px 20px;
  font-family: var(--gg-font, Inter, sans-serif); color: #fff;
  background:
    radial-gradient(90% 120% at 100% 0%, rgba(214,56,136,.38) 0%, rgba(214,56,136,0) 55%),
    radial-gradient(80% 90% at 0% 100%, rgba(98,78,210,.32) 0%, rgba(98,78,210,0) 60%),
    linear-gradient(155deg, #1E1236 0%, #120B22 55%, #09060F 100%);
  box-shadow: 0 22px 48px rgba(0,0,0,.5), 0 4px 12px rgba(0,0,0,.3);
  transition: transform var(--gg-dur-3, .4s) var(--gg-ease, ease), box-shadow var(--gg-dur-3, .4s) var(--gg-ease, ease);
}
/* Zachte verlooprand (geen harde 1px-rand meer): licht linksboven, vervaagt naar rechtsonder. */
.gv-card::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none; z-index: 2;
  background: linear-gradient(145deg, rgba(255,255,255,.34), rgba(255,255,255,.06) 40%, rgba(247,161,205,.18) 75%, rgba(255,255,255,.04));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
}
.gift-voucher:hover .gv-card { transform: translateY(-4px); box-shadow: 0 28px 56px rgba(0,0,0,.55), 0 6px 14px rgba(0,0,0,.3); }
.gv-card__orbit { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.gv-card__sheen {
  position: absolute; inset: -50%; z-index: 0; pointer-events: none;
  background: linear-gradient(115deg, transparent 44%, rgba(255,255,255,.10) 49%, rgba(255,255,255,.0) 54%);
  transform: translateX(-35%); transition: transform 1.1s var(--gg-ease, ease);
}
.gift-voucher:hover .gv-card__sheen { transform: translateX(35%); }
.gv-card__top, .gv-card__bottom { position: relative; z-index: 1; }
.gv-card__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.gv-card__brand .gg-logo__classic { height: 15px; }
.gv-card__label { font-family: var(--gg-mono); font-size: 9.5px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: rgba(255,255,255,.78); }
.gv-card__bottom { grid-row: 3; display: grid; gap: 3px; }
.gv-card__amount { font-size: 36px; font-weight: 800; line-height: 1; letter-spacing: -.02em; }
.gv-card__sub { font-size: 11px; color: rgba(255,255,255,.7); }
.gv-card__meta { display: flex; justify-content: space-between; gap: 10px; margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.12); }
.gv-card__code { font-family: var(--gg-mono); font-size: 10.5px; letter-spacing: .16em; color: rgba(255,255,255,.88); }
.gv-card__valid { font-family: var(--gg-mono); font-size: 9.5px; letter-spacing: .04em; color: rgba(255,255,255,.55); }
@media (prefers-reduced-motion: reduce) {
  .gv-card, .gift-voucher:hover .gv-card { transform: none; transition: none; }
  .gv-card__sheen { display: none; }
}

/* Cadeau geven: links twee kaarten die samen even hoog zijn als de retourkaart rechts,
   zodat boven- en onderkant op één lijn staan (13 okt 2026) */
.gift-facts--stack li { padding: var(--gg-s-6); border: 1px solid var(--gg-line); border-radius: var(--gg-r-xl); background: var(--gg-paper); align-content: center; }
.gift-facts--stack li > .gg-icon { background: var(--gg-surface); }
@media (min-width: 900px) {
  .gift-giving__grid { align-items: stretch; }
  .gift-facts--stack { grid-template-rows: repeat(2, minmax(0, 1fr)); gap: var(--gg-s-4); height: 100%; }
  .gift-facts--stack li { padding: var(--gg-s-8); }
}
