:root{
  --nrs-cal-bg:#EFEFEF;
  --nrs-cal-card:#FFFFFF;
  --nrs-cal-soft:#EFEFEF;
  --nrs-cal-soft-2:#EFEFEF;
  --nrs-cal-line:#D5DDDD;
  --nrs-cal-ink:#3A3B3B;
  --nrs-cal-muted:#548683;
  --nrs-cal-success-bg:#B6CECE;
  --nrs-cal-success-ink:#3A3B3B;
  --nrs-cal-warn-bg:#D5DDDD;
  --nrs-cal-warn-ink:#3A3B3B;
  --nrs-cal-cancel-bg:#EFEFEF;
  --nrs-cal-cancel-ink:#3A3B3B;
  --nrs-cal-past-bg:#EFEFEF;
  --nrs-cal-past-ink:#548683;
}
.nrs-calendar{font-family:inherit;color:var(--nrs-cal-ink);max-width:1180px;margin:28px auto;padding:0}
.nrs-calendar *{box-sizing:border-box}
.nrs-calendar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:28px 30px;border:1px solid var(--nrs-cal-line);border-radius:22px;background:#EFEFEF;margin-bottom:20px}
.nrs-calendar-navigation{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.nrs-calendar-navigation h2{margin:0;min-width:200px;font-size:34px;line-height:1.08;letter-spacing:-.02em;font-weight:700;color:var(--nrs-cal-ink)}
.nrs-calendar-arrow,.nrs-calendar-today{appearance:none;border:1px solid #D5DDDD;background:#FFFFFF;color:var(--nrs-cal-ink);border-radius:999px;cursor:pointer;min-height:44px;padding:10px 15px;font:inherit;font-weight:600;transition:all .18s ease;line-height:1}
.nrs-calendar-arrow{min-width:44px;display:inline-flex;align-items:center;justify-content:center;font-size:17px}
.nrs-calendar-today{font-size:14px;padding:10px 18px}
.nrs-calendar-arrow:hover,.nrs-calendar-today:hover,.nrs-calendar-arrow:focus-visible,.nrs-calendar-today:focus-visible{background:var(--nrs-cal-ink);color:#FFFFFF;border-color:var(--nrs-cal-ink)}
.nrs-calendar button:disabled{cursor:wait;opacity:.6}
.nrs-calendar-filter{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--nrs-cal-muted)}
.nrs-calendar-filter select{border:1px solid #D5DDDD;border-radius:999px;color:var(--nrs-cal-ink);background:#FFFFFF;padding:11px 14px;min-height:44px;max-width:260px;font:inherit}
.nrs-calendar-feedback{font-size:13px;min-height:1em;margin:0 0 10px 2px;color:var(--nrs-cal-muted)}
.nrs-calendar-grid-scroll{width:100%;max-width:100%;border:1px solid var(--nrs-cal-line);border-radius:24px;background:var(--nrs-cal-card);overflow:hidden;box-shadow:0 14px 40px rgba(34,33,28,.06)}
.nrs-calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#FFFFFF}
.nrs-calendar-weekday{padding:14px 8px;text-align:left;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--nrs-cal-soft);border-right:1px solid var(--nrs-cal-line);border-bottom:1px solid var(--nrs-cal-line);color:var(--nrs-cal-muted)}
.nrs-calendar-weekday:nth-child(7n){border-right:0}
.nrs-calendar-day{position:relative;padding:10px 10px 12px;min-height:148px;border-right:1px solid var(--nrs-cal-line);border-bottom:1px solid var(--nrs-cal-line);min-width:0;background:#FFFFFF;display:flex;flex-direction:column;gap:8px}
.nrs-calendar-day:nth-child(7n){border-right:0}
.nrs-calendar-day--other{background:var(--nrs-cal-soft-2);color:#548683}
.nrs-calendar-day--other .nrs-calendar-day-items{display:none}
.nrs-calendar-day--today{background:#FFFFFF}
.nrs-calendar-number{display:inline-flex;min-width:34px;height:34px;align-items:center;justify-content:center;font-size:14px;font-weight:700;border-radius:999px;background:transparent;color:var(--nrs-cal-ink)}
.nrs-calendar-day--today .nrs-calendar-number{background:#69A8A5;color:#3A3B3B}
.nrs-calendar-day-items{list-style:none!important;padding:0!important;margin:0!important;display:flex;flex-direction:column;gap:6px}
.nrs-calendar-item{padding:0!important;margin:0!important;list-style:none!important}
.nrs-calendar-item a{display:flex;align-items:flex-start;gap:8px;border-radius:10px;padding:8px 9px;text-decoration:none!important;background:var(--nrs-cal-soft);color:var(--nrs-cal-ink)!important;font-size:11px;line-height:1.28;min-width:0;border:1px solid transparent;transition:all .16s ease}
.nrs-calendar-item a:hover{transform:translateY(-1px);border-color:#D5DDDD}
.nrs-calendar-item-label{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;font-weight:600}
.nrs-calendar-item-dot{display:inline-flex;flex:none;width:8px;height:8px;border-radius:50%;background:currentColor;margin-top:4px;opacity:.72}
.nrs-calendar-item--available a{background:var(--nrs-cal-success-bg);color:var(--nrs-cal-success-ink)!important}
.nrs-calendar-item--full a{background:var(--nrs-cal-warn-bg);color:var(--nrs-cal-warn-ink)!important}
.nrs-calendar-item--cancelled a{background:var(--nrs-cal-cancel-bg);color:var(--nrs-cal-cancel-ink)!important;border:1px dashed #548683;text-decoration:line-through!important}
.nrs-calendar-item--past a,.nrs-calendar-item--closed a{background:var(--nrs-cal-past-bg);color:var(--nrs-cal-past-ink)!important}
.nrs-calendar-more{font-size:11px;padding:0 2px;color:var(--nrs-cal-muted);font-weight:600}
.nrs-calendar-agenda{margin-top:26px}
.nrs-calendar-agenda>h3{font-size:25px;line-height:1.2;margin:0 0 20px!important;color:var(--nrs-cal-ink)}
.nrs-calendar-agenda-day{margin:0 0 22px}
.nrs-calendar-agenda-day>h4{font-size:16px;font-weight:700;margin:0 0 12px!important;color:var(--nrs-cal-ink)}
.nrs-calendar-agenda-day>ul{padding:0!important;margin:0!important;list-style:none!important;display:grid;gap:12px}
.nrs-calendar-agenda-item{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--nrs-cal-line);border-radius:18px;background:#FFFFFF;margin:0!important;padding:18px 20px!important;list-style:none!important}
.nrs-calendar-agenda-info{min-width:0;flex:1}
.nrs-calendar-agenda-category{color:#548683;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}
.nrs-calendar-agenda-info h4{font-size:20px;margin:6px 0!important;line-height:1.2}
.nrs-calendar-agenda-info h4 a{color:var(--nrs-cal-ink);text-decoration:none}
.nrs-calendar-agenda-info h4 a:hover{text-decoration:underline}
.nrs-calendar-agenda-info p{margin:4px 0 10px!important;font-size:14px;line-height:1.5;overflow-wrap:anywhere;color:var(--nrs-cal-muted)}
.nrs-calendar-status{display:inline-flex;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:700;background:var(--nrs-cal-success-bg);color:var(--nrs-cal-success-ink);letter-spacing:.02em}
.nrs-calendar-status--cancelled{background:var(--nrs-cal-cancel-bg);color:var(--nrs-cal-cancel-ink);border:1px dashed #548683}
.nrs-calendar-status--past,.nrs-calendar-status--closed{background:var(--nrs-cal-past-bg);color:var(--nrs-cal-past-ink)}
.nrs-calendar-status--full{background:var(--nrs-cal-warn-bg);color:var(--nrs-cal-warn-ink)}
.nrs-calendar-agenda-actions{display:flex;align-items:flex-end;flex-direction:column;gap:12px;flex:none}
.nrs-calendar-agenda-actions>strong{font-size:16px}
.nrs-calendar-agenda-actions>div{display:flex;flex-wrap:wrap;gap:8px}
.nrs-calendar-outline,.nrs-calendar-book{font-size:13px;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 14px;border-radius:999px;text-decoration:none!important;font-weight:700;white-space:nowrap}
.nrs-calendar-outline{background:transparent;border:1px solid var(--nrs-cal-ink);color:var(--nrs-cal-ink)!important}
.nrs-calendar-book{background:#548683;border:1px solid #548683;color:#FFFFFF!important}
.nrs-calendar-outline:hover{background:var(--nrs-cal-ink);color:#FFFFFF!important}
.nrs-calendar-book:hover{background:#69A8A5;border-color:#69A8A5;color:#FFFFFF!important}
.nrs-calendar-empty{padding:24px;border:1px solid var(--nrs-cal-line);border-radius:18px;background:var(--nrs-cal-soft);font-size:14px}
.nrs-calendar :focus-visible{outline:2px solid var(--nrs-cal-ink);outline-offset:2px}
@media(max-width:960px){
 .nrs-calendar-toolbar{padding:22px}
 .nrs-calendar-navigation h2{font-size:28px;min-width:170px}
 .nrs-calendar-day{min-height:132px;padding:8px}
}
@media(max-width:760px){
 .nrs-calendar-toolbar{gap:14px;padding:18px}
 .nrs-calendar-navigation{gap:8px}
 .nrs-calendar-navigation h2{min-width:145px;font-size:22px}
 .nrs-calendar-filter{width:100%;justify-content:space-between}
 .nrs-calendar-filter select{flex:1;max-width:65%}
 .nrs-calendar-day{min-height:88px;padding:6px 5px;text-align:left;gap:4px}
 .nrs-calendar-number{min-width:26px;height:26px;font-size:12px}
 .nrs-calendar-day-items{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px!important}
 .nrs-calendar-item a{border-radius:999px;min-width:10px;min-height:10px;padding:0;width:10px;height:10px;overflow:hidden}
 .nrs-calendar-item-label,.nrs-calendar-more{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}
 .nrs-calendar-item-dot{width:10px;height:10px;margin:0;display:block}
 .nrs-calendar-agenda-item{align-items:stretch;flex-direction:column;gap:12px;padding:16px!important}
 .nrs-calendar-agenda-actions{align-items:flex-start}
 .nrs-calendar-agenda-actions>div{width:100%}
 .nrs-calendar-agenda-actions a{flex:1}
}


/* Nourise v2.9.1 - Calendar Elementor/theme color isolation.
   These rules deliberately affect only our calendar and override global
   Elementor button/anchor styles, including their !important variants. */
.nrs-calendar[data-nrs-calendar] .nrs-calendar-navigation button.nrs-calendar-arrow,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-navigation button.nrs-calendar-today {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: #FFFFFF !important;
  background-image: none !important;
  color: #3A3B3B !important;
  border: 1px solid #D5DDDD !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-decoration: none !important;
  font-family: inherit !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-navigation button.nrs-calendar-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  font-size: 19px !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-navigation button.nrs-calendar-today {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 10px 18px !important;
  font-size: 14px !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-navigation button.nrs-calendar-arrow:hover,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-navigation button.nrs-calendar-arrow:focus,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-navigation button.nrs-calendar-arrow:active,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-navigation button.nrs-calendar-today:hover,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-navigation button.nrs-calendar-today:focus,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-navigation button.nrs-calendar-today:active {
  background: #548683 !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border-color: #548683 !important;
  box-shadow: none !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-navigation button:focus-visible {
  outline: 2px solid #69A8A5 !important;
  outline-offset: 3px !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-navigation button:focus:not(:focus-visible) {
  outline: none !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-navigation button:disabled {
  opacity: .55 !important;
  cursor: wait !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-navigation button::before,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-navigation button::after {
  content: none !important;
  display: none !important;
}
/* Category controls and links must not inherit theme pink on hover/focus. */
.nrs-calendar[data-nrs-calendar] .nrs-calendar-filter select {
  color: #3A3B3B !important;
  background: #FFFFFF !important;
  border: 1px solid #D5DDDD !important;
  box-shadow: none !important;
  accent-color: #548683 !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-filter select:hover,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-filter select:focus {
  color: #3A3B3B !important;
  border-color: #69A8A5 !important;
  box-shadow: none !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-filter select:focus-visible {
  outline: 2px solid #69A8A5 !important;
  outline-offset: 2px !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-agenda-actions a.nrs-calendar-outline,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-agenda-actions a.nrs-calendar-outline:visited {
  background: #FFFFFF !important;
  border: 1px solid #3A3B3B !important;
  color: #3A3B3B !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-agenda-actions a.nrs-calendar-book,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-agenda-actions a.nrs-calendar-book:visited {
  background: #548683 !important;
  border: 1px solid #548683 !important;
  color: #FFFFFF !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-agenda-actions a.nrs-calendar-outline:hover,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-agenda-actions a.nrs-calendar-outline:focus,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-agenda-actions a.nrs-calendar-book:hover,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-agenda-actions a.nrs-calendar-book:focus {
  background: #69A8A5 !important;
  border-color: #69A8A5 !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
}
.nrs-calendar[data-nrs-calendar] a:focus-visible {
  outline: 2px solid #69A8A5 !important;
  outline-offset: 2px !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-item--available a,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-item--available a:hover,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-item--available a:focus {
  background: #B6CECE !important;
  color: #3A3B3B !important;
  border-color: transparent !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-item--cancelled a,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-item--cancelled a:hover,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-item--cancelled a:focus {
  background: #EFEFEF !important;
  color: #3A3B3B !important;
  border-color: #548683 !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-item--full a,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-item--full a:hover,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-item--full a:focus {
  background: #D5DDDD !important;
  color: #3A3B3B !important;
  border-color: transparent !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-item--past a,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-item--past a:hover,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-item--past a:focus,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-item--closed a,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-item--closed a:hover,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-item--closed a:focus {
  background: #EFEFEF !important;
  color: #548683 !important;
  border-color: transparent !important;
}
.nrs-calendar[data-nrs-calendar] .nrs-calendar-agenda-info h4 a,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-agenda-info h4 a:visited,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-agenda-info h4 a:hover,
.nrs-calendar[data-nrs-calendar] .nrs-calendar-agenda-info h4 a:focus {
  color: #3A3B3B !important;
}
