.diamond-gift-panel{--diamond-gift-red:#cf0a2c;--diamond-gift-navy:#172943;--diamond-gift-muted:#65728b;--diamond-gift-line:#dce3ee;margin:18px 0;padding:18px;border:1px solid #f1cad2;border-radius:13px;background:#fffafb;color:var(--diamond-gift-navy);font-family:inherit;box-sizing:border-box}.diamond-gift-panel *{box-sizing:border-box}.diamond-gift-panel button,.diamond-gift-panel summary{font:inherit}.diamond-gift-panel button{cursor:pointer}.diamond-gift-panel button:focus-visible,.diamond-gift-panel summary:focus-visible{outline:3px solid #2e6eab;outline-offset:3px}.diamond-gift-panel p,.diamond-gift-panel h3{margin:0}.diamond-gift-heading{display:flex;align-items:flex-start;gap:11px}.diamond-gift-mark{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:50%;background:#fce5ea;color:var(--diamond-gift-red);font-size:16px;font-weight:800;margin-top:3px}.diamond-gift-eyebrow{color:var(--diamond-gift-red);font-size:10px;line-height:1.5;letter-spacing:.025em;text-transform:uppercase;font-weight:800;margin-bottom:5px!important}.diamond-gift-heading h3{font-size:15px;line-height:1.4;margin-bottom:6px}.diamond-gift-heading>div>p:last-child{font-size:12px;line-height:1.65;color:var(--diamond-gift-muted)}.diamond-gift-progress{appearance:none;display:block;width:100%;height:6px;overflow:hidden;border:0;border-radius:20px;background:#f1e5e8;margin:15px 0 8px}.diamond-gift-progress::-webkit-progress-bar{background:#f1e5e8;border-radius:20px}.diamond-gift-progress::-webkit-progress-value{background:var(--diamond-gift-red);border-radius:20px}.diamond-gift-progress::-moz-progress-bar{background:var(--diamond-gift-red);border-radius:20px}.diamond-gift-small{font-size:11px;line-height:1.6;color:var(--diamond-gift-muted);margin-top:8px!important}.diamond-gift-selected{display:grid;grid-template-columns:64px minmax(0,1fr) 20px;gap:12px;align-items:center;margin-top:16px;background:white;border:1px solid var(--diamond-gift-line);border-radius:9px;padding:12px}.diamond-gift-selected>img{width:64px;height:84px;object-fit:contain;background:#fff;border:1px solid #eef1f5;border-radius:5px;display:block}.diamond-gift-selected strong{display:block;font-size:13px;line-height:1.5}.diamond-gift-selected p:not(.diamond-gift-eyebrow){font-size:11px;color:var(--diamond-gift-muted);line-height:1.6;margin-top:3px}.diamond-gift-selected-check{font-size:17px;color:#14744e;font-weight:800}.diamond-gift-selected-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:8px}.diamond-gift-selected-actions button{border:0;background:none;color:var(--diamond-gift-navy);font-size:11px;padding:3px 0;min-height:44px;text-decoration:underline;line-height:1.5}.diamond-gift-selected-actions [data-diamond-gift-action=remove]{color:var(--diamond-gift-muted)}.diamond-gift-unselected{font-size:12px;line-height:1.6;color:var(--diamond-gift-muted);margin-top:13px!important}.diamond-gift-choices{margin-top:14px}.diamond-gift-choices summary{display:flex;align-items:center;justify-content:space-between;gap:14px;list-style:none;cursor:pointer;min-height:44px;padding:10px 12px;font-size:12px;font-weight:750;border:1px solid var(--diamond-gift-red);border-radius:8px;background:var(--diamond-gift-red);color:white}.diamond-gift-choices summary::-webkit-details-marker{display:none}.diamond-gift-choices summary>span{font-size:18px;line-height:1;transition:transform .15s}.diamond-gift-choices[open] summary>span{transform:rotate(180deg)}.diamond-gift-chooser{padding-top:15px}.diamond-gift-chooser-label{font-size:12px;font-weight:750;margin-bottom:9px!important}.diamond-gift-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.diamond-gift-color{min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:77px;padding:7px 5px;border:1px solid var(--diamond-gift-line);border-radius:8px;background:white;color:var(--diamond-gift-navy);font-size:11px!important;font-weight:700}.diamond-gift-color img{display:block;width:43px;height:43px;object-fit:contain}.diamond-gift-color[aria-pressed=true]{border-color:var(--diamond-gift-red);box-shadow:0 0 0 1px var(--diamond-gift-red);background:#fff3f6;color:var(--diamond-gift-red)}.diamond-gift-all-colors{display:flex;align-items:center;gap:3px;height:43px}.diamond-gift-all-colors i{display:block;width:6px;height:23px;border-radius:3px;background:#333}.diamond-gift-all-colors i:nth-child(2){background:#237dbf;height:31px}.diamond-gift-all-colors i:nth-child(3){background:#418851;height:19px}.diamond-gift-all-colors i:nth-child(4){background:#c73446;height:29px}.diamond-gift-all-colors i:nth-child(5){background:#d1b82d;height:25px}.diamond-gift-code-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:17px 0 9px;font-size:12px}.diamond-gift-code-heading>span{color:var(--diamond-gift-muted);font-size:11px}.diamond-gift-code-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px;max-height:440px;overflow:auto;padding:3px 3px 6px;margin:-3px}.diamond-gift-code{min-width:0;display:block;position:relative;text-align:left;overflow:hidden;padding:0;background:white;border:1px solid var(--diamond-gift-line);border-radius:9px;color:var(--diamond-gift-navy);transition:border-color .15s,box-shadow .15s}.diamond-gift-code:hover:not(:disabled){border-color:var(--diamond-gift-red);box-shadow:0 3px 11px #17294312}.diamond-gift-code.is-selected{border-color:var(--diamond-gift-red);box-shadow:0 0 0 1px var(--diamond-gift-red)}.diamond-gift-code-photo{display:block;position:relative;background:#fff;padding:7px;height:136px;border-bottom:1px solid #eef1f5}.diamond-gift-code-photo img{display:block;width:100%;height:100%;object-fit:contain}.diamond-gift-tile-check{display:grid;place-items:center;position:absolute;right:6px;top:6px;width:22px;height:22px;border-radius:50%;color:white;background:var(--diamond-gift-red);font-size:12px;font-weight:800}.diamond-gift-code-copy{display:flex;flex-direction:column;gap:5px;padding:10px}.diamond-gift-code-copy>strong{font-size:13px;line-height:1.4}.diamond-gift-band{display:flex;align-items:center;gap:5px;color:var(--diamond-gift-muted);font-size:10px;line-height:1.5}.diamond-gift-band i{width:6px;height:6px;border-radius:50%;background:#333;flex:0 0 auto}.diamond-gift-band--blue i{background:#237dbf}.diamond-gift-band--green i{background:#418851}.diamond-gift-band--red i{background:#c73446}.diamond-gift-band--yellow i{background:#d1b82d}.diamond-gift-code-copy small{font-size:10px;line-height:1.5;color:var(--diamond-gift-muted)}.diamond-gift-code-copy .diamond-gift-code-unit{font-size:10px;font-weight:750;color:var(--diamond-gift-red);margin-top:2px}.diamond-gift-code:disabled{cursor:not-allowed;opacity:.5}.diamond-gift-code:disabled .diamond-gift-code-unit{color:var(--diamond-gift-muted)}.diamond-gift-status{font-size:11px;line-height:1.6;color:#14744e;margin-top:10px!important}.diamond-gift-status:empty{display:none}.diamond-gift-panel--progress .diamond-gift-small{margin-top:0!important}@media(min-width:1000px){.cart-page-main .diamond-gift-colors{grid-template-columns:repeat(6,minmax(0,1fr))}.cart-page-main .diamond-gift-code-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}}@media(max-width:380px){.diamond-gift-panel{padding:14px}.diamond-gift-code-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diamond-gift-code-photo{height:118px}.diamond-gift-selected{grid-template-columns:56px minmax(0,1fr) 14px;gap:9px;padding:10px}.diamond-gift-selected>img{width:56px;height:75px}.diamond-gift-selected-actions{gap:10px}.diamond-gift-colors{gap:6px}.diamond-gift-color{font-size:10px!important}}@media(prefers-reduced-motion:reduce){.diamond-gift-panel *{transition:none!important}}

/* Professional gift unlock celebration, confined to the gift card. */
.diamond-gift-panel--eligible { position:relative; overflow:hidden; border-color:#cfe4d8; border-left:4px solid #238657; background:linear-gradient(135deg,#f0faf4,#fff 75%); }
.diamond-gift-celebration-heading { position:relative; gap:14px; isolation:isolate; }
.diamond-gift-celebration-heading > div { position:relative; min-width:0; }
.diamond-gift-panel--eligible .diamond-gift-mark { position:relative; flex-basis:54px; height:54px; margin-top:0; border-radius:16px; background:#e1f2e7; color:#187345; }
.diamond-gift-mark svg { width:34px; height:34px; }
.diamond-gift-symbol-check { position:absolute; right:-3px; bottom:-3px; width:21px; height:21px; display:grid; place-items:center; border:3px solid #f0faf4; border-radius:50%; background:#238657; color:white; font-size:11px; }
.diamond-gift-panel--eligible .diamond-gift-eyebrow { color:#187345; font-size:10px; letter-spacing:.05em; }
.diamond-gift-celebration-heading h3 { font-size:18px; line-height:1.3; margin-bottom:8px; }
.diamond-gift-pack-badge { display:inline-block; margin:0 0 8px; padding:5px 8px; border-radius:6px; background:#e3f3e9; color:#176d43; font-size:11px; font-weight:800; line-height:1.6; }
.diamond-gift-offer-terms { margin-top:9px; font-size:11px; color:var(--diamond-gift-muted); }
.diamond-gift-offer-terms summary { min-height:44px; display:flex; align-items:center; gap:8px; cursor:pointer; font-weight:700; }
.diamond-gift-offer-terms summary::before { content:'+'; font-size:15px; }
.diamond-gift-offer-terms[open] summary::before { content:'−'; }
.diamond-gift-offer-terms p { line-height:1.65; padding:0 0 8px; }
.diamond-gift-confetti { position:absolute; left:-8px; top:-14px; width:105px; height:140px; pointer-events:none; z-index:-1; }
.diamond-gift-confetti i { position:absolute; top:0; width:4px; height:8px; opacity:0; border-radius:1px; background:#c8102e; --gift-drift:12px; --gift-turn:150deg; --gift-delay:0s; }
.diamond-gift-confetti i:nth-child(4n+2) { background:#238657; }
.diamond-gift-confetti i:nth-child(4n+3) { background:#c7a968; height:5px; }
.diamond-gift-confetti i:nth-child(4n) { background:#172943; }
.diamond-gift-confetti i:nth-child(1) { left:7px; --gift-drift:-8px; }
.diamond-gift-confetti i:nth-child(2) { left:18px; --gift-delay:.08s; --gift-turn:-130deg; }
.diamond-gift-confetti i:nth-child(3) { left:30px; --gift-drift:-15px; --gift-delay:.04s; }
.diamond-gift-confetti i:nth-child(4) { left:41px; --gift-drift:7px; --gift-delay:.12s; }
.diamond-gift-confetti i:nth-child(5) { left:54px; --gift-drift:-13px; --gift-delay:.06s; --gift-turn:-190deg; }
.diamond-gift-confetti i:nth-child(6) { left:66px; --gift-drift:18px; --gift-delay:.02s; }
.diamond-gift-confetti i:nth-child(7) { left:78px; --gift-drift:9px; --gift-delay:.09s; }
.diamond-gift-confetti i:nth-child(8) { left:91px; --gift-drift:-11px; --gift-delay:.05s; --gift-turn:-150deg; }
.diamond-gift-confetti i:nth-child(9) { left:13px; --gift-drift:15px; --gift-delay:.13s; }
.diamond-gift-confetti i:nth-child(10) { left:24px; --gift-drift:-17px; --gift-delay:.01s; }
.diamond-gift-confetti i:nth-child(11) { left:37px; --gift-drift:13px; --gift-delay:.09s; --gift-turn:-120deg; }
.diamond-gift-confetti i:nth-child(12) { left:49px; --gift-drift:-9px; --gift-delay:.03s; }
.diamond-gift-confetti i:nth-child(13) { left:60px; --gift-drift:6px; --gift-delay:.14s; }
.diamond-gift-confetti i:nth-child(14) { left:73px; --gift-drift:-14px; --gift-delay:.05s; --gift-turn:-200deg; }
.diamond-gift-confetti i:nth-child(15) { left:85px; --gift-drift:15px; --gift-delay:.11s; }
.diamond-gift-confetti i:nth-child(16) { left:99px; --gift-drift:-7px; --gift-delay:.07s; }
.diamond-gift-panel.is-celebrating .diamond-gift-confetti i { animation:diamond-gift-confetti-fall 1.15s ease-out var(--gift-delay) both; }
.diamond-gift-panel.is-celebrating .diamond-gift-mark svg { animation:diamond-gift-icon-pop .45s ease-out both; }
@keyframes diamond-gift-confetti-fall { 0% { opacity:0; transform:translate3d(0,-8px,0) rotate(0); } 12% { opacity:.9; } 100% { opacity:0; transform:translate3d(var(--gift-drift),115px,0) rotate(var(--gift-turn)); } }
@keyframes diamond-gift-icon-pop { 0% { transform:scale(.9); } 55% { transform:scale(1.06); } 100% { transform:scale(1); } }
@media(max-width:400px) { .diamond-gift-panel--eligible .diamond-gift-mark { flex-basis:44px; height:44px; border-radius:12px; } .diamond-gift-mark svg { width:29px; height:29px; } .diamond-gift-celebration-heading { gap:11px; } .diamond-gift-celebration-heading h3 { font-size:17px; } }
@media(prefers-reduced-motion:reduce) { .diamond-gift-panel * { animation:none!important; } .diamond-gift-confetti { display:none; } }

.diamond-gift-panel--eligible .diamond-gift-choices summary { background:#187a52; border-color:#187a52; }
.diamond-gift-panel--eligible .diamond-gift-choices summary:hover { background:#126340; border-color:#126340; }
