.fptf-co,.fptf-co *{box-sizing:border-box}.fptf-co{--ink:#2a2019;--muted:#71665d;--line:#dfd4c8;--warm:#faf5ee;--gold:#a77848;margin:36px 0 28px;border:1px solid var(--line);border-radius:18px;background:#fffaf4;color:var(--ink);overflow:hidden;font-family:inherit}.fptf-co-heading{padding:32px clamp(22px,4vw,42px);background:linear-gradient(120deg,#efe2d3,#fff9f1)}.fptf-co-heading>span{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.14em}.fptf-co-heading h2{margin:8px 0!important;font-family:Georgia,serif;font-size:clamp(28px,4vw,40px)!important}.fptf-co-heading p,.fptf-co-step p{margin:0;color:var(--muted);font-size:14px}.fptf-co-step{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:30px clamp(22px,4vw,42px);border-top:1px solid var(--line)}.fptf-co-step-number{display:grid;place-items:center;width:42px;height:42px;border:1px solid #c9ad91;border-radius:50%;color:var(--gold);font:18px Georgia,serif}.fptf-co-step h3{margin:3px 0 14px!important;font-size:19px!important}.fptf-co-upload-grid,.fptf-co-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:17px}.fptf-co-upload{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:20px;border:1px dashed #bea58e;border-radius:12px;background:#fff;cursor:pointer}.fptf-co-upload>span{padding:8px 13px;border-radius:6px;background:var(--ink);color:#fff;font-size:12px;font-weight:700}.fptf-co-upload input{position:absolute;opacity:0;pointer-events:none}.fptf-co-upload em{font-size:11px;color:var(--muted);font-style:normal;overflow-wrap:anywhere}.fptf-co-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fptf-co-choice{position:relative;cursor:pointer}.fptf-co-choice input{position:absolute;opacity:0}.fptf-co-choice span{display:flex;flex-direction:column;min-height:74px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff;transition:.2s}.fptf-co-choice small{margin-top:4px;color:var(--muted);font-size:10px}.fptf-co-choice input:checked+span{border-color:var(--gold);background:#f5e9dc;box-shadow:0 0 0 2px rgba(167,120,72,.12)}.fptf-co-fields label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700}.fptf-co-fields input,.fptf-co-fields textarea{width:100%;border:1px solid var(--line)!important;border-radius:8px!important;background:#fff!important}.fptf-co-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;padding:28px clamp(22px,4vw,42px);background:#2f241d;color:#fff}.fptf-co-summary span,.fptf-co-summary small{display:block;color:#e7d6c5}.fptf-co-summary strong{display:block;margin:3px 0;font-size:26px}.fptf-co-status{padding:12px;border:1px solid rgba(255,255,255,.22);border-radius:8px;font-size:12px;color:#f1dfcd}@media(max-width:700px){.fptf-co-step{grid-template-columns:1fr}.fptf-co-upload-grid,.fptf-co-fields,.fptf-co-summary{grid-template-columns:1fr}.fptf-co-choices{grid-template-columns:1fr 1fr}}@media(max-width:420px){.fptf-co-choices{grid-template-columns:1fr}}
.fptf-co-human-note{display:grid;gap:6px;padding:18px clamp(22px,4vw,42px);border-top:1px solid var(--line);font-size:13px}.fptf-co-human-note span{color:var(--muted);line-height:1.6}.fptf-co-paid-upload{max-width:900px;margin:28px auto}.fptf-co-upload-result{margin:20px clamp(22px,4vw,42px);padding:14px;border:1px solid #b8d4bc;border-radius:8px;background:#f2faf3;color:#24582e}.fptf-co-paid-upload-form{display:flex;align-items:center;gap:18px;padding:22px clamp(22px,4vw,42px);flex-wrap:wrap}.fptf-co-paid-file{display:grid;gap:8px;flex:1 1 340px;padding:18px;border:1px dashed #bea58e;border-radius:10px;background:#fff}.fptf-co-paid-file input{font:inherit}.fptf-co-paid-file small{color:var(--muted)}@media(max-width:600px){.fptf-co-paid-upload-form{align-items:stretch;flex-direction:column}.fptf-co-paid-upload-form button{width:100%}}
/* Item-specific photo uploads on the paid order page. */
.fptf-memorial-text{grid-column:1/-1;min-width:0;margin:8px 0;padding:20px;border:1px solid #d2bfa9;border-radius:12px;background:#fff}.fptf-memorial-text legend{padding:0 7px;font-size:16px;font-weight:700;color:#3e2c20}.fptf-memorial-text legend span{margin-left:8px;font-size:11px;font-weight:400;color:#71665d}.fptf-memorial-text p{font-size:12px;line-height:1.65;margin:0 0 18px;color:#71665d}.fptf-memorial-text label+label{margin-top:16px}.fptf-memorial-text small{font-size:11px;line-height:1.5;font-weight:400;color:#71665d}.fptf-memorial-text input:focus-visible{outline:2px solid #a77848;outline-offset:2px}
.fptf-product-human #wc-stripe-express-checkout-element,.fptf-product-pet #wc-stripe-express-checkout-element,.fptf-product-duo #wc-stripe-express-checkout-element,.fptf-product-memorial #wc-stripe-express-checkout-element,.fptf-product-human .wcpay-express-checkout-wrapper,.fptf-product-pet .wcpay-express-checkout-wrapper,.fptf-product-duo .wcpay-express-checkout-wrapper,.fptf-product-memorial .wcpay-express-checkout-wrapper{display:none!important}
.fptf-preorder-photos{border:2px solid #a77848;border-radius:18px;background:#fff9f0;padding:24px;margin:16px 0 26px;color:#2a2019;box-shadow:0 7px 24px #a7784812;clear:both}.fptf-preorder-photos *{box-sizing:border-box}.fptf-preorder-heading>span{font-size:11px;letter-spacing:.12em;font-weight:800;color:#805326}.fptf-preorder-heading h2{font:clamp(27px,3vw,34px)/1.12 Georgia,serif!important;margin:12px 0!important}.fptf-preorder-heading p{font-size:14px;line-height:1.6;margin:10px 0 20px}.fptf-preorder-grid{display:grid;gap:16px}.fptf-photo-zone{text-align:center;border:2px dashed #b49370;border-radius:14px;background:white;padding:24px 16px;position:relative}.fptf-photo-zone.is-dragging,.fptf-photo-zone.has-photos{border-color:#6b825b;background:#f8fbf4}.fptf-upload-icon{color:#956632;display:flex;justify-content:center;margin-bottom:10px}.fptf-photo-zone h3{font-size:20px!important;margin:8px 0!important}.fptf-photo-zone p{font-size:13px;line-height:1.6;margin:10px 0}.fptf-photo-browse{display:none;width:100%;max-width:310px;background:#4a2d1c!important;color:white!important;padding:16px 18px!important;font-size:16px!important;border-radius:8px!important;border:0!important;font-weight:700;cursor:pointer}.fptf-upload-ready .fptf-photo-browse{display:inline-block}.fptf-photo-zone>small{display:block;font-size:12px;color:#71665d;margin:12px 0}.fptf-photo-input{max-width:100%;display:block;margin:12px auto}.fptf-upload-ready .fptf-photo-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;bottom:0;left:50%;padding:0;border:0}.fptf-upload-ready .fptf-photo-fallback{display:none}.fptf-photo-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.fptf-photo-preview{position:relative;min-width:0}.fptf-photo-preview img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.fptf-photo-preview>span{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px}.fptf-photo-remove{position:absolute;top:4px;right:4px;border:1px solid #ddd!important;padding:0!important;background:white!important;color:#402b20!important;border-radius:50%!important;width:28px;height:28px;line-height:26px!important;font-size:22px!important}.fptf-photo-limits,.fptf-photo-save-note{font-size:12px!important;line-height:1.6}.fptf-preorder-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;margin:18px 0}.fptf-preorder-consent input{margin-top:4px;flex-shrink:0}.fptf-photo-error{background:#fff0eb;color:#802d18;border:1px solid #d3a494;padding:12px;border-radius:8px;font-size:13px}.fptf-photo-error[hidden]{display:none}.fptf-photo-flow{display:flex;flex-wrap:wrap;gap:8px 14px;padding-top:16px;border-top:1px solid #dfd4c8;font-size:11px;color:#71665d}.fptf-photo-flow strong{color:#68442b}.fptf-upload-jump{display:inline-block!important;border-bottom:2px solid #a77848;padding:7px 0;margin:6px 0 12px;font-size:15px;font-weight:700;color:#68442b!important}@media(max-width:600px){.fptf-preorder-photos{padding:20px 16px}.fptf-photo-previews{grid-template-columns:repeat(2,minmax(0,1fr))}.fptf-photo-zone{padding:22px 14px}}
.fptf-co-upload-item{padding:24px;margin-top:22px;background:#fffaf4;border:1px solid #d9cbbb;border-radius:10px}
.fptf-co-upload-item h3{margin:0 0 12px;font-size:20px}.fptf-co-upload-attributes .wc-item-meta{margin:0;padding-left:18px;font-size:13px}
.fptf-co-paid-upload-form{display:grid;gap:18px}.fptf-co-paid-upload-form>label{display:grid;gap:8px;font-size:13px}
.fptf-co-paid-upload-form textarea{width:100%;padding:12px;border:1px solid #cbbcaa;border-radius:6px;min-height:100px}
.fptf-co-paid-upload-form .fptf-co-photo-consent{display:flex;align-items:flex-start;gap:10px}.fptf-co-photo-consent input{margin-top:4px}
.fptf-co-received-files{font-size:12px;color:#6e6257;overflow-wrap:anywhere}.fptf-co-upload-help{margin-top:22px;font-size:13px}.fptf-co-upload-help a{overflow-wrap:anywhere}
.fptf-co-upload-error{background:#fff0ec!important;color:#7d2d19!important}.fptf-co-paid-upload-form button{width:fit-content}
@media(max-width:600px){.fptf-co-upload-item{padding:18px}.fptf-co-paid-upload-form button{width:100%}}
