.gift-group { padding-block:clamp(38px,6vw,76px); scroll-margin-top:12px; }
.gift-group__selection { display:block; width:fit-content; min-height:44px; padding-block:13px; margin-top:8px; color:var(--teal-dark); font-weight:800; text-underline-offset:4px; }
.gift-group__layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(24px,5vw,64px); align-items:center; }
.gift-group__image { display:block; width:100%; height:auto; }
.gift-group__eyebrow { color:var(--teal-dark); font-weight:800; margin:0 0 12px; }
.gift-group h2 { margin:0 0 18px; font-size:clamp(2rem,3.6vw,3.2rem); line-height:1.12; }
.gift-group__copy>p:not(.gift-group__eyebrow) { color:var(--muted); font-size:1.1rem; line-height:1.65; margin:0 0 24px; }
.gift-group .btn,.gift-group-share .btn,.gift-share-dialog .btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; font:inherit; font-weight:800; line-height:1.3; text-align:center; cursor:pointer; white-space:normal; }
.gift-share-icon { width:21px; height:21px; flex:0 0 21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.gift-group__steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding:28px 0 0; margin:28px 0 0; border-top:1px solid rgba(47,128,133,.18); list-style:none; }
.gift-group__steps li { display:flex; gap:13px; align-items:flex-start; }
.gift-group__number { flex:0 0 34px; height:34px; display:grid; place-items:center; background:var(--mint-soft); color:var(--teal-dark); border-radius:50%; font-weight:800; }
.gift-group__steps strong { display:block; margin:3px 0 7px; font-size:1.06rem; }
.gift-group__steps p { margin:0; line-height:1.5; color:var(--muted); }
.gift-group-share { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:26px auto; padding:22px 26px; background:var(--mint-soft); border-radius:var(--radius-md); }
.gift-group-share p { margin:0; line-height:1.5; }
.gift-group-share strong { display:block; margin-bottom:4px; font-size:1.1rem; }
.gift-group__hero-link { display:inline-flex; align-items:center; gap:8px; color:var(--teal-dark); font-weight:800; margin-top:18px; text-underline-offset:4px; min-height:44px; }
.gift-share-dialog { width:min(560px,calc(100% - 28px)); max-height:calc(100dvh - 32px); padding:28px; border:1px solid rgba(47,128,133,.2); border-radius:24px; background:#fffaf4; color:var(--ink); box-shadow:0 24px 80px rgba(32,37,45,.2); overflow:auto; }
.gift-share-dialog::backdrop { background:rgba(32,37,45,.5); backdrop-filter:blur(3px); }
.gift-share-dialog__header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.gift-share-dialog h2 { margin:0 0 10px; font-size:1.7rem; line-height:1.2; }
.gift-share-dialog__close { flex:0 0 44px; width:44px; height:44px; display:grid; place-items:center; border:0; border-radius:50%; background:var(--mint-soft); color:var(--teal-dark); font-size:28px; cursor:pointer; }
.gift-share-dialog label { display:block; font-weight:800; margin:20px 0 9px; }
.gift-share-dialog textarea { display:block; width:100%; min-height:160px; resize:vertical; font:inherit; line-height:1.55; color:var(--ink); padding:14px; border:1px solid rgba(47,128,133,.4); border-radius:12px; background:white; }
.gift-share-dialog__actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:18px; }
.gift-share-dialog__actions [data-gift-native] { grid-column:1/-1; }
.gift-share-dialog [hidden] { display:none!important; }
.gift-share-dialog__status { min-height:24px; margin:14px 0 0; color:var(--teal-dark); }
.gift-share-dialog__link { display:block; width:100%; font:inherit; padding:12px; border:1px solid var(--teal); border-radius:10px; margin-top:12px; }
.gift-share-dialog button:focus-visible,.gift-share-dialog textarea:focus-visible,.gift-group .btn:focus-visible,.gift-group__hero-link:focus-visible { outline:3px solid #da6e87; outline-offset:3px; }
@media(max-width:820px) { .gift-group__layout { grid-template-columns:1fr; gap:20px; } .gift-group__copy { grid-row:1; } .gift-group__image { max-width:520px; justify-self:center; } .gift-group__steps { grid-template-columns:1fr; gap:20px; margin-top:16px; } .gift-group__copy>p:not(.gift-group__eyebrow) { font-size:1.05rem; } .gift-group-share { align-items:flex-start; flex-direction:column; } }
@media(max-width:480px) { .gift-group__copy .btn,.gift-group-share .btn { width:100%; } .gift-share-dialog { padding:20px; } .gift-share-dialog__actions { grid-template-columns:1fr; } }
