.pn-gift-guide { --pn-gift-ink: #253d31; --pn-gift-panel: #f5f3eb; }
.pn-gift-cover { margin: 0 0 1.5rem; }
.pn-gift-cover img { display: block; width: 100%; max-height: 35rem; object-fit: contain; border-radius: .75rem; background: #f2dfc9; }
.pn-gift-panel { padding: clamp(1rem, 3vw, 1.65rem); margin-block: 1rem; border: 1px solid #deded0; border-radius: .75rem; background: var(--pn-gift-panel); color: var(--pn-gift-ink); }
.pn-gift-panel h2 { font-size: 1.2rem; margin: 0 0 .6rem; color: inherit; }
.pn-gift-panel ul { margin: .55rem 0 0; padding-inline-start: 1.25rem; }
.pn-gift-panel li + li { margin-block-start: .45rem; }
.pn-gift-panel a { color: inherit; text-decoration: underline; text-underline-offset: .16em; }
.pn-gift-body h2[id] { scroll-margin-top: 6rem; }
.pn-gift-panes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; margin-block: 1.5rem; }
.pn-gift-panes .pn-gift-panel { margin: 0; }
.pn-gift-shop { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-block: 1.6rem; padding: clamp(1.2rem, 4vw, 2rem); border-radius: .85rem; background: #253d31; color: #fff8eb; }
.pn-gift-shop > div { flex: 1 1 18rem; }
.pn-gift-shop h2 { margin: 0 0 .4rem; font-size: clamp(1.2rem, 3vw, 1.55rem); color: #fff8eb; }
.pn-gift-shop p { margin: 0; color: #fff8eb; }
.pn-gift-shop .pn-gift-shop-button { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; padding: .6rem 1rem; border-radius: .45rem; background: #f5d29f; color: #253022; font-weight: 700; text-decoration: none; }
.pn-gift-shop .pn-gift-shop-button:hover, .pn-gift-shop .pn-gift-shop-button:focus-visible { background: #fff0d2; text-decoration: underline; }
.pn-gift-shop .pn-gift-shop-button:focus-visible { outline: 2px solid #fff8eb; outline-offset: 4px; }
