.oth-calendar,.oth-entry{--oth-teal:#005b5e;--oth-brown:#4b2b2f;--oth-sand:#f0e7d4;--oth-weekend:#d6e7df;--oth-holiday:#f4e5c5;box-sizing:border-box;color:#33433f;font-family:Aptos,Arial,sans-serif}.oth-calendar *,.oth-entry *{box-sizing:border-box}.oth-calendar{position:relative;width:100%;max-width:1500px;margin:0 auto;padding:0 34px 12px;background:#fffefa;border-radius:16px;overflow:visible}.oth-season-strip{height:clamp(160px,24vw,300px)!important;overflow:hidden;position:relative;background:0 0}.oth-calendar .oth-season-table{width:100%!important;height:100%!important;max-width:none!important;table-layout:fixed!important;border-collapse:collapse!important;border-spacing:0!important;border:0!important;margin:0!important;padding:0!important}.oth-calendar .oth-season-table col.oth-day-col{width:30px!important}.oth-calendar .oth-season-table col.oth-month-col{width:calc((100% - 30px)/12)!important}.oth-calendar .oth-season-table td{display:table-cell!important;float:none!important;position:relative;box-sizing:border-box!important;min-width:0!important;max-width:none!important;height:100%!important;border:0!important;padding:0!important;vertical-align:bottom!important}.oth-season-gutter{width:30px}.oth-season-scene{overflow:hidden}.oth-season-scene img{width:auto!important;height:clamp(160px,24vw,300px)!important;max-width:100%!important;max-height:100%!important;object-fit:contain;object-position:center bottom;display:block;margin:0 auto}.oth-calendar .oth-calendar-table{width:100%!important;max-width:none!important;table-layout:fixed!important;border-collapse:collapse!important;border-spacing:0!important;border:0!important;margin:3px 0 0!important;padding:0!important}.oth-calendar .oth-calendar-table col.oth-day-col{width:30px!important}.oth-calendar .oth-calendar-table col.oth-month-col{width:calc((100% - 30px)/12)!important}.oth-calendar .oth-calendar-table th,.oth-calendar .oth-calendar-table td{display:table-cell!important;float:none!important;position:relative;box-sizing:border-box!important;min-width:0!important;max-width:none!important;border:0!important;padding:0!important;vertical-align:middle!important}.oth-calendar .oth-year-band{height:27px!important}.oth-calendar .oth-month-head{height:27px!important}.oth-calendar .oth-day-row{height:14px!important;min-height:14px!important}.oth-calendar .oth-gutter,.oth-calendar .oth-day-number{width:30px!important;min-width:30px!important;max-width:30px!important;text-align:center!important}.oth-year-band{margin:3px 0 6px}.oth-gutter{font-size:8px;color:#98a59f;text-align:center}.oth-year-segment{height:24px;color:#fff;font-weight:700;font-size:11px;letter-spacing:1px;background:var(--oth-teal);border-radius:7px;margin:0 1px;text-align:center}.oth-year-segment.even{background:#4c8880}.oth-month-head{margin-bottom:5px}.oth-month-name{justify-content:center;text-align:center;font-size:clamp(9px,1.1vw,14px);font-weight:700;color:var(--oth-brown);white-space:nowrap}.oth-day-grid{position:relative}.oth-day-number{justify-content:center;text-align:center;font-size:8px;line-height:1;color:#9ca9a3}.oth-day-row:nth-child(5n){border-bottom:1px solid #f1f2ef}.oth-day-cell{height:12px;position:relative;margin:1px 3px;border-radius:6px;text-align:center;background:0 0}.oth-day-cell.is-weekend{background:var(--oth-weekend)}.oth-day-cell.is-holiday{background:var(--oth-holiday)}.oth-holiday-label{position:absolute;z-index:4;top:0;left:2px;display:block;max-width:calc(100% - 4px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 3px;border-radius:0 0 4px 4px;background:rgba(244,229,197,.97);color:#715e3a;font-size:8px;font-weight:700;line-height:12px;pointer-events:none}.oth-day-cell.is-empty{background:transparent!important}.oth-event-dot,.oth-holiday-hit{border:0;padding:0;cursor:pointer;position:absolute;inset:0;background:0 0;border-radius:inherit}.oth-event-dot{z-index:5;inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:11px;height:11px;border-radius:50%;background:var(--oth-teal);box-shadow:0 0 0 2px #fffefa,0 0 0 3.5px rgba(0,91,94,.2)}.oth-day-cell:not(.is-empty):not(.has-holiday):not(.has-event):after{content:"";display:block;width:4px;height:4px;margin:0 auto;border-radius:50%;background:#c4d0ca}.oth-calendar-arrow{position:absolute;z-index:4;top:58%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;text-decoration:none;border-radius:50%;background:#edf4f0;color:var(--oth-teal);font-family:Arial,sans-serif;font-size:24px;line-height:1;transition:background .15s,transform .15s}.oth-calendar-arrow:hover,.oth-calendar-arrow:focus{background:#d6e7df;color:var(--oth-teal);transform:scale(1.06)}.oth-calendar-arrow.prev{left:0}.oth-calendar-arrow.next{right:0}.oth-legend{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;border-top:1px solid #edf0eb;margin-top:12px;padding:10px 0 0;font-size:11px;color:#66736f}.oth-legend span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.oth-legend i{display:inline-block;flex:0 0 auto}.oth-legend-dot{width:4px;height:4px;border-radius:50%;background:#c4d0ca}.oth-legend-event{width:10px;height:10px;border-radius:50%;background:var(--oth-teal)}.oth-legend-holiday,.oth-legend-weekend{width:22px;height:12px;border-radius:4px}.oth-legend-holiday{background:var(--oth-holiday)}.oth-legend-weekend{background:var(--oth-weekend)}.oth-event-templates{display:none!important}.oth-modal{display:none;position:fixed;inset:0;z-index:999999;align-items:center;justify-content:center;padding:20px}.oth-modal.is-open{display:flex}.oth-modal-backdrop{position:absolute;inset:0;background:rgba(22,36,33,.58)}.oth-modal-dialog{position:relative;z-index:1;width:min(620px,100%);max-height:min(86vh,850px);overflow:auto;background:#fffefa;border-radius:18px;padding:26px;box-shadow:0 20px 70px rgba(0,0,0,.25)}.oth-modal-close{position:sticky;top:0;float:right;border:0;border-radius:50%;width:34px;height:34px;background:#edf4f0;color:var(--oth-teal);font-size:24px;line-height:1;cursor:pointer;z-index:2}.oth-event-detail h2,.oth-holiday-detail h2{font-size:24px;line-height:1.2;color:var(--oth-brown);margin:4px 45px 8px 0}.oth-event-date,.oth-holiday-date{color:#6e8079;font-size:14px;margin:0 0 16px}.oth-event-image{width:100%;max-height:330px;object-fit:cover;border-radius:12px;margin:2px 0 16px}.oth-event-description{font-size:15px;line-height:1.55}.oth-event-description img{max-width:100%;height:auto}.oth-holiday-detail{padding:4px 4px 14px}.oth-entry{max-width:760px;margin:0 auto;padding:24px;background:#fffefa;border:1px solid #e6e9e3;border-radius:16px}.oth-entry h2{font-size:24px;color:var(--oth-brown);margin:0 0 18px}.oth-entry-form{display:grid;gap:15px}.oth-entry-form label{display:grid;gap:6px;font-size:14px;font-weight:600;color:#43544f}.oth-editor-field{display:grid;gap:6px}.oth-editor-label{font-size:14px;font-weight:600;color:#43544f}.oth-editor-field .wp-editor-wrap{width:100%}.oth-entry-form input[type=text],.oth-entry-form input[type=date],.oth-entry-form input[type=file],.oth-entry-form select,.oth-entry-form textarea{width:100%;min-height:42px;border:1px solid #cdd8d2;border-radius:8px;padding:9px 11px;background:#fff;color:#293b37;font:inherit}.oth-entry-form textarea{resize:vertical;min-height:150px}.oth-entry-form input:focus,.oth-entry-form select:focus,.oth-entry-form textarea:focus{outline:2px solid rgba(0,91,94,.22);border-color:var(--oth-teal)}.oth-date-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.oth-entry-hint{margin:0;color:#788780;font-size:12px;line-height:1.4}.oth-entry-form button[type=submit]{justify-self:start;border:0;border-radius:8px;background:var(--oth-teal);color:#fff;padding:11px 20px;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer}.oth-entry-form button[type=submit]:hover{background:#064b4e}.oth-entry-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.oth-entry-cancel{color:var(--oth-teal);font-size:14px}.oth-image-control{display:grid;gap:8px}.oth-select-media{justify-self:start;border:1px solid #b8ccc4;border-radius:7px;background:#edf4f0;color:var(--oth-teal);padding:8px 12px;font:inherit;font-size:13px;cursor:pointer}.oth-select-media:hover{background:#dcebe4}.oth-image-preview{display:grid;justify-items:start;gap:5px;color:#66736f;font-size:12px}.oth-image-preview img{display:block;width:auto;max-width:min(260px,100%);max-height:150px;border-radius:8px}.oth-event-list{margin-top:24px;padding-top:16px;border-top:1px solid #e6e9e3}.oth-event-list summary{color:var(--oth-teal);font-weight:700;cursor:pointer}.oth-event-list ul{list-style:none;margin:10px 0 0;padding:0;max-height:420px;overflow:auto}.oth-event-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 4px;border-bottom:1px solid #edf0eb}.oth-event-list li span{display:grid;gap:2px}.oth-event-list li small,.oth-event-list-empty{color:#788780;font-size:12px}.oth-edit-link{flex:0 0 auto;color:var(--oth-teal);font-size:13px;font-weight:600}.oth-entry-note,.oth-notice{border-radius:8px;padding:12px 15px;margin:0 0 14px;font-size:14px}.oth-entry-note{background:#f5f1e8;color:#5f5041}.oth-notice.success{background:#e7f2ec;color:#245e4e}.oth-notice.error{background:#fae7e3;color:#823f36}@media(max-width:680px){.oth-calendar{padding:0 24px 10px;border-radius:10px}.oth-season-strip{height:clamp(125px,38vw,210px)!important}.oth-season-scene img{height:clamp(125px,38vw,210px)!important}.oth-calendar .oth-season-table col.oth-day-col{width:23px!important}.oth-calendar .oth-season-table col.oth-month-col{width:calc((100% - 23px)/12)!important}.oth-season-gutter{width:23px}.oth-calendar .oth-calendar-table col.oth-day-col{width:23px!important}.oth-calendar .oth-calendar-table col.oth-month-col{width:calc((100% - 23px)/12)!important}.oth-calendar .oth-gutter,.oth-calendar .oth-day-number{width:23px!important;min-width:23px!important;max-width:23px!important}.oth-month-name{font-size:9px}.oth-calendar .oth-day-row{height:13px!important;min-height:13px!important}.oth-day-cell{height:11px;margin:1px 1.5px}.oth-holiday-label{font-size:7px;line-height:10px}.oth-event-dot{width:8px;height:8px;box-shadow:0 0 0 1.5px #fffefa,0 0 0 2.8px rgba(0,91,94,.2)}.oth-day-cell:not(.is-empty):not(.has-holiday):not(.has-event):after{width:3px;height:3px}.oth-calendar-arrow{top:52%;width:23px;height:23px;font-size:20px}.oth-calendar-arrow.prev{left:0}.oth-calendar-arrow.next{right:0}.oth-legend{font-size:9px;gap:7px 12px}.oth-legend span{gap:5px}.oth-date-pair{grid-template-columns:1fr}.oth-entry{padding:18px}.oth-modal-dialog{padding:20px}}