.cal{--shade-strong: rgba(107, 101, 96, .08);--shade-light: rgba(107, 101, 96, .04);container-type:inline-size;margin-top:.75rem}.cal--one{max-width:22rem}.cal__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.cal__range{margin:0;font-size:.95rem;font-weight:700;color:#1b3a5c;text-align:center}.cal__range:first-letter,.cal__title:first-letter{text-transform:uppercase}.cal__nav{flex-shrink:0;width:2rem;height:2rem;border-radius:50%;border:1px solid #ddd;background:#fff;color:#1b3a5c;font-size:1.1rem;line-height:1;cursor:pointer}.cal__nav:disabled{opacity:.35;cursor:default}.cal__nav:focus-visible{outline:3px solid #2A7B6F;outline-offset:2px}.cal__months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:10px;overflow:hidden}.cal__month{padding:.5rem .45rem .55rem}.cal__month:nth-child(odd){background:var(--shade-strong)}.cal__month:nth-child(2n){background:var(--shade-light)}@container (max-width: 38rem){.cal__months{grid-template-columns:repeat(2,minmax(0,1fr))}.cal__month:nth-child(4n+1),.cal__month:nth-child(4n+4){background:var(--shade-strong)}.cal__month:nth-child(4n+2),.cal__month:nth-child(4n+3){background:var(--shade-light)}}.cal--one .cal__months{grid-template-columns:minmax(0,1fr);border-radius:0}.cal--one .cal__months .cal__month{padding:0;background:none}.cal__title{margin:0 0 .3rem;font-size:.8rem;font-weight:700;color:#1b3a5c}.cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:2px}.cal__dow{padding-bottom:.15rem;text-align:center;font-size:.65rem;font-weight:600;color:#6b6560}.cal__day{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;height:1.75rem;font-size:.75rem;color:#6b6560;font-variant-numeric:tabular-nums}.cal__day--past{opacity:.2}.cal__day--today{color:#1b3a5c;font-weight:700}.cal__day--today:after{content:"";position:absolute;inset:0;margin:auto;box-sizing:border-box;width:1.5rem;height:1.5rem;border:2px solid #C62828;border-radius:50%}.cal__day--stay{--tint: rgba(42, 123, 111, .15);color:#1f6358;cursor:pointer}.cal__day--stay:before{content:"";position:absolute;z-index:-1;inset:.2rem 0;background:var(--tint)}.cal__day--rowstart:before{left:2px;border-top-left-radius:999px;border-bottom-left-radius:999px}.cal__day--rowend:before{right:2px;border-top-right-radius:999px;border-bottom-right-radius:999px}.cal__day--start:before{left:50%;border-top-left-radius:0;border-bottom-left-radius:0}.cal__day--end:before{right:15%;border-top-right-radius:999px;border-bottom-right-radius:999px}.cal__day--chosen{--tint: #1B3A5C;color:#fff;font-weight:600}.cal__day--chosen:not(.cal__day--rowend,.cal__day--end):before{right:-1px}.cal__start{width:1.5rem;height:1.5rem;padding:0;border:0;border-radius:50%;background:#2a7b6f;color:#fff;font:inherit;font-weight:700;cursor:pointer}.cal__start:hover{background:#1f6358}.cal__day--chosen .cal__start{background:#fff;color:#1b3a5c;box-shadow:0 0 0 2px #1b3a5c}.cal__start:focus-visible{outline:2px solid #1B3A5C;outline-offset:2px}.cal__day--chosen .cal__start:focus-visible{outline-offset:5px}.cal--one .cal__day{height:2.5rem;font-size:.9rem}.cal--one .cal__day--stay:before{inset-block:.3rem}.cal--one .cal__start,.cal--one .cal__day--today:after{width:2.1rem;height:2.1rem}.cal--one .cal__dow{font-size:.75rem}.cal__note{margin:.6rem 0 0;font-size:.875rem;color:#4a4540}.cal__jump{padding:0;border:0;background:none;font:inherit;color:#1f6358;font-weight:600;text-decoration:underline;cursor:pointer}.cal__legend{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;margin:.75rem 0 0;font-size:.8rem;color:#4a4540}.cal__legend span{display:inline-flex;align-items:center;gap:.4rem}.cal__key{display:inline-block}.cal__key--start{width:.85rem;height:.85rem;border-radius:50%;background:#2a7b6f}.cal__key--stay{width:1.5rem;height:.7rem;border-radius:999px;background:#2a7b6f26}.cal__key--chosen{width:1.5rem;height:.7rem;border-radius:999px;background:#1b3a5c}.cal__key--today{box-sizing:border-box;width:.85rem;height:.85rem;border:2px solid #C62828;border-radius:50%}
