/*
//* VERSION: assets/css/subscribe-consent.css v1.0.0 (2025-10-21, 11:05:00)
// Purpose:
// - Styles for includes/subscribe-consent.html extracted to a dedicated CSS file
// - High specificity + !important to override global button styles from site.css
*/

/* Card */
#subscribeConsent .subscribe-consent-card {
  background: var(--bg-white, #fff);
  border-radius: 14px;
  box-shadow: 0 20px 40px rgba(0,0,0,.22);
  padding: 20px;
  max-width: 640px;
  margin: 0 auto;
}

/* Title + email line */
#subscribeConsent .subscribe-consent-title {
  color: var(--primary-green, #1c7c54);
  text-align: center;
  font-size: 1.6em;
  margin-bottom: 10px;
}
#subscribeConsent .subscribe-consent-email {
  text-align: center;
  font-size: 1.1em;
  font-weight: 700;
  margin-bottom: 20px;
}

/* Checkboxes layout */
#subscribeConsent .consent-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  font-size: 0.95em;
}
#subscribeConsent input[type="checkbox"] {
  transform: scale(1.2);
  margin-right: 10px;
}

/* Errors */
#subscribeConsent .subscribe-consent-persistent {
  color: red;
  font-size: 0.8em;
  text-align: center;
  margin-top: 10px;
}
#subscribeConsent .subscribe-consent-error {
  color: red;
  display: none;
  margin-top: 10px;
  text-align: center;
  animation: subscribe-consent-fade-in 0.3s;
}
@keyframes subscribe-consent-fade-in {
  from { opacity: 0; } to { opacity: 1; }
}

/* Actions (buttons row) */
#subscribeConsent .actions {
  margin-top: 16px;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

/* =========================
   Confirm button states
   - Strong specificity + !important to override global .btn-pay rules
   ========================= */
/* Enabled (all checked) → green */
#subscribeConsent .btn-small#consentConfirmBtn:not(:disabled) {
  background: #28a745 !important;
  color: #fff !important;
  filter: none !important;
  opacity: 1 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  transition: background-color .2s ease, opacity .2s ease;
}
#subscribeConsent .btn-small#consentConfirmBtn:not(:disabled):hover {
  background: #218838 !important;
}

/* Disabled (not all checked / busy) → gray */
#subscribeConsent .btn-small#consentConfirmBtn:disabled {
  background: #b8c2c8 !important; /* solid gray */
  color: #ffffff !important;
  cursor: not-allowed !important;
  filter: none !important;
  opacity: 0.95 !important;
  pointer-events: none !important;
}

/* Loading state while request is in-flight */
#subscribeConsent .btn-small#consentConfirmBtn.loading {
  cursor: progress !important;
  opacity: 0.75 !important;
}

/* Generic hover for other buttons */
#subscribeConsent button:hover { opacity: 0.97; }

/* Mobile layout */
@media (max-width: 600px) {
  #subscribeConsent .consent-list { grid-template-columns: 1fr; }
}
