/* Only the personalized-photo variant. Collection photographs and calendar remain unchanged. */
.quote-canvas{position:relative;width:min(100%,calc(72svh * var(--photo-ratio,1.5)));margin-inline:auto;isolation:isolate;overflow:hidden}.quote-canvas .quote-photo{display:block;width:100%;height:auto;max-height:none;object-fit:contain}.quote-overlay{position:absolute;width:var(--quote-width,60%);padding:clamp(8px,1.3vw,18px);background:rgba(32,36,32,.94);color:#faf9f6;display:flex;flex-direction:column;gap:10px;box-sizing:border-box}.quote-overlay .quote-words{font-family:Editorial,Georgia,serif;font-style:italic;font-weight:400;line-height:1.3;font-size:max(14px,var(--quote-font,28px));margin:0;max-width:none;white-space:pre-wrap;overflow-wrap:anywhere}.quote-overlay .personalized-signature{width:clamp(64px,14vw,116px);max-width:40%;height:auto;margin:0;filter:none}.quote-canvas[data-tone=paper] .quote-overlay{background:rgba(250,249,246,.96);color:#252a25}.quote-canvas[data-tone=paper] .personalized-signature{filter:brightness(0)}.quote-canvas[data-position^=top] .quote-overlay{top:6%}.quote-canvas[data-position^=middle] .quote-overlay{top:50%;transform:translateY(-50%)}.quote-canvas[data-position^=bottom] .quote-overlay{bottom:6%}.quote-canvas[data-position$=left] .quote-overlay{left:6%;text-align:left;align-items:flex-start}.quote-canvas[data-position$=center] .quote-overlay{left:50%;translate:-50% 0;text-align:center;align-items:center}.quote-canvas[data-position$=right] .quote-overlay{right:6%;text-align:right;align-items:flex-end}.quote-fit-warning{margin:10px 0 20px!important;max-width:60ch;font-size:16px}.quote-canvas[data-fitting=overflow] .quote-overlay,.quote-canvas[data-layout=pending] .quote-overlay{visibility:hidden}
@media(max-width:800px){.quote-canvas{width:100%}.quote-overlay{padding:9px;gap:7px}.quote-overlay .personalized-signature{max-width:42%;width:76px}}

#quote-enlarge{margin:0 0 20px;font-size:16px;min-height:44px}
.quote-zoom{width:min(1180px,calc(100vw - 24px));height:min(900px,calc(100dvh - 24px));max-width:none;max-height:none;border:1px solid var(--line);padding:20px;background:var(--paper);color:var(--ink);overflow:hidden}
.quote-zoom[open]{display:flex;flex-direction:column;gap:12px}
.quote-zoom::backdrop{background:#151c18b8}
.quote-zoom-header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-shrink:0}
.quote-zoom-header h2{font:28px/1.25 Book,Georgia,serif;letter-spacing:-.02em}
#quote-zoom-close{font-size:16px;min-height:44px;white-space:nowrap;flex-shrink:0}
.quote-zoom-toolbar{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}
.quote-zoom-toolbar button{font:16px/1.4 var(--body);min-height:44px;padding:10px 14px;border:1px solid var(--line)}
.quote-zoom-toolbar button[aria-pressed=true]{border-color:var(--ink);background:var(--soft)}
#quote-zoom-help,.quote-zoom-caption{font:14px/1.5 var(--body);color:var(--muted);flex-shrink:0}
#quote-zoom-warning{font:16px/1.45 var(--body);margin:0;border-left:2px solid var(--accent);padding-left:12px;flex-shrink:0}
.quote-zoom-stage{overflow:auto;min-height:120px;flex:1;position:relative;isolation:isolate;background:#e9e8e1;padding:16px;overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-gutter:stable;outline-offset:2px}
.quote-zoom-stage .quote-canvas{max-width:none;margin:0 auto}
#quote-full-message{font-size:16px;flex-shrink:0;max-height:160px;overflow:auto}
#quote-full-message summary{min-height:44px;cursor:pointer;padding:10px 0}
#quote-zoom-text{font:16px/1.5 var(--body);width:100%;padding:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);white-space:pre-wrap;resize:vertical}
@media(max-width:600px){.quote-zoom{width:100vw;height:100dvh;margin:0;inset:0;padding:14px}.quote-zoom[open]{gap:8px}.quote-zoom-header{display:block}.quote-zoom-header h2{font-size:24px}.quote-zoom-header button{padding-left:0}.quote-zoom-toolbar{gap:6px}.quote-zoom-toolbar button{font-size:15px;padding:8px 10px}#quote-zoom-help{font-size:14px}.quote-zoom-caption{font-size:13px}#quote-full-message{max-height:135px}}
