/* AI-only selectors: no effect on photo editors or paint-by-numbers. */
.pfy-ai-smart-options { font:14px/1.45 Arial,sans-serif; }
.pfy-ai-smart-options .santa-order-accept { margin:0; min-height:40px; padding:10px; font-size:14px; }
.pfy-ai-smart-options .pfy-ai-cart-plain { background:#fffaf0; color:#263b30; border:1px solid #263b30; }
.pfy-ai-smart-options button:disabled { opacity:.5; cursor:default; }
.pfy-ai-smart-link { display:grid; gap:8px; min-width:0; }
.pfy-ai-smart-link input { box-sizing:border-box; width:100%; margin-top:5px; padding:10px; border:1px solid #a89c89; font:14px Arial,sans-serif; }
.pfy-ai-smart-link p { margin:0; font-size:11px; }
.pfy-ai-smart-back { padding:8px; border:1px solid #c7bcac; background:transparent; color:#263b30; cursor:pointer; }
.pfy-ai-order-modal.santa-order-modal.is-preview .santa-order-preview-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(290px,360px); gap:24px; align-items:start; }
.pfy-ai-print-column { min-width:0; display:grid; justify-items:center; gap:12px; }
.pfy-ai-print-shell.pfy-ai-print-shell { display:block; box-sizing:border-box; position:relative; width:min(100%,calc((100dvh - 220px) * var(--pfy-print-ratio))); max-width:100%; min-width:0; height:auto!important; max-height:none; aspect-ratio:auto!important; padding:0!important; margin:0 auto; border:clamp(8px,1.4vw,18px) solid #151515; border-radius:0; background:none; line-height:0; overflow:hidden; box-shadow:0 12px 30px #17171726; }
.pfy-ai-print-shell.frame-feher { border-color:#fff; outline:1px solid #c8c0b5; }
.pfy-ai-print-shell.frame-tolgy { border-color:#b98953; }
.pfy-ai-print-shell.frame-dio { border-color:#563525; }
.pfy-ai-print-shell.frame-henger,.pfy-ai-print-shell.frame-vaszon,.pfy-ai-print-shell.frame-vaszon-tekercs { border:0!important; padding:0!important; outline:none; }
.pfy-ai-print-surface { display:block; position:relative; width:100%; overflow:hidden; }
.pfy-ai-print-shell .pfy-ai-print-surface > img { position:absolute!important; inset:0; display:block; width:100%!important; height:100%!important; max-width:none; max-height:none; aspect-ratio:auto!important; object-fit:cover!important; object-position:center; border-radius:0; margin:0; padding:0; }
.pfy-ai-crop-note { margin:0; color:#626a64; text-align:center; font:13px/1.45 Arial,sans-serif; }
.pfy-ai-order-modal .santa-order-options { min-width:0; }
.pfy-ai-order-modal .pfy-ai-next-accept { margin-top:18px; }
.pfy-ai-next-accept:disabled { opacity:.55; cursor:default; }
.pfy-ai-fullscreen .pfy-ai-print-shell { width:min(calc(100vw - 32px),calc((100dvh - 120px) * var(--pfy-print-ratio))); }
@media(max-width:700px) {
 .pfy-ai-order-modal.santa-order-modal.is-preview .santa-order-preview-layout { grid-template-columns:minmax(0,1fr); gap:22px; }
 .pfy-ai-order-modal.santa-order-modal.is-preview { width:calc(100vw - 16px); padding:16px; }
 .pfy-ai-order-modal .pfy-ai-print-shell.pfy-ai-print-shell { width:100%; }
}

/* One visible screen, including when this editor lives inside the site iframe. */
.santa-order-backdrop.pfy-ai-dialog-backdrop { box-sizing:border-box; inset:0 0 auto; width:100%; height:100dvh; padding:8px; overflow:hidden; display:block; }
.pfy-ai-dialog-backdrop .pfy-ai-order-modal.santa-order-modal.is-preview {
 box-sizing:border-box; width:100%; height:100%; min-height:0; max-height:100%; max-width:100%;
 padding:14px; display:grid; grid-template-rows:auto minmax(0,1fr); gap:12px; overflow:hidden;
 container:pfy-dialog / size;
}
.pfy-ai-order-modal .santa-order-heading { margin:0!important; padding-right:44px; }
.pfy-ai-order-modal .santa-order-heading h2 { font-size:clamp(20px,3vw,32px); line-height:1.08; margin:0 0 5px; }
.pfy-ai-order-modal .santa-order-heading p { margin:0 0 5px; font-size:10px; }
.pfy-ai-order-modal .santa-order-heading > span { font-size:12px; line-height:1.3; display:block; }
.pfy-ai-dialog-backdrop .pfy-ai-order-modal.santa-order-modal.is-preview .santa-order-preview-layout { min-width:0; min-height:0; height:100%; grid-template-columns:minmax(0,1fr) minmax(260px,340px); gap:18px; align-items:stretch; }
.pfy-ai-order-modal .pfy-ai-print-column { height:100%; min-height:0; grid-template-rows:minmax(0,1fr) auto; gap:8px; }
.pfy-ai-print-slot { display:grid; place-items:center; width:100%; height:100%; min-width:0; min-height:0; }
.pfy-ai-order-modal .pfy-ai-print-shell.pfy-ai-print-shell { flex:none; max-width:100%; margin:0; }
.pfy-ai-order-modal .santa-order-options { align-self:start; display:grid; gap:10px; }
.pfy-ai-order-modal .pfy-ai-next-accept { margin-top:0; }
.pfy-ai-order-modal .santa-order-options > p { margin:0; font:12px/1.3 Arial,sans-serif; }
.pfy-ai-order-modal .pfy-ai-crop-note { font-size:11px; line-height:1.3; }
.pfy-ai-order-modal .santa-image-enlarge-hint { font-size:10px; line-height:1.2; padding:5px 7px; right:5px; bottom:5px; }
@container pfy-dialog (max-width:560px) {
 .pfy-ai-smart-modal .santa-order-heading h2 { font-size:18px; }
 .pfy-ai-smart-modal .pfy-ai-smart-options > p { font-size:11px; line-height:1.25; }
 .pfy-ai-smart-modal .pfy-ai-smart-options .santa-order-accept { min-height:34px; padding:7px; font-size:13px; }
 .pfy-ai-smart-modal .pfy-ai-smart-back { padding:6px; }
 .pfy-ai-smart-modal .pfy-ai-smart-link { gap:5px; }
 .pfy-ai-smart-modal .pfy-ai-smart-link input { padding:8px; }
 .pfy-ai-order-modal .santa-order-preview-layout { grid-template-columns:minmax(0,1fr)!important; grid-template-rows:minmax(0,1fr) auto; gap:10px!important; }
 .pfy-ai-order-modal .santa-order-heading h2 { font-size:20px; }
 .pfy-ai-order-modal .santa-order-options { align-self:end; gap:6px; }
 .pfy-ai-order-modal .pfy-product-options.pfy-product-options { gap:6px; }
 .pfy-ai-order-modal .pfy-product-options.pfy-product-options h3 { font-size:14px; margin-bottom:3px; }
 .pfy-ai-order-modal .pfy-product-options.pfy-product-options .frame-swatch { height:18px; }
 .pfy-ai-order-modal .pfy-product-options.pfy-product-options .size-shape { height:18px; width:13px; }
 .pfy-ai-order-modal .pfy-ai-next-accept { min-height:36px; padding:8px 12px; }
}
@container pfy-dialog (max-height:500px) {
 .pfy-ai-order-modal .santa-order-heading h2 { font-size:20px; }
 .pfy-ai-order-modal .santa-order-options { gap:5px; }
 .pfy-ai-order-modal .pfy-product-options.pfy-product-options { gap:5px; }
 .pfy-ai-order-modal .pfy-product-options.pfy-product-options h3 { font-size:13px; margin-bottom:3px; }
 .pfy-ai-order-modal .pfy-product-options.pfy-product-options .frame-swatch { height:16px; }
 .pfy-ai-order-modal .pfy-product-options.pfy-product-options .size-shape { height:16px; width:12px; }
 .pfy-ai-order-modal .pfy-ai-next-accept { min-height:32px; padding:6px 12px; }
}
