.test-calendar{position:absolute;top:100%;left:0;width:100%;max-width:400px;margin-top:.25rem;background:#fff;border-radius:var(--cal-radius);z-index:var(--cal-z);left:0;top:100%}:root{--cal-border:var(--primary-blue-light);--cal-bg-hover:var(--primary-blue-lighter);--cal-radius:0.25rem;--cal-z:1000}[data-controller=datepicker]{position:relative;display:inline-block}[data-controller=datepicker].block{display:block}.calendar-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;background:var(--primary-blue);color:#fff;border-top-left-radius:var(--cal-radius);border-top-right-radius:var(--cal-radius);font-size:clamp(.9rem,2vw,1.1rem)}.calendar-header .nav-prev,.calendar-header .nav-next{color:#fff;text-decoration:none;font-size:1.2em;padding:.25em}.calendar-header .year-select select{padding:.25em;border:none;border-radius:var(--cal-radius);font-size:1em;background:#fff;color:var(--primary-blue)}.calendar{width:100%;border-collapse:collapse;border-spacing:0;font-family:sans-serif}.calendar th,.calendar td{width:calc(100%/7);text-align:center;padding:.75rem .25rem;font-size:clamp(.65rem,1.5vw,.9rem)}.calendar th{background:var(--primary-blue);color:#fff;font-weight:500}.calendar td{border:1px solid var(--cal-border);cursor:pointer;transition:background-color .2s ease;color:var(--primary-blue);font-weight:700}.calendar td.disabled{color:#aaa;background:0 0;cursor:not-allowed;font-weight:400;font-style:italic}.calendar td.adjacent{opacity:.5}.calendar td:hover:not(.disabled),.calendar td.default-date{background:var(--primary-blue-light);font-weight:700;color:#fff}.calendar td:hover:not(.disabled){background:var(--primary-blue-lighter)}@media(min-width:768px){.test-calendar{max-width:600px}}