/* Tauhara Centre — approved prototype D calendar. Everything is scoped. */
@import url("fonts/fonts.css");
.tauhara-events{
  --te-green:#346028;--te-dark:#27481e;--te-ink:#1a3014;--te-soft:#f5f8f4;--te-muted:#585d56;
  --te-heading:'Tauhara Faculty Glyphic',Georgia,serif;--te-body:'Tauhara Manrope',Arial,sans-serif;
  width:100%;max-width:none;margin:0;padding:0;color:#151715;background:transparent;
  font:400 16px/1.6 var(--te-body);text-align:left;color-scheme:light;isolation:isolate;
}
.tauhara-events *,.tauhara-events *::before,.tauhara-events *::after{box-sizing:border-box}
.tauhara-events [hidden]{display:none!important}
.tauhara-events button{appearance:none;box-shadow:none;text-shadow:none;text-transform:none;letter-spacing:normal;border-radius:0!important;font:inherit;cursor:pointer;margin:0}
.tauhara-events button:disabled{cursor:default}
.tauhara-events button:focus-visible,.tauhara-events a:focus-visible{outline:2px solid var(--te-green);outline-offset:3px}
.tauhara-events .te-icon{display:block;width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tauhara-events .te-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px 20px;margin-bottom:18px}
.tauhara-events .te-views{display:flex;width:max-content;border:1px solid #c0c3bf;background:#fefcfb}
.tauhara-events .te-views button{display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 18px;border:0;background:transparent;color:#424640;font-size:14px;font-weight:700;transition:background-color .18s,color .18s}
.tauhara-events .te-views button[aria-pressed=true]{background:var(--te-green);color:#fff}
.tauhara-events .te-views .te-icon,.tauhara-events .te-control .te-icon{width:16px;height:16px}
.tauhara-events .te-month-controls{display:flex;align-items:center;gap:8px;margin-left:auto}
.tauhara-events .te-month-label{display:block;width:220px;min-width:220px;flex:0 0 220px;margin:0 0 0 12px;padding:0;color:var(--te-dark);font:400 24px/1 var(--te-heading);letter-spacing:-.04em;white-space:nowrap}
.tauhara-events .te-control{height:44px;min-width:44px;display:inline-grid;place-items:center;padding:0 13px;border:1px solid #c0c3bf;background:#fefcfb;color:var(--te-ink);font-size:14px;font-weight:700;transition:background-color .18s}
.tauhara-events .te-calendar{padding:0;border:0;background:transparent}
.tauhara-events .te-weekdays,.tauhara-events .te-dates,.tauhara-events .te-stories,.tauhara-events .te-mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.tauhara-events .te-weekdays{background:#fff}
.tauhara-events .te-weekday{padding:16px 13px 13px;color:var(--te-dark);font-size:12px;font-weight:700;letter-spacing:.02em}
.tauhara-events .te-week{margin:0;padding:0 14px 12px;background:#f1f6f0;border:0}
.tauhara-events .te-week:nth-child(2n+1){background:#f5f9f3}
.tauhara-events .te-date{height:56px;padding:12px 13px;color:#2c2e2b;font-size:15px;font-weight:700}
.tauhara-events .te-date.is-past{opacity:.6}.tauhara-events .te-date.is-outside{color:#898f87}
.tauhara-events .te-date.is-today span{display:inline-grid;place-items:center;width:29px;height:29px;margin:-6px;background:var(--te-green);color:#fff}
.tauhara-events .te-stories{min-height:96px;grid-template-rows:minmax(96px,auto);gap:0}
.tauhara-events .te-story{display:block;grid-row:1;min-height:96px;min-width:0;width:100%;padding:0;border:0;border-left:3px solid var(--te-green);background:#fff;color:var(--te-ink);text-align:left;transition:background-color .18s,transform .14s}
.tauhara-events .te-story-copy{display:block;height:100%;min-width:0;padding:11px 12px;background:transparent}
.tauhara-events .te-story-date{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--te-green)}
.tauhara-events .te-story-title{display:block;margin:5px 0 0;font:400 16px/1.2 var(--te-heading);letter-spacing:-.04em;color:var(--te-ink);overflow-wrap:anywhere}
.tauhara-events .te-story:disabled{opacity:.78}
.tauhara-events .te-story:disabled .te-story-date,.tauhara-events .te-story:disabled .te-story-title{color:var(--te-muted)}
.tauhara-events :is(.te-span-1,.te-span-2) .te-story-copy{padding:10px}
.tauhara-events :is(.te-span-1,.te-span-2) .te-story-title{font-size:14px;line-height:1.22}
.tauhara-events .te-placeholder{display:grid;place-items:center;background:#f7ecdd;color:var(--te-dark)}
.tauhara-events .te-placeholder .te-icon{width:24px;height:24px;opacity:.65}
.tauhara-events .te-cards{display:grid;gap:14px}
.tauhara-events .te-card{display:grid;width:100%;grid-template-columns:155px minmax(0,1fr) 225px;gap:24px;align-items:start;padding:22px;border:1px solid #c0c3bf;border-left:5px solid var(--te-green);background:#fefcfb;text-align:left;color:inherit;transition:background-color .18s}
.tauhara-events .te-card-date{color:var(--te-dark);font-size:14px;font-weight:700}.tauhara-events .te-card-date span{display:block;white-space:nowrap}
.tauhara-events .te-card-copy{min-width:0}.tauhara-events .te-card-title{display:block;margin:0 0 8px;color:var(--te-dark);font:400 20px/1.35 var(--te-heading);letter-spacing:-.04em;overflow-wrap:anywhere}
.tauhara-events .te-card-summary{display:block;color:var(--te-muted);font-size:14px;overflow-wrap:anywhere}
.tauhara-events .te-card-media{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:0;border-radius:0}
.tauhara-events .te-status{margin:0;padding:18px 0;color:var(--te-muted);font-size:14px}.tauhara-events .te-status:empty{display:none}
.tauhara-events .te-empty{margin:0;padding:24px;background:var(--te-soft);color:var(--te-muted)}
.tauhara-events .te-more{justify-self:center;margin-top:6px}
.tauhara-events .te-mobile{display:none}
.tauhara-events .te-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* A native dialog occupies the top layer, above theme stacking contexts. */
dialog.tauhara-events.te-dialog{position:fixed;inset:0;width:min(720px,calc(100vw - 40px));max-width:720px;height:fit-content;max-height:90vh;max-height:90dvh;margin:auto;padding:0;overflow:auto;border:1px solid #c0c3bf;border-radius:0;background:#fefcfb;box-shadow:0 25px 70px rgba(13,23,9,.22);z-index:2147483647;overscroll-behavior:contain}
dialog.tauhara-events.te-dialog:not([open]){display:none}
dialog.tauhara-events.te-dialog::backdrop{background:rgba(0,0,0,.10)}
dialog.tauhara-events.te-dialog.te-enter{animation:te-dialog-enter .18s cubic-bezier(.23,1,.32,1)}
@keyframes te-dialog-enter{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.tauhara-events .te-close-wrap{position:sticky;top:10px;z-index:2;height:0;overflow:visible}
.tauhara-events .te-close-x{position:absolute;right:10px;top:0;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #c0c3bf;background:#fefcfb;color:var(--te-ink)}
.tauhara-events .te-modal-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:0;border-radius:0}
.tauhara-events .te-modal-content{padding:27px 30px 28px}
.tauhara-events .te-modal-title{margin:0 48px 17px 0;padding:0;color:var(--te-green);font:400 36px/1 var(--te-heading);letter-spacing:-.04em;text-wrap:balance;overflow-wrap:anywhere}
.tauhara-events .te-modal-meta{display:grid;gap:7px;margin:0 0 18px;color:#424640;font-size:14px}
.tauhara-events .te-meta-row{display:flex;align-items:center;gap:12px}.tauhara-events .te-meta-row .te-icon{width:17px;height:17px;color:var(--te-green)}
.tauhara-events .te-description{margin:0;padding:0 0 18px;color:#424640;font-size:15px;overflow-wrap:anywhere}
.tauhara-events .te-description p{margin:0 0 12px;font:inherit;color:inherit}.tauhara-events .te-description>:last-child{margin-bottom:0}
.tauhara-events .te-description :is(h4,h5,h6){font:400 22px/1.3 var(--te-heading);color:var(--te-dark);margin:16px 0 8px}
.tauhara-events .te-description :is(ul,ol){padding-left:22px;margin:10px 0}
.tauhara-events .te-contacts{display:grid;gap:8px;padding-top:17px;font-size:14px}
.tauhara-events .te-contact-row{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;overflow-wrap:anywhere}.tauhara-events .te-contact-label{color:#6e756c}
.tauhara-events :is(.te-contacts,.te-description) a{color:var(--te-green);text-decoration:underline;text-underline-offset:3px}
.tauhara-events .te-modal-actions{display:flex;justify-content:flex-end;margin-top:22px}
.tauhara-events .te-close-button{padding:10px 23px;border:1px solid var(--te-green);background:var(--te-green);color:#fff;font-size:14px;font-weight:700}
@media(hover:hover) and (pointer:fine){.tauhara-events :is(.te-control,.te-card):hover{background:var(--te-soft)}.tauhara-events :is(.te-story,.te-mobile-event):not(:disabled):hover{background:#f8fbf7}}
@media(max-width:1000px){.tauhara-events .te-card{grid-template-columns:150px minmax(0,1fr) 170px;gap:18px}}
@media(max-width:700px){
  .tauhara-events .te-toolbar{display:block}.tauhara-events .te-views{margin-bottom:18px}
  .tauhara-events .te-month-controls{display:grid;grid-template-columns:44px 44px minmax(0,1fr);gap:7px}
  .tauhara-events .te-month-label{grid-column:1/-1;grid-row:1;width:auto;min-width:0;margin:0 0 4px}
  .tauhara-events .te-control{grid-row:2}.tauhara-events .te-today{width:max-content}
  .tauhara-events .te-desktop{display:none}.tauhara-events .te-mobile{display:block}
  .tauhara-events .te-weekday{padding:10px 1px;text-align:center;font-size:10px}
  .tauhara-events .te-mini-grid{gap:2px}
  .tauhara-events .te-mobile-day{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:47px;padding:7px 0 5px;border:0;background:var(--te-soft);color:#2c2e2b;font-size:12px;font-weight:700}
  .tauhara-events .te-mobile-day.is-past,.tauhara-events .te-mobile-day.is-outside{color:#6e756c}
  .tauhara-events .te-mobile-day.is-outside{background:#eaf0e7}
  .tauhara-events .te-mobile-day.is-today>span:first-child{display:grid;place-items:center;width:23px;height:23px;margin:-3px;background:var(--te-green);color:white}
  .tauhara-events .te-dot{width:5px;height:5px;margin-top:5px;background:#427832}.tauhara-events .is-past .te-dot{background:#a5a9a3}
  .tauhara-events .te-mobile-events{display:grid;gap:12px;margin-top:18px}
  .tauhara-events .te-mobile-heading{margin:0 0 2px;color:var(--te-dark);font:400 24px/1.2 var(--te-heading);letter-spacing:-.04em}
  .tauhara-events .te-mobile-event{display:block;padding:0;border:0;border-left:3px solid var(--te-green);background:#fff;text-align:left;color:var(--te-ink)}

  .tauhara-events .te-mobile-copy{display:block;padding:12px 14px;min-width:0}
  .tauhara-events .te-mobile-copy .te-story-date{font-size:10px}.tauhara-events .te-mobile-copy .te-story-title{font-size:20px;line-height:1.18}
  .tauhara-events .te-mobile-event:disabled{opacity:.72}
  .tauhara-events .te-card{grid-template-columns:120px minmax(0,1fr);gap:12px;padding:14px}
  .tauhara-events .te-card-date{font-size:12px}.tauhara-events .te-card-summary{font-size:13px}
  .tauhara-events .te-card-media{grid-column:2;grid-row:2}
  dialog.tauhara-events.te-dialog{width:calc(100vw - 20px);max-height:95vh;max-height:95dvh}
  .tauhara-events .te-modal-content{padding:21px 19px}.tauhara-events .te-modal-title{font-size:30px}.tauhara-events .te-description{font-size:14px}
}
@media(max-width:420px){.tauhara-events .te-card{grid-template-columns:minmax(0,1fr)}.tauhara-events .te-card-media{grid-column:1;grid-row:auto}.tauhara-events .te-contact-row{grid-template-columns:68px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.tauhara-events *{transition:none!important;animation:none!important}dialog.tauhara-events.te-dialog{animation:none!important}}

/* Respond to an Avada column width as well as the viewport. */
.tauhara-events[data-te-calendar]{container-type:inline-size;container-name:tauhara-events}
@container tauhara-events (max-width:1000px){.tauhara-events .te-card{grid-template-columns:150px minmax(0,1fr) 170px;gap:18px}}
@container tauhara-events (max-width:700px){
  .tauhara-events .te-toolbar{display:block}.tauhara-events .te-views{margin-bottom:18px}
  .tauhara-events .te-month-controls{display:grid;grid-template-columns:44px 44px minmax(0,1fr);gap:7px}
  .tauhara-events .te-month-label{grid-column:1/-1;grid-row:1;width:auto;min-width:0;margin:0 0 4px}
  .tauhara-events .te-control{grid-row:2}.tauhara-events .te-today{width:max-content}
  .tauhara-events .te-desktop{display:none}.tauhara-events .te-mobile{display:block}
  .tauhara-events .te-weekday{padding:10px 1px;text-align:center;font-size:10px}
  .tauhara-events .te-mini-grid{gap:2px}
  .tauhara-events .te-mobile-day{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:47px;padding:7px 0 5px;border:0;background:var(--te-soft);color:#2c2e2b;font-size:12px;font-weight:700}
  .tauhara-events .te-mobile-day.is-past,.tauhara-events .te-mobile-day.is-outside{color:#6e756c}
  .tauhara-events .te-mobile-day.is-outside{background:#eaf0e7}
  .tauhara-events .te-mobile-day.is-today>span:first-child{display:grid;place-items:center;width:23px;height:23px;margin:-3px;background:var(--te-green);color:white}
  .tauhara-events .te-dot{width:5px;height:5px;margin-top:5px;background:#427832}.tauhara-events .is-past .te-dot{background:#a5a9a3}
  .tauhara-events .te-mobile-events{display:grid;gap:12px;margin-top:18px}
  .tauhara-events .te-mobile-heading{margin:0 0 2px;color:var(--te-dark);font:400 24px/1.2 var(--te-heading);letter-spacing:-.04em}
  .tauhara-events .te-mobile-event{display:block;padding:0;border:0;border-left:3px solid var(--te-green);background:#fff;text-align:left;color:var(--te-ink)}

  .tauhara-events .te-mobile-copy{display:block;padding:12px 14px;min-width:0}
  .tauhara-events .te-mobile-copy .te-story-date{font-size:10px}.tauhara-events .te-mobile-copy .te-story-title{font-size:20px;line-height:1.18}
  .tauhara-events .te-mobile-event:disabled{opacity:.72}
  .tauhara-events .te-card{grid-template-columns:120px minmax(0,1fr);gap:12px;padding:14px}
  .tauhara-events .te-card-date{font-size:12px}.tauhara-events .te-card-summary{font-size:13px}
  .tauhara-events .te-card-media{grid-column:2;grid-row:2}
  dialog.tauhara-events.te-dialog{width:calc(100vw - 20px);max-height:95vh;max-height:95dvh}
  .tauhara-events .te-modal-content{padding:21px 19px}.tauhara-events .te-modal-title{font-size:30px}.tauhara-events .te-description{font-size:14px}
}
@container tauhara-events (max-width:420px){.tauhara-events .te-card{grid-template-columns:minmax(0,1fr)}.tauhara-events .te-card-media{grid-column:1;grid-row:auto}.tauhara-events .te-contact-row{grid-template-columns:68px minmax(0,1fr)}}
