/* =========================================================================
   Maurizio Lanini — BUTTONS / CTA / FORMS / cards (global components + Elementor)
   Pill buttons, gold primary, dark glass form fields. Aligns to the immersive
   .btn--solid / .btn--ghost language. Scoped away from the immersive template.
   ========================================================================= */

/* ---- Buttons: pill shape + immersive font everywhere ---- */
body:not(.ml-immersive-template) .button,
body:not(.ml-immersive-template) a.button,
body:not(.ml-immersive-template) button,
body:not(.ml-immersive-template) input[type="submit"],
body:not(.ml-immersive-template) .wp-block-button__link,
body:not(.ml-immersive-template) .elementor-button,
body:not(.ml-immersive-template) .wpcf7-submit,
body:not(.ml-immersive-template) .single_add_to_cart_button,
body:not(.ml-immersive-template) .added_to_cart {
  border-radius: var(--ml-radius-pill) !important;
  font-family: var(--ml-font-body) !important;
  letter-spacing: 0.02em;
  transition: background-color 0.25s var(--ml-ease), color 0.25s var(--ml-ease),
    transform 0.25s var(--ml-ease) !important;
}

/* Primary actions → warm gold pill (was white/black or crimson) */
body:not(.ml-immersive-template) .button.alt,
body:not(.ml-immersive-template) input[type="submit"],
body:not(.ml-immersive-template) .wpcf7-submit,
body:not(.ml-immersive-template) .single_add_to_cart_button,
body:not(.ml-immersive-template) .elementor-button-primary,
body:not(.ml-immersive-template) .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: var(--ml-gold) !important;
  background-image: none !important;
  color: #0b1320 !important;
  border: 1px solid transparent !important;
}
body:not(.ml-immersive-template) .button.alt:hover,
body:not(.ml-immersive-template) input[type="submit"]:hover,
body:not(.ml-immersive-template) .wpcf7-submit:hover,
body:not(.ml-immersive-template) .single_add_to_cart_button:hover,
body:not(.ml-immersive-template) .elementor-button-primary:hover {
  background: var(--ml-gold-strong) !important;
  color: #0b1320 !important;
  transform: translateY(-1px);
}

/* Secondary / generic buttons → ghost gold (keeps contrast on dark) */
body:not(.ml-immersive-template) .button:not(.alt),
body:not(.ml-immersive-template) a.button:not(.alt) {
  background: transparent !important;
  color: var(--ml-ink) !important;
  border: 1px solid var(--ml-line) !important;
}
body:not(.ml-immersive-template) .button:not(.alt):hover,
body:not(.ml-immersive-template) a.button:not(.alt):hover {
  border-color: var(--ml-gold) !important;
  color: var(--ml-gold) !important;
  background: var(--ml-gold-tint) !important;
}

/* ---- Form fields: dark glass ---- */
body:not(.ml-immersive-template) input[type="text"],
body:not(.ml-immersive-template) input[type="email"],
body:not(.ml-immersive-template) input[type="tel"],
body:not(.ml-immersive-template) input[type="url"],
body:not(.ml-immersive-template) input[type="search"],
body:not(.ml-immersive-template) input[type="number"],
body:not(.ml-immersive-template) input[type="password"],
body:not(.ml-immersive-template) textarea,
body:not(.ml-immersive-template) select {
  background-color: var(--ml-bg-3) !important;
  color: var(--ml-ink) !important;
  border: 1px solid var(--ml-line) !important;
  border-radius: 12px !important;
}
body:not(.ml-immersive-template) input:focus,
body:not(.ml-immersive-template) textarea:focus,
body:not(.ml-immersive-template) select:focus {
  border-color: var(--ml-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px var(--ml-gold-tint) !important;
}
body:not(.ml-immersive-template) ::placeholder {
  color: var(--ml-ink-dim) !important;
  opacity: 1;
}

/* Focus-visible accessibility ring everywhere */
body:not(.ml-immersive-template) a:focus-visible,
body:not(.ml-immersive-template) button:focus-visible,
body:not(.ml-immersive-template) .button:focus-visible {
  outline: 2px solid var(--ml-gold) !important;
  outline-offset: 2px;
}
