/* Shared product presentation: full frames, readable captions, responsive diagrams. */
.asd-product-story-container{box-sizing:border-box;width:min(1240px,calc(100% - 64px));margin:36px auto 0}
.asd-product-visual{box-sizing:border-box;margin:0;background:#fff;border:1px solid #ccdae6;border-radius:16px;overflow:hidden;box-shadow:0 14px 40px #0d28480d;color:#152c43}
.asd-product-visual+.asd-product-visual,.asd-product-diagram+.asd-product-visual,.asd-product-visual+.asd-product-diagram{margin-top:32px}
.asd-product-visual-link{display:block;line-height:0;cursor:zoom-in;background:#f4f8fb}
.asd-product-visual img{display:block;width:100%;max-width:100%;height:auto;margin:0;object-fit:contain}
.asd-product-visual figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding:16px 20px;border-top:1px solid #dbe5ed;background:#fff;font-size:14px;line-height:1.65;color:#415a70;text-align:left}
.asd-product-visual figcaption>span{flex:1 1 360px}
.asd-product-visual figcaption>a{color:#0066a2;font-weight:600;white-space:nowrap;text-underline-offset:.2em}
.asd-product-visual a:focus-visible{outline:3px solid #0074ba;outline-offset:-4px}
.asd-product-diagram{margin:0;border:1px solid #ccdae6;border-radius:16px;overflow:hidden;background:#f6f9fc;color:#132d43;box-shadow:0 14px 40px #0d28480d}
.asd-product-diagram figcaption{padding:28px 32px;background:#102a43;color:#fff;text-align:left}
.asd-product-diagram figcaption>span{display:block;margin-bottom:10px;color:#84e6f6;letter-spacing:.13em;text-transform:uppercase;font-size:12px;font-weight:700;line-height:1.4}
.asd-product-diagram figcaption h3{color:inherit;font-size:clamp(23px,2.5vw,31px);line-height:1.25;letter-spacing:-.02em;margin:0!important;max-width:38ch}
.asd-product-diagram .asd-diagram-nodes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:22px;list-style:none;padding:30px;margin:0!important}
.asd-product-diagram .asd-diagram-nodes>li{position:relative;min-width:0;display:flex;align-items:flex-start;flex-direction:column;gap:20px;box-sizing:border-box;margin:0;padding:24px;background:#fff;border:1px solid #d6e2eb;border-radius:12px;border-top:3px solid #16b8d4;list-style:none}
.asd-diagram-marker{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:10px;background:#e6f5fa;color:#075579;font-size:15px;font-weight:700;letter-spacing:.03em}
.asd-product-diagram .asd-diagram-nodes strong{display:block;font-size:19px;line-height:1.35;color:#142e44;letter-spacing:-.015em}
.asd-product-diagram .asd-diagram-nodes p{font-size:15px;line-height:1.6;color:#486174;margin:10px 0 0!important;overflow-wrap:anywhere}
.asd-product-diagram .asd-diagram-note{margin:0!important;padding:0 30px 28px;font-size:14px;line-height:1.7;color:#3d586e}
.asd-product-diagram--owners .asd-diagram-nodes{grid-template-columns:repeat(2,minmax(0,1fr))}
.asd-product-diagram--owners .asd-diagram-nodes>li{flex-direction:row;border-top:1px solid #d6e2eb;border-left:3px solid #16b8d4}
.asd-product-diagram--priority .asd-diagram-nodes{grid-template-columns:1fr}
.asd-product-diagram--priority .asd-diagram-nodes>li{flex-direction:row;gap:22px;align-items:center;border-top:1px solid #d6e2eb}
.asd-product-diagram--states .asd-diagram-nodes>li:last-child{border-top-color:#24986c}
.asd-product-diagram--branches .asd-diagram-nodes>li{border-top-color:#5c85c0}
/* Harmonize existing captures without changing their crop, size or author-selected source. */
.asd-ap-page :is(.asd-ap-image,.asd-sc-capture,.asd-uem-capture){border-color:#ccdae6;border-radius:14px;box-shadow:0 14px 40px #0d28480d}
.asd-ap-page :is(.asd-ap-image,.asd-sc-capture,.asd-uem-capture) figcaption{padding:15px 18px;margin:0;background:#fff;border-top:1px solid #dbe5ed;color:#415a70;font-size:14px;line-height:1.65;text-align:left}
.asd-ap-page :is(.asd-ap-image,.asd-sc-capture,.asd-uem-capture) figcaption a{display:inline;color:#0066a2;line-height:inherit;font-weight:600;text-underline-offset:.2em}
.asd-ap-page .asd-uem-capture>a{border-color:#ccdae6;border-radius:14px 14px 0 0;box-shadow:none}
.asd-ap-page .asd-fp-capture-viewport{border-color:#ccdae6;border-radius:14px;box-shadow:0 14px 40px #0d28480d}
.asd-ap-page .asd-fp-capture-caption{font-size:14px;color:#415a70;line-height:1.65}
.asd-product-image-dialog{box-sizing:border-box;max-width:none;width:calc(100vw - 40px);height:calc(100dvh - 40px);max-height:none;margin:auto;padding:0;border:1px solid #526b83;border-radius:14px;background:#f4f7fa;color:#122b41;box-shadow:0 20px 80px #0005}
.asd-product-image-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
.asd-product-image-dialog::backdrop{background:#081625d9}
.asd-product-image-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:#fff;border-bottom:1px solid #d0deea}
.asd-product-image-toolbar p{margin:0;font-size:14px;line-height:1.5;max-width:70ch}
.asd-product-image-actions{display:flex;gap:8px;flex-shrink:0}
.asd-product-image-actions button{font:inherit;font-size:14px;line-height:1.4;color:#12334d;background:#f3f8fc;border:1px solid #aec9dc;border-radius:6px;padding:9px 13px;cursor:pointer;min-height:42px}
.asd-product-image-actions button:focus-visible{outline:3px solid #0074ba;outline-offset:2px}
.asd-product-image-scroll{overflow:auto;box-sizing:border-box;min-height:0;padding:20px;display:flex;align-items:flex-start;justify-content:center}
.asd-product-image-scroll img{display:block;object-fit:contain;width:auto;max-width:100%;max-height:100%;height:auto}
.asd-product-image-scroll.is-original{display:block}
.asd-product-image-scroll.is-original img{max-width:none;max-height:none;width:auto;height:auto;margin:0 auto}
@media(max-width:720px){.asd-product-story-container{width:calc(100% - 36px);margin-top:26px}.asd-product-visual,.asd-product-diagram{border-radius:10px}.asd-product-visual figcaption{padding:14px 16px;gap:8px}.asd-product-visual figcaption>span{flex-basis:100%}.asd-product-diagram figcaption{padding:23px 22px}.asd-product-diagram .asd-diagram-nodes,.asd-product-diagram--owners .asd-diagram-nodes{grid-template-columns:1fr;padding:22px;gap:14px}.asd-product-diagram .asd-diagram-nodes>li{flex-direction:row;gap:16px;padding:20px}.asd-product-diagram .asd-diagram-note{padding:0 22px 22px}.asd-product-image-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px)}.asd-product-image-toolbar{align-items:flex-start;flex-direction:column;padding:12px}.asd-product-image-toolbar p{max-height:3em;overflow:auto}.asd-product-image-scroll{padding:10px}.asd-product-image-actions{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.asd-product-image-dialog,.asd-product-visual{scroll-behavior:auto}}

/* Keep the real confirmation preview within its captured resolution. */
.asd-product-visual[data-asd-product-story="products-gate-manager-confirmations-1"]{max-width:746px;margin-inline:auto}

/* Preserve the native width of the focused invitation preview. */
.asd-product-visual[data-asd-product-story="products-gate-manager-invitations-preview"]{max-width:1000px;margin-inline:auto}

/* A narrow native settings panel stays readable without enlarging its pixels. */
.asd-product-visual[data-asd-product-story="products-image-manager-remote-backups-1"]{max-width:500px;margin-inline:auto}

/* Keep portrait buying workflows close to their native reading width. */
.asd-product-visual[data-asd-product-story="products-b2b-quotes-1"],.asd-product-visual[data-asd-product-story="products-b2b-quote-checkout-1"],.asd-product-visual[data-asd-product-story="products-b2b-ordering-1"],.asd-product-visual[data-asd-product-story="products-b2b-saved-lists-1"],.asd-product-visual[data-asd-product-story="products-b2b-product-1"],.asd-product-visual[data-asd-product-story="products-b2b-3"]{max-width:800px;margin-inline:auto}

/* Shop descriptions keep a compact, proportional product example. */
.single-product .asd-product-visual{max-width:900px;margin:32px auto}
.single-product .asd-product-visual img{width:auto;max-width:100%;height:auto;max-height:600px;margin-inline:auto;object-fit:contain}
.asd-fp-capture-image img[src*="fp-purchase-scope-current"]{max-width:500px;margin-inline:auto}

/* Reviewed Free Gifts crops already contain their frame; do not crop them a second time. */
.asd-fp-capture-viewport:has(figure[data-asd-mapped-capture]){aspect-ratio:auto;background:#fff}
.asd-fp-capture-viewport figure.asd-fp-capture-image[data-asd-mapped-capture]{position:static!important;left:auto!important;top:auto!important;width:100%!important;max-width:100%!important}
.asd-fp-capture:has(figure[data-asd-mapped-capture="fp-purchase-scope-current"]){max-width:500px;margin-inline:auto}
