body {
    background-color: #F7A3B9;
    font-family: "Inter";
    overflow-x: hidden;
}
/* Add this to your CSS file */

/* General responsive adjustments */
@media (max-width: 767px) {
    .fc .fc-toolbar-title {
      font-size: 1.2em; /* Smaller title on mobile */
    }
    
    .fc .fc-button {
      padding: 0.3em 0.5em; /* Smaller buttons */
      font-size: 0.9em;
    }
    
    .fc .fc-toolbar {
      flex-wrap: wrap;
      gap: 0.5rem;
      justify-content: center;
    }
    
    .fc .fc-toolbar-chunk {
      display: flex;
      justify-content: center;
    }
    
    /* Ensure that toolbar buttons don't wrap awkwardly */
    .fc .fc-toolbar-chunk:last-child {
      width: 100%;
      margin-top: 0.5rem;
    }
    
    /* Make calendar fill available width */
    .fc {
      max-width: 100%;
      overflow-x: auto;
    }
    
    /* Adjust event content for mobile */
    .fc-event-title {
      font-size: 0.85em;
      white-space: normal;
    }
    
    /* Better spacing in list view */
    .fc-list-day-cushion {
      padding: 6px 8px !important;
    }
    
    /* Appointment details section styling */
    #appointment-details {
      margin-top: 2rem;
      padding-top: 1rem;
      border-top: 1px solid #eee;
    }
    
    .appointment-details-show {
      display: block;
    }
  }
  
  /* Make sure the calendar container adapts to the viewport */
  .admin-content {
    padding: 1rem;
    margin-bottom: 2rem;
    overflow-x: hidden;
  }
  
  @media (max-width: 767px) {
    .admin-content {
      padding: 0.5rem;
    }
    
    .container.bg-white.rounded-5 {
      border-radius: 0.5rem !important;
    }
  }
.admin-content{
    overflow: hidden;
    border-radius: 30px;
    padding-right: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
    padding-top: 30px;

}
.stats .title{
    padding-top: 15px;
    display: inline-block;
}
.stats.bi{
    color: #1E4C7D;
}
.stats .number{
    font-weight: bold;
    font-size: 40px;
}
.admin-h4{
    font-weight: bold;
}
.stats{
    border-radius: 1px;
    box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.1);
}
.popular-services .name, .price, .duration{
    margin-bottom: 0.5rem;
}
.popular-services .service{
    border-radius: 1px;
    box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.1);
    padding: 20px;
}
.popular-services{
    margin-bottom: 15px;
}
.service .count{
    margin-bottom: 0;
    font-size: 3rem;
    font-style: bold;
}
.service .price, .duration{
    color: #8F90A6;
    font-size: 0.8rem;
}
.admin-content-window{
    max-height: calc(100vh - 100px);
    overflow-x: hidden;
    overflow-y: auto;
    font-family: "DM Sans";
}
.sidebar{
    height: 100vh;
    color: #8F90A6;
}
.sidebar .navbar-brand {
    display: inline-block; /* Make sure the <a> tag only takes the size of the image */
    padding: 0; /* Remove any default padding */
}

.sidebar .navbar-brand img {
    display: block; /* Removes any extra space below the image */
    height: 60px; /* Ensure the image height stays fixed */
    width: auto; /* Maintain aspect ratio */
}
.sidebar a{
    color: #8F90A6;
}
.sidebar .nav-link.active{
    color: #F7A3B9;
}
.sidebar .nav-link.active:hover{
    color: #F7A3B9;
}
.sidebar a:hover{
    color: #F7A3B9;
}
.bg-pale{
    background-color: #F0F0EA;
}
body, .admin-content, .sidebar {
    max-width: 100%;
}

.hero-content{
    color: #1E4C7D;
    font-weight: bold;
}
.hero-content h1 {
    font-size: 2.8rem;
    margin-bottom: 20px;
}
.hero-content p {
    font-size: 1.2rem;
    margin-bottom: 30px;
}
.floating-text{
    background-color: #ECF0B8;
    color: #1E4C7D;
    font-weight: 650;
    font-size: 1.1rem;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 10px;
    letter-spacing: 2px;
}
.landing-page h1{
    color: #1E4C7D;   
}
h2{
    color: #1E4C7D;
}
.search form{
    background-color: #e8d6eb;
    border-radius: 15px;
}
.form-control{
    border-color: black;
}
.input-container {
    position: relative; /* Positioning context for the icon */
    width: 100%;
}

