/* Family Time notification opt-in — isolated progressive enhancement. */
.ft-pwa-notifications {
  position: fixed;
  left: max(1rem, env(safe-area-inset-left, 0px));
  right: max(1rem, env(safe-area-inset-right, 0px));
  bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  z-index: 9999;
  max-width: 32rem;
  margin: 0 auto;
  padding: 1rem;
  border: 1px solid rgba(44,36,25,.14);
  border-radius: 1rem;
  background: rgba(255,255,255,.98);
  color: #2c2419;
  box-shadow: 0 1rem 3rem rgba(0,0,0,.18);
  font-family: "Source Sans 3", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
.ft-pwa-notifications__top { display:flex; align-items:flex-start; gap:.8rem; }
.ft-pwa-notifications__bell { display:grid; place-items:center; width:3rem; height:3rem; flex:0 0 auto; border-radius:.75rem; background:#f3efe8; font-size:1.35rem; }
.ft-pwa-notifications__copy { min-width:0; flex:1; }
.ft-pwa-notifications__title { margin:0 0 .2rem; font-size:1.05rem; font-weight:700; line-height:1.25; }
.ft-pwa-notifications__text { margin:0; font-size:.92rem; line-height:1.4; color:#5f5549; }
.ft-pwa-notifications__close { appearance:none; border:0; background:transparent; color:#655b50; cursor:pointer; width:2rem; height:2rem; border-radius:999px; font-size:1.35rem; line-height:1; }
.ft-pwa-notifications__close:hover,.ft-pwa-notifications__close:focus-visible { background:rgba(44,36,25,.08); outline:none; }
.ft-pwa-notifications__actions { display:flex; gap:.6rem; margin-top:.9rem; flex-wrap:wrap; }
.ft-pwa-notifications__button { appearance:none; border:1px solid #2c2419; border-radius:.7rem; padding:.62rem .9rem; font:inherit; font-weight:650; cursor:pointer; background:#2c2419; color:#fff; }
.ft-pwa-notifications__button--secondary { background:#fff; color:#2c2419; }
@media (max-width: 520px) {
  .ft-pwa-notifications { bottom: calc(.75rem + env(safe-area-inset-bottom, 0px)); }
}
