.kuru-calendar{margin:0 0 24px;background:#fff;border:1px solid #d8e4f3;border-radius:12px;overflow:hidden;scroll-margin-top:90px}.kuru-calendar-heading{padding:18px 22px;background:var(--navy);color:#fff}.kuru-calendar-heading h2{font-size:22px;color:var(--gold-soft);margin:0}.kuru-calendar-heading p{margin:5px 0 0;font-size:17px}.kuru-calendar-months{display:flex;justify-content:space-between;gap:8px;padding:14px 16px;flex-wrap:wrap}.kuru-calendar-months a{color:var(--navy);font-size:16px;font-weight:600;padding:8px 10px;background:#edf4fd;border-radius:8px}.kuru-calendar-picker{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:0 16px 16px}.kuru-calendar-picker label{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--navy);font-size:16px}.kuru-calendar-picker input{max-width:100%;min-width:0;min-height:44px;font:inherit;border:1px solid #b9cade;padding:5px 8px;border-radius:6px;background:white;color:var(--navy)}.kuru-calendar-picker button{min-height:44px;font:inherit;padding:8px 12px;background:var(--navy);color:#fff;border:0;border-radius:6px;cursor:pointer}.kuru-calendar-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:17px;line-height:1.8}.kuru-calendar-table th,.kuru-calendar-table td{padding:16px;vertical-align:top;border-top:1px solid #d8e4f3;text-align:left;overflow-wrap:anywhere}.kuru-calendar-table th:first-child{width:80px;text-align:center;color:var(--navy);font-weight:700}.kuru-calendar-table thead{background:#edf4fd;color:var(--navy)}.kuru-calendar-table tbody>tr:nth-child(even){background:#f8faff}.kuru-calendar-empty td{color:#566477;font-size:16px}.kuru-calendar-table .is-today{background:#fff6db!important}.kuru-calendar-today{display:block;color:#755000;font-size:14px;margin-top:4px}.kuru-calendar-event h3{margin:0 0 8px;color:var(--navy);font-size:19px;line-height:1.65}.kuru-calendar-event p{margin:8px 0}.kuru-calendar-event+.kuru-calendar-event{border-top:1px solid #d8e4f3;padding-top:16px;margin-top:16px}.kuru-calendar-meta{color:#405676}.kuru-calendar-state{font-weight:700;color:#8b3512;background:#fff0dd;padding:6px 10px;border-radius:6px}.kuru-calendar-preview{padding:16px;margin:0;background:#fff6db;color:#755000}.kuru-calendar a:focus-visible,.kuru-calendar button:focus-visible,.kuru-calendar input:focus-visible{outline:3px solid #a76c00;outline-offset:3px}@media(max-width:600px){.kuru-calendar-table,.kuru-calendar-table tbody{display:block}.kuru-calendar-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.kuru-calendar-table tr{display:block;border-top:1px solid #d8e4f3;padding:14px 16px}.kuru-calendar-table th,.kuru-calendar-table td{display:block;width:auto!important;border:0;padding:0}.kuru-calendar-table th:first-child{text-align:left;margin-bottom:12px}.kuru-calendar-table tbody th::before{content:'วันที่ '}.kuru-calendar-today{display:inline;margin-left:8px}.kuru-calendar-empty{display:flex!important;gap:12px;flex-wrap:wrap}.kuru-calendar-empty th{margin:0!important}.kuru-calendar-months a{padding:7px;font-size:15px}.kuru-calendar-picker label,.kuru-calendar-picker button{width:100%}.kuru-calendar-heading{padding:18px 16px}}

.kuru-calendar-picker select{font:inherit;max-width:100%;min-width:0;min-height:44px;border:1px solid #b9cade;padding:5px 8px;border-radius:6px;background:white;color:var(--navy)}.kuru-calendar-picker input[name=year_be]{width:6.5em}

/* Compact heading and calendar date tiles; retain the existing navy/gold identity. */
.kuru-calendar .kuru-calendar-heading{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:14px 20px}
.kuru-calendar .kuru-calendar-heading h2{margin:0;min-width:0;font-size:22px;line-height:1.4;white-space:nowrap;color:var(--gold-soft)}
.kuru-calendar .kuru-calendar-heading p{margin:0;flex-shrink:0;font-size:17px;line-height:1.4;white-space:nowrap;color:var(--gold-soft)}
.kuru-calendar .kuru-calendar-table{margin:0}
.kuru-calendar .kuru-calendar-table th:first-child{width:108px}
.kuru-calendar .kuru-calendar-table tbody th{background:transparent}
.kuru-calendar-date{display:inline-flex;flex-direction:column;min-width:68px;overflow:hidden;border:1px solid #d5a644;border-radius:4px;background:#fff0bf;color:#17355e;vertical-align:top;line-height:1.3;text-align:center}
.kuru-calendar-date-label{display:block;padding:4px 10px;background:#f5ce6c;color:#60420a;font-size:12px;font-weight:600}
.kuru-calendar-date-value{display:block;padding:7px 10px;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.kuru-calendar .kuru-calendar-date,.kuru-calendar .kuru-calendar-date-value{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
.kuru-calendar .kuru-calendar-table .kuru-calendar-active{background:#fff0f1!important;color:var(--navy)}
.kuru-calendar .kuru-calendar-active .kuru-calendar-event h3{color:var(--navy)}
.kuru-calendar .kuru-calendar-active .kuru-calendar-meta{color:#405676}
.kuru-calendar .kuru-calendar-active .kuru-calendar-event+.kuru-calendar-event{border-top-color:#ebcbd0}
.kuru-calendar .kuru-calendar-active .kuru-calendar-today{color:#755000}
.kuru-calendar .kuru-calendar-today{margin-top:6px;font-weight:600}
html[data-reading-size="large"] .kuru-calendar-heading,html[data-reading-size="largest"] .kuru-calendar-heading{flex-wrap:wrap}
@media(max-width:600px){
 .kuru-calendar .kuru-calendar-heading{padding:12px;gap:10px}
 .kuru-calendar .kuru-calendar-heading h2{font-size:18px}
 .kuru-calendar .kuru-calendar-heading p{font-size:14px}
 .kuru-calendar .kuru-calendar-table tbody tr{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:12px;align-items:start;padding:14px 12px}
 .kuru-calendar .kuru-calendar-table tbody th{margin:0;text-align:center}
 .kuru-calendar .kuru-calendar-table tbody th::before{content:none}
 .kuru-calendar .kuru-calendar-table tbody td{min-width:0}
 .kuru-calendar .kuru-calendar-today{display:block;margin:6px 0 0}
 .kuru-calendar-date{min-width:62px}
 .kuru-calendar-date-value{font-size:19px}
 .kuru-calendar .kuru-calendar-event h3{font-size:18px;margin:0}
 .kuru-calendar .kuru-calendar-empty td{font-size:15px;padding-top:8px}
}
.kuru-calendar-no-events { margin: 0; padding: 28px 20px; color: #405676; background: #f7faff; text-align: center; }
.kuru-calendar .kuru-calendar-picker button { background: var(--gold, #f0b323); color: var(--navy, #0d2b5e); font-weight: 700; }
.kuru-calendar .kuru-calendar-picker button:hover { background: var(--gold-soft, #ffd34d); }
.kuru-calendar .kuru-calendar-picker button:active { background: #e5a51a; }
