.reserve-page{background-color:#fff6e3;padding:40px 16px 70px;min-height:60vh}.reserve-hero{max-width:720px;margin:0 auto;text-align:center}.reserve-hero-lead{display:inline-block;margin-bottom:14px;padding:5px 18px;border-radius:999px;background-color:#617949;color:#fff;font-size:14px;font-weight:700}.reserve-hero-title{font-size:30px;font-weight:800;line-height:1.45;color:#2c3e1f}.reserve-hero-text{margin-top:14px;font-size:15px;line-height:1.9;color:#4a5540}.reserve-br-sp{display:none}.reserve-steps{display:flex;justify-content:center;gap:12px;max-width:720px;margin:30px auto 0;padding:0;list-style:none}.reserve-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;padding:16px 10px;border-radius:12px;background-color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.05);text-align:center}.reserve-step-num{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background-color:#8cb16a;color:#fff;font-size:14px;font-weight:800}.reserve-step-text{font-size:13px;font-weight:700;line-height:1.5;color:#3d4a30}.reserve-form-wrapper{max-width:720px;margin:30px auto 0;padding:32px 28px;border-radius:16px;background-color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.07)}.reserve-form{display:flex;flex-direction:column;gap:30px}.reserve-alert{padding:14px 16px;border-radius:8px;border:1px solid #f5b7a8;background-color:#fdeeea;color:#b3391c;font-size:14px;font-weight:700;line-height:1.7}.reserve-fieldset{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}.reserve-legend{display:flex;align-items:center;gap:8px;width:100%;padding-bottom:10px;margin-bottom:4px;border-bottom:2px solid #e6e3cd;font-size:18px;font-weight:800;color:#2c3e1f}.reserve-field{display:flex;flex-direction:column;gap:7px}.reserve-label{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:#2c3e1f}.reserve-optional,.reserve-required{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.04em}.reserve-required{background-color:#ff6b35;color:#fff}.reserve-optional{background-color:#e6e3cd;color:#6b7358}.reserve-help{font-size:13px;line-height:1.65;color:#7a836b}.reserve-input,.reserve-select,.reserve-textarea{width:100%;padding:13px 14px;border:1px solid #d8d5be;border-radius:8px;background-color:#fffdf7;font-size:16px;color:#2c3e1f;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.reserve-input:focus,.reserve-select:focus,.reserve-textarea:focus{outline:none;border-color:#8cb16a;box-shadow:0 0 0 3px rgba(140,177,106,.18)}.reserve-textarea{resize:vertical;line-height:1.7}.reserve-field-error{font-size:13px;font-weight:700;color:#d9422b;line-height:1.6}.reserve-slot-groups{display:flex;flex-direction:column;gap:18px}.reserve-slot-group{display:flex;flex-direction:column;gap:10px}.reserve-slot-date{font-size:15px;font-weight:800;color:#617949}.reserve-slot-times{display:flex;flex-wrap:wrap;gap:10px}.reserve-slot-chip{position:relative;display:flex;align-items:center;justify-content:center;min-width:96px;padding:13px 18px;border:2px solid #d8d5be;border-radius:10px;background-color:#fffdf7;font-size:16px;font-weight:700;color:#2c3e1f;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.reserve-slot-chip:hover{border-color:#8cb16a}.reserve-slot-chip input{position:absolute;opacity:0;width:0;height:0}.reserve-slot-chip.is-selected{border-color:#617949;background-color:#617949;color:#fff}.reserve-slot-chip:focus-within{box-shadow:0 0 0 3px rgba(140,177,106,.25)}.reserve-more-btn{width:100%;padding:13px 16px;border:2px solid #d8d5be;border-radius:10px;background-color:#fffdf7;color:#617949;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.reserve-more-btn:hover{border-color:#8cb16a;background-color:#f5f4df}.reserve-slots-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;border-radius:10px;background-color:#fffdf7;border:1px dashed #d8d5be}.reserve-slots-loading p{font-size:14px;font-weight:700;color:#7a836b}.reserve-spinner{width:28px;height:28px;border:3px solid #e6e3cd;border-top-color:#8cb16a;border-radius:50%;animation:reserve-spin .8s linear infinite}@keyframes reserve-spin{to{transform:rotate(1turn)}}.reserve-slot-skeletons{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%}.reserve-slot-skeleton{width:96px;height:48px;border-radius:10px;background:linear-gradient(90deg,#f0eee0 25%,#e6e3cd 50%,#f0eee0 75%);background-size:200% 100%;animation:reserve-shimmer 1.4s ease-in-out infinite}@keyframes reserve-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.reserve-slot-skeleton,.reserve-spinner{animation:none}}.reserve-no-slots{padding:20px 16px;border-radius:8px;background-color:#f5f4df;font-size:14px;line-height:1.8;color:#6b7358;text-align:center}.reserve-consent{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:10px;background-color:#f5f4df}.reserve-consent-label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:#3d4a30;cursor:pointer}.reserve-consent-label input{width:20px;height:20px;accent-color:#617949;flex-shrink:0}.reserve-consent-label a{color:#617949;text-decoration:underline}.reserve-submit-btn{width:100%;padding:18px 20px;border:none;border-radius:999px;background:linear-gradient(135deg,#ff8c42,#ff6b35);box-shadow:0 5px 0 #d1521f;color:#fff;font-size:17px;font-weight:800;font-family:inherit;letter-spacing:.02em;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.reserve-submit-btn:hover:not(:disabled){transform:translateY(2px);box-shadow:0 3px 0 #d1521f}.reserve-submit-btn:disabled{background:#c9c6b4;box-shadow:0 5px 0 #aca997;cursor:not-allowed}.reserve-footnote{font-size:12px;line-height:1.75;color:#8a9179;text-align:center}.reserve-complete{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:10px 0}.reserve-complete-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background-color:#8cb16a;color:#fff;font-size:32px;font-weight:800}.reserve-complete-title{font-size:24px;font-weight:800;color:#2c3e1f}.reserve-complete-text{font-size:15px;line-height:1.9;color:#4a5540}.reserve-complete-detail{width:100%;padding:18px 16px;border-radius:10px;background-color:#f5f4df}.reserve-complete-detail dt{font-size:13px;font-weight:700;color:#7a836b;margin-bottom:6px}.reserve-complete-detail dd{font-size:20px;font-weight:800;color:#617949;margin:0;line-height:1.5}.reserve-meet-btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 32px;border-radius:999px;background:linear-gradient(135deg,#8cb16a,#617949);box-shadow:0 4px 0 #4a5c38;color:#fff;font-size:16px;font-weight:800;text-decoration:none}.reserve-back-link{margin-top:6px;font-size:14px;color:#617949;text-decoration:underline}@media screen and (max-width:768px){.reserve-page{padding:28px 12px 56px}.reserve-hero-title{font-size:23px}.reserve-hero-text{font-size:14px;text-align:left}.reserve-br-sp{display:inline}.reserve-steps{gap:8px;margin-top:24px}.reserve-step{padding:13px 6px;gap:6px}.reserve-step-num{width:24px;height:24px;font-size:13px}.reserve-step-text{font-size:11px}.reserve-form-wrapper{padding:24px 16px;border-radius:12px}.reserve-form{gap:26px}.reserve-legend{font-size:16px}.reserve-slot-chip{min-width:0;flex:1 1 calc(33.333% - 7px);padding:12px 8px;font-size:15px}.reserve-submit-btn{font-size:15px;padding:16px 14px}.reserve-complete-title{font-size:20px}.reserve-complete-detail dd{font-size:18px}}