.ymp-zadok-calendar {
    --ymp-calendar-blue:#0d8fc3;
    --ymp-calendar-blue-soft:color-mix(in srgb,var(--ymp-calendar-blue) 10%,var(--ymp-front-surface));
    --ymp-calendar-orange:#c65d17;
    --ymp-calendar-orange-soft:color-mix(in srgb,var(--ymp-calendar-orange) 11%,var(--ymp-front-surface));
    --ymp-calendar-purple:#7555c7;
    color:var(--ymp-front-text);
    margin:0 auto;
    max-width:1600px;
    width:100%;
}

:root[data-ymp-theme="dark"] .ymp-zadok-calendar {
    --ymp-calendar-blue:#6bc7ee;
    --ymp-calendar-orange:#f1a160;
    --ymp-calendar-purple:#b5a3ff;
}

.ymp-calendar-hero {
    align-items:center;
    background:
        radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--ymp-calendar-blue) 19%,transparent),transparent 32%),
        radial-gradient(circle at 96% 100%,color-mix(in srgb,var(--ymp-calendar-orange) 18%,transparent),transparent 35%),
        var(--ymp-front-surface);
    border:1px solid var(--ymp-front-border);
    border-radius:22px;
    box-shadow:var(--ymp-front-shadow);
    display:grid;
    gap:24px;
    grid-template-columns:minmax(0,1.7fr) minmax(260px,.65fr);
    margin:0 0 16px;
    overflow:hidden;
    padding:28px;
    position:relative;
}

.ymp-calendar-hero::before {
    background:linear-gradient(90deg,var(--ymp-calendar-blue),var(--ymp-calendar-purple),var(--ymp-calendar-orange));
    content:"";
    height:4px;
    left:0;
    position:absolute;
    right:0;
    top:0;
}

.ymp-calendar-eyebrow,
.ymp-calendar-detail__eyebrow {
    color:var(--ymp-calendar-blue);
    font-size:12px;
    font-weight:850;
    letter-spacing:.12em;
    margin:0 0 7px;
    text-transform:uppercase;
}

.ymp-calendar-hero h1 {
    font-size:clamp(34px,5vw,58px);
    letter-spacing:-.045em;
    line-height:.98;
    margin:0 0 12px;
}

.ymp-calendar-hero__copy > p:last-child {
    color:var(--ymp-front-muted);
    font-size:16px;
    line-height:1.65;
    margin:0;
    max-width:900px;
}

.ymp-calendar-today-card {
    background:color-mix(in srgb,var(--ymp-front-surface) 88%,transparent);
    border:1px solid color-mix(in srgb,var(--ymp-calendar-blue) 28%,var(--ymp-front-border));
    border-radius:18px;
    box-shadow:0 12px 30px rgba(15,23,42,.08);
    display:grid;
    gap:6px;
    padding:20px;
}

