/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* Cursor Pointer for Buttons */
button:not([disabled]),
[role="button"]:not([disabled]),
input[type="submit"]:not([disabled]),
input[type="button"]:not([disabled]),
input[type="reset"]:not([disabled]) {
  cursor: pointer !important;
}

/* Brand Color Variables */
:root {
  /* Base Brand Colors */
  --brand-primary: #D9284A;

  /* Lighter Variations (for subtle backgrounds, disabled states) */
  --brand-primary-light: #F08FA6;

  /* Darker Variations (for hover states, pressed states) */
  --brand-primary-dark: #B01E36;

  /* Muted Variations (for borders, subtle elements) */
  --brand-primary-muted: #E8778F;

  /* Semi-transparent Variations (for overlays, focus rings) */
  --brand-primary-alpha: rgba(217, 40, 74, 0.1);
}

/* Background Utilities */
.bg-brand-primary {
  background-color: var(--brand-primary);
}

/* Light Background Utilities (for subtle backgrounds) */
.bg-brand-primary-light {
  background-color: var(--brand-primary-light);
}

/* Alpha Background Utilities (for overlays) */
.bg-brand-primary-alpha {
  background-color: var(--brand-primary-alpha);
}

/* Text Color Utilities */
.text-brand-primary {
  color: var(--brand-primary);
}

/* Muted Text Color Utilities */
.text-brand-primary-muted {
  color: var(--brand-primary-muted);
}

/* Border Color Utilities (using muted variations for better subtlety) */
.border-brand-primary {
  border-color: var(--brand-primary-muted);
}

/* Outline Color Utilities (using muted variations for better subtlety) */
.outline-brand-primary {
  outline-color: var(--brand-primary-muted);
}

/* Hover Border Color Utilities (using darker variations for better feedback) */
.hover\:border-brand-primary:hover {
  border-color: var(--brand-primary-dark);
}

/* Focus Border Color Utilities (using base colors for visibility) */
.focus\:border-brand-primary:focus {
  border-color: var(--brand-primary);
}

/* Hover Outline Color Utilities (using darker variations for better feedback) */
.hover\:outline-brand-primary:hover {
  outline-color: var(--brand-primary-dark);
}

/* Focus Outline Color Utilities (using base colors for visibility) */
.focus\:outline-brand-primary:focus {
  outline-color: var(--brand-primary-muted);
}

/* Ring Color Utilities (using alpha versions for subtle focus) */
.ring-brand-primary {
  --tw-ring-color: var(--brand-primary-alpha);
}

/* Hover Background Utilities (using darker variations for better feedback) */
.hover\:bg-brand-primary:hover {
  background-color: var(--brand-primary-dark);
}

/* Hover Text Color Utilities (using darker variations) */
.hover\:text-brand-primary:hover {
  color: var(--brand-primary-dark);
}

.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}