.cpt-rose{--rose:#a62558;--deep:#6f173b;--ink:#402733;--soft:#fff6f9;--line:#efd8e2;--blush:#f8d7e4;max-width:1120px;margin:24px auto;background:#fff;color:var(--ink);font-family:Arial,sans-serif;border-radius:30px;overflow:hidden;box-shadow:0 22px 80px #74364d18;text-align:left}.cpt-rose *{box-sizing:border-box}.cpt-rose h1,.cpt-rose h2,.cpt-rose h3,.cpt-rose p{color:inherit;margin-top:0}.cpt-rose h2{font-family:Georgia,serif;font-size:34px;line-height:1.15;font-weight:normal}.rose-hero{padding:38px 54px 58px;background:radial-gradient(ellipse at 86% 32%,#f6bfd4 0,transparent 49%),radial-gradient(circle at 65% 100%,#fff 0,transparent 38%),linear-gradient(125deg,#fffafc,#ffedf4);position:relative}.rose-brand{font-size:12px;font-weight:700;letter-spacing:2px}.rose-brand span{color:var(--rose);margin-left:8px}.rose-hero-content{display:grid;grid-template-columns:1.35fr 1fr;gap:30px;align-items:center;margin-top:42px}.rose-tag{font-size:11px;letter-spacing:2px;display:flex;align-items:center;gap:9px;color:var(--rose);font-weight:bold}.rose-tag i,.cpt-rose-signal i{width:8px;height:8px;border-radius:50%;background:#c33770;box-shadow:0 0 12px #d82e77;animation:cptRoseGlow 3s ease-in-out infinite}.cpt-rose h1{font-family:Georgia,serif;font-size:clamp(50px,7vw,80px);line-height:1.02;font-weight:normal;letter-spacing:-3px;margin:20px 0}.cpt-rose h1 em,.rose-form-panel h2 em{color:var(--rose);font-weight:normal}.cpt-rose .rose-lead{font-family:Georgia,serif;font-size:29px;line-height:1.3;margin-bottom:20px}.rose-hero p:not(.rose-lead){max-width:485px;color:#6f4d5d;font-size:16px;line-height:1.7}.rose-button{display:inline-flex!important;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(135deg,#b32c64,#8d1d49)!important;color:#fff!important;border:0!important;border-radius:13px!important;padding:17px 23px!important;font-weight:bold;font-size:15px!important;text-decoration:none!important;cursor:pointer;line-height:1.2!important;box-shadow:0 9px 24px #a8285a2c;transition:transform .2s,box-shadow .2s}.rose-button:hover{transform:translateY(-2px);box-shadow:0 12px 28px #a8285a38}.rose-button:focus-visible,.cpt-rose input:focus-visible,.cpt-rose-signal:focus-visible{outline:3px solid #873455;outline-offset:4px}.cpt-rose small{display:block;color:#775866;font-size:12px;line-height:1.6;margin-top:14px}.rose-art{min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.rose-art:before{content:'';position:absolute;width:325px;height:325px;border-radius:50%;border:1px solid #e7b4c9;background:radial-gradient(circle,#ffffffb8,#f8c4da58);box-shadow:0 0 70px #e470aa2c;animation:cptRoseAura 4s ease-in-out infinite}.rose-ribbon{position:relative;width:190px;height:260px;filter:drop-shadow(9px 15px 9px #94305530);transform:rotate(-10deg)}.rose-art span{position:relative;font-family:Georgia,serif;font-style:italic;color:#873455;margin-top:26px;text-align:center;max-width:300px}.rose-total{padding:36px 54px;display:grid;grid-template-columns:1fr 1.4fr;gap:38px;align-items:center;border-bottom:1px solid var(--line);background:#fff}.rose-label{color:var(--rose);font-size:11px;letter-spacing:2px;font-weight:bold}.rose-value{font-family:Georgia,serif;font-size:60px;line-height:1.25;letter-spacing:-2px;color:var(--rose);margin:6px 0}.rose-total p{font-size:13px;color:#75505f;margin:8px 0}.rose-between{display:flex;justify-content:space-between;gap:16px;font-size:13px;margin-bottom:15px}.rose-track{height:11px;border-radius:12px;overflow:hidden;background:#f6e5ed}.rose-track>div{height:100%;background:linear-gradient(90deg,#ed91b3,#a62558);border-radius:12px;transition:width 1s}.rose-milestones{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;font-size:12px}.rose-milestones span{padding:7px 10px;background:#fff1f6;color:#8c3456;border-radius:8px}.rose-heart{padding:38px 54px;text-align:center;background:linear-gradient(90deg,#8d1d49,#b63a6c);color:#fff}.rose-heart p{margin:0!important;font-family:Georgia,serif;font-size:23px!important;line-height:1.55!important}.rose-how{padding:46px 54px}.rose-how h2{margin:10px 0 0}.rose-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:32px}.rose-steps article{padding:24px;border:1px solid #f0dce5;border-radius:18px;background:linear-gradient(145deg,#fff,#fff8fb)}.rose-steps article>b{font-family:Georgia,serif;font-size:27px;color:#b9567d}.cpt-rose .rose-steps h3{font-size:17px;margin:12px 0 8px}.rose-steps p{font-size:14px;line-height:1.65;color:#755663;margin-bottom:0}.rose-form-panel{display:grid;grid-template-columns:.9fr 1.5fr;gap:50px;padding:48px 54px;background:radial-gradient(circle at 0 100%,#fbdde9 0,transparent 32%),var(--soft)}.rose-form-panel h2{margin-top:16px;font-size:39px}.rose-form-panel>div:first-child>p{line-height:1.7;color:#6e505c}.rose-form-panel p.rose-note{font-size:13px;color:#765460;margin-top:28px;max-width:330px;padding-top:18px;border-top:1px solid #e8cbd7}.cpt-rose form label{display:block;font-size:13px;font-weight:bold;margin-bottom:17px}.cpt-rose form input:not([type=checkbox]):not([type=hidden]){display:block;width:100%;height:48px;margin-top:8px;padding:10px 12px;border:1px solid #d8b6c5;border-radius:9px;background:#fff;color:#422837;font:inherit;font-weight:normal;box-shadow:0 3px 10px #8b355508}.rose-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rose-fields-3{grid-template-columns:1.25fr 1fr .8fr}.cpt-rose .rose-check{display:flex;gap:10px;align-items:flex-start;font-weight:normal;font-size:12px;line-height:1.6}.rose-check input{width:16px;height:16px;flex-shrink:0;margin-top:3px;accent-color:#a8285a}.rose-form-panel button{width:100%}.rose-notice{background:#fff;border-left:4px solid var(--rose);padding:16px 18px;font-size:14px!important;border-radius:8px;box-shadow:0 5px 20px #9f3b6210}.rose-closed{text-align:center;padding:30px;background:#fff;border-radius:18px;border:1px solid #efd9e2}.rose-closed>span{font-size:38px}.rose-closed h3{font-family:Georgia,serif;font-size:24px;margin:12px 0}.rose-history{padding:38px 54px}.rose-history h2{font-size:27px;margin:10px 0 20px}.rose-history-grid{display:grid;gap:10px}.rose-history-grid>div{display:grid;grid-template-columns:120px 1fr auto;gap:14px;align-items:center;padding:14px 16px;background:#fff8fb;border-radius:10px;font-size:13px}.rose-history-grid span{color:#745463}.rose-status{font-style:normal;font-weight:bold;font-size:12px}.rose-approved{color:#8e1f4d}.rose-pending{color:#9a6c27}.rose-rejected{color:#777}.rose-footer{padding:30px 54px;background:#fff;border-top:1px solid var(--line)}.rose-footer p{font-size:12px;line-height:1.7;color:#775866}.rose-footer a{color:#9c2454;text-decoration:underline}.cpt-rose-signal{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;border-radius:12px;background:#fff0f6;color:#9c2454!important;text-decoration:none!important;font-family:Arial,sans-serif;font-weight:bold;font-size:14px}.cpt-rose-signal span{font-weight:normal}.rose-celebrate{animation:cptRoseCelebrate 1.2s ease}@keyframes cptRoseGlow{50%{box-shadow:0 0 20px #d82e7799;opacity:.7}}@keyframes cptRoseAura{50%{box-shadow:0 0 90px #e470aa45}}@keyframes cptRoseCelebrate{50%{background:#ffe2ef}}@media(prefers-reduced-motion:reduce){.cpt-rose *,.cpt-rose-signal *{animation:none!important;transition:none!important}}@media(max-width:760px){.cpt-rose{border-radius:18px;margin:12px 0}.rose-hero,.rose-total,.rose-how,.rose-form-panel,.rose-history,.rose-footer,.rose-heart{padding:28px 23px}.rose-brand{font-size:10px;letter-spacing:1px}.rose-hero-content{grid-template-columns:1fr;margin-top:30px;gap:12px}.rose-art{min-height:225px;order:-1}.rose-art:before{width:210px;height:210px}.rose-ribbon{width:125px;height:170px}.rose-art span{font-size:13px;margin-top:16px}.cpt-rose h1{font-size:58px}.cpt-rose .rose-lead{font-size:25px}.rose-total,.rose-form-panel{grid-template-columns:1fr;gap:26px}.rose-steps{grid-template-columns:1fr;gap:15px}.rose-fields,.rose-fields-3{grid-template-columns:1fr;gap:0}.rose-between{flex-wrap:wrap}.cpt-rose-signal{flex-wrap:wrap}.rose-value{font-size:50px}.rose-heart p{font-size:19px!important}.rose-history-grid>div{grid-template-columns:1fr}.rose-form-panel h2{font-size:34px}}

/* V3 — reconnaissance collective et merci animé */
.rose-recent{margin:24px 0;padding:32px;border-radius:22px;background:linear-gradient(125deg,#fff8fb,#fbe3ed);text-align:center;border:1px solid #f3d6e1}.rose-recent h2{font-family:Georgia,serif;font-size:clamp(23px,3vw,34px);font-weight:400;color:#71304e;margin:12px auto}.rose-recent p{color:#765b67}.rose-recent-names{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px}.rose-recent-names span{padding:12px 18px;border-radius:40px;background:white;color:#982b5c;box-shadow:0 5px 18px #b55d8120;font-weight:600}.rose-thankyou{position:relative;overflow:hidden;margin:16px 0 28px;padding:28px 20px;text-align:center;border:1px solid #f1c4d8;border-radius:22px;background:radial-gradient(circle at 50% 0%,#fff,#ffe9f2);box-shadow:0 12px 35px #a5265820;animation:rose-appear .8s ease both}.rose-thankyou-heart{font-size:62px;color:#c72d72;animation:rose-beat 1.5s ease-in-out 3}.rose-thankyou h3{font:normal 32px Georgia,serif;color:#8b2354;margin:8px 0}.rose-thankyou p{position:relative;z-index:1;max-width:420px;margin:10px auto;color:#633a4c}.rose-heart-rain{pointer-events:none;position:absolute;inset:0}.rose-heart-rain span{position:absolute;bottom:-25px;color:#e86c9d;opacity:0;animation:rose-float 3s ease-out forwards}.rose-heart-rain span:nth-child(1){left:12%;animation-delay:.1s}.rose-heart-rain span:nth-child(2){left:29%;animation-delay:.5s}.rose-heart-rain span:nth-child(3){left:55%;animation-delay:.2s}.rose-heart-rain span:nth-child(4){left:73%;animation-delay:.7s}.rose-heart-rain span:nth-child(5){left:87%;animation-delay:.3s}@keyframes rose-appear{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes rose-beat{0%,100%{transform:scale(1)}30%,70%{transform:scale(1.14)}}@keyframes rose-float{0%{opacity:0;transform:translateY(0)}20%{opacity:.75}100%{opacity:0;transform:translateY(-220px)}}@media(prefers-reduced-motion:reduce){.rose-thankyou,.rose-thankyou-heart,.rose-heart-rain span{animation:none!important}}

/* Public landing: no private form, independent CTA */
.cpt-rose.rose-public .rose-public-hero{background:radial-gradient(circle at 80% 20%,#ffd1e4,transparent 52%),linear-gradient(120deg,#fffafc,#ffeaf2)}
.cpt-rose.rose-public .rose-public-hero h1{font-size:clamp(2.5rem,5vw,5rem);line-height:1.08}
.cpt-rose .rose-public-invite,.cpt-rose .rose-public-inner{text-align:center;padding:clamp(28px,6vw,72px);background:linear-gradient(135deg,#fff4f8,#ffe0ec);border-radius:24px;margin:28px 0}
.cpt-rose .rose-public-invite h2,.cpt-rose .rose-public-inner h1{max-width:780px;margin:14px auto;color:#702744;font-family:Georgia,serif}
.cpt-rose .rose-public-invite p,.cpt-rose .rose-public-inner p{max-width:660px;margin:12px auto 26px}
.cpt-rose .rose-public-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px}
.cpt-rose .rose-public-secondary{color:#8d2755;text-decoration:underline;font-weight:700}
@media(max-width:650px){.cpt-rose.rose-public .rose-public-hero h1{font-size:2.45rem}}
