.reservation-contents{padding:0}.reservation-container{max-width:900px;margin:0 auto;padding:0 20px}.reservation-intro{text-align:center;margin-bottom:60px}.reservation-intro p{color:var(--text-dark);font-size:16px;line-height:1.8}.reservation-form{background-color:#fff}.form-group-row{gap:20px;display:flex}.form-group-row .form-group{flex:1}.form-section{background-color:#fcfcfc;border:1px solid #f0f0f0;border-radius:12px;margin-bottom:60px;padding:40px;box-shadow:0 2px 10px #00000005}.form-section__title{border-bottom:2px solid var(--main-blue);color:var(--main-blue);align-items:center;margin-bottom:35px;padding-bottom:15px;font-size:20px;font-weight:700;display:flex}.form-section__title .required{color:#fff;vertical-align:middle;background-color:#e60012;border-radius:2px;margin-left:15px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.form-section__title:before{content:"";background-color:var(--main-yellow);border-radius:2px;width:8px;height:24px;margin-right:12px;display:inline-block}.reservation-note{border-left:5px solid var(--main-yellow);background-color:#fff9e6;border-radius:8px;margin-bottom:50px;padding:30px}.reservation-note__title{color:#856404;margin-bottom:15px;font-size:18px;font-weight:700}.reservation-note__list{margin:0;padding-left:20px}.reservation-note__list li{color:#555;margin-bottom:10px;font-size:15px;line-height:2;list-style-type:disc}.form-group{margin-bottom:40px}.form-label{font-size:16px;font-weight:700;margin-bottom:18px!important;line-height:1.6!important}.form-input,.form-textarea,.form-select{line-height:1.6}.form-checkbox-group{grid-template-columns:1fr 1fr;gap:18px 35px;display:grid}.form-checkbox-group .form-check-label{align-items:center;gap:12px;font-size:16px;line-height:1.6;display:flex}.facility-grid{flex-wrap:wrap;gap:15px 35px;display:flex}.facility-item{cursor:pointer;align-items:center;gap:12px;font-size:16px;line-height:1.6;transition:opacity .3s;display:flex}.facility-item:hover{opacity:.8}.form-privacy{background-color:var(--light-blue);border-radius:12px;margin-top:50px;padding:40px}.privacy-check{margin-bottom:25px}.privacy-check:last-child{margin-bottom:0}.form-check-label{cursor:pointer;transition:opacity .3s}.form-check-label:hover{opacity:.8}.form-check-label .required{color:#fff;vertical-align:middle;background-color:#e60012;border-radius:2px;margin-left:10px;padding:2px 8px;font-size:10px;font-weight:500;display:inline-block}.form-input-date{max-width:220px}.form-input-time{max-width:160px}.postal-row{align-items:center;gap:10px;display:flex}.postal-input{max-width:160px}.btn-postal-lookup{background:var(--main-blue);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;align-items:center;padding:10px 16px;font-size:14px;font-weight:700;transition:opacity .2s;display:inline-flex}.btn-postal-lookup:hover:not(:disabled){opacity:.8}.btn-postal-lookup:disabled{opacity:.6;cursor:not-allowed}.postal-hint{color:#888;margin-top:4px;font-size:12px}.postal-error{color:#e00;margin-top:4px;font-size:13px;display:block}.btn-add-date{color:var(--main-blue);border:1px solid var(--main-blue);cursor:pointer;background:#f0f7ff;border-radius:6px;align-items:center;gap:10px;margin-top:15px;padding:8px 16px;font-size:15px;font-weight:700;transition:all .3s;display:inline-flex}.btn-add-date:hover{background:var(--main-blue);color:#fff}.date-entry{border-bottom:1px dashed #ccc;margin-bottom:25px;padding-bottom:25px}.date-entry:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.date-entry__label{color:#555;background:#eee;border-radius:4px;margin-bottom:15px;padding:3px 12px;font-size:14px;font-weight:700;display:inline-block}.date-entry__header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.date-entry__header .date-entry__label{margin-bottom:0}.btn-delete-date{color:#e60012;cursor:pointer;background:#fff5f5;border:1px solid #e60012;border-radius:4px;align-items:center;padding:6px 12px;font-size:13px;font-weight:700;transition:all .3s;display:inline-flex}.btn-delete-date:hover{color:#fff;background:#e60012}.reservation-thanks-container{text-align:center;max-width:800px;margin:0 auto;padding:0 20px}.thanks-animation{opacity:0;width:120px;height:120px;margin:0 auto 40px;animation:4s ease-in-out forwards planeFly;position:relative}.thanks-animation svg{filter:drop-shadow(0 4px 6px #0000001a);width:100%;height:100%}@keyframes planeFly{0%{opacity:0;transform:translate(-100px,100px)rotate(-15deg)}20%{opacity:1;transform:translate(0)rotate(0)}80%{opacity:1;transform:translate(20px,-20px)rotate(-5deg)}to{opacity:0;transform:translate(300px,-300px)rotate(-25deg)}}.plane-trail{stroke-dasharray:100;stroke-dashoffset:100px;animation:4s ease-in-out forwards trailDraw}@keyframes trailDraw{0%{stroke-dashoffset:100px;opacity:0}20%{stroke-dashoffset:100px;opacity:1}80%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@media (max-width:768px){.reservation-container{padding:0 20px 80px}.reservation-note{margin-bottom:40px;padding:20px}.reservation-note__title{font-size:16px}.reservation-note__list li{font-size:14px}.form-section{margin-bottom:40px;padding:20px}.form-group-row{flex-direction:column;gap:15px}.form-checkbox-group{grid-template-columns:1fr}.form-input-date,.form-input-time{max-width:100%}.form-privacy{padding:20px}.date-entry__label{font-size:14px}.btn-add-date{justify-content:center;width:100%;padding:10px;font-size:14px}.reservation-thanks-container{padding:0 20px 80px}}.input-error{background-color:#fff5f5!important;border-color:#e60012!important}.date-entry.input-error,.facility-grid.input-error{border-radius:4px;padding:15px;border:1px solid #e60012!important}.error-message{color:#e60012;margin-top:8px;font-size:13px;font-weight:500;display:block}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999999;opacity:0;visibility:hidden;background:#0009;justify-content:center;align-items:center;width:100%;height:100%;transition:all .3s;display:flex;position:fixed;top:0;left:0}.modal-overlay.is-active{opacity:1;visibility:visible}.confirm-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:85vh;padding:40px;transition:all .3s;overflow-y:auto;transform:translateY(20px);box-shadow:0 20px 40px #0003}.modal-overlay.is-active .confirm-modal{transform:translateY(0)}.confirm-modal__title{color:var(--main-blue);text-align:center;border-bottom:2px solid var(--main-yellow);margin-bottom:24px;padding-bottom:12px;font-size:1.5rem;font-weight:700}.confirm-list{margin-bottom:32px}.confirm-item{border-bottom:1px solid #eee;margin-bottom:16px;padding-bottom:12px}.confirm-item__label{color:#666;margin-bottom:4px;font-size:.85rem;font-weight:700}.confirm-item__value{color:#333;white-space:pre-wrap;word-break:break-all;font-size:1rem}.confirm-actions{justify-content:center;gap:16px;display:flex}.btn-cancel{color:#333;cursor:pointer;background:#f2f2f2;border:none;border-radius:30px;padding:12px 32px;font-weight:700;transition:background .2s}.btn-cancel:hover{background:#e0e0e0}.btn-real-submit{background:var(--main-blue);color:#fff;cursor:pointer;border:none;border-radius:30px;padding:12px 48px;font-weight:700;transition:transform .2s,background .2s}.btn-real-submit:hover{background:#005696;transform:translateY(-2px)}@media (max-width:768px){.confirm-modal{padding:24px}.confirm-actions{flex-direction:column-reverse}.btn-real-submit,.btn-cancel{width:100%;padding:15px}}
