/* Scoped top-layer shopping controls; catalog layout remains independent. */
html.shop-overlay-lock{overflow:hidden;padding-right:var(--shop-overlay-gutter,0px);box-sizing:border-box}
.shop-saved-dialog,.shop-share-dialog{box-sizing:border-box;color:#292d2b;background:#fff;border:0;padding:0;max-height:100dvh;box-shadow:0 16px 60px #102f5426}
.shop-saved-dialog::backdrop,.shop-share-dialog::backdrop{background:#102f5466;opacity:0;transition:opacity 200ms ease}
.shop-saved-dialog[open]::backdrop,.shop-share-dialog[open]::backdrop{opacity:1}
.shop-saved-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(52vw,680px);max-width:100vw;height:100dvh;transform:translateX(100%);transition:transform 220ms ease;display:none}
.shop-saved-dialog[open]{display:flex;flex-direction:column;transform:translateX(0)}
.shop-saved-dialog[data-closing]{transform:translateX(100%)}
.shop-saved-dialog[data-closing]::backdrop,.shop-share-dialog[data-closing]::backdrop{opacity:0}
@starting-style{.shop-saved-dialog[open]{transform:translateX(100%)}.shop-saved-dialog[open]::backdrop,.shop-share-dialog[open]::backdrop{opacity:0}}
.shop-overlay-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:28px 28px 22px;border-bottom:1px solid #e8e9e5}
.shop-overlay-header h2{font-size:clamp(24px,2.4vw,32px);line-height:1.2;letter-spacing:-.025em;color:#102f54;margin:0}
.shop-overlay-header p{font-size:14px;color:#64716b;margin:9px 0 0}
.shop-overlay-close{display:grid;place-items:center;flex:none;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:#f3efe7;color:#102f54;font:30px/1 system-ui;cursor:pointer}
.shop-overlay-close:hover{background:#e8e4dc}
.shop-saved-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:8px 24px 24px}
.shop-overlay-status{font-size:14px;line-height:1.5;color:#64716b;margin:12px 0}
.shop-overlay-status:empty{display:none}
.shop-saved-items{display:grid;gap:14px}
.shop-saved-item{position:relative;display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;padding:18px;border:1px solid #e3e7e4;border-radius:14px;background:#fff}
.shop-saved-image{align-self:start;display:grid;place-items:center;aspect-ratio:1;background:#faf9f6;border-radius:10px;overflow:hidden}
.shop-saved-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.shop-saved-copy{min-width:0;padding-right:20px}
.shop-saved-brand{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#64716b;margin:0 0 4px}
.shop-saved-title{font-size:16px;line-height:1.4;font-weight:650;color:#102f54;text-decoration:none;display:block}
.shop-saved-title:hover{text-decoration:underline}
.shop-saved-variant,.shop-saved-merchant{font-size:12px;line-height:1.5;color:#64716b;margin:6px 0;overflow-wrap:anywhere}
.shop-saved-price{font-size:20px;font-weight:750;color:#315646;margin:8px 0 4px}
.shop-saved-item-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}
.shop-saved-offer{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:7px;background:#315646;color:#fff;padding:8px 12px;font-size:12px;font-weight:650;text-decoration:none}
.shop-saved-offer:hover{background:#254333}
.shop-saved-share{display:inline-flex;align-items:center;gap:5px;border:0;padding:8px 0;background:transparent;color:#102f54;font:inherit;font-size:12px;cursor:pointer}
.shop-saved-share svg{width:16px;height:16px}
.shop-saved-remove{position:absolute;right:8px;top:8px;border:0;background:transparent;color:#64716b;width:32px;height:32px;font:24px/1 system-ui;cursor:pointer}
.shop-saved-remove:hover{color:#102f54;background:#f3efe7;border-radius:50%}
.shop-saved-footer{padding:18px 28px max(20px,env(safe-area-inset-bottom));border-top:1px solid #e8e9e5;background:#faf9f6}
.shop-saved-footer p{font-size:12px;line-height:1.5;color:#64716b;margin:0 0 10px}
.shop-saved-footer a{font-size:13px;color:#102f54}
.shop-saved-empty{padding:56px 20px;text-align:center}
.shop-saved-empty h3{font-size:21px;color:#102f54;margin:0 0 10px}
.shop-saved-empty p{color:#64716b;font-size:14px;line-height:1.6;margin:0}
.shop-saved-unavailable{display:block;padding-right:42px}
.shop-saved-unavailable p{font-size:13px;line-height:1.5;margin:4px 0}
.shop-saved-skeleton{height:170px;border-radius:14px;background:linear-gradient(110deg,#f3efe7 30%,#faf9f6 50%,#f3efe7 70%);background-size:200% 100%;animation:shop-saved-loading 1.5s linear infinite}
@keyframes shop-saved-loading{to{background-position:-200% 0}}
.shop-saved-error button{border:1px solid #315646;border-radius:7px;background:#fff;padding:10px 14px;color:#315646;font:inherit;cursor:pointer}
.shop-share-dialog{width:min(660px,calc(100vw - 32px));max-width:660px;max-height:calc(100dvh - 32px);border-radius:20px;overflow:auto;margin:auto;padding-bottom:12px}
.shop-share-dialog .shop-overlay-header{border:0;padding-bottom:20px}
.shop-share-dialog [data-share-summary]{padding:0 28px}
.shop-share-dialog .shop-saved-item{background:#faf9f6;grid-template-columns:84px minmax(0,1fr);padding:16px}
.shop-share-dialog .shop-saved-copy{padding-right:0}
.shop-share-dialog .shop-saved-merchant{margin-bottom:0}
.shop-share-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:28px}
.shop-share-actions a,.shop-share-actions button{display:flex;flex-direction:column;align-items:center;gap:12px;background:transparent;border:0;color:#102f54;font:inherit;font-size:14px;line-height:1.4;padding:0;text-decoration:none;text-align:center;cursor:pointer}
.shop-share-actions span{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#f3efe7;transition:background 150ms ease}
.shop-share-actions svg{width:25px;height:25px}
.shop-share-actions a:hover span,.shop-share-actions button:hover span{background:#e6ede7}
.shop-share-actions [data-share-whatsapp] span{background:#315646;color:#fff}
.shop-share-copy-fallback{margin:0 28px;padding:16px;border-radius:10px;background:#f3efe7;font-size:13px}
.shop-share-copy-fallback label{display:block;margin-bottom:8px}
.shop-share-copy-fallback input{box-sizing:border-box;width:100%;padding:10px;background:#fff;color:#102f54;border:1px solid #a5b4aa;border-radius:5px;font:inherit}
.shop-share-copy-fallback p{line-height:1.5;margin-bottom:0}
.shop-share-dialog>[data-share-status]{margin:0 28px 16px;color:#315646}
[data-shopping-overlay-root] :focus-visible{outline:3px solid #215eab;outline-offset:3px}
.shopping-overlays-ready .shop-share-fallback{display:none}
.shopping-reference .shop-product-media .shop-card-share{position:absolute;z-index:2;top:3px;right:45px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:#102f54;cursor:pointer}
.shopping-reference .shop-card-share[hidden]{display:none}
.shop-card-share svg{width:18px;height:18px}
@media(pointer:coarse){.shopping-reference .shop-product-media .shop-card-share{width:44px;height:44px;right:49px}}
@media(max-width:800px){.shop-saved-dialog{width:min(100%,580px)}}
@media(max-width:480px){.shop-overlay-header{padding:22px 18px 18px}.shop-saved-body{padding:8px 14px 20px}.shop-saved-item{grid-template-columns:76px minmax(0,1fr);padding:14px;gap:12px}.shop-saved-copy{padding-right:16px}.shop-saved-title{font-size:14px}.shop-saved-price{font-size:18px}.shop-saved-footer{padding-left:18px;padding-right:18px}.shop-saved-offer{width:100%;box-sizing:border-box}.shop-share-dialog [data-share-summary]{padding:0 18px}.shop-share-actions{gap:6px;padding:24px 14px}.shop-share-actions a,.shop-share-actions button{font-size:12px}.shop-share-actions span{width:54px;height:54px}.shop-share-copy-fallback{margin:0 18px}.shop-share-dialog>[data-share-status]{margin-left:18px;margin-right:18px}}
@media(prefers-reduced-motion:reduce){.shop-saved-dialog,.shop-share-dialog::backdrop,.shop-saved-dialog::backdrop,.shop-share-actions span{transition:none}.shop-saved-skeleton{animation:none}}
