/* SnazzyEyes lens-engraving renderer (SVG MVP per specs/custom_lens_renderer_spec.md).
   Layer stack: base photo -> text clipped to lens mask -> gloss overlay.
   Calibration is locked to assets/img/glasses-base.png (1536x1024): the name sits low
   on one lens (viewer's right = the wearer's lower-left), below the line of sight,
   rotation -2.5deg. This is SnazzyEyes' real method: the name is engraved into the lens
   itself in white PRINT lettering, not printed on the arm like most shops. */

.engraving{position:relative; display:block; overflow:hidden}
.engraving img{width:100%; height:100%; object-fit:cover; display:block}
.engraving svg{position:absolute; inset:0; width:100%; height:100%; pointer-events:none}

/* engraved text: off-white #f5f1ea at ~0.82 opacity (kit law), in a clean PRINT face to
   match the real white print lettering; etched groove faked by the #etch filter. */
.engraving__text{
  font-family:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-weight:600; letter-spacing:.01em;
  fill:#f5f1ea; opacity:.82;
}

/* macro tiles (See the Engraving): the cropped base shot already frames the glasses,
   so no extra scale (that pushed the engraving text off the bottom). */
.glass .engraving{aspect-ratio:246/150; background:#f4f1ec}

/* live preview card: the FULL glasses sit centered in the white card (like the source),
   not a cropped zoom. object-fit:contain + matching SVG preserveAspectRatio="meet" keeps
   the engraved text aligned to the lens. */
.engraving--live{aspect-ratio:2/1; border-radius:12px; background:#fff; overflow:hidden}
.engraving--live img{object-fit:contain}
