/* Vitrine de l'app Sahaba : badge « Bientôt sur l'App Store », deck de cartes à venir, animations.
   Chargée par la landing uniquement (l'app iOS n'utilise pas ce fichier). */
.store-badge{display:inline-flex;align-items:center;gap:12px;padding:10px 18px 10px 14px;border-radius:14px;background:var(--gold);color:var(--teal);text-decoration:none;position:relative;overflow:hidden;min-height:46px;line-height:1.1;border:1px solid #c9a96a}
.store-badge:focus-visible{outline:3px solid #ca7649;outline-offset:4px}
.store-star{font-size:26px;line-height:1}
.store-text{display:grid;gap:1px;text-align:left}
.store-text small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.store-text strong{font:600 17px/1.1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.01em}
.store-badge:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,#ffffff66 50%,transparent 65%);transform:translateX(-120%);animation:store-shine 7s ease-in-out 2s infinite}
.store-badge-dark{background:var(--teal);color:#f3e1b9;border-color:var(--teal)}
.store-badge-dark .store-star{color:var(--gold)}
@keyframes store-shine{0%,70%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.hero-actions{flex-wrap:wrap;gap:16px}
.site-header nav a.nav-store{display:inline-flex!important;align-items:center;min-height:36px;padding:7px 14px;border-radius:99px;background:var(--teal);color:#f3e1b9;text-decoration:none;font-size:12px;white-space:nowrap}
.site-header nav{align-items:center}
.site-header nav a{display:inline-flex;align-items:center;min-height:36px}
.brand-logo .logo-star{fill:#e0a560}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center}
.footer-links a:not(.store-badge){font-size:13px}
.soon-deck{--spread:62px;position:relative;height:250px;margin:6px auto 34px;max-width:520px;display:flex;justify-content:center;align-items:flex-end}
.soon-card{position:absolute;bottom:14px;width:112px;height:168px;border-radius:12px;background:linear-gradient(160deg,#1d4a52,#123d43);border:1px solid #d9b88180;box-shadow:0 14px 28px #12303533;display:grid;place-items:center;align-content:center;gap:12px;color:var(--gold);transform:translateX(calc(var(--x)*var(--spread))) translateY(var(--y)) rotate(calc(var(--x)*7deg));transition:transform .9s cubic-bezier(.2,.7,.2,1) calc((var(--x) + 2)*70ms),opacity .6s ease;animation:soon-float 6s ease-in-out calc((var(--x) + 2)*.4s) infinite}
.soon-card:nth-child(3){z-index:2;background:linear-gradient(160deg,#2a5a62,#17464e)}
.soon-star{font-size:34px;line-height:1}
.soon-label{font-size:8px;letter-spacing:.2em}
@keyframes soon-float{0%,100%{margin-bottom:0}50%{margin-bottom:8px}}
.js-reveal .soon-deck:not(.is-in) .soon-card{transform:translateX(0) translateY(0) rotate(0);opacity:.5}
.js-reveal .reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease var(--d,0ms),transform .75s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.js-reveal .reveal.is-in{opacity:1;transform:none}
.hero:before{content:"✳︎";position:absolute;right:-90px;top:-130px;font-size:520px;line-height:1;color:var(--gold);opacity:.06;pointer-events:none;animation:hero-spin 140s linear infinite}
@keyframes hero-spin{to{transform:rotate(360deg)}}
.showcase-card{animation:hero-float 7s ease-in-out infinite}
.ghost-one{animation:hero-float 8s ease-in-out -2s infinite reverse}
.ghost-two{animation:hero-float 9s ease-in-out -4s infinite}
@keyframes hero-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
.phone-shell{animation:phone-float 8s ease-in-out infinite}
@keyframes phone-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
.collection-card{transition:translate .35s ease}
.collection-card:hover{translate:0 -5px}
@media(max-width:560px){.soon-deck{--spread:44px;height:230px}.soon-card{width:96px;height:146px}.store-badge{padding:9px 15px 9px 12px}.hero-actions{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.store-badge:after,.hero:before,.showcase-card,.ghost-one,.ghost-two,.phone-shell,.soon-card{animation:none!important}.js-reveal .reveal,.soon-card{transition:none!important}.collection-card:hover{translate:none}}
