@charset "UTF-8";button{font-family:Noto Sans KR,sans-serif}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;animation:overlayFadeIn .3s ease-out;background:#0006}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{display:flex;position:fixed;top:0;right:0;flex-direction:column;animation:slideInFromRight .3s ease;box-shadow:-2px 0 20px #0000001a;background:#fff;width:480px;height:100vh;overflow:hidden;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif}.cart-modal{width:500px}@keyframes slideInFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-header,.modal-footer{flex-shrink:0}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid oklch(92.2% 0 0deg);background:#fff;padding:20px 24px}.modal-header h3{margin:0;color:#222;font-weight:600;font-size:20px}.modal-close{display:flex;justify-content:center;align-items:center;transition:all .2s ease;cursor:pointer;border:none;background:transparent;width:32px;height:32px}.modal-close i{stroke-width:2;width:16px;height:16px;color:#333}.modal-body{padding:24px;height:calc(100vh - 100px);overflow-y:auto}.cart-empty{padding:60px 20px;text-align:center}.cart-icon{display:block;margin:0 auto 16px;width:64px;height:64px;color:#a1a1a1}.cart-empty p{margin:0 0 8px;color:#222;font-weight:400;font-size:16px}.cart-subtitle{margin-bottom:24px!important;color:#737373!important;font-weight:300!important;font-size:14px!important}.btn-empty-state{transition:all .3s ease;cursor:pointer;border:1px solid #555B47;border-radius:40px;background:#555b47;padding:10px 24px;color:#fff;font-weight:500;font-size:16px;white-space:nowrap}.btn-empty-state:hover{opacity:.8}.reservation-options{display:flex;flex-direction:column;gap:16px}.reservation-list{display:flex;flex-direction:column;gap:12px}.reservation-item{display:flex;justify-content:space-between;align-items:center;gap:16px;transition:all .3s ease;border:1px solid oklch(92.2% 0 0deg);border-radius:12px;background:#fff;padding:16px;flex-wrap:wrap}.reservation-date{display:flex;flex:1;align-items:center}.date-main{color:#222;font-weight:600;font-size:16px;line-height:1.4;white-space:nowrap}.reservation-actions{display:flex;flex-shrink:0;gap:8px}.btn-reservation-confirm{transition:all .3s ease;cursor:pointer;border:1px solid transparent;border-radius:8px;background:#555b47;padding:6px 12px;color:#fff;font-weight:700;font-size:12px;white-space:nowrap;display:flex;align-items:center;justify-content:center}.btn-reservation-confirm:hover{background:#3f403b;color:#fff}.btn-reservation-cancel{transition:all .3s ease;cursor:pointer;border:none;border-radius:8px;background:#fff;padding:7px 3px 8px;color:#737373;font-weight:500;font-size:12px;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;white-space:nowrap}.btn-reservation-cancel:hover{color:#333}.option-card{display:flex;align-items:center;transition:all .3s ease;cursor:pointer;border:1px solid oklch(92.2% 0 0deg);border-radius:12px;background:#fff;padding:20px}.option-card:hover{transform:translateY(-2px);box-shadow:0 2px 8px #00000014;border-color:#555b47}.option-icon{flex-shrink:0;margin-right:16px;width:40px;height:40px;color:#555b47}.option-content{flex:1;margin-right:16px}.option-content h4{margin:0 0 4px;color:#222;font-weight:600;font-size:16px}.option-content p{margin:0;color:#737373;font-weight:300;font-size:14px}.modal-footer{display:flex;flex-shrink:0;justify-content:flex-end;align-items:center}.btn-primary{transition:all .3s ease;cursor:pointer;border:none;border-radius:0;background:#555b47;padding:20px 24px;width:100%;color:#fff;font-weight:500;font-size:16px;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif}.btn-primary:hover{box-shadow:0 2px 8px #0000001a;opacity:.8}.btn-outline{transition:all .3s ease;cursor:pointer;border:1px solid #555B47;border-radius:8px;background:#fff;padding:8px 16px;color:#555b47;font-weight:500;font-size:14px;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;white-space:nowrap}.btn-outline:hover{background:#555b47;color:#fff}.cart-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;height:64px}.select-all-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;color:#222;font-weight:500;font-size:14px}.select-all-checkbox input[type=checkbox]{position:relative;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:all .2s ease;cursor:pointer;border:2px solid oklch(85% 0 0deg);border-radius:4px;background:#fff;width:20px;height:20px}.select-all-checkbox input[type=checkbox]:checked{border-color:#555b47;background:#555b47}.select-all-checkbox input[type=checkbox]:checked:after{position:absolute;top:2px;left:5px;transform:rotate(45deg);border:solid white;border-width:0 2px 2px 0;width:4px;height:8px;content:""}.select-all-checkbox input[type=checkbox]:hover{border-color:#555b47}.delete-selected-btn{transition:all .3s ease;cursor:pointer;border:none;border-radius:8px;background:#f5f5f5;padding:6px 12px 8px;color:#525252;font-weight:500;font-size:12px;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif}.cart-items{display:flex;flex-direction:column;gap:12px}.cart-item{display:flex;align-items:center;gap:12px;transition:all .3s ease;border:1px solid oklch(92.2% 0 0deg);border-radius:12px;background:#fff;padding:16px}.item-checkbox{display:flex;flex-shrink:0;align-items:center;cursor:pointer}.item-checkbox input[type=checkbox]{position:relative;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:all .2s ease;cursor:pointer;border:2px solid oklch(85% 0 0deg);border-radius:4px;background:#fff;width:20px;height:20px}.item-checkbox input[type=checkbox]:checked{border-color:#555b47;background:#555b47}.item-checkbox input[type=checkbox]:checked:after{position:absolute;top:2px;left:5px;transform:rotate(45deg);border:solid white;border-width:0 2px 2px 0;width:4px;height:8px;content:""}.item-checkbox input[type=checkbox]:hover{border-color:#555b47}.item-info{flex:1;min-width:0}.item-name{margin:0 0 2px;color:#222;font-weight:600;font-size:16px;line-height:1.4}.item-description{margin:0 0 8px;color:#737373;font-size:13px;line-height:1.5}.item-price{display:flex;align-items:center;gap:8px}.original-price{font-weight:300;font-size:14px;text-decoration:line-through;color:#999}.discount-price{font-weight:600;font-size:16px;color:#555b47}.item-delete-btn{display:flex;flex-shrink:0;justify-content:center;align-items:center;transition:all .3s ease;cursor:pointer;border:none;background:transparent;width:32px;height:32px}.item-delete-btn i{stroke-width:2;width:16px;height:16px}.cart-summary{flex-shrink:0;border-top:1px solid oklch(92.2% 0 0deg);background:#fafafa;padding:20px 24px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;color:#222;font-size:14px}.summary-row:not(:last-child){border-bottom:1px solid oklch(92.2% 0 0deg)}.summary-row.discount{color:#ef4444;font-weight:500}.summary-row.total{padding-top:16px;color:#222;font-weight:600;font-size:18px}.surtax{font-size:.88rem;font-weight:400;color:#999}.btn-primary:disabled{transform:none;cursor:not-allowed;background:#cecece;color:#a1a1a1}.btn-primary:disabled:hover{transform:none;box-shadow:none;background:#cecece}@media (max-width: 768px){.modal-content{position:fixed;top:0;right:0;bottom:0;left:0;animation:slideInFromBottom .3s ease;box-shadow:none;border-radius:0;width:100vw;height:100vh}.cart-modal{width:100vw}@keyframes slideInFromBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header,.modal-body{padding:16px}.modal-body{height:calc(100vh - 200px)}.modal-header{border-bottom:1px solid oklch(92.2% 0 0deg);background:#fff}.modal-header h3{font-size:18px}.modal-footer{padding:0}.btn-primary{border-radius:0;padding:18px 24px;width:100%;font-size:16px}.cart-controls{height:55px}.cart-item{gap:8px;padding:12px}.item-name{margin-bottom:4px;font-size:15px}.item-description{margin-bottom:6px;font-size:12px}.original-price{font-size:13px}.discount-price{font-size:15px}.cart-summary{padding:16px}.summary-row{padding:8px 0;font-size:13px}.summary-row.total{padding-top:12px;font-size:16px}.option-card{padding:16px}.option-icon{margin-right:12px;width:32px;height:32px}.option-content h4{font-size:15px}.option-content p{font-size:13px}.option-content{margin-right:12px}.btn-empty-state{font-size:14px}}
