.dsd-calendar{--dsd-green:#b8d9b0;--dsd-red:#e5aaa3;--dsd-grey:#e4e2de;--dsd-ink:#2f4038;--dsd-paper:#fffdf8;--dsd-label:180px;box-sizing:border-box;padding:clamp(16px,3vw,30px);background:var(--dsd-paper);border:1px solid #dedbd0;border-radius:14px;color:var(--dsd-ink);max-width:100%;margin:24px auto;font-family:inherit}
.dsd-calendar *{box-sizing:border-box}.dsd-calendar .dsd-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.dsd-calendar .dsd-eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px}.dsd-calendar h2{font-size:clamp(24px,3vw,34px);line-height:1.2;margin:0;color:inherit}.dsd-calendar .dsd-intro{margin:12px 0 16px;font-size:16px}.dsd-calendar button{font:inherit;font-size:14px;border:1px solid #a4b0a3;background:#fffdf8;color:#2f4038;border-radius:6px;padding:9px 12px;cursor:pointer;line-height:1.3}.dsd-calendar button:disabled{opacity:.55;cursor:wait}.dsd-calendar a{color:#254b3a;text-decoration:underline;text-underline-offset:3px}.dsd-calendar :is(a,button,[tabindex]):focus-visible{outline:3px solid #2464a0;outline-offset:3px}
.dsd-calendar .dsd-legend{display:flex;gap:10px 20px;flex-wrap:wrap;font-size:13px}.dsd-legend span{display:inline-flex;align-items:center;gap:7px}.dsd-calendar .dsd-swatch{width:20px;height:17px;border:1px solid #879389;border-radius:3px;display:inline-block}.dsd-green{background:var(--dsd-green)}.dsd-red{background:var(--dsd-red)}.dsd-grey{background:var(--dsd-grey)}.dsd-split{background:linear-gradient(to bottom right,var(--dsd-red) 50%,var(--dsd-green) 50%)}.dsd-calendar .dsd-status{min-height:1.5em;font-size:13px;margin:12px 0 10px}.dsd-calendar .dsd-footnote{font-size:12px;line-height:1.6;margin:16px 0 8px}.dsd-calendar .dsd-links{font-size:14px}.dsd-calendar .dsd-links summary{cursor:pointer}.dsd-calendar .dsd-links ul{margin:10px 0;padding-left:20px}.dsd-calendar .dsd-month-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.dsd-calendar [hidden]{display:none!important}
/* Native colors and diagonal classes remain owned by MotoPress. Only layout is changed. */
.dsd-calendar .mphb-group-availability-calendar{--color-room-type-date-available:var(--dsd-green);--color-room-type-date-not-available:var(--dsd-red);--color-room-type-date-default:var(--dsd-grey);display:grid;grid-template-columns:var(--dsd-label) minmax(0,1fr);font-size:16px}
.dsd-calendar .mphb-toolbar,.dsd-calendar .mphb-group-availability-calendar-error,.dsd-calendar .mphb-placeholder{grid-column:1/-1}.dsd-calendar .mphb-toolbar{min-width:0;flex-wrap:wrap}.dsd-calendar .mphb-group-availability-calendar-dates__wrapper{grid-column:2;margin-bottom:6px;position:relative;top:auto!important;z-index:1;scrollbar-width:thin}.dsd-calendar .mphb-group-availability-calendar-dates__date{width:44px;height:50px}.dsd-calendar .mphb-group-availability-calendar-room-types{grid-column:1/-1;scrollbar-width:auto;padding-bottom:10px}.dsd-calendar .mphb-group-availability-calendar-room-type{display:flex;align-items:stretch;margin-bottom:5px;min-width:100%}.dsd-calendar .mphb-group-availability-calendar-room-type__title{display:flex;align-items:center;flex:0 0 var(--dsd-label);width:var(--dsd-label);min-height:48px;padding:8px 12px 8px 0;margin:0;white-space:normal;background:var(--dsd-paper);border-right:8px solid var(--dsd-paper);font-size:15px;font-weight:600;line-height:1.3;z-index:3;cursor:pointer}.dsd-calendar .mphb-group-availability-calendar-room-type__dates{align-items:stretch}.dsd-calendar .mphb-group-availability-calendar-room-type__date{width:44px;height:48px;border:1px solid #00000012;cursor:help}.dsd-calendar .mphb-group-availability-calendar-room-type__date:focus-visible{outline-offset:-3px}.dsd-unready .mphb-group-availability-calendar-room-type__date{visibility:hidden!important}.dsd-calendar .dsd-detail{font-size:13px;margin:8px 0;padding:10px;background:#f0eee6;border-radius:5px}.dsd-error{border-color:#ae635b}
@media(max-width:600px){.dsd-calendar{--dsd-label:133px;padding:16px 10px}.dsd-calendar .mphb-group-availability-calendar-room-type__title{font-size:13px}.dsd-calendar .dsd-legend{gap:8px 12px;font-size:12px}.dsd-calendar .dsd-refresh{font-size:12px}.dsd-calendar .mphb-date-navigation{font-size:14px}}
@media(prefers-reduced-motion:reduce){.dsd-calendar *{animation:none!important;scroll-behavior:auto!important}}
