/*
 * 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.
 */

/* Custom styles can go here */

/* Merchant Form Styles */
.pos-config-container {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  border: 1px solid #e9ecef;
}

.pos-config-header {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #dee2e6;
}

.pos-config-header h5 {
  color: #495057;
  font-weight: 600;
  margin: 0;
}

.provider-header {
  /* background: linear-gradient(135deg, #007bff 0%, #0056b3 100%); */
  color: white;
  padding: 1rem 1.5rem;
  margin: 0;
  border-radius: 0;
  position: relative;
}

.provider-header::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  /* background: linear-gradient(90deg, #28a745, #17a2b8, #ffc107); */
}

.provider-header h6 {
  color: white;
  font-weight: 500;
  margin: 0;
}

.pos-config-section {
  background: #ffffff;
  border-radius: 0;
  margin: 0;
}

.pos-config-section .row {
  padding: 1.5rem;
}

.pos-config-section .mb-3:last-child {
  margin-bottom: 0 !important;
}

/* Logo Display Enhancements */
.logo-preview {
  border: 2px dashed #dee2e6;
  border-radius: 8px;
  transition: border-color 0.2s ease;
}

.logo-preview:hover {
  border-color: #007bff;
}

.logo-url-info {
  background: #e3f2fd;
  border-left: 4px solid #2196f3;
  padding: 0.75rem;
  border-radius: 0 4px 4px 0;
}

/* Form Field Enhancements */
.merchant-form .form-control:focus,
.merchant-form .form-select:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.merchant-form .form-label {
  font-weight: 500;
  color: #495057;
}

/* Card Enhancements */
.merchant-form .card {
  border: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
}

.merchant-form .card-header {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-bottom: 1px solid #dee2e6;
  border-radius: 8px 8px 0 0;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .pos-config-section .row {
    padding: 1rem;
  }

  .provider-header {
    padding: 0.75rem 1rem;
  }

  .pos-config-header {
    padding: 1rem 1.25rem;
  }
}

/* Logo sizing utilities */
.img-fluid.twenty-percent {
  max-height: 20%;
  max-width: 20%;
}

.img-fluid.forty-percent {
  max-height: 40%;
  max-width: 40%;
}

.img-fluid.sixty-percent {
  max-height: 60%;
  max-width: 60%;
}

.img-fluid.eighty-percent {
  max-height: 80%;
  max-width: 80%;
}

/* ========================================
   GLOBAL FLOATING NOTIFICATION STYLES
   ======================================== */

.floating-notification {
  position: fixed !important;
  bottom: 2rem !important;
  right: 2rem !important;
  z-index: 9999 !important;
  max-width: 400px !important;
  min-width: 300px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
  border: none !important;
  border-radius: 12px !important;
  animation: slideInUp 0.3s ease-out !important;
}

.floating-notification.alert-success {
  background: linear-gradient(135deg, #10b981, #059669) !important;
  color: white !important;
}

.floating-notification.alert-danger {
  background: linear-gradient(135deg, #ef4444, #dc2626) !important;
  color: white !important;
}

.floating-notification.alert-info {
  background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
  color: white !important;
}

.floating-notification.alert-warning {
  background: linear-gradient(135deg, #f59e0b, #d97706) !important;
  color: white !important;
}

.floating-notification .btn-close {
  filter: invert(1) !important;
  opacity: 0.8 !important;
}

.floating-notification .btn-close:hover {
  opacity: 1 !important;
}

@keyframes slideInUp {
  from {
    transform: translateY(100px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Auto-hide animation */
.floating-notification.fade-out {
  animation: slideOutDown 0.3s ease-in forwards !important;
}

@keyframes slideOutDown {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(100px);
    opacity: 0;
  }
}

/* Responsive adjustments for mobile */
@media (max-width: 768px) {
  .floating-notification {
    bottom: 1rem !important;
    right: 1rem !important;
    left: 1rem !important;
    max-width: none !important;
    min-width: auto !important;
  }
}
