/* ============================================================
   Shared footer - O Jardim da Elis
   ============================================================ */
.app-footer { position:relative; margin-top:0; background:#F7F2EC; color:#82786e; min-height:0; display:block; padding:0; text-align:center; overflow:hidden; container-type:inline-size; isolation:isolate; border-top:1px solid rgba(238,138,148,.12); }
.app-footer::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(100% 64% at 50% 0%, rgba(238,138,148,.12), rgba(238,138,148,0) 62%); opacity:.9; }
.app-footer__main { position:relative; z-index:1; padding:clamp(4.15rem, 11cqw, 6.6rem) var(--gutter) clamp(3.9rem, 10cqw, 6.1rem); }
.app-footer__ornament { display:block; width:clamp(60px, 16cqw, 96px); height:auto; margin:0 auto clamp(.85rem, 2.2cqw, 1.35rem); opacity:.88; }
.app-footer__logo { display:block; width:min(72cqw, 38rem); max-width:100%; height:auto; margin:0 auto clamp(.78rem, 2.1cqw, 1.7rem); filter:none; opacity:.96; }
.app-footer__message { max-width:30ch; margin:0 auto; color:#EE8A94; font-family:var(--font-sans); font-size:clamp(.96rem, 3.45cqw, 1.7rem); line-height:1.28; font-weight:var(--fw-regular); letter-spacing:.012em; text-wrap:balance; }
.app-footer__bar { position:relative; z-index:1; width:100%; background:#EE8A94; padding:clamp(.78rem, 2.05cqw, 1.05rem) var(--gutter) calc(clamp(.78rem, 2.05cqw, 1.05rem) + var(--safe-bottom)); }
.app-footer__bar p { margin:0 auto; max-width:34ch; color:#FFFFFF; font-family:var(--font-sans); font-size:clamp(.76rem, 2.5cqw, 1.1rem); line-height:1.34; letter-spacing:.012em; text-wrap:balance; }
.app-footer__bar .app-footer__credit { width:fit-content; max-width:100%; text-wrap:normal; }
.app-footer__rotating-word { display:inline-block; transform-origin:center 58%; will-change:transform, opacity; }
.app-footer__rotating-word.is-changing { animation:footerRotatingWord 560ms cubic-bezier(.34,1.28,.64,1) both; }
.app-footer__egg-toggle { appearance:none; border:0; padding:0; margin:0; background:none; color:inherit; font:inherit; letter-spacing:inherit; cursor:pointer; }
.app-footer__egg-toggle[hidden] { display:none; }
@keyframes footerRotatingWord {
  0% { opacity:1; transform:translateY(0) rotateX(0deg) rotate(-.5deg); }
  48% { opacity:.38; transform:translateY(-.12em) rotateX(82deg) rotate(4deg) scale(.96); }
  100% { opacity:1; transform:translateY(0) rotateX(0deg) rotate(0deg) scale(1); }
}