.ymp-calendar-today-card > span {
    color:var(--ymp-front-muted);
    font-size:12px;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.ymp-calendar-today-card strong {
    color:var(--ymp-calendar-blue);
    font-size:21px;
    line-height:1.25;
}

.ymp-calendar-today-card small {
    color:var(--ymp-front-muted);
    font-size:13px;
    line-height:1.45;
}

.ymp-calendar-tabs {
    align-items:center;
    background:var(--ymp-front-surface);
    border:1px solid var(--ymp-front-border);
    border-radius:14px;
    display:flex;
    gap:4px;
    margin:0 0 16px;
    overflow:auto;
    padding:5px;
}

.ymp-calendar-tabs a {
    border-radius:10px;
    color:var(--ymp-front-muted);
    flex:0 0 auto;
    font-size:13px;
    font-weight:800;
    padding:10px 14px;
    text-decoration:none;
}

.ymp-calendar-tabs a:hover,
.ymp-calendar-tabs a:focus-visible {
    background:var(--ymp-front-bg);
    color:var(--ymp-front-primary);
    outline:none;
}

.ymp-calendar-tabs a.is-current {
    background:var(--ymp-front-primary);
    color:var(--ymp-front-primary-contrast);
}

.ymp-calendar-panel {
    background:var(--ymp-front-surface);
    border:1px solid var(--ymp-front-border);
    border-radius:20px;
    box-shadow:var(--ymp-front-shadow);
    overflow:hidden;
}

.ymp-calendar-toolbar {
    align-items:center;
    border-bottom:1px solid var(--ymp-front-border);
    display:grid;
    gap:12px;
    grid-template-columns:auto minmax(180px,1fr) auto auto auto;
    padding:16px 18px;
}

.ymp-calendar-toolbar__heading {
    min-width:0;
}

.ymp-calendar-toolbar__heading p {
    color:var(--ymp-front-muted);
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    margin:0 0 2px;
    text-transform:uppercase;
}

.ymp-calendar-toolbar__heading h2 {
    font-size:26px;
    line-height:1.1;
    margin:0;
}

.ymp-calendar-nav-button,
.ymp-calendar-today-link {
    align-items:center;
    border:1px solid var(--ymp-front-border);
    border-radius:10px;
    color:var(--ymp-front-text);
    display:inline-flex;
    font-weight:850;
    height:40px;
    justify-content:center;
    min-width:40px;
    padding:0 12px;
    text-decoration:none;
}

.ymp-calendar-nav-button:hover,
.ymp-calendar-today-link:hover {
    border-color:var(--ymp-front-primary);
    color:var(--ymp-front-primary);
}

.ymp-calendar-jump-form {
    align-items:end;
    display:flex;
    gap:8px;
}

.ymp-calendar-jump-form label {
    color:var(--ymp-front-muted);
    display:grid;
    font-size:11px;
    font-weight:800;
    gap:3px;
}

.ymp-calendar-jump-form select,
.ymp-calendar-jump-form button,
.ymp-calendar-converter input,
.ymp-calendar-converter select,
.ymp-calendar-converter button {
    background:var(--ymp-front-surface);
    border:1px solid var(--ymp-front-border);
    border-radius:8px;
    color:var(--ymp-front-text);
    min-height:40px;
    padding:7px 10px;
}

.ymp-calendar-jump-form button,
.ymp-calendar-converter button {
    background:var(--ymp-front-primary);
    border-color:var(--ymp-front-primary);
    color:var(--ymp-front-primary-contrast);
    cursor:pointer;
    font-weight:800;
}

.ymp-calendar-grid-scroller {
    overflow:auto;
}

.ymp-calendar-weekdays,
.ymp-calendar-grid {
    min-width:1050px;
}

.ymp-calendar-weekdays {
    background:color-mix(in srgb,var(--ymp-front-text) 86%,var(--ymp-front-surface));
    color:var(--ymp-front-surface);
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
}

:root[data-ymp-theme="dark"] .ymp-calendar-weekdays {
    background:#0d1118;
    color:#f8fafc;
}

.ymp-calendar-weekdays > div {
    border-right:1px solid color-mix(in srgb,currentColor 17%,transparent);
    display:grid;
    gap:2px;
    min-height:58px;
    padding:10px 12px;
    text-align:center;
}

.ymp-calendar-weekdays > div:last-child {
    border-right:0;
}

.ymp-calendar-weekdays strong {
    font-size:12px;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.ymp-calendar-weekdays span {
    font-size:12px;
    font-style:italic;
    opacity:.78;
}

.ymp-calendar-grid {
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
}

.ymp-calendar-cell {
    appearance:none;
    background:var(--ymp-front-surface);
    border:0;
    border-bottom:1px solid var(--ymp-front-border);
    border-right:1px solid var(--ymp-front-border);
    color:var(--ymp-front-text);
    cursor:pointer;
    display:block;
    font:inherit;
    min-height:150px;
    padding:12px;
    position:relative;
    text-align:left;
    transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease;
}

.ymp-calendar-cell:nth-child(7n) {
    border-right:0;
}

.ymp-calendar-cell:hover,
.ymp-calendar-cell:focus-visible,
.ymp-calendar-cell.is-selected {
    background:color-mix(in srgb,var(--ymp-calendar-blue) 7%,var(--ymp-front-surface));
    box-shadow:inset 0 0 0 2px var(--ymp-calendar-blue);
    outline:0;
    z-index:2;
}

.ymp-calendar-cell.is-outside {
    background:color-mix(in srgb,var(--ymp-front-bg) 82%,var(--ymp-front-surface));
    color:var(--ymp-front-muted);
}

.ymp-calendar-cell.is-shabbat {
    background:color-mix(in srgb,var(--ymp-calendar-purple) 7%,var(--ymp-front-surface));
}

.ymp-calendar-cell.is-today {
    box-shadow:inset 0 0 0 3px var(--ymp-calendar-orange);
}

.ymp-calendar-cell.is-today::after {
    background:var(--ymp-calendar-orange);
    border-radius:999px;
    color:#fff;
    content:"Today";
    font-size:9px;
    font-weight:900;
    left:10px;
    letter-spacing:.06em;
    padding:3px 6px;
    position:absolute;
    text-transform:uppercase;
    top:10px;
}

.ymp-calendar-cell.is-intercalation {
    background:linear-gradient(135deg,color-mix(in srgb,var(--ymp-calendar-blue) 13%,var(--ymp-front-surface)),color-mix(in srgb,var(--ymp-calendar-purple) 11%,var(--ymp-front-surface)));
}

.ymp-calendar-cell.has-appointed-time {
    background-image:linear-gradient(180deg,transparent calc(100% - 5px),var(--ymp-calendar-orange) calc(100% - 5px));
}

.ymp-calendar-gregorian-day {
    color:var(--ymp-front-text);
    font-size:19px;
    font-weight:850;
    line-height:1;
    position:absolute;
    right:10px;
    top:9px;
}

.ymp-calendar-cell.is-outside .ymp-calendar-gregorian-day {
    color:var(--ymp-front-muted);
    opacity:.72;
}

.ymp-calendar-gregorian-month {
    color:var(--ymp-front-muted);
    font-size:9px;
    font-weight:800;
    position:absolute;
    right:9px;
    text-transform:uppercase;
    top:31px;
}

.ymp-calendar-custom-date {
    align-items:flex-end;
    bottom:9px;
    color:var(--ymp-calendar-blue);
    display:flex;
    gap:6px;
    left:10px;
    position:absolute;
}

.ymp-calendar-custom-date strong {
    font-size:20px;
    line-height:1;
}

.ymp-calendar-custom-date small {
    font-size:10px;
    font-weight:850;
    line-height:1.1;
    max-width:84px;
    text-transform:uppercase;
}

.ymp-calendar-intercalation-label {
    bottom:10px;
    color:var(--ymp-calendar-blue);
    display:grid;
    font-size:10px;
    font-weight:850;
    left:10px;
    position:absolute;
    text-transform:uppercase;
}

.ymp-calendar-intercalation-label strong {
    font-size:20px;
}

.ymp-calendar-priestly-course {
    bottom:10px;
    color:var(--ymp-calendar-blue);
    font-size:9px;
    font-weight:850;
    max-width:78px;
    overflow:hidden;
    position:absolute;
    right:9px;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
}

.ymp-calendar-cell-events {
    display:grid;
    gap:4px;
    left:10px;
    position:absolute;
    right:10px;
    top:48px;
}

.ymp-calendar-cell-events > span {
    background:var(--ymp-front-bg);
    border:1px solid var(--ymp-front-border);
    border-radius:6px;
    display:block;
    font-size:9px;
    font-weight:750;
    line-height:1.25;
    overflow:hidden;
    padding:4px 5px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ymp-calendar-cell-events .type-high-sabbath,
.ymp-calendar-cell-events .type-appointed,
.ymp-calendar-cell-events .type-first-fruits {
    background:var(--ymp-calendar-orange-soft);
    border-color:color-mix(in srgb,var(--ymp-calendar-orange) 28%,var(--ymp-front-border));
    color:color-mix(in srgb,var(--ymp-calendar-orange) 84%,var(--ymp-front-text));
}

.ymp-calendar-cell-events .type-month-start,
.ymp-calendar-cell-events .type-remembrance {
    background:var(--ymp-calendar-blue-soft);
    border-color:color-mix(in srgb,var(--ymp-calendar-blue) 28%,var(--ymp-front-border));
    color:color-mix(in srgb,var(--ymp-calendar-blue) 80%,var(--ymp-front-text));
}

.ymp-calendar-more-events {
    color:var(--ymp-front-muted)!important;
    font-style:italic;
}

.ymp-calendar-below-grid {
    display:grid;
    gap:16px;
    grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
    padding:18px;
}

.ymp-calendar-detail,
.ymp-calendar-month-events {
    background:var(--ymp-front-bg);
    border:1px solid var(--ymp-front-border);
    border-radius:14px;
    padding:18px;
}

.ymp-calendar-detail h3,
.ymp-calendar-month-events h3 {
    font-size:20px;
    margin:0 0 6px;
}

.ymp-calendar-detail__custom {
    color:var(--ymp-calendar-blue);
    font-size:16px;
    font-weight:850;
    margin:0 0 5px;
}

.ymp-calendar-detail > p:not(.ymp-calendar-detail__eyebrow):not(.ymp-calendar-detail__custom),
.ymp-calendar-month-events > p:last-child {
    color:var(--ymp-front-muted);
    margin:0;
}

.ymp-calendar-detail ul,
.ymp-calendar-month-events ol {
    display:grid;
    gap:8px;
    list-style:none;
    margin:14px 0 0;
    padding:0;
}

.ymp-calendar-detail li {
    background:var(--ymp-front-surface);
    border:1px solid var(--ymp-front-border);
    border-radius:9px;
    display:grid;
    gap:2px;
    padding:9px 10px;
}

.ymp-calendar-detail li span {
    color:var(--ymp-front-muted);
    font-size:12px;
}

.ymp-calendar-month-events li {
    align-items:start;
    display:grid;
    gap:10px;
    grid-template-columns:54px minmax(0,1fr);
}

.ymp-calendar-month-events time {
    background:var(--ymp-front-surface);
    border:1px solid var(--ymp-front-border);
    border-radius:8px;
    font-size:11px;
    font-weight:850;
    padding:6px;
    text-align:center;
}

.ymp-calendar-month-events li div {
    display:grid;
    gap:2px;
}

.ymp-calendar-month-events li span {
    color:var(--ymp-front-muted);
    font-size:11px;
}

.ymp-calendar-legend {
    border-top:1px solid var(--ymp-front-border);
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
    padding:13px 18px;
}

.ymp-calendar-legend span {
    align-items:center;
    color:var(--ymp-front-muted);
    display:inline-flex;
    font-size:11px;
    font-weight:700;
    gap:6px;
}

.ymp-calendar-legend i {
    border:1px solid var(--ymp-front-border);
    border-radius:4px;
    display:inline-block;
    height:11px;
    width:11px;
}

.ymp-calendar-legend .is-gregorian { background:var(--ymp-front-text); }
.ymp-calendar-legend .is-custom { background:var(--ymp-calendar-blue); }
.ymp-calendar-legend .is-today { background:var(--ymp-calendar-orange); }
.ymp-calendar-legend .is-shabbat { background:var(--ymp-calendar-purple); }
.ymp-calendar-legend .is-appointed { background:var(--ymp-calendar-orange-soft); border-color:var(--ymp-calendar-orange); }
.ymp-calendar-legend .is-intercalation { background:var(--ymp-calendar-blue-soft); border-color:var(--ymp-calendar-blue); }

.ymp-calendar-year-summary {
    display:grid;
    gap:10px;
    grid-template-columns:repeat(4,minmax(0,1fr));
    padding:18px;
}

.ymp-calendar-year-summary > div {
    background:var(--ymp-front-bg);
    border:1px solid var(--ymp-front-border);
    border-radius:12px;
    display:grid;
    gap:5px;
    padding:14px;
}

.ymp-calendar-year-summary span {
    color:var(--ymp-front-muted);
    font-size:11px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.ymp-calendar-year-summary strong {
    font-size:14px;
    line-height:1.35;
}

.ymp-calendar-anchor-check {
    background:var(--ymp-calendar-blue-soft);
    border-bottom:1px solid color-mix(in srgb,var(--ymp-calendar-blue) 25%,var(--ymp-front-border));
    border-top:1px solid color-mix(in srgb,var(--ymp-calendar-blue) 25%,var(--ymp-front-border));
    color:var(--ymp-front-text);
    padding:12px 18px;
}

.ymp-calendar-custom-months {
    display:grid;
    gap:16px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    padding:18px;
}

.ymp-calendar-custom-month {
    border:1px solid var(--ymp-front-border);
    border-radius:14px;
    overflow:hidden;
}

.ymp-calendar-custom-month > header {
    background:var(--ymp-front-bg);
    border-bottom:1px solid var(--ymp-front-border);
    display:grid;
    gap:5px;
    grid-template-columns:minmax(0,1fr) auto;
    padding:13px;
}

.ymp-calendar-custom-month > header div > span {
    color:var(--ymp-calendar-blue);
    font-size:10px;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.ymp-calendar-custom-month h3 {
    font-size:19px;
    margin:1px 0 0;
}

.ymp-calendar-custom-month h3 small {
    color:var(--ymp-front-muted);
    font-size:.75em;
    font-weight:650;
}

.ymp-calendar-custom-month > header p {
    color:var(--ymp-front-muted);
    font-size:11px;
    grid-column:1/-1;
    margin:0;
}

.ymp-calendar-custom-month > header time {
    color:var(--ymp-front-muted);
    font-size:10px;
    font-weight:800;
    text-align:right;
}

.ymp-calendar-mini-weekdays,
.ymp-calendar-mini-grid {
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
}

.ymp-calendar-mini-weekdays {
    background:color-mix(in srgb,var(--ymp-front-text) 88%,var(--ymp-front-surface));
    color:var(--ymp-front-surface);
}

:root[data-ymp-theme="dark"] .ymp-calendar-mini-weekdays {
    background:#0d1118;
    color:#f8fafc;
}

.ymp-calendar-mini-weekdays span {
    font-size:9px;
    font-weight:850;
    padding:5px 2px;
    text-align:center;
}

.ymp-calendar-mini-grid > span,
.ymp-calendar-mini-grid > a {
    align-items:center;
    aspect-ratio:1;
    border-bottom:1px solid var(--ymp-front-border);
    border-right:1px solid var(--ymp-front-border);
    color:var(--ymp-front-text);
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    padding:2px;
    position:relative;
    text-decoration:none;
}

.ymp-calendar-mini-grid > a:nth-child(7n),
.ymp-calendar-mini-grid > span:nth-child(7n) {
    border-right:0;
}

.ymp-calendar-mini-grid .is-blank {
    background:var(--ymp-front-bg);
}

.ymp-calendar-mini-grid a:hover,
.ymp-calendar-mini-grid a:focus-visible {
    background:var(--ymp-calendar-blue-soft);
    outline:2px solid var(--ymp-calendar-blue);
    outline-offset:-2px;
}

.ymp-calendar-mini-grid a.is-shabbat {
    background:color-mix(in srgb,var(--ymp-calendar-purple) 7%,var(--ymp-front-surface));
}

.ymp-calendar-mini-grid a.has-event::after {
    background:var(--ymp-calendar-orange);
    border-radius:50%;
    content:"";
    height:5px;
    position:absolute;
    right:3px;
    top:3px;
    width:5px;
}

.ymp-calendar-mini-grid a.is-today {
    box-shadow:inset 0 0 0 2px var(--ymp-calendar-orange);
}

.ymp-calendar-mini-grid strong {
    color:var(--ymp-calendar-blue);
    font-size:12px;
    line-height:1;
}

.ymp-calendar-mini-grid small {
    color:var(--ymp-front-muted);
    font-size:7px;
    line-height:1.1;
    margin-top:2px;
    white-space:nowrap;
}

.ymp-calendar-intercalation-strip {
    background:linear-gradient(90deg,var(--ymp-calendar-blue-soft),color-mix(in srgb,var(--ymp-calendar-purple) 9%,var(--ymp-front-surface)));
    border-top:1px solid var(--ymp-front-border);
    display:grid;
    gap:14px;
    grid-template-columns:minmax(190px,.4fr) minmax(0,1fr);
    padding:18px;
}

.ymp-calendar-intercalation-strip > div {
    display:grid;
    gap:3px;
}

.ymp-calendar-intercalation-strip > div span {
    color:var(--ymp-front-muted);
    font-size:12px;
}

.ymp-calendar-intercalation-strip ol {
    display:grid;
    gap:6px;
    grid-template-columns:repeat(7,minmax(0,1fr));
    list-style:none;
    margin:0;
    padding:0;
}

.ymp-calendar-intercalation-strip li {
    background:var(--ymp-front-surface);
    border:1px solid var(--ymp-front-border);
    border-radius:8px;
    display:grid;
    gap:3px;
    padding:8px;
}

.ymp-calendar-intercalation-strip li span {
    color:var(--ymp-calendar-blue);
    font-size:10px;
    font-weight:850;
    text-transform:uppercase;
}

.ymp-calendar-intercalation-strip time {
    font-size:10px;
    font-weight:700;
}

.ymp-calendar-converter {
    padding:22px;
}

.ymp-calendar-converter__intro {
    margin:0 0 18px;
}

.ymp-calendar-converter__intro h2 {
    font-size:30px;
    margin:0 0 8px;
}

.ymp-calendar-converter__intro > p:last-child {
    color:var(--ymp-front-muted);
    margin:0;
}

.ymp-calendar-converter-grid {
    display:grid;
    gap:16px;
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.ymp-calendar-converter-card {
    background:var(--ymp-front-bg);
    border:1px solid var(--ymp-front-border);
    border-radius:14px;
    display:grid;
    gap:10px;
    padding:18px;
}

.ymp-calendar-converter-card h3 {
    font-size:20px;
    margin:0 0 2px;
}

.ymp-calendar-converter-card > label,
.ymp-calendar-converter-fields label {
    color:var(--ymp-front-muted);
    display:grid;
    font-size:12px;
    font-weight:800;
    gap:5px;
}

.ymp-calendar-converter-fields {
    display:grid;
    gap:10px;
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.ymp-calendar-conversion-result {
    background:var(--ymp-front-surface);
    border:1px solid var(--ymp-front-border);
    border-left:4px solid var(--ymp-calendar-blue);
    border-radius:10px;
    display:grid;
    gap:5px;
    margin-top:5px;
    padding:14px;
}

.ymp-calendar-conversion-result > span {
    color:var(--ymp-front-muted);
    font-size:11px;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
}

.ymp-calendar-conversion-result > strong {
    color:var(--ymp-calendar-blue);
    font-size:20px;
}

.ymp-calendar-conversion-result p,
.ymp-calendar-conversion-result small {
    color:var(--ymp-front-muted);
    margin:0;
}

.ymp-calendar-conversion-result a {
    color:var(--ymp-front-primary);
    font-weight:800;
    margin-top:3px;
}

.ymp-calendar-reference-table-wrap {
    border:1px solid var(--ymp-front-border);
    border-radius:14px;
    margin-top:18px;
    overflow:auto;
}

.ymp-calendar-reference-table {
    border-collapse:collapse;
    min-width:760px;
    width:100%;
}

.ymp-calendar-reference-table caption {
    background:var(--ymp-front-bg);
    color:var(--ymp-front-text);
    font-size:18px;
    font-weight:850;
    padding:14px;
    text-align:left;
}

.ymp-calendar-reference-table th,
.ymp-calendar-reference-table td {
    border-top:1px solid var(--ymp-front-border);
    padding:10px 12px;
    text-align:left;
}

.ymp-calendar-reference-table th {
    color:var(--ymp-front-muted);
    font-size:11px;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.ymp-calendar-reference-table td small {
    color:var(--ymp-front-muted);
    display:block;
    font-size:10px;
}

.ymp-calendar-source-note {
    color:var(--ymp-front-muted);
    font-size:12px;
    line-height:1.55;
    margin:14px 2px 0;
}

.ymp-calendar-source-note strong {
    color:var(--ymp-front-text);
}

.ymp-calendar-source-note span {
    display:block;
    margin-top:2px;
}

@media (max-width:1180px) {
    .ymp-calendar-toolbar {
        grid-template-columns:auto minmax(180px,1fr) auto;
    }

    .ymp-calendar-jump-form {
        grid-column:1/3;
        grid-row:2;
    }

    .ymp-calendar-today-link {
        grid-column:3;
        grid-row:2;
        justify-self:end;
    }

    .ymp-calendar-custom-months {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .ymp-calendar-year-summary {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:820px) {
    .ymp-calendar-hero,
    .ymp-calendar-below-grid,
    .ymp-calendar-converter-grid,
    .ymp-calendar-intercalation-strip {
        grid-template-columns:1fr;
    }

    .ymp-calendar-custom-months {
        grid-template-columns:1fr;
    }

    .ymp-calendar-intercalation-strip ol {
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media (max-width:620px) {
    .ymp-calendar-hero {
        padding:22px 18px;
    }

    .ymp-calendar-tabs {
        border-radius:12px;
    }

    .ymp-calendar-toolbar {
        grid-template-columns:auto minmax(0,1fr) auto;
        padding:13px;
    }

    .ymp-calendar-jump-form {
        align-items:stretch;
        display:grid;
        grid-column:1/-1;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .ymp-calendar-jump-form button {
        grid-column:1/-1;
    }

    .ymp-calendar-today-link {
        grid-column:1/-1;
        grid-row:3;
        justify-self:stretch;
    }

    .ymp-calendar-year-summary,
    .ymp-calendar-converter-fields {
        grid-template-columns:1fr;
    }

    .ymp-calendar-intercalation-strip ol {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .ymp-calendar-converter {
        padding:15px;
    }
}

@media (prefers-reduced-motion:reduce) {
    .ymp-calendar-cell,
    .ymp-calendar-tabs a {
        transition:none;
    }
}
