.pagy {
  display: flex;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: #374151;
  gap: 0.5rem;
  margin-left: auto;
  max-width: 100%;
  overflow-x: auto;
  flex-wrap: wrap;
  justify-content: center;
}

/* Mobile-first responsive adjustments */
@media (max-width: 768px) {
  .pagy {
    gap: 0.25rem;
    font-size: 0.875rem;
    margin-left: 0;
    padding: 0 0.5rem;
    justify-content: flex-start;
  }
}

@media (max-width: 480px) {
  .pagy {
    gap: 0.125rem;
    font-size: 0.75rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .pagy::-webkit-scrollbar {
    display: none;
  }
}

.pagy> :not([hidden])~ :not([hidden]) {
  --space-reverse: 0;
  margin-right: calc(0.5rem * var(--space-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--space-reverse)));
}

@media (max-width: 768px) {
  .pagy> :not([hidden])~ :not([hidden]) {
    margin-right: calc(0.25rem * var(--space-reverse));
    margin-left: calc(0.25rem * calc(1 - var(--space-reverse)));
  }
}

@media (max-width: 480px) {
  .pagy> :not([hidden])~ :not([hidden]) {
    margin-right: calc(0.125rem * var(--space-reverse));
    margin-left: calc(0.125rem * calc(1 - var(--space-reverse)));
  }
}

.pagy a:not(.gap) {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border-radius: 0.75rem;
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  padding: 0.75rem 1rem;
  min-width: 2.75rem;
  height: 2.75rem;
  color: #374151;
  font-weight: 500;
  transition: all 0.2s ease-in-out;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  flex-shrink: 0;
}

/* Mobile adjustments for links */
@media (max-width: 768px) {
  .pagy a:not(.gap) {
    padding: 0.5rem 0.75rem;
    min-width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.5rem;
  }
}

@media (max-width: 480px) {
  .pagy a:not(.gap) {
    padding: 0.375rem 0.5rem;
    min-width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.375rem;
    font-size: 0.75rem;
  }
}

.pagy a:not(.gap):hover {
  background-color: #f9fafb;
  border-color: #d1d5db;
  transform: translateY(-1px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

@media (max-width: 480px) {
  .pagy a:not(.gap):hover {
    transform: none;
    /* Reduce hover effects on mobile */
  }
}

.pagy a:not(.gap):not([href]) {
  /* disabled links */
  cursor: not-allowed;
  background-color: #f9fafb;
  border-color: #f3f4f6;
  color: #d1d5db;
  transform: none;
  box-shadow: none;
}

.pagy a:not(.gap).current {
  background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
  border-color: #3b82f6;
  color: white;
  font-weight: 600;
  box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.3), 0 2px 4px -1px rgba(59, 130, 246, 0.2);
}

.pagy a:not(.gap).current:hover {
  background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
  transform: translateY(-1px);
  box-shadow: 0 6px 8px -2px rgba(59, 130, 246, 0.4), 0 4px 6px -2px rgba(59, 130, 246, 0.3);
}

@media (max-width: 480px) {
  .pagy a:not(.gap).current:hover {
    transform: none;
  }
}

.pagy label {
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  border-radius: 0.75rem;
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  padding: 0.5rem 1rem;
  min-height: 2.75rem;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  flex-shrink: 0;
}

/* Mobile adjustments for labels */
@media (max-width: 768px) {
  .pagy label {
    padding: 0.375rem 0.75rem;
    min-height: 2.25rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
  }
}

@media (max-width: 480px) {
  .pagy label {
    padding: 0.25rem 0.5rem;
    min-height: 1.75rem;
    border-radius: 0.375rem;
    font-size: 0.75rem;
  }
}

.pagy label input {
  line-height: 1.5rem;
  border-radius: 0.5rem;
  border: 1px solid #d1d5db;
  background-color: #ffffff;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  margin-left: 0.5rem;
  min-width: 3rem;
  transition: all 0.2s ease-in-out;
}

/* Mobile adjustments for inputs */
@media (max-width: 768px) {
  .pagy label input {
    padding: 0.375rem 0.5rem;
    font-size: 0.75rem;
    min-width: 2.5rem;
    margin-left: 0.375rem;
  }
}

@media (max-width: 480px) {
  .pagy label input {
    padding: 0.25rem 0.375rem;
    font-size: 0.625rem;
    min-width: 2rem;
    margin-left: 0.25rem;
    border-radius: 0.25rem;
  }
}

.pagy label input:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.pagy .gap {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9ca3af;
  font-weight: 500;
  padding: 0.75rem 0.5rem;
  min-width: 2.75rem;
  height: 2.75rem;
  flex-shrink: 0;
}

/* Mobile adjustments for gaps */
@media (max-width: 768px) {
  .pagy .gap {
    padding: 0.5rem 0.375rem;
    min-width: 2.25rem;
    height: 2.25rem;
  }
}

@media (max-width: 480px) {
  .pagy .gap {
    padding: 0.375rem 0.25rem;
    min-width: 1.75rem;
    height: 1.75rem;
    font-size: 0.75rem;
  }
}
/*
 * 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.
 *


 */

 body{
  font-family: 'Funnel Display', sans-serif;
  color: #121410;
  background-color: #FDFAF5;
 }

 .font-syncopate{
  font-family: 'Syncopate', sans-serif;
 }
 
 .font-funnel{
    font-family: 'Funnel Display', sans-serif;
 }

 .font-inter{
    font-family: 'Inter', sans-serif;
 }


 /* Create a common class for form elements */
 .form-input {
   margin-top: 0.25rem;
   display: block;
   width: 100%;
   border-radius: 0.375rem;
   border: 1px solid #d1d5db;
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
   transition: all 0.3s ease;
   padding: 0.5rem;
   font-size: 1rem;
 }

 .form-input:focus {
   border-color: #6366f1;
   box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.3);
 }

 
.tooltip {
  visibility: hidden;
  position: absolute;
}

.has-tooltip:hover .tooltip {
  visibility: visible;
  z-index: 100;
}
