
.oh-wrap{
  background: var(--oh-ui-bg-alpha) !important;
  border: var(--oh-border-width) solid var(--oh-border-color) !important;
  border-radius: 14px;
  padding: 12px;
}
.oh-calendar{background: var(--oh-ui-bg)}
.oh-wrap .fc{color: var(--oh-text-color); font-family: inherit}
.oh-wrap .fc .fc-toolbar-title{font-size: var(--oh-header-font-size)}
.oh-wrap .fc .fc-daygrid-day-number{font-size: var(--oh-date-font-size); color: var(--oh-closed-text)}
.oh-wrap .fc .fc-col-header-cell{white-space: normal}
.oh-wrap .fc .fc-daygrid-day-frame{
  min-height: var(--oh-cell-height);
  margin: var(--oh-gap);
  border-radius: var(--oh-border-radius);
  border: var(--oh-border-width) solid var(--oh-border-color) !important;
  background: var(--oh-closed-bg);
}
.oh-legend{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  margin-top:12px;
  align-items:center;
}
.oh-legend__item{display:flex;gap:8px;align-items:center;font-size:14px}
.oh-dot{width:18px;height:18px;border-radius:999px;border:1px solid rgba(0,0,0,.12)}
@media (max-width: 768px){
  .oh-wrap{padding:10px}
  .oh-wrap .fc .fc-toolbar-title{font-size: calc(var(--oh-header-font-size) - 2px)}
  .oh-wrap .fc .fc-daygrid-day-number{font-size: calc(var(--oh-date-font-size) - 1px)}
  .oh-wrap .fc .fc-daygrid-day-frame{
    min-height: calc(var(--oh-cell-height) - 8px);
    margin: calc(var(--oh-gap) - 1px);
  }
}

/* Stronger overrides (Elementor/Theme may target .fc* selectors) */
.oh-wrap .fc .fc-daygrid-day-frame{
  background: var(--oh-closed-bg);
  border-color: var(--oh-border-color) !important;
  border-width: var(--oh-border-width) !important;
  border-style: solid !important;
  border-radius: var(--oh-border-radius) !important;
  position: relative;
}
.oh-wrap .fc .fc-daygrid-day-number{
  color: var(--oh-closed-text) !important;
}
.oh-wrap .oh-cell-label{
  position:absolute;
  left:8px;
  bottom:6px;
  font-size: var(--oh-cell-text-size);
  color: var(--oh-cell-text-color);
  line-height: 1.1;
  opacity: .95;
  pointer-events:none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: calc(100% - 12px);
}

/* Ensure theme/table typography does not override calendar headers */
.oh-wrap .fc table thead th,
.oh-wrap .fc table tfoot th{
  font-size: var(--oh-header-font-size) !important;
}
.oh-wrap .fc .fc-col-header-cell-cushion{
  font-size: var(--oh-header-font-size) !important;
}

/* Week number column */
.oh-wrap .fc .fc-daygrid-week-number{
  font-size: var(--oh-date-font-size) !important;
  font-weight: 600 !important;
  color: var(--oh-text-color) !important;
  text-decoration: none !important;
}
.oh-wrap .fc th.fc-daygrid-week-number{
  font-size: var(--oh-date-font-size) !important;
  font-weight: 600 !important;
  color: var(--oh-text-color) !important;
}
/* Force header font size despite theme table thead th rules */
.oh-wrap .fc .fc-scrollgrid-sync-table thead th{
  font-size: var(--oh-header-font-size) !important;
}
.oh-wrap .fc .fc-col-header-cell-cushion{
  font-size: var(--oh-header-font-size) !important;
}

/* Month/Year title size */
.oh-wrap .fc .fc-toolbar-title{
  font-size: var(--oh-title-font-size) !important;
}
/* Weekday header size */
.oh-wrap .fc .fc-col-header-cell-cushion{
  font-size: var(--oh-header-font-size) !important;
}
/* Header background */
.oh-wrap .fc .fc-header-toolbar,
.oh-wrap .fc .fc-col-header{
  background: var(--oh-header-bg-alpha) !important;
}
/* Remove theme row hover effects inside calendar */
.oh-wrap table tbody tr:hover > td,
.oh-wrap table tbody tr:hover > th,
.oh-wrap .fc-scrollgrid-sync-table tbody tr:hover > td,
.oh-wrap .fc-scrollgrid-sync-table tbody tr:hover > th{
  background-color: transparent !important;
}
/* Week number styling */
.oh-wrap .fc .fc-daygrid-week-number,
.oh-wrap .fc .fc-daygrid-week-number a{
  font-size: var(--oh-date-font-size) !important;
  color: var(--oh-text-color) !important;
  text-decoration: none !important;
}

/* Clean calendar overrides (scoped) */
.oh-wrap .fc .fc-scrollgrid-section-sticky > *{ background: transparent !important; }
.oh-wrap .fc-theme-standard th{ border: none !important; }
.oh-wrap table thead:first-child tr:first-child th{ border-block-start: none !important; }
.oh-wrap .fc-theme-standard .fc-scrollgrid{ border: none !important; }
.oh-wrap table tbody>tr:nth-child(odd)>td,
.oh-wrap table tbody>tr:nth-child(odd)>th{ background-color: transparent !important; }
.oh-wrap .fc-theme-standard td,
.oh-wrap .fc-theme-standard th{ border: none !important; }
/* Remove theme hover on table rows */
.oh-wrap table tbody tr:hover>td,
.oh-wrap table tbody tr:hover>th{ background-color: transparent !important; }

