.crop-preview{display:block;width:100%;height:auto;max-height:100%;object-fit:contain;background:#fff}.crop-thumb{width:100%;aspect-ratio:1;background:#f2f3f5;display:flex;align-items:center;justify-content:center;border:0;padding:6px;cursor:pointer;border-radius:12px;overflow:hidden}.crop-thumb .crop-preview{max-width:100%;max-height:100%;width:auto;height:auto}.crop-edit{background:#fff0f4;color:#e71048;border:1px solid #ffc9d6;border-radius:8px;padding:9px 4px;width:100%;font-size:12px;font-weight:700;cursor:pointer;margin:7px 0}.crop-quality{display:block;font-size:11px;line-height:1.5;margin:7px 0}.crop-quality.low{color:#a84608}.crop-quality.medium{color:#795b10}.crop-quality.good{color:#17734f}.crop-dialog{position:fixed;inset:0;margin:auto;border:1px solid #e5e7eb;border-radius:22px;padding:24px;width:calc(100% - 24px);max-width:490px;max-height:94dvh;overflow:auto;background:#fff;color:#181a21;box-shadow:0 20px 70px #0003}.crop-dialog::backdrop{background:#14192388}.crop-dialog header{display:flex;align-items:center;justify-content:space-between}.crop-dialog h2{font-size:22px;font-weight:750;margin:0}.crop-dialog p{font-size:12px;color:#697382;line-height:1.5;margin:8px 0}.crop-dialog header button{background:none;border:0;font-size:30px;padding:8px;cursor:pointer}.crop-stage{height:230px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:12px;padding:10px;margin:14px 0}.crop-stage canvas{width:auto;max-width:100%;height:100%;box-shadow:0 3px 10px #0002}.crop-orientation{display:flex;gap:8px;margin:16px 0}.crop-orientation button{border:1px solid #dce0e6;border-radius:9px;min-height:40px;padding:8px 15px;background:#fff;cursor:pointer}.crop-orientation button[aria-pressed=true]{color:#ff174f;background:#fff0f4;border-color:#ff174f}.crop-slider{display:block;font-size:12px;color:#485363;margin:13px 0}.crop-slider input{display:block;width:100%;height:28px;accent-color:#ff174f;cursor:pointer}.crop-dialog footer{display:flex;gap:10px;position:sticky;bottom:-24px;background:#fff;padding:16px 0 5px}.crop-dialog footer button{min-height:46px;border-radius:11px;padding:12px 18px;font-weight:700;cursor:pointer}.crop-cancel{border:1px solid #dce0e6;background:#fff}.crop-save{border:1px solid #ff174f;background:#ff174f;color:#fff;flex:1}.crop-warning{padding:14px;border:1px solid #f2d6ad;border-radius:12px;background:#fff9ee;color:#86450e;font-size:13px;line-height:1.5}.crop-warning label{display:flex;align-items:flex-start;gap:9px;margin-top:10px}.crop-warning input{accent-color:#ff174f;margin-top:3px}.crop-loading{font-size:13px;color:#687383}.crop-item{min-width:0}@media(max-height:740px){.crop-stage{height:160px}}@media(max-width:420px){.crop-dialog{padding:18px}.crop-dialog footer{bottom:-18px}.crop-stage{height:190px}}.crop-dialog .crop-stage{height:min(40dvh,300px);min-height:180px}.crop-dialog .crop-stage canvas{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.crop-touch{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab}.crop-touch:active{cursor:grabbing}.crop-zoom-buttons{display:flex;align-items:center;justify-content:center;gap:18px;margin:10px 0}.crop-zoom-buttons button{width:46px;height:44px;border:1px solid #e3e6eb;background:#fff;border-radius:12px;color:#ff174f;font-size:25px;cursor:pointer;touch-action:manipulation}.crop-zoom-buttons button:disabled{opacity:.35;cursor:default}.crop-zoom-buttons span{min-width:52px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}.crop-precise summary{font-size:13px;color:#667180;min-height:44px;padding:12px 0;cursor:pointer}.crop-precise[open]{padding-bottom:4px}.crop-dialog{overscroll-behavior:contain}@media(max-width:420px){.crop-dialog .crop-stage{height:min(36dvh,280px)}}.photo-loading{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;background:#f8f4f6;border:1px solid #f2dce3;border-radius:12px;padding:15px 8px;color:#b9234b}.photo-loading strong{font-size:19px}.photo-loading small{font-size:11px;line-height:1.4;color:#665762}.loading-symbol{font-size:25px}.photo-loading progress{height:7px;max-width:100%;width:110px;accent-color:#ff174f}.loading-filename{font-size:10px;color:#7c7378;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-loading.failed{background:#fff3f3;border-color:#f3c7c7}.progress-photo{position:relative;min-height:150px}.progress-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.progress-photo .photo-loading{position:absolute;inset:0;min-height:0;border-radius:inherit}.photo-ready{position:absolute;bottom:7px;left:5px;right:5px;background:#ffffffed;color:#20764e;border-radius:6px;padding:5px 3px;font-size:10px;text-align:center}.transfer-status{padding:18px;border:1px solid #ffd2df;border-radius:14px;background:#fff5f8;margin:16px 0}.transfer-status strong,.transfer-status small{display:block;line-height:1.5}.transfer-status progress{width:100%;height:9px;accent-color:#ff174f;margin:12px 0}.transfer-status small{font-size:12px;color:#737784}.queued-photos{margin-top:16px}.failed-photo button{width:100%;border:1px solid #f2dce3;background:#fff;border-radius:8px;padding:8px;color:#a52c4e;font-size:12px}.crop-stage,.crop-thumb{position:relative}.crop-preview-status{position:absolute;inset:10px;display:flex;align-items:center;justify-content:center;background:#f7f2f5ef;border-radius:10px;padding:12px;font-size:12px;line-height:1.5;color:#963455;text-align:center;pointer-events:none}.sticky-bar>.desktop-summary,.desktop-payment-note{display:none}@media(min-width:1000px){.checkout-shell{display:block;padding:32px 40px 64px;min-height:100svh}.checkout-shell .order-page{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:auto auto 1fr;gap:26px;align-items:start;width:100%;max-width:1280px;height:auto;min-height:0;overflow:visible;margin:0 auto;background:transparent;border:0;border-radius:0;box-shadow:none}.checkout-shell .order-header{grid-column:1/-1;grid-row:1;padding:17px 24px;background:#fff;border:1px solid #e8ebef;border-radius:18px;grid-template-columns:42px 1fr 42px}.checkout-shell .order-header .logo{text-align:left;margin-left:12px;font-size:30px}.checkout-shell .steps{grid-column:1/-1;grid-row:2;width:600px;max-width:100%;justify-self:center;border-bottom:0;padding:2px 24px 8px}.checkout-shell .step{font-size:13px}.checkout-shell .step b{width:30px;height:30px}.checkout-shell .step:not(:last-child):after{top:15px}.checkout-shell .order-content{grid-column:1;grid-row:3;min-width:0;padding:32px;background:#fff;border:1px solid #e8ebef;border-radius:20px;overflow:visible;min-height:500px;box-shadow:0 5px 20px #20283905}.checkout-shell .order-content h1{font-size:30px;margin-bottom:10px}.checkout-shell .lead{font-size:15px;line-height:1.65;margin-bottom:26px}.checkout-shell .dropzone{min-height:245px;border-radius:17px;background:#fcfcfd}.checkout-shell .dropzone strong{font-size:20px}.checkout-shell .dropzone span{font-size:13px}.checkout-shell .dropzone:hover{border-color:#ff174f;background:#fff9fb}.checkout-shell .photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}.checkout-shell .crop-thumb{aspect-ratio:1}.checkout-shell .crop-edit{min-height:37px}.checkout-shell .crop-quality{font-size:11px;min-height:32px}.checkout-shell .quantity{margin:8px 0}.checkout-shell .quantity button{width:30px;height:30px}.checkout-shell .format-options{max-width:540px;gap:16px;margin:24px 0}.checkout-shell .format-options button{min-height:86px;padding-top:18px}.checkout-shell .format-options strong{font-size:15px}.checkout-shell .format-options span{font-size:13px}.checkout-shell .sticky-bar{grid-column:2;grid-row:3;position:sticky;inset:24px auto auto;align-self:start;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:26px;background:#fff;border:1px solid #e8ebef;border-radius:20px;backdrop-filter:none;box-shadow:0 5px 20px #20283905;z-index:2}.checkout-shell .sticky-bar>.desktop-summary{display:block;flex:initial}.checkout-shell .sticky-bar>.mobile-order-total{display:none}.checkout-shell .sticky-bar .primary-button{width:100%;min-height:54px;margin-top:22px}.checkout-shell .desktop-summary .desktop-kicker{font-size:9px;letter-spacing:1px;color:#ff174f;font-weight:750;line-height:1.7}.checkout-shell .desktop-summary h2{font-size:22px;letter-spacing:-.5px;margin:12px 0}.desktop-photo-count{font-size:13px;color:#707986;margin:0 0 20px}.desktop-empty{font-size:14px;line-height:1.7;color:#737b87;margin:16px 0 24px}.checkout-shell .desktop-summary .price-summary{margin:20px 0 0;border:0;padding:0}.checkout-shell .desktop-summary .price-summary>div{font-size:13px;gap:12px;margin-bottom:16px}.checkout-shell .desktop-summary .price-summary span{font-size:13px;line-height:1.5;margin:0}.checkout-shell .desktop-summary .price-summary .total{font-size:22px;margin-top:20px;padding-top:20px}.desktop-hints{border-top:1px solid #edf0f4;padding-top:16px;margin-top:22px}.desktop-hints p{font-size:11px;color:#747d89;line-height:1.7;margin:6px 0}.checkout-shell .form-grid{max-width:580px;gap:20px 18px;margin-top:28px}.checkout-shell .field span{font-size:13px;margin-bottom:8px}.checkout-shell .field input{height:48px;font-size:15px;padding:0 14px}.checkout-shell .terms{max-width:580px;font-size:13px;line-height:1.6;gap:11px;margin-top:22px}.checkout-shell .terms input{flex-shrink:0;margin-top:3px}.checkout-shell .payment-list{max-width:580px;gap:15px;margin-top:28px}.checkout-shell .payment-list button{height:74px;padding:0 22px}.checkout-shell .payment-list strong{font-size:16px}.checkout-shell .order-content>.price-summary{display:none}.checkout-shell .secure{justify-content:flex-start;margin:22px 0;font-size:12px}.checkout-shell .desktop-payment-note{display:block;margin-top:14px;color:#818895;font-size:11px;line-height:1.6;text-align:center}.checkout-shell .transfer-status{max-width:580px}.checkout-shell .crop-note{font-size:13px;line-height:1.6}.checkout-shell .error-box{font-size:14px;padding:15px}}@media(min-width:1380px){.checkout-shell .photo-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.checkout-shell .order-page{grid-template-columns:minmax(0,1fr) 340px;gap:30px}}
