.pcp-artwork{display:block!important;flex:0 0 100%;width:100%;min-width:0;border:1px solid #dfd5ec;border-radius:18px;background:#faf7ff;padding:22px;margin:0 0 22px;box-sizing:border-box;color:#292232}
.pcp-artwork legend{float:none;width:auto;padding:0 8px;font-size:1.25rem;font-weight:700;color:#614096}
.pcp-artwork label{display:block;margin:16px 0 10px;font-weight:600}
.pcp-artwork input[type=file]{display:block;width:100%;font-size:14px;background:#fff;padding:12px;border:1px solid #ddd4e9;border-radius:10px;box-sizing:border-box;margin-top:8px;color:#292232}
.pcp-artwork input::file-selector-button{background:#654391;color:#fff;border:0;border-radius:7px;padding:9px 12px;margin-right:12px;cursor:pointer}
.pcp-artwork .pcp-check{display:flex;align-items:center;gap:10px;font-size:15px}
.pcp-artwork .pcp-check input{margin:0;flex:none}
.pcp-artwork [hidden]{display:none!important}
.pcp-artwork .pcp-preview:empty{display:none}
.pcp-artwork .pcp-preview{display:flex;align-items:center;gap:14px;background:#fff;padding:12px;border-radius:10px}
.pcp-artwork .pcp-preview img{max-width:110px;height:110px;object-fit:contain;border-radius:8px}
.pcp-artwork .pcp-preview span{font-size:13px;overflow-wrap:anywhere}
.pcp-artwork .pcp-file-help{font-size:13px;line-height:1.6;margin-top:14px}
.pcp-artwork .pcp-upload-error{font-size:14px;color:#9e3030;margin:8px 0 0}
.pcp-artwork .pcp-upload-error:empty{display:none}
body.single-product form.cart:has(.pcp-artwork){flex-wrap:wrap}
.pcp-order-artwork{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
@media(max-width:480px){.pcp-artwork{padding:16px}.pcp-artwork .pcp-preview img{max-width:80px;height:80px}}
.pcp-positioner{margin-top:18px;border-top:1px solid #ddd4e9;padding-top:16px}
.pcp-side-tabs,.pcp-preview-actions,.pcp-nudge{display:flex;gap:8px;flex-wrap:wrap}
.pcp-positioner button{padding:9px 13px;border:1px solid #cbbbdc;background:#fff;color:#4f2e76;border-radius:8px;font-size:14px;cursor:pointer}
.pcp-positioner button[aria-pressed=true]{background:#654391;color:#fff;border-color:#654391}
.pcp-positioner button:disabled{opacity:.5;cursor:default}
.pcp-positioner input[type=range]{display:block;width:100%;margin:12px 0;accent-color:#654391}
.pcp-positioner .pcp-preview-quality,.pcp-drag-hint,.pcp-finished-size{font-size:13px;line-height:1.5}
.pcp-inline-canvas{display:block;width:100%;height:auto;touch-action:none;border-radius:12px;cursor:grab}
.pcp-nudge{margin-top:10px}
.pcp-personalized-preview .zoomImg,.pcp-personalized-preview .woocommerce-product-gallery__trigger{display:none!important}
.pcp-live-photo{touch-action:none;cursor:grab;user-select:none;-webkit-user-drag:none;width:100%!important;height:auto!important}
.pcp-live-photo:active,.pcp-inline-canvas:active{cursor:grabbing}

/* A dedicated preview keeps Woo zoom/slideshow/lazy-load images out of the editor. */
.pcp-preview-stage{position:relative;isolation:isolate;width:100%;background:#fbf7ef;border-radius:14px;overflow:hidden}
.pcp-preview-stage[hidden]{display:none!important}
.pcp-personalized-preview{height:auto!important;opacity:1!important}
.pcp-personalized-preview > :not(.pcp-preview-stage){display:none!important}
.pcp-preview-stage .pcp-live-canvas{display:block;width:100%!important;height:auto!important;max-width:100%;margin:0;touch-action:none;cursor:grab}
.pcp-preview-stage .pcp-live-canvas:active{cursor:grabbing}
.pcp-image-switch{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:5;display:flex;gap:4px;padding:5px;border-radius:999px;background:rgba(255,255,255,.96);border:1px solid #ddd4e9;box-shadow:0 5px 24px #30223733;white-space:nowrap}
.pcp-image-switch button{appearance:none;border:0!important;min-width:78px;min-height:42px;padding:10px 19px!important;border-radius:999px!important;background:transparent!important;color:#514263!important;font:600 15px/1.2 sans-serif!important;cursor:pointer}
.pcp-image-switch button[aria-pressed=true]{background:#654391!important;color:#fff!important}
.pcp-image-switch button:focus-visible{outline:3px solid #bd92ef;outline-offset:2px}
@media(max-width:480px){.pcp-image-switch{bottom:12px}.pcp-image-switch button{min-width:70px;padding:10px 15px!important}}

.pcp-artwork{padding:20px;background:#faf7ff}
.pcp-artwork .pcp-upload-button{position:relative;display:flex;justify-content:center;align-items:center;min-height:48px;margin:12px 0 8px;padding:12px 18px;background:#654391;color:#fff;border-radius:10px;cursor:pointer;overflow:hidden;font-size:15px}
.pcp-upload-button input[type=file]{position:absolute!important;inset:0;width:100%!important;height:100%;padding:0!important;margin:0!important;opacity:0;cursor:pointer}
.pcp-upload-button:focus-within{outline:3px solid #bd92ef;outline-offset:3px}
.pcp-artwork .pcp-preview{background:none;padding:0 2px 8px;margin:0;font-size:12px}
.pcp-artwork .pcp-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:100%;font-size:12px;color:#74677e}
.pcp-hidden-checkbox{display:none!important}
.pcp-back-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0;border:0;margin:16px 0 10px;min-width:0}
.pcp-artwork .pcp-back-choice legend{padding:0;font-size:14px;font-weight:600;margin-bottom:8px}
.pcp-artwork .pcp-back-choice label{display:flex;gap:8px;align-items:center;border:1px solid #d8cce4;border-radius:10px;background:#fff;margin:0;padding:12px;font-size:14px;cursor:pointer}
.pcp-back-choice label:has(input:checked){border-color:#654391;background:#efe7f8;box-shadow:inset 0 0 0 1px #654391}
.pcp-back-choice input{margin:0;accent-color:#654391;flex:none}
.pcp-back-choice small{display:block;color:#756781;font-size:12px;font-weight:400;margin-top:3px}
.pcp-preview-picture{position:relative}
.pcp-preview-stage .pcp-positioner{padding:12px 16px 10px;margin:0;border-top:1px solid #e4ddd4;background:#fff}
.pcp-preview-tools{display:flex;align-items:center;gap:16px}
.pcp-preview-tools label{flex:1;font-size:13px;margin:0}
.pcp-preview-tools input[type=range]{margin:8px 0 0}
.pcp-preview-tools button{padding:8px 12px;flex:none;font-size:13px}
.pcp-preview-stage .pcp-drag-hint,.pcp-preview-stage .pcp-preview-quality{font-size:12px;line-height:1.4;margin:8px 0 0;color:#756781}
.pcp-preview-quality:empty{display:none}
.pcp-artwork .pcp-file-help,.pcp-artwork .pcp-finished-size{font-size:12px;color:#756781;margin:10px 0 0;line-height:1.5}
.pcp-back-cost{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}

/* Saving notice: indeterminate progress while the standard Woo POST builds the kit. */
.pcp-saving-overlay{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:24px;background:rgba(40,30,50,.32);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.pcp-saving-card{width:min(420px,100%);text-align:center;background:#fffaf4;border-radius:24px;padding:32px 24px;box-shadow:0 24px 90px #21122f44;color:#292232}
.pcp-saving-ring{position:relative;width:260px;height:260px;max-width:100%;margin:0 auto 24px;padding:18px;box-sizing:border-box;border-radius:50%;background:#fbf7ef}
.pcp-saving-ring:before{content:"";position:absolute;inset:0;border:5px solid #e6dced;border-top-color:#654391;border-right-color:#a47bd1;border-radius:50%;animation:pcp-kit-spin 1.3s linear infinite}
.pcp-saving-ring canvas{width:100%;height:100%;object-fit:contain;border-radius:50%}
.pcp-saving-card h2{font-size:24px;margin:0 0 12px;color:#292232}
.pcp-saving-card p{font-size:15px;line-height:1.6;margin:0;color:#756781}
body.pcp-saving-kit{overflow:hidden}
@keyframes pcp-kit-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.pcp-saving-ring:before{animation:none;border-top-color:#654391;border-bottom-color:#654391}}
@media(max-width:400px){.pcp-saving-ring{width:220px;height:220px}.pcp-saving-card{padding:24px 18px}}

/* Roomier Astra / Elementor cart and checkout, with one labeled paired photo. */
body.woocommerce-cart #content .ast-container,body.woocommerce-checkout #content .ast-container{max-width:1440px;width:100%;padding-left:24px;padding-right:24px;box-sizing:border-box}
body.woocommerce-cart #primary,body.woocommerce-checkout #primary{width:100%;min-width:0}
body.woocommerce-cart .entry-content > .elementor,body.woocommerce-checkout .entry-content > .elementor{--container-max-width:1392px;--content-width:1392px}
.woocommerce-cart table.cart td.product-thumbnail:has(.pcp-cart-preview){width:190px;min-width:150px}
.woocommerce-cart table.cart td.product-thumbnail .pcp-cart-preview{width:180px!important;max-width:100%!important}
.woocommerce-cart table.cart .product-name,.woocommerce-checkout .product-name{overflow-wrap:anywhere}
.woocommerce-cart .variation,.woocommerce-checkout .variation{font-size:13px;line-height:1.5;margin-top:8px}
.woocommerce-checkout .product-name:has(.pcp-checkout-preview) img:not(.pcp-cart-preview){display:none!important}
.pcp-checkout-preview{display:block!important;margin:10px 0!important}
.pcp-checkout-preview .pcp-cart-preview{width:200px!important;max-width:100%!important}
body.woocommerce-cart .wc-block-cart-item__image img,body.woocommerce-checkout .wc-block-components-order-summary-item__image img{object-fit:contain}
@media(min-width:1000px){body.woocommerce-checkout form.checkout #customer_details{width:55%}body.woocommerce-checkout form.checkout #order_review,body.woocommerce-checkout form.checkout #order_review_heading{width:41%}}
@media(max-width:767px){body.woocommerce-cart #content .ast-container,body.woocommerce-checkout #content .ast-container{padding-left:16px;padding-right:16px}.woocommerce-cart table.cart td.product-thumbnail:has(.pcp-cart-preview){display:block!important;width:100%;text-align:left!important}.woocommerce-cart table.cart td.product-thumbnail:has(.pcp-cart-preview):before{display:none}.woocommerce-cart table.cart td.product-thumbnail .pcp-cart-preview{width:200px!important;margin:0 auto}.pcp-checkout-preview .pcp-cart-preview{width:180px!important}}

/* High-contrast confirmation after adding an item. Error notices keep Woo styling. */
body .woocommerce-message{display:block!important;position:relative!important;background:#523195!important;color:#fff!important;border:2px solid #3b216e!important;border-left:7px solid #d7f583!important;border-radius:16px!important;padding:26px 210px 26px 62px!important;margin:24px 0 30px!important;box-shadow:0 8px 24px rgba(66,35,111,.18)!important;font-size:18px!important;font-weight:600!important;line-height:1.65!important;min-height:94px;box-sizing:border-box}
body .woocommerce-message::before{color:#d7f583!important;left:24px!important;top:28px!important;font-size:22px!important}
body .woocommerce-message::after{content:"";display:block;clear:both}
body .woocommerce-message a:not(.button){color:#fff!important;text-decoration:underline!important;text-underline-offset:3px}
body .woocommerce-message .button,body .woocommerce-message a.button.wc-forward{position:absolute!important;right:24px!important;top:50%!important;transform:translateY(-50%);float:none!important;margin:0!important;background:#d7f583!important;color:#241436!important;border:2px solid #241436!important;border-radius:10px!important;padding:13px 24px!important;font-size:16px!important;font-weight:800!important;line-height:1.4!important;text-decoration:none!important;box-shadow:0 3px 0 #241436!important;white-space:nowrap}
body .woocommerce-message .button:hover,body .woocommerce-message a.button.wc-forward:hover{background:#e6ffa8!important;color:#241436!important}
body .woocommerce-message .button:focus-visible{outline:3px solid #fff!important;outline-offset:4px!important}
@media(max-width:700px){body .woocommerce-message{padding:22px 22px 86px 54px!important;font-size:16px!important;line-height:1.55!important}body .woocommerce-message::before{left:20px!important;top:24px!important;font-size:20px!important}body .woocommerce-message .button,body .woocommerce-message a.button.wc-forward{top:auto!important;bottom:20px!important;left:54px!important;right:22px!important;transform:none!important;text-align:center!important;padding:11px 18px!important}}
