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

.service-card {
    background-color: white;
    padding: 1.5rem;
    border-radius: 0.75rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in-up {
    opacity: 1;
    transform: translateY(0);
}

.swiper-pagination-bullet-active {
    background-color: #3B82F6 !important;
}

/* For better scrollbar on category section */
.category-scroll::-webkit-scrollbar {
    height: 6px;
}

.category-scroll::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.category-scroll::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
}

.category-scroll::-webkit-scrollbar-thumb:hover {
    background: #aaa;
}

.business-card {
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.business-card.is-visible {
    opacity: 1;
    transform: scale(1);
}

.btn-hover {
    transition: transform 0.2s, box-shadow 0.2s;
}

.btn-hover:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/* Modal styles */
#error-modal.hidden {
    display: none;
}

.rating {
    display: inline-block;
}

.rating input {
    display: none;
}

.rating label {
    float: right;
    cursor: pointer;
    color: #ccc;
    transition: color 0.2s;
}

.rating label:before {
    content: '★';
    font-size: 2rem;
}

.rating input:checked~label,
.rating label:hover,
.rating label:hover~label {
    color: #fc0;
}

/* Add near other calendar/utility styles */
.flatpickr-day.call-booking {
    background: #ff9fb1 !important;   /* Light pink */
    color: #3b0b0b !important;
    border-radius: 50% !important;
}
.flatpickr-day.call-booking.selected,
.flatpickr-day.call-booking.startRange,
.flatpickr-day.call-booking.endRange {
    background: #ff6280 !important;   /* Stronger pink when selected */
    color: #fff !important;
}

/* Calendar pink for call-booking */
.flatpickr-day.call-booking {
    background: #ff9fb1 !important;
    color: #3b0b0b !important;
    border-radius: 50% !important;
}
.flatpickr-day.call-booking.selected,
.flatpickr-day.call-booking.startRange,
.flatpickr-day.call-booking.endRange {
    background: #ff6280 !important;
    color: #fff !important;
}

/* --- append to assets/css/style.css --- */
 

/* Footer visual */
.site-footer { position: fixed; left:0; right:0; bottom:0; z-index:50; }

/* Calendar pink for call-booking dates (if using flatpickr) */
.flatpickr-day.call-booking {
    background: #ff9fb1 !important;
    color: #3b0b0b !important;
    border-radius: 50% !important;
}
.flatpickr-day.call-booking.selected,
.flatpickr-day.call-booking.startRange,
.flatpickr-day.call-booking.endRange {
    background: #ff6280 !important;
    color: #fff !important;
}

/* small responsive tweak so footer content wraps on small screens */
@media (max-width: 640px) {
  .site-footer .container { padding-left: 16px; padding-right: 16px; }
}