.gift-catalog-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:.72rem;align-items:center;padding:.62rem;border:1px solid rgba(185,147,77,.25);border-radius:16px;background:linear-gradient(145deg,#fff 0%,#fffaf2 100%);box-shadow:0 8px 24px rgba(39,24,14,.06);margin-bottom:.55rem;overflow:hidden;position:relative}
.gift-catalog-card::after{content:"";position:absolute;inset:auto -20% -75% 35%;height:90px;background:radial-gradient(circle,rgba(201,169,110,.14),transparent 70%);pointer-events:none}
.gift-tier-premium{--gift-accent:#d84268}.gift-tier-prestige{--gift-accent:#b8862d}.gift-tier-standard{--gift-accent:#9a7638}
.gift-preview-button{position:relative;width:72px;height:72px;border:0;padding:0;border-radius:14px;overflow:hidden;background:#120d09;cursor:pointer;box-shadow:0 5px 14px rgba(25,14,8,.22)}
.gift-preview-button:focus-visible{outline:3px solid var(--gift-accent,#a9803b);outline-offset:2px}
.gift-preview-hint{position:absolute;right:5px;bottom:5px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:rgba(10,7,5,.72);color:#fff;font-size:8px;border:1px solid rgba(255,255,255,.5)}
.gift-artwork{display:block;width:100%;height:100%;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 40%,#5a2b1e,#120d09 72%)}
.gift-artwork img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}
.gift-preview-button:hover .gift-artwork img{transform:scale(1.07);filter:saturate(1.08)}
.gift-artwork-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:2.2rem}
.gift-catalog-copy{min-width:0;position:relative;z-index:1}.gift-catalog-copy strong{display:block;font-size:13px;color:var(--deep);line-height:1.25}.gift-catalog-copy small{display:block;color:var(--muted2);font-size:10px;line-height:1.35;margin-top:.18rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gift-catalog-copy span{display:block;color:var(--gold-d);font-size:10px;margin-top:.3rem}
.gift-catalog-action{position:relative;z-index:1;display:flex;justify-content:flex-end}.gift-catalog-action button,.gift-price-pill{white-space:nowrap;border:0;border-radius:999px;padding:.36rem .7rem;font-size:11px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#ae8742,#7f5c24);color:#fff;box-shadow:0 4px 10px rgba(128,92,36,.22)}
.gift-catalog-action .gift-stock-send{background:linear-gradient(135deg,#668f76,#3e6b52)}
.gift-pack-card{grid-template-columns:92px minmax(0,1fr);padding:.72rem}.gift-pack-card .gift-preview-button{width:92px;height:92px;grid-row:1/3}.gift-pack-card .gift-catalog-action{grid-column:2}.gift-pack-card .gift-catalog-action button{width:100%}
.gift-message-card{width:220px;border-radius:20px;overflow:hidden;background:#150e0a;color:#fff;box-shadow:0 10px 30px rgba(30,15,7,.28);border:1px solid rgba(222,178,91,.55);cursor:pointer;text-align:left;padding:0}.gift-message-card .gift-artwork{height:145px}.gift-message-body{padding:.7rem .8rem .8rem;background:linear-gradient(160deg,#20120c,#0e0a08)}.gift-message-body strong{display:block;font-family:'Cormorant Garamond',serif;font-size:18px;color:#f4d99b}.gift-message-body small{display:block;font-size:10px;color:rgba(255,255,255,.68);margin-top:.18rem}.gift-message-body em{display:block;font-size:11px;color:#fff0da;margin-top:.38rem}
.gift-received-row{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.62rem;border:1px solid rgba(185,147,77,.22);border-radius:15px;margin-bottom:.55rem;background:linear-gradient(145deg,#fff,#fffaf3);cursor:pointer}.gift-received-row .gift-artwork{width:68px;height:68px;border-radius:13px}.gift-received-copy strong{display:block;font-size:14px;color:var(--deep)}.gift-received-copy span{display:block;font-size:11px;color:var(--muted2);margin-top:.15rem}.gift-received-copy em{display:block;font-size:11px;color:var(--muted);margin-top:.25rem}.gift-received-tier{text-transform:uppercase;font-size:9px;letter-spacing:.08em;color:var(--gift-accent,#9a7638)}
.gift-replay-disabled{cursor:default}.gift-replay-disabled:after{content:'Expérience non rejouable';display:block;font-size:9px;color:rgba(255,255,255,.5);padding:.25rem .8rem .55rem}.gift-received-row.gift-replay-disabled:after{content:none}
.gift-experience-overlay{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:1rem;background:rgba(5,3,2,.86);backdrop-filter:blur(14px);opacity:0;transition:opacity .25s ease;overflow:hidden}.gift-experience-overlay.is-visible{opacity:1}.gift-experience-aura{position:absolute;width:min(92vw,620px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(206,153,62,.36),rgba(178,43,75,.14) 36%,transparent 68%);filter:blur(8px);animation:giftAura 2.2s ease-in-out infinite}
.gift-experience-stage{position:relative;z-index:2;width:min(92vw,430px);max-height:92vh;overflow:auto;text-align:center;padding:1.25rem 1.25rem 1.35rem;border:1px solid rgba(230,190,112,.5);border-radius:28px;background:linear-gradient(165deg,rgba(38,22,14,.97),rgba(10,7,5,.98));box-shadow:0 28px 90px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.08);transform:translateY(22px) scale(.94);transition:transform .42s cubic-bezier(.2,.9,.2,1)}.gift-experience-overlay.is-visible .gift-experience-stage{transform:none}
.gift-experience-close{position:absolute;right:.8rem;top:.8rem;z-index:3;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.38);color:#fff;cursor:pointer}.gift-experience-kicker{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#d9b46d;margin:.2rem 2.8rem .65rem}.gift-experience-visual{width:min(66vw,270px);aspect-ratio:1;margin:0 auto;border-radius:24px;overflow:hidden;border:1px solid rgba(238,200,125,.5);box-shadow:0 14px 48px rgba(0,0,0,.46)}.gift-experience-art{width:100%;height:100%}.gift-experience-context{color:#e7bd6b;text-transform:uppercase;font-size:10px;letter-spacing:.12em;margin:.95rem 0 .2rem}.gift-experience-stage h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,7vw,2.45rem);line-height:1;color:#fff;margin:0}.gift-experience-copy{font-size:13px;line-height:1.55;color:rgba(255,255,255,.72);max-width:320px;margin:.65rem auto 1rem}.gift-experience-continue{border:1px solid rgba(255,220,148,.55);border-radius:999px;padding:.65rem 1.4rem;background:linear-gradient(135deg,#c89a49,#8b6428);color:#fff;font-weight:700;cursor:pointer;min-width:150px}
.gift-experience-particles{position:absolute;inset:0;pointer-events:none}.gift-experience-particles i{position:absolute;left:calc(var(--x)*1%);bottom:-8%;font-style:normal;color:#f2c873;font-size:clamp(10px,2vw,20px);opacity:0;animation:giftParticle 3.2s var(--d) ease-out infinite;text-shadow:0 0 12px rgba(255,190,77,.7)}
.gift-fx-flight .gift-experience-art{animation:giftFlight 2.4s ease-in-out infinite}.gift-fx-steam .gift-experience-art{animation:giftFloat 2.2s ease-in-out infinite}.gift-fx-bloom .gift-experience-art,.gift-fx-petals .gift-experience-art{animation:giftBloom 2.6s ease-in-out infinite}.gift-fx-drive .gift-experience-art{animation:giftDrive 2.2s ease-in-out infinite}.gift-fx-crystal .gift-experience-art,.gift-fx-crown .gift-experience-art,.gift-fx-trophy .gift-experience-art{animation:giftShine 2s ease-in-out infinite}.gift-fx-unwrap .gift-experience-art,.gift-fx-letter .gift-experience-art{animation:giftReveal 2.4s ease-in-out infinite}.gift-fx-music .gift-experience-art{animation:giftMusic 1.7s ease-in-out infinite}.gift-fx-splash .gift-experience-art{animation:giftSplash 2.1s ease-in-out infinite}.gift-experience-overlay .gift-artwork img{animation:giftImageBreathe 2.8s ease-in-out infinite}
@keyframes giftAura{50%{transform:scale(1.08);opacity:.75}}@keyframes giftParticle{0%{transform:translateY(0) scale(.4) rotate(0);opacity:0}18%{opacity:.95}100%{transform:translateY(-108vh) scale(1.15) rotate(220deg);opacity:0}}@keyframes giftImageBreathe{50%{transform:scale(1.045)}}@keyframes giftFlight{50%{transform:translate(8px,-8px) rotate(-2deg)}}@keyframes giftFloat{50%{transform:translateY(-8px)}}@keyframes giftBloom{0%,100%{filter:saturate(1)}50%{filter:saturate(1.3) brightness(1.1);transform:scale(1.035)}}@keyframes giftDrive{50%{transform:translateX(9px)}}@keyframes giftShine{50%{filter:brightness(1.25) contrast(1.06)}}@keyframes giftReveal{50%{transform:scale(1.045) rotate(.6deg)}}@keyframes giftMusic{25%{transform:rotate(-1.2deg)}75%{transform:rotate(1.2deg)}}@keyframes giftSplash{50%{filter:hue-rotate(8deg) brightness(1.12);transform:translateY(-5px)}}

/* Expériences cadeaux composées — chaque famille raconte sa propre scène. */
.gift-experience-visual{position:relative;width:min(76vw,310px);aspect-ratio:1;overflow:hidden;background:radial-gradient(circle at 50% 44%,rgba(198,145,55,.18),rgba(4,3,2,.96) 69%)}
.gift-experience-overlay .gift-experience-art,.gift-experience-overlay .gift-artwork img{animation:none}
.gift-scene{position:relative;width:100%;height:100%;isolation:isolate;overflow:hidden}
.gift-scene-art{position:absolute;z-index:3;width:62%;height:62%;left:19%;top:19%;border-radius:22px;overflow:hidden;box-shadow:0 15px 38px rgba(0,0,0,.42)}
.gift-scene-art .gift-artwork{width:100%;height:100%}
.gift-scene-art img{width:100%;height:100%;object-fit:cover}
.gift-mode-sent .gift-experience-stage{background:linear-gradient(165deg,rgba(48,28,13,.98),rgba(9,7,5,.99))}
.gift-mode-received .gift-experience-stage{background:linear-gradient(165deg,rgba(45,14,25,.98),rgba(8,5,6,.99));border-color:rgba(240,168,191,.48)}
.gift-mode-sent .gift-scene-art{animation:giftSenderJourney 2.7s cubic-bezier(.3,.8,.2,1) both}
.gift-mode-received .gift-scene-art{animation:giftRecipientReveal 2.25s cubic-bezier(.18,.9,.24,1) both}
.gift-scene-journey{position:absolute;z-index:8;left:8%;right:8%;bottom:5%;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:7px;color:#ffe7b2;font-size:9px;text-transform:uppercase;letter-spacing:.08em;animation:giftJourneyFade 3s ease both}
.gift-scene-journey i{height:1px;background:linear-gradient(90deg,#d4a54c,rgba(212,165,76,.2));position:relative;overflow:visible}.gift-scene-journey i:after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#f8cc76;top:-3px;left:0;animation:giftJourneyDot 1.55s .25s ease-in-out both}.gift-scene-journey b{color:#f15a83;font-size:13px;animation:giftHeartBeat .8s 1.2s ease 2}
.gift-scene-reveal{position:absolute;z-index:10;inset:0;display:grid;place-content:center;background:radial-gradient(circle,#3c1722,#0b0708 72%);animation:giftRevealCurtain 1.15s .55s cubic-bezier(.7,0,.3,1) both}.gift-scene-reveal span{width:46px;height:46px;border:1px solid #dda75a;transform:rotate(45deg);margin:auto;box-shadow:0 0 28px rgba(221,167,90,.5)}.gift-scene-reveal b{margin-top:24px;color:#f3d69e;font-size:10px;text-transform:uppercase;letter-spacing:.12em}

/* Rose : bouton, ouverture puis pétales. */
.gift-scene-bloom .gift-scene-art{clip-path:circle(10% at 50% 53%);animation:giftRoseOpen 2.25s .18s cubic-bezier(.2,.8,.2,1) both}
.gift-scene-bud{position:absolute;z-index:7;left:50%;top:50%;font-size:54px;transform:translate(-50%,-50%) scale(.55);filter:drop-shadow(0 0 18px rgba(232,58,91,.75));animation:giftBudVanish 1.45s .2s ease both}
.gift-scene-petals i{position:absolute;z-index:6;left:48%;top:48%;font-style:normal;color:#ee5578;font-size:16px;opacity:0;animation:giftPetalBurst 2.4s calc(.68s + var(--n)*.09s) ease-out both}.gift-scene-petals i:nth-child(2n){color:#f3bbcc;font-size:11px}

/* Tulipe : tige qui pousse, feuilles puis floraison. */
.gift-scene-grow .gift-scene-art{clip-path:inset(100% 18% 0 18% round 80px);animation:giftTulipBloom 2.7s .2s cubic-bezier(.2,.84,.25,1) both}
.gift-scene-soil{position:absolute;z-index:4;left:20%;right:20%;bottom:11%;height:12px;border-radius:50%;background:#6b4622;box-shadow:0 0 28px #9a6d34}.gift-scene-stem{position:absolute;z-index:5;bottom:12%;left:49%;width:5px;height:48%;border-radius:8px;background:linear-gradient(#89b84f,#365f28);transform-origin:bottom;animation:giftStemGrow 1.1s .18s ease-out both}.gift-scene-leaf{position:absolute;z-index:5;width:36px;height:15px;background:#5f9345;border-radius:100% 0 100% 0;opacity:0}.gift-scene-leaf.leaf-one{left:38%;bottom:28%;transform:rotate(25deg);animation:giftLeafOpen .7s .85s ease both}.gift-scene-leaf.leaf-two{right:37%;bottom:36%;transform:scaleX(-1) rotate(18deg);animation:giftLeafOpen .7s 1.02s ease both}.gift-scene-grow .tulip-bud{font-size:42px;top:34%;animation:giftTulipBud 1.4s 1s ease both}.gift-scene-grow .gift-scene-glow{position:absolute;z-index:1;inset:14%;border-radius:50%;background:radial-gradient(circle,#fff5bd 0,rgba(244,194,98,.18) 44%,transparent 70%);animation:giftSoftGlow 2.4s 1s ease both}

/* Café : portrait de l’expéditeur et vapeur en cœur. */
.gift-scene-steam .gift-scene-art{top:25%;animation:giftCoffeeArrive 1.35s .15s cubic-bezier(.2,.85,.25,1) both}.gift-scene-avatar{position:absolute;z-index:8;right:10%;bottom:12%;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;overflow:hidden;border:2px solid #e7b558;background:#2d1a12;color:#ffe0a2;font-weight:800;box-shadow:0 0 22px rgba(220,164,78,.45)}.gift-scene-avatar img{width:100%;height:100%;object-fit:cover}.gift-scene-steam{position:absolute;z-index:8;left:35%;right:35%;top:4%;height:42%}.gift-scene-steam i{position:absolute;left:calc(10% + var(--n,0)*30%);bottom:0;color:#fff4dc;font-style:normal;font-size:25px;opacity:0;filter:drop-shadow(0 0 8px #fff);animation:giftSteamHeart 2.25s .72s ease-out infinite}.gift-scene-steam i:nth-child(2){left:42%;animation-delay:1.18s}.gift-scene-steam i:nth-child(3){left:68%;animation-delay:1.56s}.gift-scene-saucer{position:absolute;z-index:2;left:28%;right:28%;bottom:11%;height:12px;border-radius:50%;background:rgba(231,192,135,.42);filter:blur(2px)}

/* Bouquet : fleurs séparées, rassemblement, emballage et nœud. */
.gift-scene-bouquet .gift-scene-art,.gift-scene-petals .gift-scene-art{animation:giftBouquetReveal 2.5s 1.05s ease both}.gift-scene-flowers i{position:absolute;z-index:8;font-style:normal;font-size:27px;left:calc(10% + var(--i,0)*15%);top:10%;opacity:0;animation:giftFlowerGather 1.75s calc(.12s + var(--i,0)*.1s) cubic-bezier(.2,.8,.25,1) both}.gift-scene-flowers i:nth-child(1){--i:0}.gift-scene-flowers i:nth-child(2){--i:1}.gift-scene-flowers i:nth-child(3){--i:2}.gift-scene-flowers i:nth-child(4){--i:3}.gift-scene-flowers i:nth-child(5){--i:4}.gift-scene-wrap{position:absolute;z-index:7;left:32%;right:32%;bottom:10%;height:38%;background:linear-gradient(135deg,#f4dca8,#9f7435);clip-path:polygon(0 0,100% 0,70% 100%,30% 100%);transform-origin:bottom;animation:giftWrapClose .8s 1.38s ease both}.gift-scene-ribbon{position:absolute;z-index:9;left:50%;bottom:18%;font-size:42px;color:#c9365e;transform:translateX(-50%) scale(0);animation:giftRibbonTie .75s 1.85s cubic-bezier(.2,1.5,.4,1) both}

/* Chocolats et packs : boîte qui s’ouvre puis révèle son contenu. */
.gift-scene-unwrap .gift-scene-art{opacity:.26;animation:giftBoxArtwork 1s 1.65s ease both}.gift-scene-box{position:absolute;z-index:8;left:25%;right:25%;top:31%;height:44%;border:2px solid #d19b4f;border-radius:14px;background:#4b1524;box-shadow:0 14px 28px rgba(0,0,0,.45);perspective:400px}.gift-scene-lid{position:absolute;z-index:4;inset:-5px;background:linear-gradient(145deg,#a52e48,#42101c);border:2px solid #e0b36b;border-radius:14px;transform-origin:top;animation:giftLidOpen 1.15s .55s ease-in-out both}.gift-scene-chocolates{position:absolute;inset:12%;display:grid;grid-template-columns:1fr 1fr;gap:7px;color:#d7a35c;font-size:23px;opacity:0;animation:giftChocolateReveal .65s 1.3s ease both}.gift-scene-bow{position:absolute;z-index:6;left:50%;top:38%;font-size:50px;color:#f0c370;transform:translate(-50%,-50%);animation:giftBowRelease .9s .45s ease both}

/* Carte : enveloppe, rabat et message personnel. */
.gift-scene-letter .gift-scene-art{opacity:.18}.gift-scene-envelope{position:absolute;z-index:8;left:16%;right:16%;bottom:18%;height:45%;background:#f4ddba;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);box-shadow:0 15px 34px rgba(0,0,0,.42);animation:giftEnvelopeArrive .8s .15s ease both}.gift-scene-envelope:after{content:'';position:absolute;inset:0;background:#d8b67f;clip-path:polygon(0 100%,50% 42%,100% 100%)}.gift-scene-flap{position:absolute;z-index:4;inset:0;background:#e7c99b;clip-path:polygon(0 0,50% 62%,100% 0);transform-origin:top;animation:giftFlapOpen .8s .72s ease both}.gift-scene-note{position:absolute;z-index:3;left:8%;right:8%;bottom:8%;min-height:82%;padding:13px 10px;background:#fff9ea;color:#5a321f;font-family:'Cormorant Garamond',serif;font-size:13px;display:grid;place-items:center;transform:translateY(62%);animation:giftLetterRise 1.05s 1.1s ease both}.gift-scene-seal{position:absolute;z-index:7;left:50%;top:47%;color:#ae2f51;font-size:24px;transform:translate(-50%,-50%);animation:giftSealBreak .55s .62s ease both}

/* Cristal : éclats qui se rassemblent et faisceau prismatique. */
.gift-scene-crystal .gift-scene-art{clip-path:polygon(50% 0,100% 28%,82% 100%,20% 100%,0 28%);animation:giftCrystalAssemble 2.15s .35s cubic-bezier(.2,.8,.25,1) both}.gift-scene-shards i{position:absolute;z-index:8;left:50%;top:50%;font-style:normal;font-size:25px;color:#bdeeff;text-shadow:0 0 12px #fff;opacity:0;animation:giftShardFly 1.45s calc(.12s + var(--n)*.08s) ease-out both}.gift-scene-prism{position:absolute;z-index:9;inset:-20%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.75) 48%,rgba(125,219,255,.22) 52%,transparent 63%);transform:translateX(-70%) rotate(8deg);animation:giftPrismSweep 1.1s 1.55s ease both}

/* Cérémonie, distinction et prestige. */
.gift-scene-spotlights i{position:absolute;z-index:1;top:-10%;width:42%;height:90%;background:linear-gradient(to bottom,rgba(255,223,150,.38),transparent 72%);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);filter:blur(5px);animation:giftSpotlight 2.2s ease-in-out infinite}.gift-scene-spotlights i:first-child{left:0;transform:rotate(-18deg)}.gift-scene-spotlights i:last-child{right:0;transform:rotate(18deg);animation-delay:.5s}.gift-scene-crown,.gift-scene-medal{position:absolute;z-index:8;left:50%;top:8%;font-size:46px;color:#f3c65f;text-shadow:0 0 22px #d78e22;transform:translateX(-50%);animation:giftCeremonyDrop 1.35s .45s cubic-bezier(.2,1.3,.35,1) both}.gift-scene-medal{width:58px;height:58px;border:4px solid #f1c55f;border-radius:50%;display:grid;place-items:center;font-size:28px;background:#8a5421}.gift-scene-laurel{position:absolute;z-index:8;left:50%;top:29%;width:150px;transform:translateX(-50%) scaleX(1.35);color:#e8c46d;font-size:28px}.gift-scene-podium{position:absolute;z-index:2;left:22%;right:22%;bottom:8%;height:18%;background:linear-gradient(#9b6e2d,#3f2812);clip-path:polygon(14% 0,86% 0,100% 100%,0 100%)}

/* Voyage : globe, trajet et avion. */
.gift-scene-flight .gift-scene-art{opacity:.3;animation:giftTravelBackdrop 2.8s ease both}.gift-scene-globe{position:absolute;z-index:5;left:50%;top:50%;width:142px;height:142px;border:2px solid #d7a74d;border-radius:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 35px rgba(89,181,208,.32),0 0 26px rgba(216,168,77,.25);animation:giftGlobeIn 1.1s .2s ease both}.gift-scene-globe i{position:absolute;border:1px solid rgba(173,222,230,.55);border-radius:50%;inset:13% 36%}.gift-scene-globe i:nth-child(2){inset:36% 4%}.gift-scene-globe i:nth-child(3){inset:8%;transform:rotate(56deg)}.gift-scene-flight-path{position:absolute;z-index:7;left:17%;right:14%;top:47%;height:44%;border:2px dashed rgba(242,205,130,.78);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-18deg)}.gift-scene-plane{position:absolute;z-index:9;left:17%;top:63%;font-size:34px;color:#fff0ca;filter:drop-shadow(0 0 10px #d49c3d);animation:giftPlaneTrip 2.35s .45s cubic-bezier(.35,.05,.25,1) both}.gift-scene-pin{position:absolute;z-index:8;right:19%;top:26%;color:#ee507a;font-size:24px;animation:giftPinLand .6s 2.15s ease both}

/* Autres scènes du catalogue. */
.gift-scene-glasses i{position:absolute;z-index:8;top:38%;font-style:normal;font-size:52px}.gift-scene-glasses i:first-child{left:20%;animation:giftCheersLeft 1.25s .35s ease both}.gift-scene-glasses i:last-child{right:20%;transform:scaleX(-1);animation:giftCheersRight 1.25s .35s ease both}.gift-scene-bubbles i{position:absolute;z-index:7;bottom:24%;color:#f5d889;font-style:normal;animation:giftBubble 2s calc(var(--d,0)*.2s) ease-out infinite}.gift-scene-bubbles i:nth-child(1){left:34%}.gift-scene-bubbles i:nth-child(2){left:50%;animation-delay:.5s}.gift-scene-bubbles i:nth-child(3){left:62%;animation-delay:.9s}
.gift-scene-arcade .gift-scene-art{filter:saturate(1.3);animation:giftArcadePop 1.1s steps(4) both}.gift-scene-pixels i{position:absolute;z-index:8;color:#51e6ff;font-style:normal;font-size:17px;animation:giftPixelBurst 1.8s calc(var(--d,0)*.1s) steps(5) infinite}.gift-scene-pixels i:nth-child(1){left:12%;top:22%}.gift-scene-pixels i:nth-child(2){right:13%;top:30%;color:#ff5f9a}.gift-scene-pixels i:nth-child(3){left:18%;bottom:18%;color:#ffe15d}.gift-scene-pixels i:nth-child(4){right:17%;bottom:21%;color:#a677ff}.gift-scene-score{position:absolute;z-index:9;left:50%;bottom:9%;transform:translateX(-50%);font:700 15px monospace;color:#ffe15d;animation:giftScore 1s 1.2s steps(4) both}
.gift-scene-notes i{position:absolute;z-index:8;left:50%;top:50%;color:#f5c66b;font-style:normal;font-size:28px;opacity:0;animation:giftNoteFly 2s calc(var(--d,0)*.14s) ease-out infinite}.gift-scene-notes i:nth-child(1){--d:0}.gift-scene-notes i:nth-child(2){--d:2}.gift-scene-notes i:nth-child(3){--d:4}.gift-scene-notes i:nth-child(4){--d:6}.gift-scene-wave{position:absolute;z-index:7;left:8%;right:8%;bottom:12%;height:32px;background:repeating-linear-gradient(90deg,transparent 0 6px,#d8a853 7px 9px,transparent 10px 14px);clip-path:polygon(0 48%,5% 20%,10% 65%,15% 5%,20% 80%,25% 25%,30% 58%,35% 12%,40% 70%,45% 35%,50% 50%,55% 16%,60% 74%,65% 22%,70% 61%,75% 9%,80% 78%,85% 30%,90% 60%,95% 22%,100% 48%);animation:giftWave 1.2s ease-in-out infinite}
.gift-scene-clock{position:absolute;z-index:8;left:50%;top:50%;width:130px;height:130px;border:3px solid #e0b45e;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 24px rgba(224,180,94,.35)}.gift-scene-clock i,.gift-scene-clock b{position:absolute;left:50%;top:50%;width:2px;height:37%;background:#fff0c8;transform-origin:bottom;animation:giftClockHand 3s linear infinite}.gift-scene-clock b{height:27%;animation-duration:8s}.gift-scene-time-copy{position:absolute;z-index:9;left:0;right:0;bottom:8%;font-size:9px;letter-spacing:.16em;color:#e9c67d}
.gift-scene-road{position:absolute;z-index:6;left:-15%;right:-15%;bottom:2%;height:36%;background:#171717;clip-path:polygon(28% 0,72% 0,100% 100%,0 100%)}.gift-scene-road:after{content:'';position:absolute;left:49%;top:5%;width:3px;height:100%;background:repeating-linear-gradient(#e8c35d 0 15px,transparent 15px 30px)}.gift-scene-headlights i{position:absolute;z-index:7;bottom:18%;width:23%;height:20%;background:linear-gradient(to bottom,rgba(255,243,174,.62),transparent);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%)}.gift-scene-headlights i:first-child{left:16%;transform:rotate(14deg)}.gift-scene-headlights i:last-child{right:16%;transform:rotate(-14deg)}.gift-scene-car{position:absolute;z-index:9;left:48%;bottom:13%;font-size:45px;color:#d8aa51;animation:giftCarArrive 1.8s .3s ease-out both}
.gift-scene-trail{position:absolute;z-index:6;left:8%;right:8%;bottom:8%;height:42%;border:3px dashed #d2a552;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-13deg)}.gift-scene-footsteps i{position:absolute;z-index:8;color:#f1d28a;font-style:normal;font-size:38px;opacity:0;animation:giftFootstep .35s calc(.4s + var(--d,0)*.32s) ease both}.gift-scene-footsteps i:nth-child(1){left:20%;bottom:16%;--d:0}.gift-scene-footsteps i:nth-child(2){left:36%;bottom:25%;--d:1}.gift-scene-footsteps i:nth-child(3){left:53%;bottom:39%;--d:2}.gift-scene-footsteps i:nth-child(4){left:70%;bottom:57%;--d:3}.gift-scene-mountain{position:absolute;z-index:5;inset:26% 8% 8%;background:linear-gradient(145deg,#55452c,#181410);clip-path:polygon(0 100%,29% 31%,43% 66%,67% 4%,100% 100%)}.gift-scene-hiker{position:absolute;z-index:9;left:20%;bottom:18%;color:#f3c66f;font-size:26px;animation:giftHiker 2.5s .3s ease both}
.gift-scene-blanket{position:absolute;z-index:6;left:20%;right:20%;bottom:9%;height:42%;background:repeating-linear-gradient(45deg,#d85468 0 14px,#f2dfbc 14px 28px);transform:perspective(250px) rotateX(52deg)}.gift-scene-picnic-items i{position:absolute;z-index:8;left:50%;top:50%;font-style:normal;font-size:33px;opacity:0;animation:giftPicnicPop .65s calc(.5s + var(--d,0)*.26s) cubic-bezier(.2,1.5,.4,1) both}.gift-scene-picnic-items i:nth-child(1){left:30%;--d:0}.gift-scene-picnic-items i:nth-child(2){left:58%;--d:1}.gift-scene-picnic-items i:nth-child(3){left:44%;top:60%;--d:2}
.gift-scene-pulses i{position:absolute;z-index:5;left:50%;top:50%;width:40px;height:40px;border:2px solid #ffd85f;border-radius:50%;transform:translate(-50%,-50%);animation:giftPulseRing 1.8s calc(var(--d,0)*.35s) ease-out infinite}.gift-scene-pulses i:nth-child(2){--d:1}.gift-scene-pulses i:nth-child(3){--d:2}.gift-scene-energy{position:absolute;z-index:9;left:50%;top:50%;font-size:56px;color:#ffdc5c;transform:translate(-50%,-50%);text-shadow:0 0 20px #ff6;animation:giftEnergy .8s ease-in-out infinite alternate}
.gift-scene-drops i{position:absolute;z-index:8;top:9%;color:#73d5ff;font-size:14px;font-style:normal;animation:giftDrop 1.4s calc(var(--d,0)*.2s) ease-in infinite}.gift-scene-drops i:nth-child(1){left:20%}.gift-scene-drops i:nth-child(2){left:43%;animation-delay:.35s}.gift-scene-drops i:nth-child(3){left:65%;animation-delay:.65s}.gift-scene-drops i:nth-child(4){left:80%;animation-delay:.15s}.gift-scene-ripple{position:absolute;z-index:7;left:16%;right:16%;bottom:8%;height:28%;border:3px solid rgba(96,206,255,.68);border-radius:50%;animation:giftRipple 1.5s .7s ease-out infinite}
.gift-scene-curtain{position:absolute;z-index:8;top:0;bottom:0;width:52%;background:repeating-linear-gradient(90deg,#46101b,#8e263c 20%,#46101b 42%);box-shadow:inset 0 0 30px rgba(0,0,0,.48);animation:giftCurtainOpen 1.45s .45s ease both}.gift-scene-curtain.left{left:0;transform-origin:left}.gift-scene-curtain.right{right:0;transform-origin:right}.gift-scene-screen{position:absolute;z-index:7;left:18%;right:18%;top:30%;padding:30px 8px;background:#f1dfb8;color:#432717;font:700 12px serif;letter-spacing:.1em;box-shadow:0 0 28px rgba(255,231,179,.34)}.gift-scene-screen b{font-size:17px}
.gift-scene-candles i{position:absolute;z-index:8;top:25%;color:#ffe2a1;font-style:normal;font-size:39px;filter:drop-shadow(0 0 12px #ffb52d);animation:giftCandle 1s ease-in-out infinite alternate}.gift-scene-candles i:first-child{left:19%}.gift-scene-candles i:last-child{right:19%;animation-delay:.3s}.gift-scene-table{position:absolute;z-index:7;left:10%;right:10%;bottom:9%;height:31%;background:linear-gradient(#e9cfa4 0 12%,#522d20 13%);border-radius:50% 50% 10px 10px}.gift-scene-rope{position:absolute;z-index:7;left:9%;right:9%;bottom:20%;height:5px;background:#bb263b;box-shadow:0 5px 16px #d0445a}.gift-scene-vip{position:absolute;z-index:9;left:50%;top:43%;transform:translate(-50%,-50%) scale(0);font:900 52px serif;color:#efc868;text-shadow:0 5px 0 #604018,0 0 22px #dca73f;animation:giftVipStamp .7s 1.05s cubic-bezier(.2,1.5,.4,1) both}
.gift-scene-sun{position:absolute;z-index:4;left:50%;top:28%;width:82px;height:82px;border-radius:50%;background:#ffb75e;transform:translateX(-50%);box-shadow:0 0 50px #f55e45;animation:giftSunset 2.6s .25s ease both}.gift-scene-horizon{position:absolute;z-index:6;left:0;right:0;bottom:0;height:44%;background:linear-gradient(#423758,#171528);clip-path:polygon(0 40%,16% 23%,34% 46%,55% 15%,78% 43%,100% 26%,100% 100%,0 100%)}.gift-scene-hearts{position:absolute;z-index:9;left:0;right:0;bottom:12%;color:#f07791;font-size:25px;animation:giftHeartBeat 1s 1.4s ease 3}

@keyframes giftSenderJourney{0%{transform:translateX(-18px) scale(.84);opacity:0}22%{transform:none;opacity:1}55%{transform:translateX(118px) translateY(-24px) scale(.42);opacity:.28}69%{transform:translateX(142px) translateY(-35px) scale(.25);opacity:0}70%{transform:translateX(-35px) scale(.62);opacity:0}100%{transform:none;opacity:1}}
@keyframes giftRecipientReveal{0%,32%{transform:scale(.54);filter:blur(10px);opacity:0}70%{transform:scale(1.07);filter:blur(0);opacity:1}100%{transform:none}}
@keyframes giftJourneyFade{0%,10%{opacity:0}25%,82%{opacity:1}100%{opacity:.7}}@keyframes giftJourneyDot{to{left:100%}}@keyframes giftRevealCurtain{0%,58%{clip-path:inset(0)}100%{clip-path:inset(0 50%);opacity:0;visibility:hidden}}@keyframes giftHeartBeat{50%{transform:scale(1.28)}}
@keyframes giftRoseOpen{0%,18%{clip-path:circle(9% at 50% 53%);transform:scale(.63)}72%{clip-path:circle(72% at 50% 50%);transform:scale(1.07)}100%{clip-path:circle(72% at 50% 50%);transform:none}}@keyframes giftBudVanish{0%,55%{opacity:1;transform:translate(-50%,-50%) scale(.55)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.65) rotate(12deg)}}@keyframes giftPetalBurst{0%{opacity:0;transform:translate(0,0) scale(.3)}20%{opacity:1}100%{opacity:0;transform:translate(calc((var(--n) - 2.5)*35px),calc(-70px + var(--n)*23px)) rotate(calc(var(--n)*82deg)) scale(1.2)}}
@keyframes giftStemGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes giftLeafOpen{from{opacity:0;scale:.1}to{opacity:1;scale:1}}@keyframes giftTulipBud{0%{opacity:0;transform:translate(-50%,30px) scale(.15)}80%{opacity:1;transform:translate(-50%,0) scale(1.2)}100%{opacity:0;transform:translate(-50%,0) scale(1.45)}}@keyframes giftTulipBloom{0%,40%{clip-path:inset(100% 18% 0 18% round 80px);transform:scale(.55)}78%,100%{clip-path:inset(0 round 22px);transform:none}}@keyframes giftSoftGlow{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}
@keyframes giftCoffeeArrive{from{transform:translateY(95px) scale(.65);opacity:0}70%{transform:translateY(-5px) scale(1.03);opacity:1}to{transform:none}}@keyframes giftSteamHeart{0%{transform:translateY(25px) scale(.4);opacity:0}25%{opacity:.92}100%{transform:translateY(-70px) translateX(12px) scale(1.35) rotate(14deg);opacity:0}}
@keyframes giftFlowerGather{0%{opacity:0;transform:translate(calc((var(--i) - 2)*55px),-80px) rotate(calc((var(--i) - 2)*24deg)) scale(.6)}60%{opacity:1}100%{opacity:0;transform:translate(calc((2 - var(--i))*8px),105px) scale(.9)}}@keyframes giftWrapClose{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes giftRibbonTie{to{transform:translateX(-50%) scale(1)}}@keyframes giftBouquetReveal{0%,45%{opacity:0;transform:scale(.5)}75%{opacity:1;transform:scale(1.07)}100%{transform:none}}
@keyframes giftLidOpen{0%,25%{transform:rotateX(0)}100%{transform:rotateX(115deg);opacity:.2}}@keyframes giftChocolateReveal{to{opacity:1}}@keyframes giftBowRelease{to{transform:translate(-50%,-125%) rotate(22deg);opacity:0}}@keyframes giftBoxArtwork{to{opacity:1}}
@keyframes giftEnvelopeArrive{from{transform:translateY(100px);opacity:0}to{transform:none;opacity:1}}@keyframes giftFlapOpen{to{transform:rotateX(180deg);opacity:.3}}@keyframes giftLetterRise{to{transform:translateY(-38%)}}@keyframes giftSealBreak{to{transform:translate(-50%,-50%) scale(1.8);opacity:0}}
@keyframes giftShardFly{0%{opacity:1;transform:translate(calc((var(--n) - 4)*42px),calc((var(--n)%2 - .5)*190px)) rotate(calc(var(--n)*45deg)) scale(.45)}75%{opacity:1}100%{opacity:0;transform:translate(0,0) scale(1.1)}}@keyframes giftCrystalAssemble{from{opacity:0;filter:brightness(2.3) blur(7px);transform:scale(.55) rotate(-4deg)}to{opacity:1;filter:none;transform:none}}@keyframes giftPrismSweep{to{transform:translateX(70%) rotate(8deg)}}
@keyframes giftSpotlight{50%{opacity:.5;transform:rotate(6deg)}}@keyframes giftCeremonyDrop{from{opacity:0;transform:translate(-50%,-85px) scale(1.5)}to{opacity:1;transform:translateX(-50%) scale(1)}}
@keyframes giftTravelBackdrop{from{filter:blur(8px);opacity:0}to{filter:blur(1px);opacity:.3}}@keyframes giftGlobeIn{from{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-90deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}@keyframes giftPlaneTrip{0%{transform:translate(-20px,40px) rotate(-18deg);opacity:0}20%{opacity:1}55%{transform:translate(100px,-70px) rotate(4deg)}100%{transform:translate(185px,-110px) rotate(15deg);opacity:0}}@keyframes giftPinLand{from{opacity:0;transform:translateY(-25px) scale(1.7)}to{opacity:1;transform:none}}
@keyframes giftCheersLeft{0%{transform:translateX(-70px) rotate(-24deg);opacity:0}75%{transform:translateX(24px) rotate(14deg);opacity:1}100%{transform:translateX(16px) rotate(4deg)}}@keyframes giftCheersRight{0%{transform:translateX(70px) scaleX(-1) rotate(-24deg);opacity:0}75%{transform:translateX(-24px) scaleX(-1) rotate(14deg);opacity:1}100%{transform:translateX(-16px) scaleX(-1) rotate(4deg)}}@keyframes giftBubble{from{transform:translateY(20px) scale(.4);opacity:0}25%{opacity:1}to{transform:translateY(-110px) scale(1.3);opacity:0}}
@keyframes giftArcadePop{0%{transform:scale(.6);filter:hue-rotate(120deg)}50%{transform:scale(1.08)}100%{transform:none;filter:none}}@keyframes giftPixelBurst{50%{transform:translate(14px,-18px);opacity:.3}}@keyframes giftScore{from{opacity:0;transform:translateX(-50%) scale(2)}to{opacity:1;transform:translateX(-50%) scale(1)}}@keyframes giftNoteFly{0%{opacity:0;transform:none}25%{opacity:1}100%{opacity:0;transform:translate(calc((var(--d) - 3)*15px),-125px) rotate(28deg)}}@keyframes giftWave{50%{transform:scaleY(.45)}}
@keyframes giftClockHand{to{transform:rotate(360deg)}}@keyframes giftCarArrive{from{transform:translate(-50%,80px) scale(.35);opacity:0}to{transform:translate(-50%,-65px) scale(1.2);opacity:1}}@keyframes giftFootstep{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes giftHiker{to{left:72%;bottom:58%;transform:scale(.65)}}@keyframes giftPicnicPop{to{opacity:1;transform:translateY(-24px) scale(1)}}@keyframes giftPulseRing{to{width:260px;height:260px;opacity:0}}@keyframes giftEnergy{to{filter:brightness(1.4);transform:translate(-50%,-50%) scale(1.15)}}@keyframes giftDrop{from{transform:translateY(-40px);opacity:0}35%{opacity:1}to{transform:translateY(230px);opacity:0}}@keyframes giftRipple{to{transform:scale(1.3);opacity:0}}@keyframes giftCurtainOpen{to{width:8%;opacity:.45}}@keyframes giftCandle{to{transform:scaleY(1.16);filter:drop-shadow(0 0 18px #ffb52d)}}@keyframes giftVipStamp{to{transform:translate(-50%,-50%) scale(1)}}@keyframes giftSunset{to{top:58%;filter:saturate(1.3)}}
@media(max-width:420px){.gift-catalog-card{grid-template-columns:64px minmax(0,1fr) auto;gap:.55rem;padding:.52rem}.gift-preview-button{width:64px;height:64px}.gift-catalog-copy small{font-size:9px}.gift-catalog-action button,.gift-price-pill{padding:.32rem .56rem;font-size:10px}.gift-pack-card{grid-template-columns:82px minmax(0,1fr)}.gift-pack-card .gift-preview-button{width:82px;height:82px}}
@media(prefers-reduced-motion:reduce){.gift-experience-aura,.gift-experience-particles i,.gift-experience-art,.gift-experience-overlay .gift-artwork img{animation:none!important}.gift-experience-stage{transition:none}.gift-artwork img{transition:none}}

/* v45 — composition lisible et lien émotionnel entre les deux personnes. */
.gift-experience-stage{width:min(94vw,470px);padding:1.1rem 1.15rem 1.25rem;overflow-x:hidden}
.gift-experience-visual{width:min(78vw,324px);border-radius:27px;background:linear-gradient(145deg,#110b08,#050403);box-shadow:0 14px 48px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,220,148,.08)}
.gift-scene-art,.gift-scene-bloom .gift-scene-art,.gift-scene-grow .gift-scene-art,.gift-scene-steam .gift-scene-art,.gift-scene-bouquet .gift-scene-art,.gift-scene-petals .gift-scene-art,.gift-scene-unwrap .gift-scene-art,.gift-scene-letter .gift-scene-art,.gift-scene-crystal .gift-scene-art,.gift-scene-flight .gift-scene-art,.gift-scene-arcade .gift-scene-art{position:absolute!important;inset:9px!important;width:auto!important;height:auto!important;z-index:4!important;border-radius:21px!important;clip-path:none!important;opacity:1!important;filter:none!important;transform:none!important;animation:giftArtworkSettle .8s cubic-bezier(.2,.85,.25,1) both!important;background:#080604}
.gift-scene-art .gift-artwork,.gift-scene-art .gift-artwork img{width:100%!important;height:100%!important;object-fit:contain!important;background:#080604;animation:none!important;transform:none!important;filter:none!important}
.gift-scene:before{content:'';position:absolute;z-index:5;inset:8px;border:1px solid rgba(241,197,112,.52);border-radius:22px;pointer-events:none;box-shadow:inset 0 0 28px rgba(0,0,0,.24)}
.gift-scene:after{position:absolute;z-index:8;right:14px;bottom:14px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(12,7,5,.86);border:1px solid rgba(241,197,112,.6);box-shadow:0 5px 20px rgba(0,0,0,.42);font-size:20px;animation:giftEffectBadge 1.8s ease-in-out infinite;pointer-events:none}
.gift-scene-bloom:after{content:'';background-image:url('/vendor/twemoji/svg/1f339.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-grow:after{content:'';background-image:url('/vendor/twemoji/svg/1f337.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-steam:after{content:'';background-image:url('/vendor/twemoji/svg/2615.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-bouquet:after,.gift-scene-petals:after{content:'';background-image:url('/vendor/twemoji/svg/1f490.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-unwrap:after{content:'';background-image:url('/vendor/twemoji/svg/1f381.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-letter:after{content:'';background-image:url('/vendor/twemoji/svg/1f48c.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-crystal:after{content:'';background-image:url('/vendor/twemoji/svg/1f48e.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-crown:after,.gift-scene-ceremony:after{content:'';background-image:url('/vendor/twemoji/svg/1f451.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-trophy:after{content:'';background-image:url('/vendor/twemoji/svg/1f3c6.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-prestige:after{content:'';background-image:url('/vendor/twemoji/svg/2728.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-flight:after{content:'';background-image:url('/vendor/twemoji/svg/2708.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-cheers:after{content:'';background-image:url('/vendor/twemoji/svg/1f942.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-arcade:after{content:'';background-image:url('/vendor/twemoji/svg/1f3ae.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-music:after{content:'';background-image:url('/vendor/twemoji/svg/1f3b5.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-time:after{content:'';background-image:url('/vendor/twemoji/svg/231a.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-drive:after{content:'';background-image:url('/vendor/twemoji/svg/1f3ce.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-walk:after{content:'';background-image:url('/vendor/twemoji/svg/1f463.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-trail:after{content:'';background-image:url('/vendor/twemoji/svg/1f97e.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-picnic:after{content:'';background-image:url('/vendor/twemoji/svg/1f9fa.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-energy:after{content:'';background-image:url('/vendor/twemoji/svg/26a1.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-splash:after{content:'';background-image:url('/vendor/twemoji/svg/1f4a6.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-cinema:after{content:'';background-image:url('/vendor/twemoji/svg/1f3ac.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-dinner:after{content:'';background-image:url('/vendor/twemoji/svg/1f56f.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-vip:after{content:'VIP';font-size:10px;font-weight:800;color:#f1cb75}.gift-scene-sunset:after{content:'';background-image:url('/vendor/twemoji/svg/1f305.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}.gift-scene-sparkle:after{content:'';background-image:url('/vendor/twemoji/svg/2728.svg');background-size:1em 1em;background-position:center;background-repeat:no-repeat;}

/* Les anciens éléments volumineux ne passent plus devant la photographie. */
.gift-scene-journey,.gift-scene-reveal,.gift-scene-soil,.gift-scene-stem,.gift-scene-leaf,.gift-scene-bud,.gift-scene-saucer,.gift-scene-wrap,.gift-scene-ribbon,.gift-scene-box,.gift-scene-envelope,.gift-scene-prism,.gift-scene-crown,.gift-scene-medal,.gift-scene-laurel,.gift-scene-podium,.gift-scene-globe,.gift-scene-flight-path,.gift-scene-plane,.gift-scene-pin,.gift-scene-glasses,.gift-scene-score,.gift-scene-wave,.gift-scene-clock,.gift-scene-time-copy,.gift-scene-road,.gift-scene-headlights,.gift-scene-car,.gift-scene-trail,.gift-scene-footsteps,.gift-scene-mountain,.gift-scene-hiker,.gift-scene-blanket,.gift-scene-picnic-items,.gift-scene-energy,.gift-scene-ripple,.gift-scene-curtain,.gift-scene-screen,.gift-scene-candles,.gift-scene-table,.gift-scene-rope,.gift-scene-vip,.gift-scene-sun,.gift-scene-horizon,.gift-scene-hearts{display:none!important}
.gift-scene-petals,.gift-scene-flowers,.gift-scene-shards,.gift-scene-steam,.gift-scene-bubbles,.gift-scene-pixels,.gift-scene-notes,.gift-scene-pulses,.gift-scene-drops,.gift-scene-spotlights,.gift-scene-glow{position:absolute;z-index:7;pointer-events:none}
.gift-scene-petals i,.gift-scene-flowers i,.gift-scene-shards i,.gift-scene-notes i,.gift-scene-drops i{font-size:13px!important}
.gift-scene-steam{left:auto!important;right:26px!important;top:1px!important;width:75px!important;height:92px!important;z-index:7!important}.gift-scene-steam i{font-size:18px!important}
.gift-scene-spotlights{inset:0;z-index:2!important}.gift-scene-pulses{inset:0;z-index:2!important}.gift-scene-glow{inset:5%;z-index:2!important}
.gift-mode-sent .gift-experience-visual{animation:giftSenderFrame 1.2s ease both;border-color:rgba(242,192,97,.8)}
.gift-mode-received .gift-experience-visual{animation:giftReceiverFrame 1.2s ease both;border-color:rgba(239,145,177,.72)}

/* La signature est placée hors de l’image : aucun effet décoratif ne masque le cadeau. */
.gift-scene:after,.gift-scene-petals,.gift-scene-flowers,.gift-scene-shards,.gift-scene-steam,.gift-scene-bubbles,.gift-scene-pixels,.gift-scene-notes,.gift-scene-pulses,.gift-scene-drops,.gift-scene-spotlights,.gift-scene-glow{display:none!important}
.gift-effect-signature{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;margin:.65rem auto 0;padding:.34rem .72rem;border:1px solid rgba(241,199,113,.3);border-radius:999px;background:rgba(255,255,255,.055);color:#edc572}.gift-effect-signature span{font-size:17px;line-height:1;animation:giftEffectBadge 1.8s ease-in-out infinite}.gift-effect-signature b{font-size:9px;letter-spacing:.11em;text-transform:uppercase}.gift-effect-signature-crystal,.gift-effect-signature-flight,.gift-effect-signature-splash{color:#a9dff2}.gift-effect-signature-bloom,.gift-effect-signature-grow,.gift-effect-signature-bouquet,.gift-effect-signature-petals{color:#f08eaa}.gift-effect-signature-walk,.gift-effect-signature-trail,.gift-effect-signature-picnic{color:#afd383}
.gift-fx-crystal .gift-experience-visual,.gift-fx-flight .gift-experience-visual,.gift-fx-splash .gift-experience-visual{box-shadow:0 14px 48px rgba(0,0,0,.5),0 0 30px rgba(118,202,241,.18)}.gift-fx-bloom .gift-experience-visual,.gift-fx-grow .gift-experience-visual,.gift-fx-bouquet .gift-experience-visual,.gift-fx-petals .gift-experience-visual{box-shadow:0 14px 48px rgba(0,0,0,.5),0 0 30px rgba(234,105,145,.16)}.gift-fx-walk .gift-experience-visual,.gift-fx-trail .gift-experience-visual,.gift-fx-picnic .gift-experience-visual{box-shadow:0 14px 48px rgba(0,0,0,.5),0 0 30px rgba(157,203,113,.14)}

.gift-bond{display:grid;grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);align-items:center;gap:.45rem;margin:.85rem auto .55rem;padding:.68rem .75rem;border:1px solid rgba(230,190,112,.25);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025));max-width:390px}
.gift-bond-person{display:flex;align-items:center;gap:.45rem;min-width:0;text-align:left}.gift-bond-receiver{flex-direction:row-reverse;text-align:right}.gift-bond-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;overflow:hidden;border:2px solid #d8aa55;background:#2d1a12;color:#ffe5ad;font-weight:800;font-size:12px;box-shadow:0 0 16px rgba(212,157,63,.28)}.gift-mode-received .gift-bond-receiver .gift-bond-avatar{border-color:#df7798}.gift-bond-avatar img{width:100%;height:100%;object-fit:cover}.gift-bond-person>span:last-child{min-width:0}.gift-bond-person b{display:block;color:#fff;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gift-bond-person small{display:block;color:rgba(255,255,255,.52);font-size:8px;line-height:1.25;margin-top:2px}
.gift-bond-connection{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:4px;color:#f4c76d}.gift-bond-connection i{height:1px;background:linear-gradient(90deg,rgba(244,199,109,.2),#f4c76d);position:relative;overflow:hidden}.gift-bond-connection i:last-child{background:linear-gradient(90deg,#f4c76d,rgba(244,199,109,.2))}.gift-bond-connection b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#25130d;border:1px solid rgba(244,199,109,.5);font-size:15px;animation:giftBondPulse 1.4s ease-in-out infinite}
.gift-experience-context{margin:.25rem auto .25rem;max-width:390px;color:#efc875;letter-spacing:.08em}.gift-experience-copy{margin:.55rem auto .65rem}.gift-personal-message{margin:.5rem auto .9rem;padding:.65rem .8rem;max-width:350px;border-left:2px solid #df7898;border-radius:0 10px 10px 0;background:rgba(223,120,152,.08);color:#fff1f5;font-family:'Cormorant Garamond',serif;font-size:15px;font-style:italic;line-height:1.35;text-align:left}
.gift-mode-sent .gift-bond{box-shadow:inset 0 0 24px rgba(203,154,66,.06)}.gift-mode-received .gift-bond{box-shadow:inset 0 0 24px rgba(210,76,119,.08)}

@keyframes giftArtworkSettle{from{opacity:.72;transform:scale(.965)}to{opacity:1;transform:none}}
@keyframes giftEffectBadge{50%{transform:translateY(-4px) scale(1.06);box-shadow:0 8px 24px rgba(218,164,74,.35)}}
@keyframes giftBondPulse{50%{transform:scale(1.12);box-shadow:0 0 18px rgba(235,172,68,.42)}}
@keyframes giftSenderFrame{0%{transform:translateX(-9px);opacity:.8}55%{transform:translateX(5px)}100%{transform:none;opacity:1}}
@keyframes giftReceiverFrame{0%{transform:scale(.96);box-shadow:0 0 0 rgba(225,111,147,0)}65%{transform:scale(1.01);box-shadow:0 0 36px rgba(225,111,147,.2)}100%{transform:none}}

@media(max-width:520px){.gift-experience-stage{width:min(96vw,450px);padding:1rem .85rem 1.1rem;border-radius:23px}.gift-experience-visual{width:min(82vw,305px)}.gift-bond{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);padding:.58rem .5rem}.gift-bond-avatar{width:34px;height:34px;flex-basis:34px}.gift-bond-person b{font-size:11px}.gift-bond-person small{display:none}.gift-bond-connection{gap:2px}.gift-bond-connection b{width:26px;height:26px;font-size:13px}.gift-experience-stage h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.gift-scene-art,.gift-experience-visual,.gift-bond-connection b,.gift-scene:after{animation:none!important}}

/* v46 — la classe de certaines mises en scène (steam, trail, energy, vip…)
   porte le même nom que leur décor interne. Les anciennes règles masquaient
   donc accidentellement la scène entière. Le cadre et l'œuvre restent
   désormais indépendants de l'effet sélectionné dans le dashboard. */
.gift-experience-visual>.gift-scene{display:block!important;position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;z-index:auto!important;overflow:hidden!important;visibility:visible!important;opacity:1!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;clip-path:none!important;mask:none!important;-webkit-mask:none!important;filter:none!important;transform:none!important;animation:none!important;font-size:inherit!important;color:inherit!important}
.gift-experience-visual>.gift-scene>.gift-scene-art{display:block!important;position:absolute!important;inset:9px!important;width:auto!important;height:auto!important;visibility:visible!important;opacity:1!important;overflow:hidden!important;clip-path:none!important;mask:none!important;-webkit-mask:none!important;filter:none!important;transform:none!important;animation:none!important;isolation:isolate!important;background:#080604!important;z-index:4!important}
.gift-experience-visual>.gift-scene>.gift-scene-art>.gift-artwork{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;visibility:visible!important;opacity:1!important;clip-path:none!important;mask:none!important;-webkit-mask:none!important;filter:none!important;transform:none!important;animation:none!important;background:#080604!important}
.gift-experience-visual>.gift-scene>.gift-scene-art>.gift-artwork>img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;visibility:visible!important;opacity:1!important;clip-path:none!important;mask:none!important;-webkit-mask:none!important;mix-blend-mode:normal!important;filter:none!important;transform:none!important;animation:none!important;background:#080604!important;z-index:1!important}
.gift-experience-visual>.gift-scene>.gift-scene-art>.gift-artwork>img[hidden]{display:none!important}
.gift-experience-visual>.gift-scene>.gift-scene-art>.gift-artwork>.gift-artwork-fallback:not([hidden]){display:grid!important;position:absolute!important;inset:0!important;place-items:center!important;background:radial-gradient(circle,#5a2b1e,#080604 72%)!important;color:#f5cf76!important;font-size:4rem!important;z-index:2!important}

/* Received gifts: sending time, in the viewer's local timezone. */
.gift-received-date {
  display:block;
  margin-top:.3rem;
  font-size:11px;
  line-height:1.45;
  color:#766650;
  white-space:normal;
  overflow-wrap:anywhere;
}
