/* ===== GrowNiti Labs — Share (center FAB + modal + dismiss) ===== */

/* --- Floating Share chip --- */
/* ===== Share FAB positioning (aligned with corner buttons) ===== */

/* Mobile/Tablet: bottom-center, same baseline as corner CTAs */
.gn-share-fab{
  position: fixed;
  z-index: 10050;
  left: 47%;
  transform: translateX(-50%);          /* center between corners */
  bottom: calc(16px + env(safe-area-inset-bottom));  /* ⬅ same as corner buttons */
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.65rem 1.1rem;
  border-radius: 40px;
  font-weight: 600;
  font-size: 0.95rem;
  color: #fff;
  border: none;
  cursor: pointer;
  text-decoration: none;
  background: linear-gradient(135deg, #1f6feb, #2188ff);
  background: rgba(30, 60, 150, .55);
  box-shadow: 0 10px 26px rgba(0,0,0,.38);
  transition: transform .18s ease, box-shadow .18s ease, opacity .2s ease;
}
.gn-share-fab:hover{ transform: translateX(-50%) translateY(-2px); box-shadow: 0 14px 32px rgba(0,0,0,.46); }
.gn-share-fab svg{ width: 20px; height: 20px; }

/* Desktop/large screens: elegant mid-left gutter */
@media (min-width: 1024px){
  .gn-share-fab{
    left: 16px;
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
  }
  .gn-share-fab:hover{ transform: translateY(calc(-50% - 2px)); }
}

/* Dismiss badge (unchanged) */
.gn-share-dismiss{
  position: absolute;
  right: -8px;
  top: -8px;
  width: 22px; height: 22px; border-radius: 50%;
  display: grid; place-items: center;
  background: #0f172a; color: #fff;
  border: 1px solid rgba(255,255,255,.3);
  box-shadow: 0 6px 16px rgba(0,0,0,.35);
  cursor: pointer; font-size: 14px; line-height: 1;
}

/* Keep rest of your modal styles as you have them… */
.gn-share-dismiss:hover{ filter: brightness(1.1); }

/* --- Modal overlay + card (fallback share) --- */
.gn-share-overlay{
  position: fixed; inset: 0; z-index: 10060;
  background: rgba(0,0,0,.55);
  display: none;
}
.gn-share-modal{
  position: fixed; z-index: 10070;
  left: 50%; top: 50%; transform: translate(-50%,-50%);
  width: min(92vw, 520px);
  background: #111827; color: #e5e7eb;
  border: 1px solid #1f2937; border-radius: 14px;
  box-shadow: 0 18px 40px rgba(0,0,0,.45);
  display: none; overflow: hidden;
}
.gn-share-head{
  display:flex; align-items:center; justify-content:space-between;
  gap: 8px; padding: .9rem 1rem; border-bottom: 1px solid #1f2937;
}
.gn-share-title{ margin:0; font-size:1rem; font-weight:700; }
.gn-share-close{
  background: transparent; border: 1px solid #334155; color: #e5e7eb;
  border-radius: 8px; padding: .35rem .55rem; cursor: pointer;
}
.gn-share-body{ padding: 1rem; display: grid; gap: .9rem; }
.gn-share-row{ display:flex; gap: .6rem; flex-wrap: wrap; }
.gn-share-btn{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.55rem .8rem; border-radius:10px; border:1px solid #334155;
  background:#0b1220; color:#e5e7eb; text-decoration:none; cursor:pointer;
}
.gn-share-btn:hover{ filter: brightness(1.07); }
.gn-copy-wrap{ display:flex; gap:.5rem; align-items:stretch; }
.gn-copy-input{
  flex:1 1 auto; padding:.55rem .7rem; border-radius:10px;
  border:1px solid #334155; background:#0b1220; color:#e5e7eb;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.gn-copy-btn{
  padding:.55rem .8rem; border-radius:10px; border:1px solid #2563eb;
  background:#1d4ed8; color:#fff; cursor:pointer; font-weight:600;
}

/* Hide FAB while modal is open */
body.gn-share-open .gn-share-fab{ opacity: 0; pointer-events: none; }

/* Print hygiene */
@media print{
  .gn-share-fab, .gn-share-overlay, .gn-share-modal{ display:none !important; }
}
