@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
.th-events,.th-events *{box-sizing:border-box}.th-events{--green:#315c4b;--deep:#263d35;--gold:#b58b58;--cream:#f7f5ef;font-family:'DM Sans',sans-serif;color:var(--deep);max-width:1050px;margin:0 auto;padding:24px 12px 45px}.th-events button,.th-events a{font-family:inherit}.th-events-heading{text-align:center;margin:0 0 28px}.th-events-eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--gold)}.th-events-heading h2{font-size:clamp(28px,4vw,43px);line-height:1.2;color:var(--deep);margin:9px 0}.th-events-heading p{font-size:14px;color:#6d7b70;margin:0}.th-events-feature{background:linear-gradient(125deg,#f7f5ef,#e8efe8);border:1px solid #dce6da;border-radius:18px;padding:22px 25px;margin-bottom:30px;box-shadow:0 10px 30px #263d350a;min-height:160px}.th-events-feature-layout{display:flex;align-items:center;gap:24px;min-height:120px}.th-events-feature-image{width:120px;height:120px;object-fit:cover;border-radius:13px;flex-shrink:0}.th-events-feature-text{min-width:0;flex:1}.th-events-tag{display:inline-flex;background:#e0e9df;color:#315c4b;border-radius:20px;padding:5px 10px;font-size:10px;font-weight:800;letter-spacing:.25px}.th-events-feature h3{font-size:clamp(19px,3vw,26px);color:var(--deep);margin:9px 0 5px;line-height:1.25}.th-events-feature p{font-size:12px;color:#64776a;margin:0 0 10px}.th-events-feature-detail{border:0!important;background:transparent!important;color:var(--green)!important;text-decoration:underline!important;font-size:12px;font-weight:800;cursor:pointer;padding:4px 0!important}.th-events-feature-controls{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:12px}.th-events-dots{display:flex;gap:7px;flex-wrap:wrap}.th-events .th-events-dot{width:9px;height:9px;min-width:9px;border:0!important;border-radius:50%;background:#b9c8b9!important;padding:0!important;cursor:pointer}.th-events .th-events-dot.active{background:var(--green)!important;width:24px;border-radius:6px}.th-events-arrows{display:flex;gap:8px}.th-events .th-events-arrows button,.th-events .th-events-monthbar button{border:1px solid #d6e0d4!important;background:#fff!important;color:var(--green)!important;border-radius:10px;width:39px;height:39px;padding:0!important;font-size:27px;line-height:1;cursor:pointer}.th-events-calendar{border:1px solid #e4e9e2;border-radius:18px;background:white;padding:26px;box-shadow:0 12px 40px #263d3508}.th-events-monthbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.th-events-monthbar h3{font-size:clamp(17px,2.6vw,23px);margin:0;color:var(--deep);text-align:center;text-transform:capitalize}.th-events-weekdays,.th-events-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.th-events-weekdays span{text-align:center;font-size:12px;color:#7e8c7f;font-weight:800;padding:8px 0 13px}.th-events .th-events-day,.th-events-day-blank{position:relative;aspect-ratio:1/1;min-height:39px;border-radius:11px}.th-events .th-events-day{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:1px solid transparent!important;background:#f5f7f3!important;color:#3d5144!important;font-size:14px;font-weight:600;padding:2px!important;cursor:default;box-shadow:none!important}.th-events .th-events-day.has-event{background:var(--green)!important;color:#fff!important;font-weight:800;cursor:pointer;box-shadow:0 5px 12px #315c4b20!important}.th-events .th-events-day.has-event:hover{background:#244b3b!important;transform:translateY(-1px)}.th-events-day-dot{width:5px;height:5px;border-radius:50%;background:#e2c28c}.th-events-empty{text-align:center;background:#f6f7f3;border-radius:12px;padding:19px;color:#6d7b70;font-size:13px;margin:20px 0 0}.th-events-hint{text-align:center;font-size:12px;color:#879489;margin:20px 0 0}.th-events-overlay[hidden],.th-events-empty[hidden],.th-events-hint[hidden]{display:none!important}.th-events-overlay{position:fixed;z-index:999999;inset:0;background:#14251bcc;display:flex;align-items:center;justify-content:center;padding:18px;overflow:auto}.th-events-dialog{position:relative;width:min(100%,520px);max-height:min(88vh,850px);overflow:auto;background:#fffdf8;border-radius:18px;padding:28px;box-shadow:0 20px 70px #0005;outline:none}.th-events .th-events-close{position:sticky;top:0;float:right;margin:-12px -12px 5px 10px;width:36px;height:36px;border:0!important;border-radius:50%;background:#edf1ea!important;color:var(--deep)!important;font-size:26px;cursor:pointer;z-index:2;padding:0!important}.th-events-modal-image{display:block;width:100%;max-width:310px;aspect-ratio:1;object-fit:cover;border-radius:13px;margin:0 auto 17px}.th-events-event-card h3{font-size:24px;color:var(--deep);line-height:1.25;margin:14px 0 10px}.th-events-description{font-size:14px;color:#526357;line-height:1.75;white-space:pre-line}.th-events-detail{font-size:13px;color:#405549;margin:9px 0}.th-events-access-note{font-size:12px;color:#69796b;background:#f1f5ef;padding:12px;border-radius:9px}.th-events a.th-events-register{display:block;text-align:center;margin-top:18px;background:var(--green)!important;color:#fff!important;border-radius:9px;padding:14px 20px;font-size:13px;font-weight:800;text-decoration:none!important}.th-events a.th-events-register:hover{background:#244b3b!important}.th-events-no-url{font-size:12px;color:#7c7c7c}.th-events-separator{border:0;border-top:1px solid #e1e7df;margin:25px 0}.th-events-modal-open{overflow:hidden}.th-events button:focus-visible,.th-events a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media(max-width:600px){.th-events{padding:18px 5px 35px}.th-events-feature{padding:16px}.th-events-feature-layout{gap:12px}.th-events-feature-image{width:82px;height:82px}.th-events-feature h3{font-size:18px}.th-events-feature p{font-size:11px}.th-events-calendar{padding:13px 9px}.th-events-weekdays,.th-events-days{gap:4px}.th-events .th-events-day,.th-events-day-blank{min-height:36px;border-radius:8px}.th-events .th-events-day{font-size:12px}.th-events-dialog{padding:20px}.th-events-event-card h3{font-size:21px}}@media(prefers-reduced-motion:reduce){.th-events *{transition:none!important;animation:none!important}}
