/* Gift boxes share the shop's type and radius tokens; original gallery images stay intact. */
.compass-gift-box .product-stage__visual { position: relative; top: auto; align-content: start; align-items: start; }
.compass-gift-box .product-stage__visual .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 24px !important; }
.compass-gift-box .product-stage__visual .flex-control-thumbs li { width: auto !important; float: none; margin: 0; }
.gift-unit-price { display: block; flex-basis: 100%; order: 2; margin-top: .375rem; font-size: var(--text-sm); font-weight: 500; line-height: 1.5; color: inherit; }
.gift-unit-price .amount { font-size: inherit !important; font-weight: inherit; }
.woocommerce ul.products li.product .gift-unit-price { font-size: var(--text-xs); }
.gift-pack-preview { display: flex; align-items: center; gap: .375rem; width: 100%; min-height: 64px; margin: .25rem 0 .75rem; }
.gift-pack-preview img { width: min(64px, 40%); height: auto; aspect-ratio: 1; object-fit: contain; border-radius: var(--radius-control); }
.gift-pack-preview__plus { font-size: var(--text-sm); font-weight: 600; }
.gift-contents { padding-block: clamp(3.5rem, 7vw, 6rem); }
.gift-contents .product-section-heading h2 { font-size: var(--section-title-size); }
.gift-contents .product-section-heading > p { max-width: 23rem; margin: 0; color: var(--muted); font-size: var(--text-sm); }
.gift-contents__intro { max-width: 45rem; margin: 0 0 1.5rem; font-size: var(--text-base); }
.gift-contents__box + .gift-contents__box { margin-top: 2rem; }
.gift-contents__box h3 { display: flex; align-items: center; gap: .75rem; margin: 0 0 1rem; font-size: var(--text-lg); }
.gift-contents__box h3 > span { font-size: var(--text-xs); font-weight: 500; color: var(--muted); }
.gift-contents__box h3 a:hover { text-decoration: underline; text-underline-offset: .2em; }
.gift-contents__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.gift-component { display: flex; align-items: center; gap: 1rem; min-width: 0; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-card); background: #fffdf8; transition: background .2s, border-color .2s; }
.gift-component:hover { border-color: var(--forest); background: #edf2e6; }
.gift-component > img { flex: 0 0 80px; width: 80px; height: 80px; object-fit: contain; border-radius: var(--radius-card); }
.gift-component > span { display: flex; flex-direction: column; align-items: start; gap: .375rem; min-width: 0; }
.gift-component strong { font-size: var(--text-base); line-height: 1.4; overflow-wrap: anywhere; }
.gift-component :is(small, .text-link) { font-size: var(--text-xs); }
.gift-component small { color: var(--muted); }
[data-gift-format][hidden] { display: none !important; }
@media (max-width: 1100px) {
  .gift-contents__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
  .gift-contents .product-section-heading { display: block; }
  .gift-contents .product-section-heading > p { margin-top: 1rem; }
  .gift-contents__grid { gap: .75rem; }
  .gift-component { flex-direction: column; align-items: start; gap: .75rem; padding: .875rem; }
  .gift-component > img { flex-basis: 64px; width: 64px; height: 64px; }
  .gift-component > span { flex: 1; }
  .gift-component .text-link { margin-top: auto; padding-top: .375rem; }
}
