.reservation{padding:2rem 0 4rem}.reservation__header{text-align:center;margin-bottom:2rem}.reservation__lead{font-size:1.1rem;color:#555;max-width:56ch;margin:1rem auto 0;line-height:1.6}.step{display:none}.step.is-active{display:block}.btn-pill{display:inline-block;padding:.65rem 1.6rem;border-radius:999px;font-family:inherit;font-size:.95rem;font-weight:500;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:all .2s ease;line-height:1.3;text-align:center}.btn-pill--orange{background:#f9a13e;color:#fff;box-shadow:0 3px 10px #f9a13e40}.btn-pill--orange:hover:not(:disabled){background:#e8901e;box-shadow:0 5px 14px #f9a13e66;transform:translateY(-2px)}.btn-pill--large{padding:.95rem 2rem;font-size:1.05rem;width:100%;margin-top:.75rem}.btn-pill:disabled{opacity:.5;cursor:not-allowed;transform:none}.duration-selector{background:#fff;padding:1.5rem 1.25rem;border-radius:16px;border:1px solid #e5e0d8;margin-bottom:1.5rem;text-align:center}.duration-label{display:block;color:#6a6a6a;font-size:.92rem;margin-bottom:1rem;font-weight:500}.loading-text{display:inline-block;color:#888;font-style:italic;padding:.5rem}.duration-options{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.duration-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:140px;padding:.85rem 1.6rem;border-radius:999px;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;background:#fff;color:#2a2a2a;border:2px solid #e5e0d8;transition:all .2s ease;line-height:1.2}.duration-btn:hover:not(:disabled){border-color:#f9a13e;color:#f9a13e;transform:translateY(-2px)}.duration-btn:disabled{opacity:.5;cursor:not-allowed}.duration-btn.is-active{background:#f9a13e;color:#fff;border-color:#f9a13e;box-shadow:0 4px 12px #f9a13e59}.duration-btn__main{font-size:1.05rem;font-weight:600}.duration-btn__price{font-size:.85rem;font-weight:500;margin-top:2px;opacity:.9}.week-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.week-nav__btn{background:#fff;border:1px solid #e5e0d8;padding:.55rem 1.1rem;border-radius:999px;cursor:pointer;font-family:inherit;font-size:.9rem;color:#2a2a2a;transition:all .2s ease}.week-nav__btn:hover:not(:disabled){border-color:#f9a13e;color:#f9a13e}.week-nav__btn:disabled{opacity:.4;cursor:not-allowed}.week-nav__title{font-family:Cormorant Garamond,Georgia,serif;color:#299f9e;font-size:1.4rem;margin:0;text-align:center;font-style:italic}.calendar-wrap{overflow-x:auto;border-radius:12px;min-height:200px}.calendar-loading{text-align:center;padding:4rem 1rem;color:#888;font-style:italic}.calendar-grid{display:grid;grid-template-columns:70px repeat(7,minmax(105px,1fr));gap:4px;background:#e5e0d8;padding:4px;border-radius:12px;min-width:800px}.cell{background:#fff;padding:.5rem .35rem;text-align:center;font-size:.82rem;border-radius:6px;transition:all .15s ease;min-height:44px;display:flex;align-items:center;justify-content:center}.cell--header{background:#1e4520;color:#faf8f3;font-weight:500;padding:.7rem .35rem;font-size:.82rem;flex-direction:column;line-height:1.2}.cell--header-day strong{display:block;font-size:1.2rem;margin-top:3px;font-weight:600}.cell--header-day.is-today{background:#f9a13e;color:#fff}.cell--time{background:#f5f1ea;color:#6a6a6a;font-size:.85rem;font-weight:600}.cell--slot{cursor:pointer;background:#f9a13e!important;color:#fff!important;font-weight:600;border:2px solid #F9A13E;font-size:.85rem;box-shadow:0 2px 6px #f9a13e40;border-radius:999px;padding:.45rem .5rem;user-select:none;letter-spacing:.01em;min-height:44px}.cell--slot:hover{background:#e8901e!important;border-color:#e8901e;transform:translateY(-2px) scale(1.04);box-shadow:0 5px 14px #f9a13e73;z-index:2}.cell--slot:active{transform:translateY(0) scale(.98)}.cell--taken{background:#fbeee9;color:#c75d4b;cursor:not-allowed;font-size:.78rem;font-style:italic}.cell--past{background:#f0f0f0;color:#b0b0b0;cursor:not-allowed;font-size:.76rem}.legend{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem;font-size:.88rem;color:#555}.legend__item{display:flex;align-items:center;gap:8px}.dot{display:inline-block;width:14px;height:14px;border-radius:999px}.dot--free{background:#f9a13e;box-shadow:0 1px 3px #f9a13e4d}.dot--taken{background:#fbeee9;border:1px solid #f0c0b0}.dot--past{background:#f0f0f0;border:1px solid #d5d5d5}.back-link{display:inline-block;margin-bottom:1rem;color:#6a6a6a;text-decoration:none;background:transparent;border:0;cursor:pointer;font-family:inherit;font-size:.92rem}.back-link:hover{color:#f9a13e}.form-card{max-width:540px;margin:0 auto;background:#fff;padding:2rem;border-radius:16px;border:1px solid #e5e0d8}.form-card h2{font-family:Cormorant Garamond,Georgia,serif;color:#299f9e;margin:0 0 .75rem}.selected-slot{background:#f5f1ea;padding:.75rem 1rem;border-radius:999px;color:#299f9e;font-weight:500;margin:0 0 1.5rem;text-align:center}form label{display:block;margin-bottom:1rem}form label>span{display:block;font-size:.88rem;color:#6a6a6a;margin-bottom:.35rem;font-weight:500}form input[type=text],form input[type=email],form input[type=tel]{width:100%;padding:.7rem 1rem;border:1px solid #e5e0d8;border-radius:999px;font-family:inherit;font-size:1rem;color:#2a2a2a;background:#fff;transition:border-color .2s ease;box-sizing:border-box}form input:focus{outline:none;border-color:#f9a13e;box-shadow:0 0 0 3px #f9a13e26}form input:invalid:not(:placeholder-shown){border-color:#c75d4b}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkbox-label{display:flex!important;align-items:center;gap:.5rem;margin:1rem 0}.checkbox-label input{width:auto!important}.recap{background:#faf8f3;padding:1.25rem;border-radius:12px;margin:1.5rem 0}.recap h3{margin:0 0 .75rem;font-family:Cormorant Garamond,Georgia,serif;color:#299f9e;font-size:1.15rem}.recap dl{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1rem;margin:0}.recap dt{color:#6a6a6a;font-size:.88rem}.recap dd{margin:0;color:#2a2a2a;font-size:.92rem}.form-error{background:#fee;border:1px solid #fcc;color:#c75d4b;padding:.75rem 1rem;border-radius:12px;font-size:.92rem;margin:.75rem 0;display:none}.form-error.visible{display:block}.form-note{margin-top:1rem;color:#6a6a6a;font-size:.85rem;text-align:center}.credits-box{background:linear-gradient(135deg,#f0f8ec,#e8f5e0);border:2px solid #b8d9a8;border-radius:14px;padding:1rem 1.25rem;margin:0 0 1.25rem}.credits-box__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.credits-box__icon{font-size:1.6rem;flex-shrink:0}.credits-box__title{font-weight:600;color:#2a5e2a;font-size:1rem}.credits-box__subtitle{color:#6a6a6a;font-size:.85rem;margin-top:2px}.credits-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.credit-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:#fff;padding:.65rem .85rem;border-radius:10px;border:1px solid #d8e8cd;flex-wrap:wrap}.credit-item__info{flex:1;min-width:0}.credit-item__main{font-weight:600;color:#2a5e2a;font-size:.92rem}.credit-item__meta{font-size:.8rem;color:#6a6a6a;margin-top:2px}.credit-toggle{background:#fff;border:2px solid #4a8f3a;color:#4a8f3a;padding:.4rem 1rem;border-radius:999px;cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:600;transition:all .2s ease;flex-shrink:0}.credit-toggle:hover{background:#f0f8ec}.credit-toggle.is-active{background:#4a8f3a;color:#fff;box-shadow:0 2px 8px #4a8f3a4d}@media(max-width:640px){.form-row{grid-template-columns:1fr}}