.input-container input {
    padding-right: 30px; /* Ensure space for the icon inside the input */
}
.bubbles{
    color: #1e4c7d;
}
.bubble{
    background-color: #f0f0ea;
}
.bubble span{
    display: inline-block;
    padding-top: 20px;
    padding-bottom: 50px;
    margin-right:40px;
    margin-left:40px;
}
.partners{
    background-color: #f0f0ea;
}
/* Icon Styling */
.icon-right {
    position: absolute;
    right: 10px; /* Adjust this to control how far the icon is from the right edge */
    top: 50%;
    transform: translateY(-50%); /* Center the icon vertically */
    font-size: 20px; /* Adjust the icon size */
}

.search .btn-primary{
    border-radius: 10px;
    color:white;
}
.hero-content .btn {
    font-size: 1.2rem;
    padding: 10px 20px;
}
.btn{
    font-weight:450;
}
.btn-primary {
    background-color: #1E4C7D ;
    border-color: #1E4C7D ;
    border-radius: 20px;
    color: #ECF0B8;
}

.btn-primary:disabled, .btn-primary.disabled {
    background-color: #1E4C7D;
    border-color: #1E4C7D;
    color: #ECF0B8;
    opacity: 0.8 !important;
}
.btn-primary:hover {
    background-color: #ECF0B8;
    border-color: black;
    color:black;
}
.btn-primary:active, .btn-primary.active{
    background-color: #163b63 !important;
    border-color: #163b63 !important;
    color: #ECF0B8 !important; 
}
.btn-secondary {
    background-color: #ECF0B8;
    border-color: black;
    border-radius: 20px;
    color:black;
}
.btn-secondary:hover {
    background-color: #1E4C7D ;
    border-color: #1E4C7D ;
    color: #ECF0B8;
}
.btn-alternative{
    color: black;
    border-color: black;
    background-color: #e8d6eb;
    border-radius: 20px;
}
.btn-alternative:hover {
    background-color: #1E4C7D ;
    border-color: #1E4C7D ;
    color: #ECF0B8;
}
.shop-container {
    display: flex;
    overflow-x: auto;
    gap: 15px;
}
.nav-item{
    padding-left: 5px;
    padding-right: 5px;
}
.nav-link.active:hover{
    color: #9E9E9E ;
}
.nav-link:focus{
    color: inherit;
}
.carousel-inner{
    border-radius: 10px;
}
.shop-card {
    min-width: 300px;
    max-width: 350px;
    flex-shrink: 0;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.shop-card p{
    color:#616161;
    font-size: small;
}
.services{
    margin-bottom: 0;
}
.shop-card img {
    width: 100%;
    border-radius: 10px;
}
.shop-container::-webkit-scrollbar {
    height: 8px;
}

.shop-container::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 10px;
}

.shop-container::-webkit-scrollbar-thumb:hover {
    background-color: #555;
}

.gallery-image {
    width: 100%; /* Adjust the width as per your layout */
    height: 200px; /* Fixed height for uniformity */
    object-fit: cover; /* Ensures the image covers the area without distortion */
    border-radius: 10px; /* Optional: Add rounded corners */
}

.navbar {
    max-width: 80%;  /* Adjust the max-width as needed */
    margin: 0 auto;    /* Center the navbar */
}
.become-partner-container{
    background-color: #1e4c7d;
}
.become-partner{
    background-color: #e8d6eb;
    color: #1E4C7D;
}
.become-partner p{
    font-size:large;
    font-weight: 500;
}
.become-partner img {
    width: 75%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}
.become-partner-text{
    padding-top: 12%;
}
.about{
    background-color: #f0f0ea;
}
.about p{
    color: #1E4C7D;
    font-size: large;
    font-weight: 600;
}
footer{
    color: #1E4C7D;
}
footer a{
    text-decoration: none;
    color: #1E4C7D;
}
footer hr{
    color: white;
    opacity: 100;
}
.calendar-container{
    border-radius: 20px;
    box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.1);
    padding:20px;
    height:400px;
    margin-bottom: 10px;
}
#small-calendar .fc-daygrid-day {
    border: none !important; /* Remove borders around the day cells */
}
#small-calendar .fc-scrollgrid {
  border: none !important;
}
#small-calendar .fc-scrollgrid td:last-of-type {
  border: none !important;
}
#small-calendar thead .fc-scroller{
    overflow:hidden !important;
}
div::-webkit-scrollbar {
    width: 8px;
    border-radius: 2px;
  }
  
div::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 5px;
}
   
div::-webkit-scrollbar-thumb {
  background: #1E4C7D;
  border-radius: 5px;
}
  
div::-webkit-scrollbar-thumb:hover {
  background:  #122f4d;
}

