/* FestiCreArte · Pedido a medida — wizard in four steps with a live summary.
   Style of festicrearte.com: cream and blush pink, Playfair Display titles, DM Sans text, charcoal pill buttons,
   periwinkle accents and floating glass spheres. Every rule is scoped to .fcp so the theme is not affected. */
.fcp{
  --cream:#F8F5F0;--pink:#EAC4D5;--pink-soft:#F6E3EC;--pink-deep:#C9789E;--blue:#718BBC;--blue-deep:#4F6699;
  --ink:#252934;--ink-2:#3A3F4F;--muted:#6A6470;--line:rgba(37,41,52,.12);--glass:rgba(255,255,255,.72);
  --shadow:0 24px 60px -24px rgba(79,102,153,.35),0 8px 24px -12px rgba(37,41,52,.18);
  --ease:cubic-bezier(.22,1,.36,1);
  /* clip (not hidden) keeps the spheres inside without breaking the sticky summary */
  position:relative;isolation:isolate;overflow:hidden;overflow:clip;
  font-family:"DM Sans",Arial,sans-serif;color:var(--ink);line-height:1.5;
  padding:48px 28px 56px;border-radius:32px;margin:12px auto 40px;max-width:1180px;
  background:radial-gradient(1200px 600px at 10% -10%,#F3D3E1 0%,transparent 60%),radial-gradient(900px 600px at 110% 20%,#DCE3F3 0%,transparent 55%),linear-gradient(180deg,#F7E6EE 0%,var(--cream) 55%);
}
.fcp *,.fcp *::before,.fcp *::after{box-sizing:border-box}
/* The wizard has its own header: the theme's page title (Blocksy hero) is hidden on this page only. */
body.fcp-page .hero-section{display:none}
.fcp [hidden]{display:none!important}
.fcp button{font:inherit;text-transform:none;letter-spacing:normal;box-shadow:none;margin:0}
.fcp em{font-style:italic}

/* Floating glass spheres (background) */
.fcp-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.fcp-orb{position:absolute;border-radius:50%;background:radial-gradient(circle at 30% 28%,#fff 0%,rgba(255,255,255,.85) 12%,rgba(214,222,240,.75) 45%,rgba(113,139,188,.55) 78%,rgba(79,102,153,.6) 100%);
  box-shadow:inset -12px -18px 40px rgba(79,102,153,.35),0 30px 60px -20px rgba(79,102,153,.45);animation:fcp-float 9s var(--ease) infinite alternate}
.fcp-orb.o1{width:150px;height:150px;top:-30px;right:6%;animation-duration:10s}
.fcp-orb.o2{width:70px;height:70px;top:42%;left:-18px;background:radial-gradient(circle at 30% 28%,#fff 0%,#F9E4EE 30%,#E7B6CC 75%,#C9789E 100%);animation-duration:7s}
.fcp-orb.o3{width:260px;height:260px;bottom:-120px;right:-80px;opacity:.55;filter:blur(1px);animation-duration:13s}
@keyframes fcp-float{0%{transform:translate3d(0,0,0) rotate(0)}100%{transform:translate3d(-12px,22px,0) rotate(8deg)}}

/* Header */
.fcp-head{max-width:680px;margin-bottom:26px;animation:fcp-rise .8s var(--ease) both}
.fcp-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--blue-deep)}
.fcp-eyebrow::before{content:"";width:30px;height:1px;background:currentColor}
.fcp-title{font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:clamp(32px,4.6vw,52px);line-height:1.05;margin:12px 0 12px;color:var(--ink)}
.fcp-title em{background:linear-gradient(90deg,var(--blue) 0%,var(--blue-deep) 50%,var(--pink-deep) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.fcp-lead{color:var(--muted);font-size:16px;margin:0 0 16px;max-width:560px}
.fcp-badges{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.fcp-badges li{font-size:12px;font-weight:600;padding:7px 14px;border-radius:999px;background:var(--glass);border:1px solid rgba(255,255,255,.9);backdrop-filter:blur(8px);box-shadow:0 6px 18px -10px rgba(79,102,153,.4)}

.fcp-error{position:relative;background:#FFF0F5;border:1px solid var(--pink-deep);color:#7A2448;border-radius:16px;padding:12px 16px;margin:0 0 18px;font-size:14px;animation:fcp-shake .5s var(--ease)}

/* Steps */
.fcp-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}
.fcp-stepbtn{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(10px);color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;text-align:left;transition:transform .3s var(--ease),border-color .3s,background .3s,color .3s,box-shadow .3s}
.fcp-stepbtn:disabled{cursor:default;opacity:.75}
.fcp-stepnum{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--ink);flex:none;transition:all .3s var(--ease)}
.fcp-stepbtn.is-active{color:var(--ink);border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(113,139,188,.18),var(--shadow);transform:translateY(-2px)}
.fcp-stepbtn.is-active .fcp-stepnum{background:var(--ink);color:#fff;border-color:var(--ink)}
.fcp-stepbtn.is-done{color:var(--ink)}
.fcp-stepbtn.is-done .fcp-stepnum{background:var(--pink);border-color:var(--pink);color:var(--ink)}
.fcp-progress{grid-column:1/-1;height:4px;border-radius:999px;background:rgba(37,41,52,.08);overflow:hidden}
.fcp-progress i{display:block;height:100%;width:25%;border-radius:inherit;background:linear-gradient(90deg,var(--pink-deep),var(--blue),var(--blue-deep));transition:width .6s var(--ease)}

/* Layout */
.fcp-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}
.fcp-form{margin:0;perspective:1400px}
.fcp-panel{background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.9);border-radius:28px;padding:28px;box-shadow:var(--shadow);transform-origin:50% 0}
.fcp-panel.is-entering{animation:fcp-enter .55s var(--ease) both}
.fcp-panel.is-entering.from-left{animation-name:fcp-enter-back}
@keyframes fcp-enter{from{opacity:0;transform:translate3d(36px,0,0) rotateY(-6deg)}to{opacity:1;transform:none}}
@keyframes fcp-enter-back{from{opacity:0;transform:translate3d(-36px,0,0) rotateY(6deg)}to{opacity:1;transform:none}}
@keyframes fcp-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes fcp-shake{0%,100%{transform:none}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.fcp-h{font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:26px;margin:0 0 4px;color:var(--ink)}
.fcp-sub{color:var(--muted);font-size:14px;margin:0 0 20px}
.fcp-label{display:block;font-size:13px;font-weight:700;color:var(--ink-2);margin-bottom:8px}
.fcp-label em{font-weight:500;color:var(--muted);font-size:12px;margin-left:4px}

/* Step 1: product cards with 3D tilt */
.fcp-kinds{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;perspective:900px}
.fcp-kind{position:relative;display:block;cursor:pointer;--rx:0deg;--ry:0deg}
.fcp-kind input{position:absolute;opacity:0;pointer-events:none}
.fcp-kind-card{position:relative;display:flex;flex-direction:column;gap:6px;height:100%;padding:20px;border-radius:22px;background:linear-gradient(160deg,#fff 0%,#FBF4F7 100%);border:1px solid var(--line);
  transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .25s var(--ease),box-shadow .35s var(--ease),background .35s,border-color .35s,color .35s;box-shadow:0 10px 30px -18px rgba(37,41,52,.35)}
.fcp-kind:hover .fcp-kind-card{box-shadow:var(--shadow);border-color:rgba(113,139,188,.45)}
.fcp-kind-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;margin-bottom:6px;color:var(--blue-deep);background:linear-gradient(145deg,#fff,var(--pink-soft));box-shadow:0 12px 24px -12px rgba(79,102,153,.5),inset 0 1px 0 #fff;transform:translateZ(40px);transition:transform .35s var(--ease)}
.fcp-kind-icon svg{width:32px;height:32px}
.fcp-kind:hover .fcp-kind-icon{transform:translateZ(60px) rotate(-6deg) scale(1.06)}
.fcp-kind-card b{font-family:"Playfair Display",Georgia,serif;font-size:20px;font-weight:600;transform:translateZ(24px)}
.fcp-kind-card small{color:var(--muted);font-size:13px;line-height:1.4;transform:translateZ(16px)}
.fcp-kind-foot{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:auto;padding-top:12px;transform:translateZ(20px)}
.fcp-price{font-size:16px;font-weight:700;color:var(--ink);white-space:nowrap}
.fcp-tag{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-deep)}
.fcp-check{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--pink);color:var(--ink);transform:translateZ(50px) scale(0);transition:transform .4s var(--ease)}
.fcp-check svg{width:16px;height:16px}
.fcp-kind input:checked + .fcp-kind-card{background:linear-gradient(160deg,var(--ink) 0%,#363B4D 100%);color:#fff;border-color:var(--ink);box-shadow:0 28px 50px -24px rgba(37,41,52,.65)}
.fcp-kind input:checked + .fcp-kind-card small,.fcp-kind input:checked + .fcp-kind-card .fcp-price{color:#F1ECE6}
.fcp-kind input:checked + .fcp-kind-card .fcp-tag{color:var(--pink)}
.fcp-kind input:checked + .fcp-kind-card .fcp-kind-icon{background:linear-gradient(145deg,var(--pink),#F7DCE8);color:var(--ink)}
.fcp-kind input:checked + .fcp-kind-card .fcp-check{transform:translateZ(50px) scale(1)}
.fcp-kind input:focus-visible + .fcp-kind-card{outline:3px solid var(--blue);outline-offset:3px}
.fcp-rule{display:flex;gap:10px;align-items:flex-start;margin:16px 0 0;padding:12px 16px;border-radius:16px;background:linear-gradient(90deg,#FFF3F8,#EEF2FB);border:1px solid rgba(201,120,158,.35);font-size:14px;animation:fcp-rise .45s var(--ease) both}
.fcp-rule::before{content:"✦";color:var(--pink-deep)}

/* Steppers (sizes and quantity) */
.fcp-block{margin-bottom:18px}
.fcp-sizes{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.fcp-size{text-align:center;padding:12px 8px;border-radius:18px;background:#fff;border:1px solid var(--line);transition:border-color .3s,box-shadow .3s}
.fcp-size.has-units{border-color:var(--blue);box-shadow:0 0 0 3px rgba(113,139,188,.15)}
.fcp-size b{display:block;font-size:16px;margin-bottom:8px}
.fcp-stepper{display:flex;align-items:center;justify-content:center;gap:4px}
.fcp .fcp-stepper button{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--cream);color:var(--ink);font-size:16px;font-weight:700;line-height:1;cursor:pointer;padding:0;transition:transform .2s var(--ease),background .2s}
.fcp .fcp-stepper button:hover{background:var(--pink);transform:scale(1.1)}
.fcp .fcp-stepper button:active{transform:scale(.92)}
.fcp .fcp-stepper input{width:44px;text-align:center;border:0;background:transparent;font-size:16px;font-weight:700;color:var(--ink);padding:0;-moz-appearance:textfield;appearance:textfield;box-shadow:none}
.fcp .fcp-stepper input::-webkit-outer-spin-button,.fcp .fcp-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.fcp-stepper-lg{justify-content:flex-start;gap:10px}
.fcp .fcp-stepper-lg button{width:42px;height:42px;font-size:20px}
.fcp .fcp-stepper-lg input{font-size:22px;width:70px}

/* Fields */
.fcp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.fcp-wide{grid-column:1/-1}
.fcp-field{display:block;margin-bottom:14px}
.fcp-grid .fcp-field{margin-bottom:0}
.fcp .fcp-field input,.fcp .fcp-field textarea{display:block;width:100%;border:1px solid var(--line);border-radius:16px;padding:13px 16px;font:inherit;font-size:15px;color:var(--ink);background:#fff;box-shadow:inset 0 1px 2px rgba(37,41,52,.04);transition:border-color .25s,box-shadow .25s}
.fcp .fcp-field textarea{resize:vertical;min-height:110px}
.fcp .fcp-field input:focus,.fcp .fcp-field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(113,139,188,.2)}
.fcp .fcp-field.is-invalid input{border-color:var(--pink-deep);box-shadow:0 0 0 4px rgba(201,120,158,.18);animation:fcp-shake .4s var(--ease)}

/* Upload drop zones */
.fcp-uploads{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:4px}
.fcp-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:170px;padding:20px;text-align:center;border-radius:22px;border:2px dashed rgba(201,120,158,.55);background:linear-gradient(160deg,#FFF6FA,#F3F5FC);cursor:pointer;overflow:hidden;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.fcp-drop:hover,.fcp-drop.is-over{transform:translateY(-3px);border-color:var(--blue);box-shadow:var(--shadow)}
.fcp-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.fcp-drop-art{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#fff;color:var(--blue-deep);box-shadow:0 10px 20px -12px rgba(79,102,153,.6);margin-bottom:6px}
.fcp-drop-art svg{width:28px;height:28px}
.fcp-drop b{font-size:15px}
.fcp-drop b em{font-weight:500;color:var(--muted);font-size:12px}
.fcp-drop small{color:var(--muted);font-size:12.5px}
.fcp-drop-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:20px;animation:fcp-rise .4s var(--ease)}
.fcp-drop.has-file::after{content:attr(data-filename);position:absolute;left:10px;right:10px;bottom:10px;padding:6px 10px;border-radius:999px;background:rgba(37,41,52,.82);color:#fff;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcp-drop.is-invalid{border-color:var(--pink-deep);animation:fcp-shake .4s var(--ease)}

/* Step 3: delivery chips */
.fcp-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.fcp-chip{position:relative;cursor:pointer}
.fcp-chip input{position:absolute;opacity:0;pointer-events:none}
.fcp-chip span{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:14px;transition:all .3s var(--ease)}
.fcp-chip:hover span{transform:translateY(-2px);box-shadow:0 10px 20px -12px rgba(37,41,52,.4)}
.fcp-chip input:checked + span{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 14px 26px -14px rgba(37,41,52,.7)}
.fcp-chip input:disabled + span{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.fcp-chip input:focus-visible + span{outline:3px solid var(--blue);outline-offset:2px}
.fcp-note{padding:12px 16px;border-radius:16px;background:#fff;border:1px solid var(--line);font-size:14px;color:var(--ink-2)}

/* Step 4: review */
.fcp-review{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:0 0 18px;padding:18px 20px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.fcp-review dt{font-size:13px;font-weight:700;color:var(--muted)}
.fcp-review dd{margin:0;font-size:14px;color:var(--ink);word-break:break-word}
/* Secure payment note (step 4) */
.fcp-secure{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:18px;background:linear-gradient(160deg,#fff,#EEF2FB);border:1px solid var(--line)}
.fcp-secure-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;flex:none;background:var(--ink);color:#fff;box-shadow:0 12px 24px -14px rgba(37,41,52,.8)}
.fcp-secure-icon svg{width:22px;height:22px}
.fcp-secure b{display:block;font-size:16px;margin-bottom:2px}
.fcp-secure small{display:block;color:var(--muted);font-size:13px;line-height:1.45}

/* Step 2: live preview next to the product's own options */
.fcp-design{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:20px;align-items:start;margin-bottom:20px}
.fcp-stage{position:sticky;top:20px;aspect-ratio:1;border-radius:24px;overflow:hidden;
  background:radial-gradient(circle at 50% 38%,#fff 0%,#FBF1F6 45%,#EEF0F9 100%);border:1px solid rgba(255,255,255,.95);box-shadow:inset 0 -30px 60px -40px rgba(79,102,153,.35),var(--shadow)}
.fcp-stage::after{content:"";position:absolute;left:18%;right:18%;bottom:7%;height:8%;border-radius:50%;background:radial-gradient(closest-side,rgba(79,102,153,.25),transparent);pointer-events:none}
.fcp-stage-svg{position:relative;z-index:1;width:100%;height:100%;display:block}
.fcp-stage-svg [data-scene]{transform-origin:50% 50%;transition:opacity .3s}
.fcp-stage.is-pop .fcp-stage-svg{animation:fcp-stage-pop .6s var(--ease)}
@keyframes fcp-stage-pop{0%{transform:scale(.86) rotate(-3deg);opacity:0}100%{transform:none;opacity:1}}
.fcp-stage-tag{position:absolute;left:12px;right:12px;bottom:10px;z-index:2;text-align:center;font-size:11.5px;font-weight:700;color:var(--ink-2);background:rgba(255,255,255,.85);backdrop-filter:blur(6px);border-radius:999px;padding:6px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcp-design-opts{min-width:0}
.fcp-opt{margin-bottom:14px}
.fcp-choicechips{display:flex;flex-wrap:wrap;gap:8px}
.fcp-chip-sm span{padding:9px 15px;font-size:13px}
.fcp-swatches{display:flex;flex-wrap:wrap;gap:10px}
.fcp-sw{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;width:58px}
.fcp-sw input{position:absolute;opacity:0;pointer-events:none}
.fcp-sw-dot{width:38px;height:38px;border-radius:50%;background:var(--sw);border:1px solid rgba(37,41,52,.18);box-shadow:inset 0 -6px 10px rgba(0,0,0,.08),0 6px 14px -8px rgba(37,41,52,.5);transition:transform .25s var(--ease),box-shadow .25s}
.fcp-sw em{font-style:normal;font-size:11px;color:var(--muted);text-align:center;line-height:1.2}
.fcp-sw:hover .fcp-sw-dot{transform:translateY(-2px) scale(1.06)}
.fcp-sw input:checked + .fcp-sw-dot{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink),0 10px 18px -8px rgba(37,41,52,.6);transform:scale(1.08)}
.fcp-sw input:checked ~ em{color:var(--ink);font-weight:700}
.fcp-sw input:focus-visible + .fcp-sw-dot{outline:3px solid var(--blue);outline-offset:4px}
.fcp .fcp-opt-text{display:block;width:100%;max-width:220px;border:1px solid var(--line);border-radius:14px;padding:11px 14px;font:inherit;font-size:16px;font-weight:700;color:var(--ink);background:#fff}
.fcp .fcp-opt-text:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(113,139,188,.2)}
.fcp .fcp-opt-text.is-invalid{border-color:var(--pink-deep);box-shadow:0 0 0 4px rgba(201,120,158,.18);animation:fcp-shake .4s var(--ease)}

/* Buttons */
.fcp-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.fcp .fcp-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s,background .3s,color .3s}
.fcp .fcp-btn-primary{background:var(--ink);color:#fff;border:0;box-shadow:0 16px 30px -14px rgba(37,41,52,.75)}
.fcp .fcp-btn-primary:hover{background:var(--blue-deep);transform:translateY(-2px);box-shadow:0 22px 36px -16px rgba(79,102,153,.85)}
.fcp .fcp-btn-primary:active{transform:translateY(0) scale(.98)}
.fcp .fcp-btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.fcp .fcp-btn-ghost:hover{background:#fff;transform:translateY(-2px)}
.fcp-btn-shine::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:fcp-shine 2.8s ease-in-out infinite}
@keyframes fcp-shine{0%,60%{left:-60%}100%{left:130%}}
.fcp .fcp-btn.is-loading{pointer-events:none;opacity:.85}
.fcp .fcp-btn.is-loading::before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:fcp-spin .8s linear infinite}
@keyframes fcp-spin{to{transform:rotate(360deg)}}

/* Live summary */
.fcp-summary{position:sticky;top:24px;padding:24px;border-radius:26px;color:#F4EFE9;background:radial-gradient(400px 260px at 100% 0%,rgba(234,196,213,.28),transparent 60%),radial-gradient(360px 260px at 0% 100%,rgba(113,139,188,.35),transparent 60%),linear-gradient(165deg,#2B3040 0%,var(--ink) 100%);box-shadow:0 30px 60px -28px rgba(37,41,52,.8);border:1px solid rgba(255,255,255,.08);animation:fcp-rise .9s .1s var(--ease) both}
.fcp-sum-eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--pink)}
/* .fcp prefix: the theme colours every heading dark, which made this title unreadable on the dark card. */
.fcp .fcp-sum-title{font-family:"Playfair Display",Georgia,serif;font-size:22px;font-weight:600;margin:6px 0 14px;color:#fff}
.fcp-sum-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fcp-sum-list li{display:grid;grid-template-columns:18px 1fr;gap:8px;font-size:13.5px;animation:fcp-rise .4s var(--ease) both}
.fcp-sum-list li::before{content:"✓";color:var(--pink);font-weight:700}
.fcp-sum-list li span{color:rgba(244,239,233,.65);display:block;font-size:12px}
.fcp-sum-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}
.fcp-sum-total span{font-size:13px;color:rgba(244,239,233,.75)}
.fcp-sum-total b{font-family:"Playfair Display",Georgia,serif;font-size:30px;color:#fff}
.fcp-sum-total b.is-bump{animation:fcp-bump .45s var(--ease)}
@keyframes fcp-bump{0%{transform:scale(1)}40%{transform:scale(1.12)}100%{transform:scale(1)}}
.fcp-sum-note{font-size:12px;color:rgba(244,239,233,.6);margin:12px 0 0}

/* Request sent */
.fcp-done{max-width:620px;margin:20px auto;text-align:center;padding:40px 30px;border-radius:30px;background:var(--glass);backdrop-filter:blur(14px);border:1px solid #fff;box-shadow:var(--shadow);animation:fcp-rise .7s var(--ease) both}
.fcp-done .fcp-eyebrow::before{display:none}
.fcp-done-badge{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 14px;border-radius:50%;color:var(--ink);background:radial-gradient(circle at 30% 30%,#fff,var(--pink));box-shadow:0 18px 40px -16px rgba(201,120,158,.8);animation:fcp-pop .7s var(--ease) both}
.fcp-done-badge svg{width:38px;height:38px}
@keyframes fcp-pop{0%{transform:scale(0) rotate(-30deg)}70%{transform:scale(1.15) rotate(6deg)}100%{transform:scale(1) rotate(0)}}

/* Confetti burst on send (spans added by the script) */
.fcp-confetti{position:fixed;top:0;left:0;width:10px;height:14px;border-radius:3px;pointer-events:none;z-index:99999;animation:fcp-fall 1.4s cubic-bezier(.2,.6,.4,1) forwards}
@keyframes fcp-fall{to{transform:translate3d(var(--dx),var(--dy),0) rotate(var(--rot));opacity:0}}

/* Phones and tablets */
@media (max-width:960px){
  .fcp-layout{display:block}
  /* Phones and tablets: a compact bar that stays at the bottom of the screen with the product and the total. */
  .fcp-summary{position:sticky;top:auto;bottom:12px;z-index:5;margin-top:18px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 14px;padding:14px 18px;border-radius:20px}
  .fcp-sum-eyebrow{grid-column:1}
  .fcp .fcp-sum-title{grid-column:1;margin:0;font-size:17px}
  .fcp-sum-list,.fcp-sum-note{display:none}
  .fcp-sum-total{grid-column:2;grid-row:1/3;margin:0;padding:0;border:0;flex-direction:column;align-items:flex-end;gap:0}
  .fcp-sum-total span{font-size:11px}
  .fcp-sum-total b{font-size:24px}
}
@media (max-width:640px){
  .fcp{padding:32px 16px 40px;border-radius:24px}
  .fcp-steplabel{display:none}
  .fcp-stepbtn{justify-content:center;padding:10px}
  .fcp-panel{padding:20px;border-radius:22px}
  .fcp-kinds,.fcp-grid,.fcp-uploads,.fcp-design{grid-template-columns:1fr}
  .fcp-stage{position:relative;top:0;width:100%;max-width:320px;margin:0 auto}
  .fcp-sizes{grid-template-columns:repeat(3,1fr)}
  .fcp-nav{flex-direction:column-reverse;align-items:stretch}
  .fcp-nav > span{display:none}
  .fcp .fcp-btn{width:100%}
  .fcp-orb.o1{width:90px;height:90px}
}
@media (prefers-reduced-motion:reduce){
  .fcp *,.fcp *::before,.fcp *::after{animation:none!important;transition:none!important}
  .fcp-kind-card{transform:none!important}
}
