.niel-date-picker{position:relative}
.niel-site:has(.niel-date-picker.is-open) .niel-whatsapp-float{visibility:hidden}
.niel-date-picker.is-enhanced>input[type=date]{position:absolute;width:1px;height:1px;min-height:0;opacity:0;padding:0;border:0;pointer-events:none;overflow:hidden;clip-path:inset(50%)}
.niel-date-toggle{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:12px 15px;border:1px solid #cfc4b9;border-radius:12px;background:#fffdf9;color:var(--burgundy);text-align:left;font:400 16px/1.6 var(--sans);transition:border-color .2s,box-shadow .2s}
.niel-date-toggle:hover{border-color:#a47780}
.niel-date-toggle:focus-visible,.niel-date-picker.is-open .niel-date-toggle{outline:none;border-color:var(--burgundy);box-shadow:0 0 0 3px #60293910}
.niel-date-toggle>span{flex:1}
.date-toggle-icon{width:21px;height:21px;flex-shrink:0;stroke-width:1.4}
.date-toggle-chevron{width:18px;height:18px;flex-shrink:0;stroke-width:1.4;transition:transform .18s}
.niel-date-picker.is-open .date-toggle-chevron{transform:rotate(180deg)}
.niel-date-calendar{position:absolute;top:calc(100% + 10px);left:0;z-index:40;width:360px;max-width:calc(100vw - 40px);padding:21px 20px 16px;border:1px solid #dfcfc7;border-radius:18px;background:#fffdf8;box-shadow:0 18px 50px #48273224,0 3px 10px #4827320d;scroll-margin:18px}
.calendar-kicker{font:500 9px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.13em;color:#91656d;margin:0 0 7px}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:19px}
.calendar-heading h3{font:400 29px/1.2 var(--serif);letter-spacing:-.015em;color:var(--burgundy);margin:0}
.calendar-month-controls{display:flex;align-items:center;gap:5px}
.calendar-month-controls button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #e4d8d0;border-radius:50%;background:transparent;color:var(--burgundy)}
.calendar-month-controls svg{width:17px;height:17px;stroke-width:1.5}
.calendar-month-controls button:hover:not(:disabled){background:#f4e6e4;border-color:#c7a7ad}
.calendar-month-controls button:disabled{opacity:.3;cursor:default}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.calendar-weekdays{margin-bottom:7px;color:#85736b;font:500 11px/1.5 var(--sans);text-align:center}
.calendar-weekdays span{padding:5px 0}
.calendar-days .calendar-day{position:relative;display:grid;place-items:center;width:100%;min-width:0;min-height:40px;aspect-ratio:1;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;font:400 14px/1 var(--sans);color:#4e3739;cursor:pointer;transition:background .14s,color .14s}
.calendar-days .calendar-day:hover:not(:disabled):not(.is-selected){background:#f2e5e2;color:var(--burgundy)}
.calendar-days .calendar-day.is-today{border-color:#b58d94;color:var(--burgundy);font-weight:600}
.calendar-days .calendar-day.is-selected{background:var(--burgundy);color:#fffdf8;border-color:var(--burgundy);font-weight:500;box-shadow:0 2px 7px #60293925}
.calendar-days .calendar-day:disabled{color:#bcb2aa;opacity:.7;cursor:default}
.calendar-days .calendar-day.is-empty{pointer-events:none}
.calendar-days .calendar-day:focus-visible{outline:2px solid var(--burgundy);outline-offset:2px}
.calendar-key{display:flex;justify-content:center;gap:21px;margin:15px 0 16px;color:#85736b;font:400 11px/1.6 var(--sans)}
.calendar-key>span{display:flex;align-items:center;gap:6px}
.calendar-key i{width:9px;height:9px;border:1px solid #b58d94;border-radius:50%}
.calendar-key>span:last-child i{background:var(--burgundy);border-color:var(--burgundy)}
.calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:14px;border-top:1px solid #e8ddd4}
.calendar-footer>[data-calendar-selection]{font:400 13px/1.55 var(--sans);color:var(--burgundy)}
.calendar-footer button{flex-shrink:0;display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 16px;border:1px solid var(--burgundy);border-radius:8px;background:var(--burgundy);color:var(--paper);font:500 13px/1.5 var(--sans)}
.calendar-footer button:hover{background:var(--burgundy-dark)}
.calendar-note{font:400 11px/1.7 var(--sans);color:#877970;margin:12px 0 0}
.calendar-error{font:400 13px/1.6 var(--sans);color:#9b3d48;margin-top:8px}
@media(max-width:600px){.niel-date-calendar{left:-18px;width:calc(100% + 36px);padding:18px 13px 14px}.calendar-heading h3{font-size:27px}.calendar-month-controls button{width:40px;height:40px}.calendar-days .calendar-day{min-height:40px;font-size:14px}.calendar-weekdays,.calendar-days{gap:3px}.calendar-kicker{font-size:9px}.calendar-note{font-size:11px}.calendar-footer{gap:8px}.calendar-footer>[data-calendar-selection]{font-size:12px}.calendar-footer button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.niel-date-toggle,.date-toggle-chevron,.calendar-day{transition:none}}