#small-calendar .fc-theme-bootstrap5 th {
    border: none !important;
}
#small-calendar .fc-daygrid-day-frame {
    display: flex;
    flex-direction: column;
    align-items: center;
}
#small-calendar .fc-daygrid-day-number {
    order: 1; /* Make sure the number comes first */
}

#small-calendar .fc-daygrid-day-events {
    order: 2; /* Ensure the events are below the number */
    margin-top: 5px; /* Adjust space between the number and events */
    display: flex;
    flex-direction:row; /* Stack event dots vertically */
    align-items: center; /* Center the dots horizontally */
}

#small-calendar .fc-daygrid-event-harness{
    padding:0 !important;
    display:inline-block !important;
    width:10px;
}
#small-calendar .fc-daygrid-event-harness{
    padding:0 !important;
    display:inline-block !important;
    width:10px;
}
#small-calendar .fc-daygrid-event-harness a:hover{
    background-color: transparent;
}
#small-calendar .fc-event-title,
#small-calendar .fc-event-time {
    display: none !important; /* Hide event title and time */
}
.shop-header{
    padding:0;
    font-family: "DM Sans";
    max-width: 1200px;
}
.shop-cover{
    width:100%;
    height: 300px;
}
.shop-cover img{
    width:100%;
}
.btn-edit-primary{
    color:#1E4C7D;
    background-color: white;
    border-radius: 50%;
    height:40px;
    width: 40px;
    padding-left:8px;
}

.btn-edit-primary:hover{
    color: white;
    background-color: #1E4C7D;
}

.btn-edit-secondary-grey{
    color: grey;
    border:none;
}

.btn-edit-secondary-grey:disabled{
    border:none;
}

.btn-edit-secondary-grey:hover{
    color: rgb(94, 94, 94);
}

.btn-edit-secondary{
    color:white;
}
.btn-edit-secondary:hover{
    color:grey;
}
.btn-add{
    color:grey;
    border: none;
}
.btn-remove{
    color:grey;
    border:none;
}

.btn-remove:hover{
    color:rgb(255, 49, 49);
}

.btn-hollow{
    color:black;
    background-color: white;
    box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.1);
    border-radius: 10px;
}
.btn-hollow:hover{
    box-shadow: 0px 0px 0px 1px #6440FE;
    color: #6440FE;
}
.shop-buttons span{
    font-size: 0.75rem;
}
.shop-coupons .coupon{
    padding-right: 12px;
    padding-left: 12px;
    padding-top: 8px;
    box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.1);
}
.coupon .value{
    font-weight: bold;
    margin-bottom: 0;
}
.coupon .code{
    font-size: 0.75rem;
    margin-bottom: 5px;
}
.coupon .bi-percent{
    width: 32px; /* Adjust size */
    height: 34px;
    display: flex;
    color: white;
    align-items: center;
    justify-content: center;
    background: url("../images/star-1-50fe2c3c9f3aa670b59a7cde1e22f635.svg") no-repeat center center;
    background-size: cover;
    margin-right: 10px;
}

.all-services .service{
    margin-top:20px;
    margin-bottom: 20px;
}

.sidebar.bg-white.d-md-block.d-none {
    position: sticky;
    top: 0;
    height: 100vh;
    align-self: flex-start;
}

.content {
    flex-grow: 1;
}
.service-image-container{
    width: 100px;
    height: 100px;
    box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.1);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.form-label{
    color: #8F90A6;
}
.btn-pink{
    color:white;
    background-color: #F7A3B9;
    border-radius: 10px;
}
.btn-pink:hover{
    color:#F7A3B9;
    background-color: white;
    border-color: #F7A3B9;
}
.btn-pink-secondary{
    color:#F7A3B9;
    background-color: white;
    border-color: #F7A3B9;
    border-radius: 10px;
}
.btn-pink-secondary:hover{
    color:white;
    background-color: #F7A3B9;
}
.btn-danger{
    border-radius: 10px;
}
.uploaded-images img{
    border-radius: 10px;
}
.uploaded-images .secondary-img{
    max-height: 180px;
}
.main-img-container{
    position:relative;
}
.main-img-container:hover .img-overlay {
    opacity: 0.4;
}
.main-img-container p{
    font-size: 2rem;
}
.img-overlay{
    border-radius: 10px;
    position: absolute;
    opacity: 0;
    transition: .3s ease;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: black;
}
.image-container{
    position:relative;
}
.image-container button{
    position:absolute;
    top:10px;
    right:5px;
}
.dropzone{
    border-style:dashed;
}
#main-image-dropzone{
    border: none;
}
.no-image-placeholder div{
    color:white;
    background-color: #a1a1a1;
    border-radius: 15px;
}
.dropzone.dz-started .dz-message {
    display:block;
}
.dz-error-message{
    display:none;
    color:red;
}
.dropzone.dz-wrong-format .dz-error-message{
    display: block;
}
.appointment-details-placeholder{
    display:block;
}
.appointment-details-show .appointment-details-placeholder{
    display:none;
}
.appointment-details-info{
    display:none;
}
.appointment-details-show .appointment-details-info{
    display:block;
}
.nav-link-secondary{
    display: none;
}
.nav-item:has(.nav-link.expanded) .nav-link-secondary{
    display: block;
}

.chart-container{
    width:70%;
    box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.1);
    border-radius: 10px;
    padding:15px;
    margin-bottom: 25px;
}
.pagination .page-link{
    color:black;
}
.pagination .page-item.active .page-link{
    background-color:inherit;
    border-color: #6440FE;
    color: #6440FE;
}
.pagination .page-link{
    border-radius: 5px;
    margin-left: 5px;
    margin-right: 5px;
    width:40px;
    height:40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.service-list.hidden {
    padding:0 !important;
    max-height: 0px !important;
    overflow: hidden !important; 
}
#booking-form-container.hidden{
    max-height: 1px ;
    overflow: hidden ; 
}

#booking-form-container {
    max-height: 1500px;
    transition: max-height 0.5s ease-in-out;
}
#shop-info{
    max-width: 300px;
    max-height: 200px;
    transition: max-width 0.5s ease-in-out,
                max-height 0.5s ease-in-out 0.5s;
}
#shop-info.hidden{
    max-width: 0px;
    max-height: 0;
    overflow: hidden;
}
.time-slot{
    width: 100%;
    margin-bottom: 10px;
}
.time-slot.selected{
    border-color: #6440FE;
    color: #6440FE;
}
#available-times{
    padding: 10px;
    max-height: 300px;
    overflow: auto;
}
  
/* Mark input boxes that gets an error on validation: */
input.invalid {
  background-color: #ffdddd;
}

/* Modern Calendar Styling */
:root {
    --primary-color: #3498db;
    --event-blue: #3498db;
    --event-red: #e74c3c;
    --event-purple: #9b59b6;
    --event-orange: #e67e22;
    --event-green: #2ecc71;
    --border-color: #e0e0e0;
    --hover-color: #f5f5f5;
    --header-bg: #ffffff;
    --day-header-bg: #f8f9fa;
  }
  
/* Calendar Container */


/* Header Styling */
.fc .fc-toolbar {
  padding: 16px;
  background-color: var(--header-bg);
  border-radius: 8px 8px 0 0;
  border-bottom: 1px solid var(--border-color);
  margin-bottom: 0 !important;
}

.fc .fc-toolbar-title {
  font-size: 1.4rem;
  font-weight: 500;
  color: #333;
}

.fc-scrollgrid-section-header .fc-scroller{
    overflow: hidden !important;
}

.fc .fc-col-header-cell-cushion {
  color: #666;
  text-decoration: none !important;
  text-transform: uppercase;
  font-size: 0.8rem;
  padding: 8px;
}

/* Date cells */
.fc .fc-daygrid-day-number,
.fc .fc-daygrid-day-top {
  padding: 8px;
  font-size: 1.1rem;
  font-weight: 500;
  text-decoration: none;
  color: #333;
}

.fc .fc-daygrid-day.fc-day-today {
  background-color: rgba(52, 152, 219, 0.1);
}

.fc td, .fc th {
  border-color: var(--border-color);
}

/* Time grid formatting */
.fc .fc-timegrid-slot {
  height: 48px !important;
}

.fc .fc-timegrid-axis {
  border-right: 1px solid var(--border-color);
  font-weight: normal;
  color: #666;
  font-size: 0.85em;
}

.fc .fc-timegrid-slot-label-cushion {
  font-size: 0.85em;
  color: #666;
}

/* Event styling */
.fc-event {
  border-radius: 4px;
  border: none !important;
  padding: 2px 4px;
  font-size: 0.85em;
  cursor: pointer;
}

.fc-event:hover {
  filter: brightness(0.95);
}

.fc-event-title {
  font-weight: 500;
  padding: 0 4px;
}

.fc-event-time {
  font-weight: 500;
  padding: 0 4px;
}

/* Custom event colors based on screenshot */
.fc-event.blue-event {
  background-color: var(--event-blue) !important;
  color: white !important;
}

.fc-event.red-event {
  background-color: var(--event-red) !important;
  color: white !important;
}

