[data-product-share-area] { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 40px; min-width: 0; vertical-align: middle; }
.product-share-icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 4px; border: 4px solid transparent; border-radius: 50%; background: #f5edfb; background-clip: padding-box; color: #51335f; cursor: pointer; }
.product-share-icon svg { width: 20px; height: 20px; flex-shrink: 0; }
.product-share-icon:hover { background-color: #ecddf6; }
.product-share-icon:focus-visible { outline: 3px solid #b991c9; outline-offset: 2px; }
.product-share-icon[aria-busy="true"] { opacity: .55; cursor: wait; }
.product-share-hint { display: none; position: absolute; bottom: calc(100% + 5px); left: 0; padding: 6px 9px; border-radius: 7px; background: #51335f; color: white; font-size: 12px; line-height: 1.5; white-space: nowrap; pointer-events: none; z-index: 3; }
.product-share-icon:hover + .product-share-hint, .product-share-icon:focus-visible + .product-share-hint { display: block; }
[data-product-share-result] { position: absolute; left: 0; bottom: calc(100% + 10px); width: 300px; max-width: calc(100vw - 72px); box-sizing: border-box; padding: 15px; border: 1px solid #e0cde9; border-radius: 12px; background: #fffdf9; box-shadow: 0 6px 22px #51335f21; z-index: 4; text-align: left; }
.service-card-actions [data-product-share-result], .service-card-actions .product-share-hint { left: auto; right: 0; }
[data-product-share-result][hidden], [data-product-share-manual][hidden], [data-product-share-copy][hidden], [data-product-share-retry][hidden] { display: none; }
[data-product-share-result] .form-note { margin: 0 0 10px; font-size: 13px; line-height: 1.7; color: #73557c; }
[data-product-share-manual] { display: block; }
[data-product-share-url] { display: block; width: 100%; min-width: 0; box-sizing: border-box; margin-top: 6px; padding: 9px 10px; border: 1px solid #e0cde9; border-radius: 8px; background: #fff; color: var(--ink); font: inherit; font-size: 13px; }
.product-share-recovery-actions { display: flex; gap: 14px; align-items: center; }
.product-share-recovery-actions button { font-size: 13px; }
