@tailwind base;
@tailwind components;
@tailwind utilities;

@layer components {
  .field label {
    @apply text-sm;
  }

  .hero {
    position: relative;
    background-image: url(/assets/Animal_Shelter-3d8f630a14b8042db08cde9f271dabbbcf05a325ddebbf9d0f85ad20addf9ba9.jpg);
    background-repeat: no-repeat;
    background-position: 0 35%;
    background-size: cover;
    margin-top: 0;
    min-height: 65vh;
    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
  }

  .hero::before {
    content: "";
    position: absolute;
    inset: 0; /* top:0; right:0; bottom:0; left:0; */
    background: rgba(0, 0, 0, 0.4); /* adjust darkness here */
  }

  /* Ensure content stays above the overlay */
  .hero > * {
    position: relative;
    z-index: 1;
  }

  @media only screen and (max-width: 768px) {
    .hero {
      min-height: 65vh;
      background-position: -170px 10px;
    }
  }

  .link {
    @apply text-highlight-blue hover:underline;
  }

  .btn {
    @apply rounded-lg py-3 px-5 bg-highlight-blue text-white inline-block font-medium cursor-pointer;
  }

  .btn-highlight {
    @apply rounded-lg py-3 px-5 bg-highlight-orange text-white inline-block font-medium cursor-pointer;
  }

  .btn-danger {
    @apply rounded-lg py-2 px-4 bg-muted-red text-white inline-block font-medium cursor-pointer;
  }

  .btn-secondary {
    @apply rounded-md py-1 px-2 bg-highlight-blue text-white inline-block font-medium cursor-pointer;
  }

  .btn-link {
    @apply text-highlight-blue py-3 px-5 inline-block font-medium;
  }

  .affiliate-link {
    color: inherit;
    text-decoration: none;
  }

  .affiliate-link:hover {
    color: #1fa0d1;
    text-decoration: none;
  }

  .btn-icon {
    @apply rounded-lg py-3 px-2 text-highlight-blue inline-block font-medium;
  }

  .input {
    @apply block shadow rounded-md border border-gray-300 outline-none px-3 py-2;
  }

  .notice {
    @apply flex justify-center w-2/3 mx-auto md:w-80 py-2 px-3 bg-green-300 mb-5 text-black font-medium rounded-lg;
  }

  .alert {
    @apply bg-red px-3 py-2 font-medium rounded-lg inline-block w-full;
  }

  /* Form/Onboarding Components */

  .form-card {
    @apply w-full max-w-sm sm:max-w-md bg-white rounded-xl shadow-lg overflow-hidden;
  }

  .form-header {
    @apply w-full p-3 sm:p-4 text-xl sm:text-2xl md:text-3xl text-center text-white bg-gradient-to-r from-form-orange-start to-form-orange-end font-bold [text-shadow:0_2px_4px_rgba(0,0,0,0.2)];
  }

  .form-content {
    @apply px-4 sm:px-6 py-4 sm:py-6;
  }

  .form-label {
    @apply block font-bold text-form-label text-sm sm:text-base;
  }

  .form-input {
    @apply block w-full rounded-md border-gray-300 shadow-sm focus:border-admin-blue focus:ring focus:ring-admin-blue-hover/50 px-3 py-2 text-sm sm:text-base;
  }

  .btn-form-submit {
    @apply w-full bg-form-orange-start hover:bg-form-orange-end text-white font-bold text-lg sm:text-xl md:text-2xl px-4 py-2.5 sm:py-3 rounded-md shadow-md [text-shadow:0_2px_4px_rgba(0,0,0,0.2)] transition-colors;
  }

  .btn-form-teal {
    @apply w-full bg-form-teal hover:bg-form-teal-hover text-white font-bold text-lg sm:text-2xl px-4 py-3 rounded-md shadow-md [text-shadow:0_2px_4px_rgba(0,0,0,0.2)];
  }


  /* Admin Dashboard Components */

  .btn-admin {
    @apply text-white px-3 py-1 rounded-md cursor-pointer bg-admin-blue hover:bg-admin-blue-hover;
  }

  .btn-admin-sm {
    @apply text-sm text-white px-4 py-2 rounded-md cursor-pointer bg-admin-blue hover:bg-admin-blue-hover;
  }

  .btn-admin-delete {
    @apply text-delete-red hover:text-delete-red-hover;
  }

  .admin-link {
    @apply text-admin-blue hover:text-admin-blue-hover;
  }

  .welcome-banner {
    @apply bg-gradient-to-r from-admin-blue-gradient-start to-admin-blue-gradient-end rounded-lg shadow-md p-6 mb-6 flex justify-between items-center;
  }

  .welcome-banner-title {
    @apply text-2xl font-bold text-white;
  }

  .stats-card {
    @apply bg-white rounded-lg shadow p-6 flex items-center;
  }

  .stats-card-icon {
    @apply p-3 rounded-full;
  }

  .stats-card-label {
    @apply text-sm font-medium text-gray-500;
  }

  .stats-card-value {
    @apply text-2xl font-semibold text-gray-800;
  }

  .admin-table-container {
    @apply bg-white rounded-lg shadow overflow-hidden;
  }

  .admin-table-header {
    @apply px-6 py-4 border-b border-gray-200 flex justify-between items-center;
  }

  .admin-table-title {
    @apply text-lg font-semibold text-gray-800 flex-shrink-0;
  }

  .admin-table {
    @apply min-w-full divide-y divide-gray-200 table-fixed;
  }

  .admin-table thead {
    @apply bg-gray-50;
  }

  .admin-table-th {
    @apply px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider;
  }

  .admin-table tbody {
    @apply bg-white divide-y divide-gray-200;
  }

  .admin-table-td {
    @apply px-6 py-4 text-sm text-gray-500;
  }

  .admin-table-td-truncate {
    @apply px-6 py-4 text-sm text-gray-500 truncate max-w-xs;
  }

  .admin-filter-btn {
    @apply flex items-center px-3 py-2 border border-gray-300 rounded-md text-sm whitespace-nowrap hover:bg-gray-50;
  }

  .admin-form-row {
    @apply px-6 py-4 border-b border-gray-200;
  }

  .admin-form-section {
    @apply px-6 py-4 border-b border-gray-200;
  }

  .admin-form-label {
    @apply text-sm font-medium text-gray-700;
  }

  .admin-select {
    @apply border border-gray-300 rounded-md px-2 py-1 text-sm;
  }

  .admin-input {
    @apply text-sm border border-gray-300 rounded-md px-3 py-2;
  }

  .admin-pagination {
    @apply px-6 py-4 border-t border-gray-200 flex flex-col sm:flex-row justify-between items-center gap-3 sm:gap-0;
  }

  .admin-pagination-info {
    @apply text-sm text-gray-500 order-2 sm:order-1;
  }

  .admin-pagination-controls {
    @apply flex items-center gap-2 text-sm order-1 sm:order-2;
  }

  .admin-pagination-btn {
    @apply mt-2 text-white px-3 py-1 rounded-md inline-block text-sm bg-admin-blue hover:bg-admin-blue-hover;
  }

  /* Status badges */
  .status-badge {
    @apply px-2 inline-flex text-xs leading-5 font-semibold rounded-full;
  }

  .status-badge-active {
    @apply status-badge bg-status-active-bg text-status-active-text;
  }

  .status-badge-pending {
    @apply status-badge bg-status-pending-bg text-status-pending-text;
  }

  .status-badge-inactive {
    @apply status-badge bg-status-inactive-bg text-status-inactive-text;
  }

  .status-badge-default {
    @apply status-badge bg-status-default-bg text-status-default-text;
  }
}

