/* Small, finite responses share the site's existing quiet material. */
body #app :is(.btn,.home-button,.home-link):not(:disabled):not([aria-disabled="true"]),
body #modal :is(.btn,.home-button,.home-link):not(:disabled):not([aria-disabled="true"]) {
  scale:1;
  transition:scale 180ms cubic-bezier(.16,1,.3,1),color .25s .08s,border-color .35s,background-color .25s;
}
body #app :is(.btn,.home-button,.home-link):active:not(:disabled):not([aria-disabled="true"]),
body #modal :is(.btn,.home-button,.home-link):active:not(:disabled):not([aria-disabled="true"]) { scale:.98; transform:none; }
.custom-service-choice,.language-options button,.mobile-toggle { scale:1; transition:scale 180ms cubic-bezier(.16,1,.3,1),background-color 180ms,color 180ms,border-color 180ms; }
.custom-service-choice:active,.language-options button:active,.mobile-toggle:active { scale:.985; }
.custom-service-dot { transform-box:fill-box; transform-origin:center; scale:.65; transition:opacity 180ms,scale 260ms cubic-bezier(.16,1,.3,1); }
[aria-checked="true"] .custom-service-dot { scale:1; }
.pack-collection-pack::before { transform:translateX(-50%) scale(.65); transition:opacity 180ms,transform 260ms cubic-bezier(.16,1,.3,1); }
.pack-collection-pack[aria-selected="true"]::before { transform:translateX(-50%) scale(1); }
.is-disclosure-animating { overflow:clip; }
.pack-purchase-details.is-closing > summary > svg,.workflow-technical.is-closing > summary svg { transform:rotate(0); }
.shop-cart-count { display:inline-block; }
.toast { border:1px solid #3a3036; border-radius:12px; background:#211b20; box-shadow:0 12px 32px #0005; color:var(--text); }
.image-preview { position:relative; display:block; flex:none; width:100%; margin:0; padding:0; border:0; border-radius:12px; background:transparent; overflow:hidden; line-height:0; cursor:zoom-in; }
.home-lora-proof-photo .image-preview { height:100%; border-radius:inherit; }
.image-preview img { transition:transform 520ms cubic-bezier(.16,1,.3,1); }
.image-preview-mark { position:absolute; right:12px; bottom:12px; display:grid; place-items:center; width:32px; height:32px; border:1px solid #ffffff30; border-radius:50%; background:#0009; color:#f0eee9; opacity:.7; transition:opacity 180ms; pointer-events:none; }
.image-preview-mark svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
@media(hover:hover) and (pointer:fine) {
  body .image-preview:hover img { transform:scale(1.018); }
  .image-preview:hover .image-preview-mark { opacity:1; }
}
.image-preview:focus-visible .image-preview-mark { opacity:1; }
#modal.is-image-viewer { width:min(1180px,calc(100% - 40px)); }
#modal.is-image-viewer .modal-body { padding:52px 24px 24px; }
#modal .modal-close { width:44px; height:44px; top:10px; right:10px; }
.image-viewer { display:flex; flex-direction:column; max-height:calc(100dvh / var(--site-scale) - 144px); margin:0; }
.image-viewer img { display:block; flex:1 1 auto; min-height:0; width:100%; height:auto; object-fit:contain; border-radius:8px; }
.image-viewer figcaption { flex:none; margin-top:16px; color:var(--muted); font-size:14px; line-height:1.5; text-align:center; }
@media(max-width:480px) {
  #modal.is-image-viewer { width:calc(100% - 24px); }
  #modal.is-image-viewer .modal-body { padding:48px 12px 16px; }
}
@media(prefers-reduced-motion:reduce) {
  body #app :is(.btn,.home-button,.home-link),body #modal :is(.btn,.home-button,.home-link),
  .custom-service-choice,.language-options button,.mobile-toggle,.custom-service-dot,.pack-collection-pack::before,.image-preview img,.image-preview-mark { transition:none; }
  body #app :is(.btn,.home-button,.home-link):active,body #modal :is(.btn,.home-button,.home-link):active,
  .custom-service-choice:active,.language-options button:active,.mobile-toggle:active { scale:1; }
  body .image-preview:hover img { transform:none; }
}
