/* ==========================================================================
   GoldATM Modal Overrides
   Applies dark/gold design tokens to UIkit modals used by
   Newsletter and Campaign builder components.
   ========================================================================== */

/* ---------- Shared backdrop ---------- */
.gold-atm-newsletter-modal.uk-modal,
.gold-atm-campaign-modal.uk-modal {
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* ---------- Shared dialog ---------- */
.gold-atm-newsletter-modal .uk-modal-dialog,
.gold-atm-campaign-modal .uk-modal-dialog {
  background: var(--charcoal, #1A1A1A);
  border: 1px solid var(--border-gold, rgba(200, 168, 78, 0.1));
  border-radius: 6px;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.6);
  color: var(--cream, #F5F0E8);
  overflow: hidden;
}

/* ---------- Newsletter modal ---------- */
.gold-atm-newsletter-modal .uk-modal-dialog {
  max-width: 440px;
  width: calc(100% - 40px);
  margin: auto;
}

/* ---------- Campaign modal ---------- */
.gold-atm-campaign-modal .uk-modal-dialog {
  max-width: 520px;
  width: calc(100% - 40px);
  margin: auto;
}

/* ---------- Modal header ---------- */
.gold-atm-newsletter-modal .uk-modal-header,
.gold-atm-campaign-modal .uk-modal-header {
  background: transparent;
  border-bottom: none;
  padding: 16px 24px 0;
}

/* ---------- Modal body ---------- */
.gold-atm-newsletter-modal .uk-modal-body,
.gold-atm-campaign-modal .uk-modal-body {
  background: transparent;
  color: var(--cream, #F5F0E8);
  padding: 36px 24px;
}

@media (min-width: 768px) {
  .gold-atm-newsletter-modal .uk-modal-body {
    padding: 48px;
  }
  .gold-atm-campaign-modal .uk-modal-body {
    padding: 36px 40px;
  }
}

/* ---------- Close button ---------- */
.gold-atm-newsletter-modal .uk-modal-close-default,
.gold-atm-campaign-modal .uk-modal-close-default,
.gold-atm-newsletter-modal button[uk-close],
.gold-atm-campaign-modal button[uk-close] {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  color: var(--text-dim, rgba(245, 240, 232, 0.35)) !important;
  padding: 4px;
  top: 16px !important;
  right: 16px !important;
  margin: 0 !important;
  transition: color 0.2s;
}

.gold-atm-newsletter-modal .uk-modal-close-default:hover,
.gold-atm-campaign-modal .uk-modal-close-default:hover,
.gold-atm-newsletter-modal button[uk-close]:hover,
.gold-atm-campaign-modal button[uk-close]:hover {
  color: var(--cream, #F5F0E8) !important;
}

/* Campaign close button — pill with blur bg over hero image */
.gold-atm-campaign-modal .uk-modal-close-default,
.gold-atm-campaign-modal button[uk-close] {
  background: rgba(13, 13, 13, 0.6) !important;
  border-radius: 50% !important;
  padding: 6px !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: var(--cream, #F5F0E8) !important;
  z-index: 2;
}

/* ---------- Typography ---------- */
.gold-atm-newsletter-modal .uk-modal-title,
.gold-atm-newsletter-modal .gold-atm-newsletter-title,
.gold-atm-campaign-modal .uk-modal-title,
.gold-atm-campaign-modal .gold-atm-campaign-modal-title {
  font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
  font-weight: 300;
  color: var(--cream, #F5F0E8);
  margin: 0 0 12px;
}

.gold-atm-newsletter-modal .uk-modal-title,
.gold-atm-newsletter-modal .gold-atm-newsletter-title {
  font-size: 28px;
}

.gold-atm-campaign-modal .uk-modal-title,
.gold-atm-campaign-modal .gold-atm-campaign-modal-title {
  font-size: 24px;
}

.gold-atm-newsletter-modal .gold-atm-campaign-modal-subtitle,
.gold-atm-campaign-modal .gold-atm-campaign-modal-subtitle {
  font-family: var(--font-body, 'DM Sans', system-ui, sans-serif);
  font-size: 13px;
  color: var(--gold, #C8A84E);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-top: 4px;
}

.gold-atm-newsletter-modal .modal-text p,
.gold-atm-newsletter-modal .uk-modal-body > p,
.gold-atm-campaign-modal .gold-atm-campaign-content,
.gold-atm-campaign-modal .gold-atm-campaign-content p,
.gold-atm-campaign-modal .uk-modal-body p {
  font-family: var(--font-body, 'DM Sans', system-ui, sans-serif);
  font-size: 14px;
  color: var(--text-muted, rgba(245, 240, 232, 0.5));
  line-height: 1.7;
  font-weight: 300;
  margin-bottom: 24px;
}

/* ---------- Newsletter mail icon (before title) ---------- */
.gold-atm-newsletter-modal .uk-modal-body::before {
  content: '';
  display: block;
  width: 28px;
  height: 28px;
  margin-bottom: 16px;
  background: var(--gold, #C8A84E);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

/* ---------- Form inputs ---------- */
.gold-atm-newsletter-modal .uk-input,
.gold-atm-newsletter-modal input[type="email"],
.gold-atm-newsletter-modal input[type="text"],
.gold-atm-newsletter-modal textarea,
.gold-atm-campaign-modal .uk-input,
.gold-atm-campaign-modal input[type="email"],
.gold-atm-campaign-modal input[type="text"],
.gold-atm-campaign-modal textarea {
  background: var(--mid, #2A2A2A);
  border: 1px solid var(--border-gold, rgba(200, 168, 78, 0.1));
  border-radius: 4px;
  color: var(--cream, #F5F0E8);
  font-family: var(--font-body, 'DM Sans', system-ui, sans-serif);
  font-size: 14px;
  padding: 13px 14px;
  outline: none;
  transition: border-color 0.2s;
}

.gold-atm-newsletter-modal .uk-input:focus,
.gold-atm-newsletter-modal input[type="email"]:focus,
.gold-atm-newsletter-modal input[type="text"]:focus,
.gold-atm-campaign-modal .uk-input:focus,
.gold-atm-campaign-modal input[type="email"]:focus,
.gold-atm-campaign-modal input[type="text"]:focus {
  border-color: var(--border-gold-hover, rgba(200, 168, 78, 0.3));
}

.gold-atm-newsletter-modal .uk-input::placeholder,
.gold-atm-newsletter-modal input::placeholder,
.gold-atm-campaign-modal .uk-input::placeholder,
.gold-atm-campaign-modal input::placeholder {
  color: var(--text-dim, rgba(245, 240, 232, 0.35));
}

/* ---------- Buttons ---------- */
.gold-atm-newsletter-modal .uk-button,
.gold-atm-campaign-modal .uk-button {
  background: rgba(200, 168, 78, 0.1);
  border: 1px solid var(--gold, #C8A84E);
  border-radius: 4px;
  color: var(--gold, #C8A84E);
  font-family: var(--font-body, 'DM Sans', system-ui, sans-serif);
  font-size: 13px;
  font-weight: 500;
  padding: 13px 20px;
  cursor: pointer;
  transition: all 0.3s;
  text-transform: none;
  line-height: 1;
}

.gold-atm-newsletter-modal .uk-button:hover,
.gold-atm-campaign-modal .uk-button:hover {
  background: var(--gold, #C8A84E);
  color: var(--dark, #0D0D0D);
}

/* Secondary CTA variant for campaign dual buttons */
.gold-atm-campaign-modal .uk-button + .uk-button,
.gold-atm-campaign-modal .uk-button-default {
  background: transparent;
  border: 1px solid var(--border-gold-hover, rgba(200, 168, 78, 0.3));
  color: var(--cream, #F5F0E8);
}

.gold-atm-campaign-modal .uk-button + .uk-button:hover,
.gold-atm-campaign-modal .uk-button-default:hover {
  border-color: var(--gold, #C8A84E);
  color: var(--gold, #C8A84E);
  background: transparent;
}

/* ---------- Campaign hero image area ---------- */
.gold-atm-campaign-modal .gold-atm-campaign-image,
.gold-atm-campaign-modal .wrapper-end {
  background: linear-gradient(135deg, rgba(200, 168, 78, 0.15), rgba(200, 168, 78, 0.03));
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}

@media (min-width: 768px) {
  .gold-atm-campaign-modal .gold-atm-campaign-image,
  .gold-atm-campaign-modal .wrapper-end {
    min-height: 260px;
  }
}

.gold-atm-campaign-modal .gold-atm-campaign-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* ---------- Disclaimer ---------- */
.gold-atm-newsletter-modal .uk-text-small,
.gold-atm-campaign-modal .gold-atm-campaign-disclaimer {
  font-size: 11px;
  color: var(--text-dim, rgba(245, 240, 232, 0.35));
  margin-top: 12px;
}

.gold-atm-campaign-modal .gold-atm-campaign-disclaimer a {
  color: var(--text-dim, rgba(245, 240, 232, 0.35)) !important;
  text-decoration: underline;
}

.gold-atm-campaign-modal .gold-atm-campaign-disclaimer a:hover {
  color: var(--gold, #C8A84E) !important;
}

/* ---------- Validation messages ---------- */
.gold-atm-newsletter-modal .uk-text-danger,
.gold-atm-campaign-modal .form-modal-error-required,
.gold-atm-campaign-modal .form-modal-error-validated {
  color: var(--red, #E74C3C);
  font-size: 12px;
}

/* ---------- Success state (WPForms confirmation) ---------- */
.gold-atm-newsletter-modal .js-campaign-alert.uk-alert-success,
.gold-atm-campaign-modal .js-campaign-alert.uk-alert-success {
  background: transparent;
  border: none;
  text-align: center;
  padding: 20px 0;
  color: var(--cream, #F5F0E8);
}

/* Success checkmark */
.gold-atm-newsletter-modal .js-campaign-alert.uk-alert-success::before,
.gold-atm-campaign-modal .js-campaign-alert.uk-alert-success::before {
  content: '\2713';
  display: block;
  font-size: 36px;
  color: var(--gold, #C8A84E);
  margin-bottom: 16px;
}

/* ---------- Inline newsletter input (footer/page embed) ---------- */
.gold-atm-newsletter .uk-input {
  background: var(--mid, #2A2A2A);
  border: 1px solid var(--border-gold, rgba(200, 168, 78, 0.1));
  border-radius: 4px;
  color: var(--cream, #F5F0E8);
  font-family: var(--font-body, 'DM Sans', system-ui, sans-serif);
  font-size: 14px;
}

.gold-atm-newsletter .uk-input::placeholder {
  color: var(--text-dim, rgba(245, 240, 232, 0.35));
}

.gold-atm-newsletter .uk-input:focus {
  border-color: var(--border-gold-hover, rgba(200, 168, 78, 0.3));
}

.gold-atm-newsletter .uk-form-icon {
  color: var(--gold, #C8A84E);
}

.gold-atm-newsletter .gold-atm-newsletter-title {
  font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
  font-weight: 300;
  color: var(--cream, #F5F0E8);
}

#gold-atm-newsletter-validate-msg {
  font-size: 12px;
  margin-top: 4px;
}

/* ---------- Campaign wrapper inner padding ---------- */
.gold-atm-campaign-modal .gold-atm-campaign-wrapper.wrapper-start {
  padding: 0;
  margin: 0;
}

.gold-atm-campaign-modal .gold-atm-campaign-wrapper.wrapper-start > div {
  margin: 0;
  padding: 0;
}

/* ---------- Full-modal mobile override ---------- */
@media (max-width: 767px) {
  .gold-atm-newsletter-modal.uk-modal-full .uk-modal-dialog,
  .gold-atm-campaign-modal.uk-modal-full .uk-modal-dialog {
    background: var(--charcoal, #1A1A1A);
    height: auto;
    min-height: auto;
  }

  .gold-atm-campaign-modal .uk-modal-body {
    flex-direction: column;
  }

  .gold-atm-campaign-modal .wrapper-end {
    display: none;
  }
}

/* ---------- WPForms inside modals ---------- */
.gold-atm-newsletter-modal .wpforms-container,
.gold-atm-campaign-modal .wpforms-container {
  margin: 0;
  padding: 0;
}

.gold-atm-newsletter-modal .wpforms-form input[type="email"],
.gold-atm-newsletter-modal .wpforms-form input[type="text"],
.gold-atm-campaign-modal .wpforms-form input[type="email"],
.gold-atm-campaign-modal .wpforms-form input[type="text"] {
  background: var(--mid, #2A2A2A) !important;
  border: 1px solid var(--border-gold, rgba(200, 168, 78, 0.1)) !important;
  border-radius: 4px !important;
  color: var(--cream, #F5F0E8) !important;
  font-family: var(--font-body, 'DM Sans', system-ui, sans-serif) !important;
  font-size: 14px !important;
  padding: 13px 14px !important;
}

.gold-atm-newsletter-modal .wpforms-form input:focus,
.gold-atm-campaign-modal .wpforms-form input:focus {
  border-color: var(--border-gold-hover, rgba(200, 168, 78, 0.3)) !important;
}

.gold-atm-newsletter-modal .wpforms-form .wpforms-submit,
.gold-atm-campaign-modal .wpforms-form .wpforms-submit {
  background: rgba(200, 168, 78, 0.1) !important;
  border: 1px solid var(--gold, #C8A84E) !important;
  border-radius: 4px !important;
  color: var(--gold, #C8A84E) !important;
  font-family: var(--font-body, 'DM Sans', system-ui, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 13px 20px !important;
  text-transform: none !important;
  transition: all 0.3s !important;
}

.gold-atm-newsletter-modal .wpforms-form .wpforms-submit:hover,
.gold-atm-campaign-modal .wpforms-form .wpforms-submit:hover {
  background: var(--gold, #C8A84E) !important;
  color: var(--dark, #0D0D0D) !important;
}

.gold-atm-newsletter-modal .wpforms-form label,
.gold-atm-campaign-modal .wpforms-form label {
  color: var(--text-muted, rgba(245, 240, 232, 0.5));
  font-family: var(--font-body, 'DM Sans', system-ui, sans-serif);
  font-size: 13px;
}

/* WPForms confirmation message */
.gold-atm-newsletter-modal .wpforms-confirmation-container-full,
.gold-atm-campaign-modal .wpforms-confirmation-container-full {
  background: transparent !important;
  border: none !important;
  text-align: center;
  color: var(--cream, #F5F0E8);
}

.gold-atm-newsletter-modal .wpforms-confirmation-container-full p,
.gold-atm-campaign-modal .wpforms-confirmation-container-full p {
  color: var(--text-muted, rgba(245, 240, 232, 0.5));
  font-size: 14px;
  font-weight: 300;
}