/*Change text in autofill textbox*/
input:-webkit-autofill {
  -webkit-text-fill-color: black !important;
  -webkit-background-clip: text;
  font-size: 16px;
}

.page-container {
  overflow-x: hidden;
  overflow-y: hidden;
}

.swiper-button-prev,
.swiper-button-next {
  color: white;
}

@font-face {
  font-family: Impacto;
  font-weight: bold;
  src: url(/fonts/Impacto.ttf) format('truetype');
}

/* ============================
   Pet Profile Styles
   ============================ */

/* Glassmorphism floating info card */
.profile-glass-card {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}

/* Expandable card transitions */
.profile-card {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.profile-card:hover {
  border-color: #D1D5DB;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.profile-card.expanded {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  border-color: #D1D5DB;
}

/* Card content expand/collapse */
.profile-card-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.profile-card.expanded .profile-card-content {
  max-height: 800px;
}

/* Chevron rotation */
.profile-card .profile-chevron {
  transition: transform 0.3s ease;
}

.profile-card.expanded .profile-chevron {
  transform: rotate(90deg);
}

/* Icon shortcut hover */
.profile-icon-shortcut .profile-icon-circle {
  transition: all 0.2s ease;
}

.profile-icon-shortcut:hover .profile-icon-circle {
  transform: scale(1.1);
  filter: brightness(1.3);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.profile-icon-shortcut:active .profile-icon-circle {
  transform: scale(0.95);
}

/* Card icon hover */
.profile-card-icon {
  transition: all 0.2s ease;
}

.profile-card:hover .profile-card-icon {
  transform: scale(1.08);
  filter: brightness(0.95);
}

/* Contact button hover */
.profile-contact-btn {
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.profile-contact-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

/* Staggered entrance animations */
@keyframes profileSlideUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.profile-animate-in {
  animation: profileSlideUp 0.4s ease-out forwards;
  opacity: 0;
}

.profile-animate-in:nth-child(1) { animation-delay: 0.05s; }
.profile-animate-in:nth-child(2) { animation-delay: 0.1s; }
.profile-animate-in:nth-child(3) { animation-delay: 0.15s; }
.profile-animate-in:nth-child(4) { animation-delay: 0.2s; }
.profile-animate-in:nth-child(5) { animation-delay: 0.25s; }
.profile-animate-in:nth-child(6) { animation-delay: 0.3s; }
.profile-animate-in:nth-child(7) { animation-delay: 0.35s; }
.profile-animate-in:nth-child(8) { animation-delay: 0.4s; }
.profile-animate-in:nth-child(9) { animation-delay: 0.45s; }

/* Carousel dots */
.profile-carousel-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  transition: all 0.3s;
}

.profile-carousel-dot.active {
  width: 20px;
  border-radius: 3px;
  background: white;
}

/* Badge styles */
.profile-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
}

.profile-badge-success {
  background: #D1FAE5;
  color: #065F46;
}

.profile-badge-warning {
  background: #FEF3C7;
  color: #78350F;
}

/* Info list bullet styling */
.profile-info-list {
  list-style: none;
  padding: 0;
}

.profile-info-list li {
  padding-left: 20px;
  position: relative;
  margin-bottom: 6px;
}

.profile-info-list li::before {
  content: "\2022";
  position: absolute;
  left: 6px;
  color: #FF6B35;
  font-weight: bold;
}

/* Contact detail rows */
.profile-contact-detail {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: background 0.2s;
  margin-bottom: 8px;
}

.profile-contact-detail:hover {
  background: #F3F4F6;
}

/* Alert banner gradient */
.profile-alert-banner {
  background: linear-gradient(135deg, rgba(255, 107, 53, 0.1) 0%, rgba(255, 107, 53, 0.05) 100%);
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */
