
.my-modal-overlay {
  display: none;
  /* Hidden by default */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  /* Semi-transparent overlay */
  justify-content: center;
  align-items: center;
}

.my-modal-content {
  background: white;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 1000;
}

#dynamicModalContent .modal {
  display: block !important;
  /* Ensure it's always visible */
  position: relative !important;
  /* Prevent Bootstrap from positioning it off-screen */
  z-index: auto !important;
  /* Avoid Bootstrap’s high z-index conflicts */
  background: none !important;
  /* Remove any background Bootstrap might apply */
  opacity: 1 !important;
  /* Ensure it's fully visible */
}

/* Ensure our custom modal behaves normally */
#dynamicModalContent .modal-dialog {
  max-width: 1000px;
  margin: auto;
  top: 10%;
  left: 50%;
  transform: translate(-50%, 0);
  position: relative;
  /* Remove Bootstrap's absolute positioning */
}

/* Fix modal content display */
#dynamicModalContent .modal-content {
  display: block !important;
  position: relative !important;
  z-index: auto !important;
  background: white;

  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

/* Prevent modal header/footer from being affected */
#dynamicModalContent .modal-header,
#dynamicModalContent .modal-footer {
  padding: 10px;
  text-align: right;
}

.panel-title{
  color: #000;
}


#dynamicModalContent .modal-header {
  background-color: lightgray;
  color: #000;
}

/* Ensure modal body is properly formatted */
#dynamicModalContent .modal-body {
  padding: 15px;
}

/* Ensure the close button is properly positioned */
#dynamicModalContent .modal-header button {
  border: none;
  background: none;
  font-size: 1.5rem;
  cursor: pointer;
}

#dynamicModalContent table th {
  white-space: nowrap;
  padding-right: 20px;
  vertical-align: middle;
}

#dynamicModalContent table td {
  white-space: nowrap;
}

.recipe-image img {
  width: 100%;
  height: auto;
  overflow: hidden;
}

h3 i {
  font-size: 0.8em;
  vertical-align: middle;
}

h3 {
  background-color: #eaeaea;
  padding: 10px 15px;
  border-left: 5px solid #2c3e50;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
}


h2 {
  text-align: center;
  border-bottom: 2px solid lightgray;
  margin-bottom: 20px;
}

/* Ensure event titles wrap onto multiple lines */
.fc-event-title {
  white-space: normal !important;
  /* Override default nowrap behavior */
  word-wrap: break-word;
  /* Allow long words to break */
  overflow: visible;
  /* Prevent clipping */
  line-height: 1.2;
  /* Adjust line spacing for readability */
  padding: 2px;
  /* Add padding for better appearance */
}

/* Optional: Adjust event height to accommodate multiple lines */
.fc-day-grid-event .fc-content {
  height: auto !important;
}

/* Optional: Ensure events don’t overlap excessively */
.fc-day-grid-event {
  margin-bottom: 2px !important;
}

:root {
  --day-cell-height: 120px;
}

.fc .fc-daygrid-day {
  /* these only apply if FullCalendar didn’t inline its own heights */
  height: var(--day-cell-height) !important;
  overflow: hidden;
}

.fc .fc-daygrid-event img {
  object-fit: fill !important;
  width: 100% !important;
  height: 100% !important;
}

.fc .fc-daygrid-event {
  margin: 0 !important;
  padding: 0 !important;
  height: 100% !important;
  display: block;
}

/* .fc .fc-event-main {
  padding: 0 !important;
  height: 150px !important;
} */

.fc-h-event {
  display: block;
  border: 1px solid #3788d8;
  border: 1px solid var(--fc-event-border-color, #3788d8);
  background-color: #fff !important;
}

#calendar {
  width: 100% !important;
  max-width: none !important
}

.container {
  max-width: 90% !important;
  padding: 0 !important;
}

.leftright {
  margin: 10px -20px;
}

.loginbox{
  color: #000;
  position: absolute;
    top: 50%;
    left: 50%;
    width: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 20px #444;
    padding: 60px;
    background: white;
    text-align: left;
    border-radius: 6px;
}

.loginbox h2{
  text-align: left;
  clear: both;
}

.right {
  text-align: right;
}

.pull-left {
  float: left
}

.pull-right{
  float: right
}

.top-10{
  margin-top: -10px;
}

.starList i {
  color: #fc0;
   -webkit-text-stroke: 1px #b8860b;
}

.fc-daygrid-event-harness a {
  border: none!important;
}

h2.fc-toolbar-title {
  border: none!important;
  font-weight: bolder;
}

.fa-star {
  color: rgba(255,255,255,0.3)!important;
}

/* Star rating overlay for meal cards */
.meal-stars {
  position: absolute;
  top: 4px;
  left: 6px;
  background: rgba(0, 0, 0, 0.6);
  padding: 3px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  z-index: 10;
  font-size: 10px;
}

.meal-stars i {
  margin-right: 1px !important;
  width: 10px;
  height: 10px;
  color: #D3D3D3;
  /* default gray for empty stars */
}

.meal-stars i.filled {
  color: #FFD700 !important;
  /* gold for filled stars */
}

.meal-stars i:last-child {
  margin-right: 0 !important;
}

/* Ensure meal-date and meal-title work with existing styles */
.meal-date {
  position: absolute;
  top: 8px;
  right: 8px;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 4px 6px;
  border-radius: 4px;
  font-weight: bold;
  font-size: 12px;
  z-index: 5;
}

.meal-title {
  position: absolute;
  bottom: 8px;
  left: 8px;
  right: 8px;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 4px 6px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  z-index: 5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.meal-card {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.meal-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

