.lspf-product-calendar{width:100%;box-sizing:border-box;margin:2rem 0 3rem;scroll-margin-top:110px}
.lspf-calendar-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(1.25rem,3vw,3rem);align-items:start}
.lspf-calendar-layout>*{min-width:0}.lspf-month{padding:clamp(.6rem,2vw,1.25rem);border:1px solid var(--line,#ddd4c8);border-radius:8px;background:var(--surface,#fffaf4)}
.lspf-month-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;text-align:center;margin-bottom:1rem;gap:.5rem}.lspf-month-title{text-transform:capitalize;font-size:1.05rem}
.lspf-calendar-picker .lspf-month-head button{width:42px;height:42px;min-height:42px;padding:0;margin:0;border:1px solid var(--line,#ddd4c8);border-radius:50%;background:transparent;color:inherit;font-size:1.6rem;line-height:1}
.lspf-weekdays,.lspf-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.lspf-weekdays span{text-align:center;font-size:.75rem;padding:.35rem 0}
.lspf-calendar-picker .lspf-day{min-width:0;min-height:44px;width:100%;padding:5px 0;margin:0;border:1px solid #c98464;border-radius:5px;background:#f4eadf;color:#422719;font-size:1rem;line-height:1.2;box-shadow:none}
.lspf-calendar-picker .lspf-day:disabled{cursor:default;opacity:1;color:#736b63;border-color:#d6cdc2;background:repeating-linear-gradient(135deg,#eee8df,#eee8df 5px,#e2dbd1 5px,#e2dbd1 10px)}
.lspf-calendar-picker .lspf-day.is-ferie,.lspf-calendar-picker .lspf-day.is-stengt{background:repeating-linear-gradient(135deg,#e9d9ce,#e9d9ce 5px,#d7b9a6 5px,#d7b9a6 10px)}
.lspf-calendar-picker .lspf-day:not(:disabled):hover,.lspf-calendar-picker .lspf-day[aria-pressed=true]{background:#a64d32;color:#fff;border-color:#a64d32}.lspf-calendar-picker button:focus-visible{outline:3px solid #876436;outline-offset:3px}
.lspf-calendar-picker button:disabled{cursor:default}.lspf-month-head button:disabled{opacity:.35}
.lspf-legend{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin-top:1rem;font-size:.78rem}.lspf-legend>span{display:flex;align-items:center;gap:.35rem}.lspf-legend i{width:16px;height:16px;border:1px solid #c98464;border-radius:3px;background:#f4eadf}.lspf-legend .is-opptatt{background:repeating-linear-gradient(135deg,#eee8df,#eee8df 3px,#e2dbd1 3px,#e2dbd1 6px)}.lspf-legend .is-stengt{background:repeating-linear-gradient(135deg,#e9d9ce,#e9d9ce 3px,#d7b9a6 3px,#d7b9a6 6px)}
.lspf-calendar-details label{display:block;margin:.5rem 0;font-size:.95rem}.lspf-calendar-details select{display:block;width:100%;max-width:100%;min-width:0;padding:.75rem;font-size:1rem;background:var(--surface,#fffaf4);color:inherit;border:1px solid var(--line,#ddd4c8);border-radius:4px}.lspf-calendar-details p{font-size:1rem;line-height:1.6}.lspf-calendar-details .button{white-space:normal;line-height:1.5;padding:.8rem 1.2rem;margin-top:.75rem;margin-bottom:1rem}.lspf-chosen-date{font-weight:600;margin-top:1.2rem}.lspf-calendar-status{min-height:1.5em}
[data-theme=dark] .lspf-month{background:#252923}[data-theme=dark] .lspf-calendar-details select{background:#252923;color:#f5f1eb}[data-theme=dark] .lspf-month-title,[data-theme=dark] .lspf-weekdays,[data-theme=dark] .lspf-legend{color:#f5f1eb}
@media(max-width:760px){.lspf-calendar-layout{grid-template-columns:1fr}.lspf-product-calendar{padding:1rem .7rem}.lspf-weekdays,.lspf-days{gap:3px}.lspf-month{padding:.4rem}.lspf-calendar-picker .lspf-day{font-size:.9rem;min-height:40px}.lspf-calendar-details .button{width:100%}}
