:root{--brand-pink: #E61E4D;--brand-pink-hover: #D90B40;--grey-light: #F7F7F7;--grey-medium: #DDDDDD;--grey-dark: #717171;--text-primary: #222222;--white: #FFFFFF;--border-radius: 12px;--shadow: 0 6px 20px rgba(0, 0, 0, .1)}body{background-color:#f0f2f5;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.booking-widget{background:var(--white);border:1px solid var(--grey-medium);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:24px;max-width:400px;margin:40px auto;color:var(--text-primary)}.booking-widget h2{font-size:22px;font-weight:600;margin-bottom:16px}.booking-widget select{width:100%;padding:10px;font-size:16px;margin-bottom:16px;border-radius:8px;border:1px solid var(--grey-medium);background-color:var(--white)}.input-container{border:1px solid var(--grey-medium);border-radius:8px;overflow:hidden;cursor:pointer}.input-grid{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--grey-medium)}.input-field{padding:12px 16px;position:relative}.input-field:first-child{border-right:1px solid var(--grey-medium)}.input-field label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;margin-bottom:2px}.input-field .value{font-size:14px;color:var(--grey-dark)}.guest-field{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}.guest-field .arrow{border:solid var(--text-primary);border-width:0 2px 2px 0;display:inline-block;padding:3px;transform:rotate(45deg);transition:transform .2s ease}.guest-field[data-open=true] .arrow{transform:rotate(225deg)}.guest-picker{padding:0 16px 16px;animation:fadeIn .3s ease}.guest-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--grey-light)}.guest-item:last-child{border-bottom:none}.guest-label{font-weight:600}.guest-description{font-size:14px;color:var(--grey-dark)}.guest-controls{display:flex;align-items:center;gap:12px}.guest-controls button{background:none!important;border:none!important;border-radius:0!important;width:32px;height:32px;font-size:28px;font-weight:300;color:var(--text-primary)!important;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:color .2s ease}.guest-controls button:hover:not(:disabled){border:none!important;color:var(--brand-pink)!important;background:none!important}.guest-controls button:disabled{opacity:.5;cursor:not-allowed;color:var(--grey-medium)!important;background:none!important;border:none!important}.guest-count{font-size:16px;font-weight:500;width:20px;text-align:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.calendar-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000;padding:20px}.calendar-modal-content{background:var(--white);border-radius:var(--border-radius);padding:24px;width:100%;max-width:720px;box-shadow:var(--shadow)}.calendar-header-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-header-controls h2{font-size:18px;font-weight:600;margin:0}.calendar-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px;border-top:1px solid var(--grey-light);padding-top:16px}.clear-button{background:none;border:none;font-size:14px;font-weight:600;text-decoration:underline;cursor:pointer}.done-button{background:var(--text-primary);color:var(--white);border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer}.calendar-nav{position:relative;display:flex;justify-content:space-between;margin-bottom:16px;padding:0 10px}.calendar-nav button{background:none;border:none;border-radius:0;width:auto;height:auto;padding:0 5px;cursor:pointer;font-size:20px;color:var(--text-primary);transition:color .2s ease}.calendar-nav button:hover{background:none;color:var(--brand-pink)}.calendar-nav button:disabled{opacity:.3;cursor:not-allowed;color:var(--grey-dark)}.calendar-body{display:flex;justify-content:space-between;gap:24px}.calendar-month{width:100%}.calendar-month h3{font-size:16px;font-weight:600;text-align:center;margin-bottom:16px}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.calendar-header span{font-size:12px;font-weight:600;color:var(--grey-dark);text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.day-cell{width:100%;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;font-size:14px;border-radius:50%;cursor:pointer}.day-cell.empty{cursor:default}.day-cell:not(.empty):not(.disabled):hover{background:var(--grey-light)}.day-cell.disabled{color:var(--grey-medium);text-decoration:line-through;cursor:not-allowed}.day-cell.selected-start,.day-cell.selected-end{background:var(--text-primary)!important;color:var(--white)!important}.day-cell.in-range{background:var(--grey-light);border-radius:0}.day-cell.selected-start:not(.selected-start-end){border-top-right-radius:0;border-bottom-right-radius:0}.day-cell.selected-end:not(.selected-start-end){border-top-left-radius:0;border-bottom-left-radius:0}@media(max-width:600px){.calendar-body{flex-direction:column}.calendar-body .calendar-month:last-child{display:none}.calendar-modal-content{padding:16px}}.book-button{background:var(--brand-pink);color:var(--white);border:none;border-radius:8px;width:100%;padding:14px 24px;font-size:16px;font-weight:600;cursor:pointer;margin-top:16px;transition:background-color .2s ease}.book-button:hover{background:var(--brand-pink-hover)}.book-button:disabled{background:var(--grey-medium);cursor:not-allowed}.error-message{color:var(--brand-pink);font-size:14px;margin-top:10px;text-align:center}
