/* Fasting & Prayer Calendar styles (Divi-friendly, minimal) */
.fp-fpc { width: 100%; }
.fp-fpc-legend { display:flex; gap:14px; flex-wrap:wrap; margin: 8px 0 14px; font-size: 14px; }
.fp-fpc-legend-item { display:flex; align-items:center; gap:6px; opacity: 0.9; }
.fp-fpc-dot { width: 10px; height: 10px; border-radius: 50%; display:inline-block; }
.fp-fpc-dot.fp-not-eligible { background: #c9c9c9; }
.fp-fpc-dot.fp-eligible { background: #6fcf97; }
.fp-fpc-dot.fp-selected { background: #2d9cdb; }

.fp-fpc-month { margin: 18px 0 28px; }
.fp-fpc-month-title { font-weight: 600; font-size: 18px; margin: 0 0 10px; }

.fp-fpc-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.fp-fpc-table th { text-align:center; font-size: 12px; padding: 8px 4px; border-bottom: 1px solid rgba(0,0,0,0.08); opacity:0.8; }
.fp-fpc-table td { vertical-align: top; border: 1px solid rgba(0,0,0,0.06); min-height: 92px; padding: 8px; }

.fp-fpc-empty { background: rgba(0,0,0,0.02); }
.fp-fpc-day.fp-not-eligible { background: rgba(0,0,0,0.05); }
.fp-fpc-day.fp-eligible { background: #fff; }

.fp-fpc-date-num { font-weight: 600; font-size: 14px; margin-bottom: 6px; }

.fp-fpc-meals { display:flex; flex-direction:column; gap:6px; }
.fp-fpc-meal { font-size: 12px; line-height: 1.2; padding: 7px 8px; border-radius: 8px; border: 1px solid rgba(0,0,0,0.12); background: #fff; cursor:pointer; text-align:left; }
.fp-fpc-meal.fp-available { background: rgba(111,207,151,0.12); border-color: rgba(111,207,151,0.35); }
.fp-fpc-meal.fp-available:hover { border-color: rgba(111,207,151,0.65); }
.fp-fpc-meal.fp-selected { background: rgba(45,156,219,0.12); border-color: rgba(45,156,219,0.35); cursor: default; }
.fp-fpc-selected-label { font-weight: 600; }
.fp-fpc-who { display:block; margin-top: 4px; font-size: 12px; opacity: 0.85; }

.fp-fpc-remove { font-size: 12px; padding: 6px 10px; border-radius: 10px; border: 1px solid rgba(0,0,0,0.16); background: #fff; cursor:pointer; margin-left:auto; }
.fp-fpc-remove:hover { border-color: rgba(0,0,0,0.28); }

.fp-fpc-meal.fp-busy, .fp-fpc-remove.fp-busy { opacity: 0.6; cursor: wait; }
.fp-fpc-message { padding: 10px 12px; border-radius: 10px; background: rgba(0,0,0,0.04); }
.fp-fpc-error { background: rgba(255,0,0,0.06); }

.fp-fpc-toast { position: sticky; bottom: 12px; margin-top: 14px; padding: 10px 12px; border-radius: 10px; background: rgba(0,0,0,0.85); color:#fff; max-width: 520px; }
.fp-fpc-toast.fp-error { background: rgba(170,0,0,0.9); }

@media (max-width: 800px) {
  .fp-fpc-table th { font-size: 11px; padding: 6px 2px; }
  .fp-fpc-table td { padding: 6px; min-height: 98px; }
  .fp-fpc-meal { padding: 6px; border-radius: 10px; }
}


@media (max-width: 640px) {
  /* Make the calendar readable on phones: show each day as a card stack */
  .fp-fpc-table, .fp-fpc-table thead, .fp-fpc-table tbody, .fp-fpc-table tr, .fp-fpc-table th, .fp-fpc-table td {
    display: block;
    width: 100%;
  }
  .fp-fpc-table thead { display: none; }
  .fp-fpc-table tr { border: 0; }
  .fp-fpc-table td.fp-fpc-empty { display: none; }

  .fp-fpc-day {
    margin: 10px 0;
    border-radius: 14px;
    overflow: hidden;
    padding: 10px 10px 12px;
  }
  .fp-fpc-date-num {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .fp-fpc-meals {
    flex-direction: row;
    gap: 8px;
  }
  .fp-fpc-meal {
    text-align: center;
    font-size: 13px;
    padding: 10px 8px;
    width: 100%;
  }
  .fp-fpc-meal.fp-selected { cursor: default; }
  .fp-fpc-meal.fp-selected.fp-owned { display: block; }
  .fp-fpc-selected-label { display: block; }
  .fp-fpc-who { margin-top: 6px; }
  .fp-fpc-remove { display: inline-block; margin: 8px auto 0; }
}