/* Nav buttons (prev/next) */
.oh-wrap .fc .fc-button{
  background: var(--oh-nav-bg) !important;
  border: none !important;
  color: var(--oh-nav-text) !important;
  box-shadow: none !important;
  padding: 6px 10px !important;
  border-radius: 8px !important;
}
.oh-wrap .fc .fc-button:hover,
.oh-wrap .fc .fc-button:focus{
  filter: brightness(0.95);
  outline: none !important;
  box-shadow: none !important;
}
.oh-wrap .fc .fc-button .fc-icon{
  color: var(--oh-nav-text) !important;
}

/* Today marker */
.oh-wrap .fc .fc-day-today .fc-daygrid-day-frame{
  box-shadow: 0 0 0 2px var(--oh-today-ring) inset !important;
}
.oh-wrap .fc .fc-day-today .fc-daygrid-day-number{
  color: var(--oh-today-text) !important;
}


/* Gullev Designs - Clean defaults (scoped) */
.oh-wrap .oh-calendar { background: transparent !important; }

/* Remove borders/hover/background striping from theme */
.oh-wrap .fc .fc-scrollgrid-section-sticky > * { background: transparent !important; }
.oh-wrap .fc-theme-standard th { border: none !important; }
.oh-wrap table thead:first-child tr:first-child th { border-block-start: none !important; }
.oh-wrap .fc-theme-standard .fc-scrollgrid { border: none !important; }
.oh-wrap .fc-theme-standard td,
.oh-wrap .fc-theme-standard th { border: none !important; }
.oh-wrap table tbody > tr:nth-child(odd) > td,
.oh-wrap table tbody > tr:nth-child(odd) > th { background-color: transparent !important; }
.oh-wrap table tbody tr:hover > td,
.oh-wrap table tbody tr:hover > th { background-color: transparent !important; }

/* More inner padding without changing outer size */
.oh-wrap .fc .fc-daygrid-day-frame { padding: 10px !important; box-sizing: border-box !important; }

/* Today highlight ring (thicker) */
.oh-wrap .fc .fc-day-today .fc-daygrid-day-frame{
  box-shadow: 0 0 0 6px var(--oh-today-ring) inset !important;
}

/* Ensure day number stays visible on top of padding */
.oh-wrap .fc .fc-daygrid-day-number{ position: relative !important; z-index: 4 !important; }

/* Today highlight */
.oh-wrap .fc .fc-day-today .fc-daygrid-day-frame{
  background: var(--oh-today-bg) !important;
  box-shadow: 0 0 0 6px var(--oh-today-ring) inset !important;
}
.oh-wrap .fc .fc-day-today .fc-daygrid-day-number{
  color: var(--oh-today-text) !important;
}


/* Responsive: ensure admin 'Celle-højde' applies */
.oh-wrap .fc .fc-daygrid-day-frame{
  height: var(--oh-cell-height) !important;
  min-height: var(--oh-cell-height) !important;
  box-sizing: border-box !important;
}

/* More inner padding (without increasing box size) */
.oh-wrap .fc .fc-daygrid-day-top{
  padding: 10px 10px 0 10px !important;
}
.oh-wrap .fc .fc-daygrid-day-number{
  padding: 0 !important; /* padding is handled on day-top */
}

/* Enforce cell sizing (esp. real mobile) */
.oh-wrap .fc .fc-daygrid-day-frame{
  height: var(--oh-cell-height) !important;
  min-height: var(--oh-cell-height) !important;
  box-sizing: border-box !important;
  padding: 10px !important;
}

/* Mobile header spacing + prevent overlap */
.oh-wrap .fc .fc-col-header-cell-cushion,
.oh-wrap .fc .oh-dow{
  display:block !important;
  text-align:center !important;
  white-space: nowrap !important;
  overflow:hidden !important;
  text-overflow: ellipsis !important;
}
@media (max-width: 1024px){
  .oh-wrap .fc .fc-col-header-cell-cushion{
    padding: 4px 2px !important;
    font-size: var(--oh-header-font-size) !important;
    line-height: 1.1 !important;
  }
}

/* Mobile: hide week numbers column entirely */
@media (max-width: 1024px){
  .oh-wrap .fc .fc-daygrid-week-number,
  .oh-wrap .fc .fc-daygrid-week-number-cushion,
  .oh-wrap .fc .fc-timegrid-axis-cushion,
  .oh-wrap .fc .fc-scrollgrid-section-header th.fc-daygrid-week-number,
  .oh-wrap .fc .fc-scrollgrid-section-header th.fc-daygrid-week-number-cushion{
    display: none !important;
  }
  .oh-wrap .fc .fc-daygrid-week-number{
    width: 0 !important;
    padding: 0 !important;
  }
}

/* Enforce td height too (some themes set row heights) */
.oh-wrap .fc .fc-daygrid-day{
  height: var(--oh-cell-height) !important;
}

/* Mobile: adjust top area padding */
@media (max-width: 1024px) {
  .oh-wrap .fc .fc-daygrid-day-top {
    padding: 5px 5px 0 10px !important;
  }
}



/* Force mobile cell height regardless of admin setting (fallback) */
@media (max-width: 768px){
  .oh-wrap .fc .fc-daygrid-body .fc-daygrid-day,
  .oh-wrap .fc .fc-daygrid-body .fc-daygrid-day-frame{
    height: 45px !important;
    min-height: 45px !important;
    max-height: 45px !important;
  }
}

