/* Custom TruNanny styles */
/* WhatsApp Baileys gem chat styles are loaded separately via stylesheet_link_tag */

/* === Turbo Progress Bar === */
.turbo-progress-bar {
  background-color: #8224E3;
  height: 3px;
  z-index: 9999;
}

/* === Story 2: Color overrides === */
:root {
  --bs-primary: #8224E3;
  --bs-primary-rgb: 130, 36, 227;
}

.text-primary { color: #8224E3 !important; }
.bg-primary { background-color: #8224E3 !important; }

/* === Story 3: Typography === */
body {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: 'Roboto', sans-serif;
  font-weight: 600;
}

.navbar-brand {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
}

.lead, .card-body p, .text-muted.small {
  font-family: 'Roboto Slab', serif;
  font-weight: 400;
}

.brand-wordmark {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
}

/* === Story 4: Button and Component Styling === */
.btn {
  border-radius: 16px;
}

.btn-primary {
  background-color: #FFFFFF;
  color: #8224E3;
  border: 2px solid #8224E3;
  border-radius: 16px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(95, 45, 222, 0.15);
  transition: all 0.2s ease;
}
.btn-primary:hover, .btn-primary:focus {
  background-color: #FF4A84;
  color: #FFFFFF;
  border-color: #FF4A84;
}

.btn-outline-primary {
  color: #8224E3;
  border-color: #8224E3;
  border-radius: 16px;
}
.btn-outline-primary:hover {
  background-color: #8224E3;
  color: #FFFFFF;
}

.card {
  border-radius: 25px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.form-control, .form-select {
  border-radius: 12px;
}

.badge.bg-success { background-color: #00C6A0 !important; }
.badge.bg-primary { background-color: #8224E3 !important; }

/* === Star Rating === */
.cursor-pointer { cursor: pointer; }
.rating-stars { color: #ffc107; }

/* === Mobile Polish (Story 5) === */
@media (max-width: 767px) {
  /* Calendar: smaller fonts, minimum cell height, horizontal scroll hint */
  .table-responsive table th,
  .table-responsive table td {
    font-size: 0.75rem;
    min-height: 70px;
    padding: 0.25rem;
  }
  .table-responsive table .badge {
    font-size: 0.65rem;
  }

  /* Cancellation form full-width on mobile */
  #cancelForm {
    width: 100%;
  }
  #cancelForm .form-control {
    width: 100%;
  }
}

/* Touch target minimum 44px */
.btn, .nav-link, .form-check-input, .form-check-label,
.navbar-toggler, a.link-primary {
  min-height: 44px;
  min-width: 44px;
}