.fc-event.purple-event {
  background-color: var(--event-purple) !important;
  color: white !important;
}

.fc-event.orange-event {
  background-color: var(--event-orange) !important;
  color: white !important;
}

  /* Responsive styles for mobile */
@media (max-width: 767px) {
  .fc .fc-toolbar {
    flex-direction: column;
    gap: 10px;
    padding: 10px;
  }
  
  .fc .fc-toolbar-chunk {
    display: flex;
    width: 100%;
    justify-content: center;
  }
  
  .fc .fc-toolbar-title {
    font-size: 1.2rem;
    text-align: center;
    margin: 0 !important;
  }
  
  .fc .fc-timegrid-slot {
    height: 40px !important;
  }
  
  .fc-event {
    font-size: 0.75em;
  }
  
  .fc .fc-view-harness {
    min-height: 500px !important;
    height: auto !important;
  }
  
  /* Fix for button group alignment on mobile */
  .fc .fc-button-group {
    margin: 0 !important;
  }
  
  /* Fix for list view on mobile */
  .fc-list-event {
    padding: 8px !important;
  }
  
  .fc-list-day-cushion {
    padding: 10px !important;
  }
}
.appointment-details-field{
  overflow-wrap: break-word;
}
.text-primary{
    color: #1E4C7D !important;
}
.unsaved-hour{
    background-color: rgba(250, 250, 61, 0.39);
    padding:15px;
    border-radius: 15px;
}
body.modal-open {
    overflow: hidden;
}
.modal-backdrop {
    background-color: rgba(0, 0, 0, 0.5);
}
.modal.show {
    display: block;
}
.category-bubble{
    border-radius: 15px;
    color: white;
    background-color: #F7A3B9;
}
.service-description-block {
    max-height: 200px;
    overflow-y: auto;
    word-break: break-word;
}
.pet-note-container{
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding:7px;
    margin-top: 5px;
}

.email-sent-page {
    background-color: #F7A3B9;
    min-height: 100vh;
}

.email-success-icon {
    width: 64px;
    height: 64px;
    background-color: #F7A3B9;
}

.email-checkmark {
    color: #F7A3B9;
}

.email-help-text a {
    color: #F7A3B9;
    text-decoration: none;
}

.email-help-text a:hover {
    text-decoration: underline;
}
.text-pink{
    color: #F7A3B9;
}

/* page background & centering */
.forgot-password-page {
  min-height: 100vh;
}

/* small circular icon at top of card */
.email-icon {
  width: 56px;
  height: 56px;
  background-color: #F7A3B9; /* your pink */
  box-shadow: 0 6px 18px rgba(247,163,185,0.15);
}


.btn-pink:hover, .btn-pink:focus {
  background-color: #ef91a6;
  color: #fff;
  text-decoration: none;
  outline: none;
  box-shadow: 0 6px 18px rgba(247,163,185,0.18);
}

.reset-password-page {
  min-height: 100vh;
}

.card-header {
    font-weight: 500;
}

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

.border-bottom {
    border-color: #e9ecef !important;
}

.btn-save {
    border: none;
    background: none;
    padding: 8px;
    border-radius: 6px;
    transition: all 0.2s ease;
    cursor: pointer;
    position: relative;
}

/* Disabled state - subtle and grayed out */
.btn-save:disabled {
    color: #cbd5e1;
    background-color: #f8fafc;
    cursor: not-allowed;
    opacity: 0.6;
}

.btn-save:disabled:hover {
    color: #cbd5e1;
    background-color: #f8fafc;
    transform: none;
}

/* Enabled state - your brand color */
.btn-save:not(:disabled) {
    color: #1E4C7D;
    background-color: #f0f9ff;
}

.btn-save:not(:disabled):hover {
    color: #1E4C7D;
    background-color: #dbeafe;
    transform: translateY(-1px);
}

.btn-save:not(:disabled):active {
    transform: translateY(0);
    background-color: #bfdbfe;
}

/* Icon styling */
.btn-save i {
    font-size: 1.1rem;
    transition: transform 0.2s ease;
}

.btn-save:not(:disabled):hover i {
    transform: scale(1.1);
}

/* Optional: Pulse animation when changes are detected */
.btn-save:not(:disabled) {
    animation: subtle-pulse 2s;
}

@keyframes subtle-pulse {
    0%, 100% { 
        box-shadow: 0 0 0 0 rgba(30, 76, 125, 0.4);
    }
    50% { 
        box-shadow: 0 0 0 4px rgba(30, 76, 125, 0.1);
    }
}