/* Meteovigo UI applied directly to Perfecty's native subscription controls. */
.perfecty-push-dialog-container {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  padding: max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom)) !important;
  background: color-mix(in srgb, var(--mvp-bg, #071a2f) 88%, transparent) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  overflow: auto !important;
  box-sizing: border-box !important;
}
.perfecty-push-dialog-box {
  width: min(620px, calc(100vw - 36px)) !important;
  min-height: 0 !important;
  margin: min(8vh, 72px) auto !important;
  padding: clamp(28px, 5vw, 52px) !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  align-items: center !important;
  justify-items: center !important;
  background: #fff !important;
  color: #102a43 !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  border-radius: 28px !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.34) !important;
  text-align: center !important;
  box-sizing: border-box !important;
  animation: mvpNativeEnter .28s ease-out both !important;
}
.perfecty-push-dialog-icon {
  width: 104px !important;
  height: 104px !important;
  object-fit: contain !important;
  border-radius: 24px !important;
  padding: 10px !important;
  background: #f3f8fd !important;
  box-shadow: 0 12px 30px rgba(8,102,198,.14) !important;
}
.perfecty-push-dialog-form { width: 100% !important; }
.perfecty-push-dialog-title {
  margin: 2px auto 0 !important;
  max-width: 520px !important;
  font-size: clamp(28px, 5vw, 42px) !important;
  line-height: 1.08 !important;
  font-weight: 850 !important;
  letter-spacing: -.035em !important;
  color: #102a43 !important;
}
.perfecty-push-dialog-title::after {
  content: var(--mvp-description, "Recibe avisos relevantes de Meteovigo.") !important;
  display: block !important;
  margin: 16px auto 0 !important;
  max-width: 500px !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  font-weight: 450 !important;
  letter-spacing: normal !important;
  color: #52667a !important;
}
.perfecty-push-dialog-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 12px !important;
  margin-top: 24px !important;
}
.perfecty-push-dialog-buttons::before {
  content: var(--mvp-benefits, "✓ Avisos importantes\\A✓ Cambios de última hora\\A✓ Pronósticos destacados") !important;
  white-space: pre-line !important;
  flex-basis: 100% !important;
  display: block !important;
  max-width: 470px !important;
  margin: 0 auto 14px !important;
  padding: 16px 20px !important;
  border-radius: 18px !important;
  background: #f4f8fc !important;
  color: #29445d !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  text-align: left !important;
}
.perfecty-push-dialog-buttons::after {
  content: var(--mvp-privacy, "Puedes desactivarlos cuando quieras.") !important;
  order: 10 !important;
  flex-basis: 100% !important;
  display: block !important;
  margin-top: 6px !important;
  font-size: 12px !important;
  color: #74879a !important;
}
.perfecty-push-dialog-container .perfecty-push-dialog-form button,
.perfecty-push-dialog-buttons button {
  min-height: 54px !important;
  margin: 0 !important;
  padding: 14px 24px !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-size: 16px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
#perfecty-push-dialog-subscribe {
  order: 1 !important;
  min-width: 220px !important;
  background: var(--mvp-accent, #0866c6) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--mvp-accent, #0866c6) 32%, transparent) !important;
}
#perfecty-push-dialog-subscribe:hover { filter: brightness(.94) !important; transform: translateY(-1px) !important; }
#perfecty-push-dialog-cancel {
  order: 2 !important;
  background: #edf3f8 !important;
  color: #29445d !important;
}
.perfecty-push-settings-container { z-index: 2147482000 !important; }
.perfecty-push-settings-container #perfecty-push-settings-open svg {
  background: var(--mvp-accent, #0866c6) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.22) !important;
}
@keyframes mvpNativeEnter { from {opacity:0; transform:translateY(16px) scale(.985)} to {opacity:1; transform:none} }
@media (max-width: 600px) {
  .perfecty-push-dialog-container { padding: 0 !important; }
  .perfecty-push-dialog-box {
    width: 100% !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: max(30px, env(safe-area-inset-top)) 24px max(28px, env(safe-area-inset-bottom)) !important;
    border-radius: 0 !important;
    align-content: center !important;
  }
  .perfecty-push-dialog-buttons { flex-direction: column !important; width: 100% !important; }
  .perfecty-push-dialog-buttons button { width: 100% !important; }
  #perfecty-push-dialog-subscribe { order: 1 !important; }
  #perfecty-push-dialog-cancel { order: 2 !important; }
}
@media (prefers-reduced-motion: reduce) { .perfecty-push-dialog-box { animation: none !important; } }
