.amour-campaign{position:relative;isolation:isolate;background:#faeadb;overflow:hidden;border-bottom:2px solid #32164f;padding:0!important;color:#ae0008}
.amour-stage{position:relative;max-width:1200px;margin:auto;aspect-ratio:1290/796}
.amour-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:0;pointer-events:none}
.amour-model{position:absolute;top:6%;left:13%;width:74%;height:85%;z-index:1;background:transparent;--poster-color:transparent;touch-action:pan-y}
.amour-bottom{position:absolute;bottom:2%;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;gap:15px;z-index:2}
.amour-bottom p{margin:0;font-size:13px;letter-spacing:.08em;font-weight:700}
.amour-bottom button{border:1px solid #ae0008;border-radius:30px;padding:10px 19px;background:#faeadbe8;color:#ae0008;font:700 13px Arial;cursor:pointer;min-height:44px}
.amour-status{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);background:#faeadbed;padding:12px 18px;border-radius:30px;font-size:14px;z-index:3;text-align:center}
.amour-status[hidden]{display:none}
.amour-status{inset:0;left:0;top:0;transform:none;z-index:4;border-radius:0;background:#ffe7cb;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;padding:35px;transition:opacity .35s;color:#32164f}
.amour-status strong{font-size:clamp(20px,3vw,32px)}.amour-status small{font-size:14px}.amour-loading-hearts{display:flex;gap:15px;color:#b9000b;font-size:42px}.amour-loading-hearts span{animation:amour-heart 1.5s steps(1,end) infinite}.amour-loading-hearts span:nth-child(2){animation-delay:.25s}.amour-loading-hearts span:nth-child(3){animation-delay:.5s}@keyframes amour-heart{0%,90%{opacity:.2}25%,80%{opacity:1}}
.amour-progress{width:min(240px,75%);height:6px;background:#32164f20;border-radius:20px;overflow:hidden}.amour-progress span{display:block;height:100%;width:0;background:#7952c7;transition:width .25s}.amour-load-complete{opacity:0;pointer-events:none}.amour-is-loading .amour-model{opacity:0}.amour-model{transition:opacity .5s}.amour-load-error .amour-loading-hearts span{animation:none;opacity:.3}#amourRetry{border:2px solid #32164f;background:#ffd166;border-radius:8px;padding:12px 22px;color:#32164f;font-weight:700;cursor:pointer}.amour-status button[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.amour-loading-hearts span{animation:none;opacity:1}.amour-status,.amour-model,.amour-progress span{transition:none}}
.amour-fallback{color:inherit;text-decoration:underline}
.amour-campaign,.amour-stage{background:var(--paper,#ffe7cb)}
.amour-art{filter:url(#amour-paper-match);mix-blend-mode:multiply}
.amour-status{inset:auto;left:50%;top:52%;transform:translate(-50%,-50%);width:240px;max-width:calc(100% - 36px);padding:22px 18px;gap:12px;background:var(--paper,#ffe7cb);border:2px solid #32164f;border-radius:18px;box-shadow:4px 4px 0 #32164f22}
.amour-status strong{font:600 14px/1.4 'DM Sans',Arial,sans-serif}.amour-status small{font-size:12px;line-height:1.5}.amour-progress{display:none}.amour-loading-hearts{gap:10px}.amour-loading-hearts>span{animation:none;opacity:1}.amour-loading-hearts svg{width:30px;height:30px;display:block;image-rendering:pixelated;overflow:visible}.amour-status:not(.amour-load-error) small{display:none}.amour-load-error{width:310px}.amour-load-error .heart-fill{animation:none;opacity:.2}
@media(max-width:600px){.amour-stage{aspect-ratio: .76;min-height:0}.amour-art{height:auto;top:6%;object-fit:contain}.amour-model{top:10%;height:77%;left:0;width:100%}.amour-stage:before{content:'';position:absolute;left:20%;right:20%;bottom:12%;height:16%;border-radius:50%;background:#bc000b;filter:blur(25px);z-index:0}.amour-bottom{bottom:3%;flex-wrap:wrap;justify-content:center;text-align:center}.amour-bottom p{font-size:10px}.amour-bottom button{padding:8px 16px}}
@media(prefers-reduced-motion:reduce){.amour-model{scroll-behavior:auto}}
.amour-status{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:0!important;width:auto!important;pointer-events:none}.amour-status #amourLoadMessage,.amour-status #amourLoadDetail,.amour-status .amour-progress{display:none!important}.amour-status .amour-loading-hearts{margin:0}.amour-status.amour-load-error{pointer-events:auto}.amour-status.amour-load-error #amourLoadMessage,.amour-status.amour-load-error #amourLoadDetail{display:block!important}.amour-status.amour-load-error{background:var(--paper,#ffe7cb)!important;padding:20px!important;border-radius:14px}.amour-is-loading .amour-art{visibility:visible!important;opacity:1!important}.amour-model::part(default-progress-bar){display:none}
/* One shared campaign, with independently loaded avatars. */
.amour-model-slot{position:absolute;inset:0;z-index:1}.amour-model-slot .amour-status{z-index:4}.amour-duo .amour-slot-women{right:50%}.amour-duo .amour-slot-men{left:50%}.amour-duo .amour-model{left:0;width:100%;top:6%;height:85%}.amour-status .amour-load-message,.amour-status .amour-load-detail,.amour-status .amour-progress{display:none!important}.amour-status.amour-load-error .amour-load-message,.amour-status.amour-load-error .amour-load-detail{display:block!important}.amour-retry{border:2px solid #32164f;background:#ffd166;border-radius:8px;padding:12px 22px;color:#32164f;font-weight:700;cursor:pointer;pointer-events:auto}.amour-retry[hidden]{display:none!important}.amour-loading-hearts svg{flex:none}.amour-duo .amour-load-error{max-width:90%;width:260px!important;font-size:12px}@media(max-width:600px){.amour-duo .amour-model{left:0;width:100%;top:10%;height:77%}.amour-duo .amour-loading-hearts{gap:5px}.amour-duo .amour-loading-hearts svg{width:22px;height:22px}.amour-duo .amour-load-error{padding:10px!important}.amour-duo .amour-load-error .amour-load-message{font-size:11px}.amour-duo .amour-load-error .amour-load-detail{font-size:10px}}
