/* 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; }
}

/* Physical canvas shape and visible surrounding area for paint-by-number. */
.pfy-ai-print-slot.pfy-paint-print-slot{position:relative;box-sizing:border-box;padding:38px 56px 20px 20px;background:#e7f3f8;border:1px solid #b6d5e1;border-radius:4px}
.pfy-paint-print-slot .pfy-paint-canvas-outline.pfy-ai-print-shell{aspect-ratio:var(--pfy-print-ratio)!important;height:auto!important;outline:2px solid #26352b!important;outline-offset:2px;box-shadow:0 8px 24px #17171722}
.pfy-paint-print-slot .pfy-paint-canvas-outline .pfy-ai-print-surface{aspect-ratio:var(--pfy-print-ratio)!important}
.pfy-paint-measure-width,.pfy-paint-measure-height{position:absolute;color:#26352b;font:700 13px/1 Arial,sans-serif;letter-spacing:.02em;pointer-events:none}
.pfy-paint-measure-width{top:10px;left:20px;right:56px;text-align:center;border-bottom:1px solid #26352b;padding-bottom:5px}
.pfy-paint-measure-height{top:38px;right:12px;bottom:20px;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;border-left:1px solid #26352b;padding-left:5px}

.pfy-paint-zoom-trigger.pfy-ai-print-shell{cursor:zoom-in;text-align:initial;color:inherit;font:inherit}
.pfy-paint-zoom-trigger .pfy-paint-zoom-hint{position:absolute;right:7px;bottom:7px;padding:6px 9px;background:#26352bdc;color:white;font:700 12px/1 Arial,sans-serif;line-height:1.2;pointer-events:none}
.pfy-paint-zoom-trigger:focus-visible{outline:3px solid #1263a2!important;outline-offset:3px}

.pfy-product-options.pfy-product-options{width:100%;display:grid;gap:12px;color:#26352b}
.pfy-product-options.pfy-product-options .customizer-row{display:block;margin:0;padding:0;border:0}
.pfy-product-options.pfy-product-options h3{margin:0 0 7px;font:700 16px/1.1 Georgia,serif}
.pfy-product-options.pfy-product-options .frame-options{display:grid;gap:7px}
.pfy-product-options.pfy-product-options .pfy-paper-options{grid-template-columns:repeat(5,minmax(0,1fr))}
.pfy-product-options.pfy-product-options .pfy-canvas-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.pfy-product-options.pfy-product-options .size-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.pfy-product-options.pfy-product-options button{min-width:0;min-height:0;padding:5px;border:1px solid #26352b38;border-radius:0;background:#fffdf7;color:#26352b;display:grid;justify-items:center;gap:5px;font:9px/1.2 Arial,sans-serif;cursor:pointer}
.pfy-product-options.pfy-product-options button.selected{border:2px solid #98483e;padding:4px;box-shadow:0 0 0 2px #98483e1f}
.pfy-product-options.pfy-product-options button:disabled{opacity:.35;cursor:not-allowed}
.pfy-product-options.pfy-product-options .frame-swatch{display:block;width:100%;height:28px;border:1px solid #0003}
.pfy-product-options .swatch-fekete{background:#121212}.pfy-product-options .swatch-feher{background:white}.pfy-product-options .swatch-tolgy{background:#b58a54}.pfy-product-options .swatch-dio{background:#5a3727}
.pfy-product-options .swatch-henger{border-radius:14px;background:linear-gradient(90deg,#cfae75,#f5e4bd 28%,#b88a4f 29% 36%,#fbf4e6 37% 87%,#d0a75f 88%)}
.pfy-product-options .swatch-vaszon{background:#fffdf6;box-shadow:inset 0 0 0 4px #b58a54}.pfy-product-options .swatch-vaszon-tekercs{background:#fffdf6}
.pfy-product-options.pfy-product-options .size-shape{display:block;width:21px;height:28px;border:2px solid #26352b;background:#edf0e9}
.pfy-product-options.pfy-product-options .swatch-vaszon{box-shadow:none;background:#fffdf6}
.frame-vaszon.frame-vaszon,.frame-vaszon-tekercs.frame-vaszon-tekercs{border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;background:transparent!important}
.anniv-live-preview:has(>.frame-vaszon),.anniv-live-preview:has(>.frame-vaszon-tekercs){padding:0!important;min-height:0!important;background:transparent!important}
.frame-vaszon::before,.frame-vaszon::after,.frame-vaszon-tekercs::before,.frame-vaszon-tekercs::after{display:none!important}
.christmas-photo-preview.frame-fekete{background:#121212}.christmas-photo-preview.frame-feher{background:white}.christmas-photo-preview.frame-tolgy{background:#b58a54}.christmas-photo-preview.frame-dio{background:#5a3727}
.christmas-photo-preview.frame-henger{padding:0;border:0;background:transparent;box-shadow:none}
.paint-previews>.pfy-product-options{grid-column:1/-1}
.paint-canvas-wrap.frame-fekete{border:12px solid #121212}.paint-canvas-wrap.frame-feher{border:12px solid white}.paint-canvas-wrap.frame-tolgy{border:12px solid #b58a54}.paint-canvas-wrap.frame-dio{border:12px solid #5a3727}

.pfy-product-price.pfy-product-price{display:block;text-align:center;color:#26352b;font:700 22px/1.3 Arial,sans-serif;margin:0 0 14px;padding:7px 12px;white-space:nowrap;grid-column:1/-1}
.pfy-price-breakdown{display:grid;gap:9px;margin:20px 0}
.pfy-price-breakdown>div{display:flex;justify-content:space-between;gap:18px}
.pfy-price-breakdown dt,.pfy-price-breakdown dd{margin:0}
.pfy-price-total{font-size:20px;font-weight:700;border-top:1px solid #c9bca7;padding-top:12px}
.pfy-digital-option.pfy-digital-option{display:flex;align-items:center;gap:10px;margin:12px 0;font:400 14px/1.4 Arial,sans-serif;cursor:pointer}
.pfy-digital-option input{width:18px;height:18px;margin:0;flex:none}
.pfy-cart-line-price{display:block;text-align:right;font-weight:700;margin:10px 0}

.pfy-product-options>.pfy-product-price{margin:6px 0 0}
.pfy-smart-price.pfy-smart-price{width:100%;box-sizing:border-box;padding:14px 0 0;margin:8px 0 12px;text-align:left}
.pfy-smart-price dd{white-space:nowrap}
@media(max-width:600px){.pfy-product-price.pfy-product-price{max-width:100%;white-space:normal}}
