/* ===== Public follower view (read-only) ===== */
body.public-page{
  background: radial-gradient(1200px 600px at 20% 0%, rgba(99,102,241,.18), transparent 60%),
              radial-gradient(900px 500px at 90% 10%, rgba(236,72,153,.12), transparent 55%),
              #070a12;
  color: #e5e7eb;
}

.public-navbar{
  background: rgba(0,0,0,.7);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(8px);
}

.public-card{
  background: rgba(15,23,42,.78);
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px;
}

.public-card .card-body{
  padding: 1.25rem;
}

.public-header h1{
  letter-spacing: .2px;
}

.public-subtitle{
  color: rgba(229,231,235,.75);
}

/* FullCalendar readability */
.public-page #calendar{
  --fc-border-color: rgba(148,163,184,.18);
  --fc-page-bg-color: transparent;
  --fc-now-indicator-color: #ef4444;
}

.public-page .fc .fc-toolbar{
  gap: .5rem;
}
.public-page .fc .fc-toolbar-title{
  font-size: 1.1rem;
  font-weight: 700;
  color: #e5e7eb;
}
.public-page .fc .fc-button{
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(2,6,23,.55);
  color: #e5e7eb;
  padding: .45rem .7rem;
  font-weight: 600;
}
.public-page .fc .fc-button:hover{
  background: rgba(2,6,23,.75);
}
.public-page .fc .fc-button:disabled{
  opacity: .45;
}

.public-page .fc .fc-col-header-cell-cushion{
  color: rgba(229,231,235,.9);
  text-decoration: none;
  font-weight: 700;
}
.public-page .fc .fc-timegrid-slot-label-cushion{
  color: rgba(229,231,235,.75);
  font-weight: 600;
}

/* Today background a bit subtle */
.public-page .fc .fc-day-today{
  background: rgba(250,204,21,.07) !important;
}

/* Events */
.public-page .fc .fc-event{
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 6px 20px rgba(0,0,0,.25);
}
.public-page .fc .fc-event .fc-event-time,
.public-page .fc .fc-event .fc-event-title{
  font-weight: 700;
  color: #ffffff;
  text-shadow: 0 1px 0 rgba(0,0,0,.25);
}

/* Smaller screens */
@media (max-width: 768px){
  .public-card .card-body{ padding: 1rem; }
  .public-page .fc .fc-toolbar{ flex-direction: column; align-items: stretch; }
  .public-page .fc .fc-toolbar-chunk{ display: flex; justify-content: center; flex-wrap: wrap; gap: .5rem; }
  .public-page .fc .fc-toolbar-title{ text-align: center; }
}

/* Toggle styling */
.public-toggle .form-check-label{
  color: rgba(229,231,235,.85);
  font-weight: 600;
}
.public-toggle .form-text{
  color: rgba(229,231,235,.65) !important;
}

/* Legend pills */
.legend-pill{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .25rem .6rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(2,6,23,.45);
  color: rgba(229,231,235,.85);
  font-size: .85rem;
  font-weight: 600;
}
.legend-dot{
  width: 10px; height: 10px;
  border-radius: 50%;
  display: inline-block;
  background: #3b82f6;
}
.legend-dot.canceled{ background: #7a0b0b; }


/* Modal tweaks */
.public-page .modal-backdrop.show{
  opacity: .7;
}
.public-page .modal-content{
  background: rgba(15,23,42,.92);
}


/* Beskrivelse i modal: bevar linjeskift/mellemrum og gør links tydelige */
#eventModalDesc{
  white-space: pre-wrap;
  word-break: break-word;
}
#eventModalDesc a{
  color: #93c5fd;
  text-decoration: underline;
  font-weight: 700;
}
#eventModalDesc a:hover{
  opacity: .9;
}
