/* GID Notification Engine v4.2 */
.push-menu-btn.is-active,
.saved-events-menu-btn.is-active {
  background: #fff !important;
  color: #6f7782 !important;
  border-color: rgba(255,255,255,.95) !important;
}
.push-menu-note.is-ok { color: #dfffe0 !important; }
.push-menu-note.is-warn { color: #fff4c2 !important; }
.push-menu-note.is-error { color: #ffd2d2 !important; }
.gid-os-mini-status {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.35;
  opacity: .85;
}
.gid-os-save-active {
  box-shadow: 0 0 0 2px rgba(255,255,255,.25) inset;
}


/* Stato test registrazione GID v1.1 */
.gid-os-debug-box{
  margin:10px auto;
  max-width:520px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(0,0,0,.45);
  color:#fff;
  font-size:13px;
  line-height:1.4;
  border:1px solid rgba(255,255,255,.18);
}


/* GID v3.1 - Avviso iPhone PWA */
.gid-ios-pwa-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(0,0,0,.46);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.gid-ios-pwa-modal.is-visible{ display:flex; }
.gid-ios-pwa-card{
  width:min(92vw,430px);
  border-radius:28px;
  background:rgba(128,128,128,.96);
  color:#fff;
  box-shadow:0 22px 70px rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.32);
  overflow:hidden;
  font-family:inherit;
}
.gid-ios-pwa-head{
  display:flex;
  align-items:center;
  gap:14px;
  padding:20px 22px 14px;
  border-bottom:1px solid rgba(255,255,255,.22);
}
.gid-ios-pwa-icon{
  width:52px;
  height:52px;
  border-radius:50%;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  box-shadow:0 4px 14px rgba(0,0,0,.15);
}
.gid-ios-pwa-icon img{
  width:34px;
  height:34px;
  object-fit:contain;
  opacity:.72;
}
.gid-ios-pwa-title{
  margin:0;
  font-size:22px;
  line-height:1.12;
  font-weight:800;
  letter-spacing:.01em;
}
.gid-ios-pwa-subtitle{
  margin:4px 0 0;
  font-size:14px;
  line-height:1.35;
  opacity:.92;
}
.gid-ios-pwa-body{
  padding:18px 22px 20px;
}
.gid-ios-pwa-body p{
  margin:0 0 14px;
  font-size:16px;
  line-height:1.42;
}
.gid-ios-pwa-steps{
  margin:14px 0 18px;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.gid-ios-pwa-steps li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:11px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  font-size:15px;
  line-height:1.35;
}
.gid-ios-pwa-step-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:25px;
  height:25px;
  min-width:25px;
  border-radius:50%;
  background:#fff;
  color:#808080;
  font-weight:800;
  font-size:13px;
}
.gid-ios-pwa-actions{
  display:flex;
  gap:10px;
  margin-top:10px;
}
.gid-ios-pwa-btn{
  appearance:none;
  border:0;
  border-radius:999px;
  padding:13px 18px;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
  font-family:inherit;
  background:#fff;
  color:#666;
  flex:1;
}
.gid-ios-pwa-btn.secondary{
  background:rgba(255,255,255,.18);
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
}
.gid-ios-pwa-small{
  margin-top:12px !important;
  font-size:13px !important;
  opacity:.82;
}
@media (max-width:420px){
  .gid-ios-pwa-card{ border-radius:24px; }
  .gid-ios-pwa-head{ padding:18px 18px 12px; }
  .gid-ios-pwa-body{ padding:16px 18px 18px; }
  .gid-ios-pwa-title{ font-size:20px; }
}

/* GID v3.2 LTS - stati robusti Save the Date */
.save-date-btn.is-loading,
.saved-events-menu-btn:disabled,
.push-menu-btn:disabled{
  opacity:.78 !important;
  cursor:wait !important;
  pointer-events:none;
}
.save-date-btn.is-loading{
  background:rgba(255,255,255,.24) !important;
  border-color:rgba(255,255,255,.55) !important;
}


/* v3.6: pulsante notifiche fuori menu */
.gid-home-push-btn i{margin-right:0;}

/* GID Notification Engine v4.0 - promemoria automatici */
.save-date-row,
.save-date-btn,
.save-date-remove-btn,
#openSavedEvents,
#savedEventsReminder,
#savedEventsPanelOverlay,
.saved-events-menu-btn,
.saved-events-panel-overlay{
  display:none !important;
}
.gid-home-push-btn{
  min-width:44px;
}
.gid-home-push-btn .gid-push-label{
  max-width:160px;
}
@media (max-width:520px){
  .gid-home-push-btn .gid-push-label{
    max-width:105px;
  }
}

/* GID v4.2 - floating compatto/collassabile */

.gid-home-push-btn.is-collapsed{
  padding:7px 8px !important;
  min-width:44px;
}
.gid-home-push-btn.is-collapsed .gid-push-label{
  display:none !important;
}
.gid-home-push-btn.is-collapsed .gid-push-dot{
  margin-left:0;
}
.gid-home-push-btn.is-expanded .gid-push-label{
  display:inline-block !important;
}


.gid-home-push-note.is-ok,
.gid-home-push-note.is-warn,
.gid-home-push-note.is-error{
  opacity:1;
  transform:translateY(0);
}
.gid-home-push-note.is-ok{background:rgba(128,128,128,.92) !important;color:#fff !important;}


/* GID Release 6.7 - UX & Mobile Edition */
.gid-ios-pwa-modal{
  align-items:center !important;
  justify-content:center !important;
  padding:12px !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
}
.gid-ios-pwa-card{
  width:min(92vw,430px) !important;
  max-height:86vh !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch !important;
  border-radius:24px !important;
}
.gid-ios-pwa-head{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(128,128,128,.97);
}
.gid-ios-pwa-body{
  padding-bottom:calc(18px + env(safe-area-inset-bottom, 0px)) !important;
}
.gid-ios-pwa-actions{
  position:sticky;
  bottom:0;
  background:linear-gradient(to top, rgba(128,128,128,.98), rgba(128,128,128,.92));
  padding-top:10px;
  padding-bottom:calc(4px + env(safe-area-inset-bottom, 0px));
}
.gid-ios-pwa-btn{
  min-height:48px;
}
@media (max-width:420px), (max-height:520px){
  .gid-ios-pwa-modal{ padding:8px !important; align-items:flex-start !important; }
  .gid-ios-pwa-card{ width:94vw !important; max-height:92vh !important; border-radius:20px !important; margin-top:8px; }
  .gid-ios-pwa-head{ padding:14px 14px 10px !important; gap:10px !important; }
  .gid-ios-pwa-icon{ width:42px !important; height:42px !important; }
  .gid-ios-pwa-icon img{ width:28px !important; height:28px !important; }
  .gid-ios-pwa-title{ font-size:18px !important; }
  .gid-ios-pwa-subtitle{ font-size:12px !important; }
  .gid-ios-pwa-body{ padding:12px 14px 14px !important; }
  .gid-ios-pwa-body p{ font-size:14px !important; margin-bottom:10px !important; }
  .gid-ios-pwa-steps{ gap:8px !important; margin:10px 0 12px !important; }
  .gid-ios-pwa-steps li{ padding:9px 10px !important; font-size:13px !important; border-radius:14px !important; }
  .gid-ios-pwa-step-num{ width:22px !important; height:22px !important; min-width:22px !important; font-size:12px !important; }
  .gid-ios-pwa-actions{ flex-direction:column; gap:8px !important; }
  .gid-ios-pwa-btn{ width:100%; min-height:46px; padding:11px 14px !important; font-size:15px !important; }
  .gid-ios-pwa-small{ font-size:12px !important; }
}
@media (orientation:landscape) and (max-height:500px){
  .gid-ios-pwa-modal{ align-items:flex-start !important; }
  .gid-ios-pwa-card{ max-height:94vh !important; margin-top:4px; }
  .gid-ios-pwa-head{ padding:10px 14px 8px !important; }
  .gid-ios-pwa-body{ padding-top:10px !important; }
  .gid-ios-pwa-steps li{ padding:7px 9px !important; }
}
