.product-strip{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;gap:4px;align-items:start;min-width:0;margin-top:12px}
.product-strip>button{width:28px;min-width:0;min-height:44px;margin-top:24px;padding:4px;font-size:26px;border-radius:12px;color:#76568f;background:#f3edf9;line-height:1}
.product-strip>button:disabled{background:#faf7fc;color:#b3a7be;box-shadow:none}
#lens-products.product-carousel{display:flex;flex-flow:row nowrap;gap:10px;width:100%;max-width:100%;min-width:0;margin:0;padding:8px 3px 14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#d2bce7 transparent;align-items:flex-start;touch-action:pan-x pan-y}
#lens-products.product-carousel .product-card{position:relative;flex:0 0 96px;width:96px;min-width:96px;min-height:0;padding:3px;border:0;border-radius:12px;background:transparent;box-shadow:none;gap:8px;scroll-snap-align:start}
#lens-products.product-carousel .product-card input{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;overflow:hidden;clip-path:inset(50%)}
#lens-products.product-carousel .product-image{display:grid;place-items:center;flex-shrink:0;width:84px;height:84px;border:3px solid transparent;border-radius:50%;background:#fff}
#lens-products.product-carousel .product-card img{display:block;width:76px;height:76px;margin:0;object-fit:contain;border-radius:50%;background:#fff;padding:3px}
#lens-products.product-carousel .product-card:has(input:checked) .product-image{border-color:#ba9cdb;box-shadow:0 0 0 3px #f0e8fa}
#lens-products.product-carousel .product-card:has(input:focus-visible){outline:3px solid #9c6bbe;outline-offset:1px}
#lens-products.product-carousel .product-card strong{font-size:13px;font-weight:600;line-height:1.55;white-space:normal;overflow-wrap:anywhere;color:#4f3d57}
#lens-products.product-carousel .product-card small{font-size:12px;line-height:1.5;white-space:normal;color:#6e5879}
.product-image>span{font-size:12px;padding:4px;color:#755568}.image-unavailable{opacity:.65}
.local-trial-badge{display:block;background:#f2e8fa;color:#75468d!important;border-radius:8px;padding:3px;font-size:11px!important}
@media(max-width:700px){.product-strip{grid-template-columns:24px minmax(0,1fr) 24px}.product-strip>button{width:24px}}
#save-help{margin-top:12px;min-height:44px;background:#fff5fa;color:#84325d;border:1px solid #dec5d6;border-radius:14px;padding:12px 16px;max-width:100%;white-space:normal}
#save-viewer{box-sizing:border-box;width:min(960px,calc(100% - 24px));max-height:90dvh;overflow:auto;border:1px solid #ead5e2;border-radius:20px;padding:20px;background:#fff;color:#493644}
#save-viewer::backdrop{background:#3e263980}
#save-viewer p{font-size:15px;line-height:1.7;overflow-wrap:anywhere}
.save-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.save-heading h2{font-size:19px;margin:0}.save-heading button{min-height:44px;flex-shrink:0}
#save-image{display:block;width:100%;height:auto;object-fit:contain;touch-action:auto;-webkit-touch-callout:default;user-select:auto;-webkit-user-select:auto}

/* Equal-height, two-line metadata; never infer a color from whitespace. */
#lens-products.product-carousel .product-names{display:block;flex:none;width:100%;height:40px;min-width:0}
#lens-products.product-carousel .product-fit-line{display:block;width:100%;height:20px;line-height:20px;white-space:nowrap;overflow:visible;overflow-wrap:normal;text-align:center;font-size:13px}
#lens-products.product-carousel .product-fit-line>span{display:inline-block;white-space:nowrap;line-height:20px;font-size:inherit;vertical-align:top}
#lens-products.product-carousel .product-color{color:#6e5879;font-weight:400}

/* Official logo: original bytes, colors and aspect ratio preserved. */
.topbar .brand{display:block;flex:0 1 200px;min-width:0;line-height:0}
.topbar .brand-logo{display:block;width:200px;max-width:100%;height:auto;object-fit:contain}
@media(max-width:480px){.topbar{flex-wrap:wrap}.topbar .brand{flex-basis:160px}.topbar .brand-logo{width:160px}}

/* Larger display-only lens tiles, separate arrow columns and selection gutter. */
#lens-products.product-carousel{padding:8px 7px 14px;gap:12px}
#lens-products.product-carousel .product-card{flex-basis:132px;width:132px;min-width:132px;padding:4px;gap:8px}
#lens-products.product-carousel .product-image{width:124px;height:124px;border-width:3px}
#lens-products.product-carousel .product-card img{width:116px;height:116px;padding:0;border-radius:0;background:transparent;object-fit:contain}
.product-strip>button{margin-top:48px}

/* Fixed-size continuous cards; padding protects full cards and selection rings. */
#lens-products.product-carousel{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:8px;justify-content:flex-start;padding:8px;gap:12px;border:0}
#lens-products.product-carousel .product-card[hidden]{display:none!important}
#compose{white-space:normal;overflow-wrap:normal;word-break:keep-all}

#lens-products.product-carousel{cursor:grab}
#lens-products.product-carousel.is-dragging{cursor:grabbing;scroll-snap-type:none}
#lens-products.product-carousel .product-card{user-select:none;-webkit-user-select:none}
#lens-products.product-carousel img{-webkit-user-drag:none}
