.booking-widget h3{margin:0 0 1.4rem;font-size:1.3rem;letter-spacing:-.01em}.slots-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.slots-header h3{margin-bottom:0}.next-available-btn{flex-shrink:0;background:none;border:none;padding:0;color:var(--color-accent-dark);font-weight:700;font-size:.85rem;cursor:pointer;white-space:nowrap}.next-available-btn:hover{text-decoration:underline}@keyframes step-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.step-transition{animation:step-fade-in .35s ease both}.slot-loading{display:flex;align-items:center;gap:.6rem;color:var(--color-text-muted);font-size:.92rem}.slot-spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--color-border);border-top-color:var(--color-accent);animation:booking-spin .7s linear infinite}@keyframes booking-spin{to{transform:rotate(360deg)}}.date-time-row{display:flex;align-items:flex-start;gap:2.5rem;margin-bottom:1.6rem}@media(max-width:700px){.date-time-row{flex-direction:column;gap:1.6rem}}.calendar{flex:0 0 auto;max-width:360px;width:100%}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.calendar-month-label{font-weight:700;font-size:.98rem}.calendar-nav{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--color-border);background:#fff;color:var(--color-text);cursor:pointer;transition:border-color .15s ease,opacity .15s ease}.calendar-nav:hover:not(:disabled){border-color:var(--color-dark)}.calendar-nav:disabled{opacity:.3;cursor:default}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.7rem;font-weight:700;color:var(--color-text-muted);margin-bottom:.4rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-cell{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;border-radius:10px;background:none;font-size:.88rem;font-weight:600;font-family:inherit;color:var(--color-text);cursor:default;transition:background .15s ease,color .15s ease}.calendar-cell-empty{visibility:hidden}.calendar-cell.is-disabled{color:#d3d4d9}.calendar-cell.is-available{cursor:pointer}.calendar-cell.is-available:hover{background:var(--color-accent-tint)}.calendar-cell.is-available:not(.is-selected):after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--color-accent)}.calendar-cell.is-selected{background:var(--color-dark);color:#fff}.slot-list-column{flex:1;min-width:200px}.slot-list-label{font-weight:700;margin:0 0 .7rem;font-size:.9rem}.slot-list{display:flex;flex-direction:column;gap:.6rem}.slot-btn{position:relative;display:flex;align-items:center;gap:.7rem;border:1.5px solid var(--color-border);background:#fff;border-radius:12px;padding:.8rem 1.1rem;cursor:pointer;text-align:left;width:100%;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease}.slot-btn-icon{flex-shrink:0;color:var(--color-accent-dark)}.slot-btn-text{display:flex;flex-direction:column;gap:.15rem;flex:1}.slot-btn-window{font-weight:700;font-size:.95rem}.slot-btn-range{font-size:.78rem;color:var(--color-text-muted)}.slot-btn:hover{border-color:var(--color-dark);transform:translateY(-1px)}.slot-btn.is-selected{background:var(--color-dark);border-color:var(--color-dark);color:#fff;transform:translateY(-1px)}.slot-btn.is-selected .slot-btn-icon{color:#e8c07d}.slot-btn.is-selected .slot-btn-range{color:#ffffffb8}.slot-btn-check{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--color-accent);color:#fff}.disclosure-toggle{background:none;border:none;padding:0;margin-top:1.2rem;color:var(--color-accent-dark);font-weight:600;font-size:.85rem;cursor:pointer}.disclosure-toggle:hover{text-decoration:underline}.check-field{display:flex;align-items:flex-start;gap:.7rem;margin-top:1.4rem;cursor:pointer}.check-box{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:.1rem;border:1.5px solid #d3d4d9;border-radius:6px;background:#fff;color:#fff;transition:background .15s ease,border-color .15s ease}.check-box:hover{border-color:var(--color-accent)}.check-box.is-checked{background:var(--color-dark);border-color:var(--color-dark)}.check-field-text{font-size:.88rem;line-height:1.5;color:var(--color-text-muted)}.check-field-text a{color:var(--color-accent-dark);font-weight:600}.review-card{display:flex;flex-direction:column;gap:.75rem;padding:1.2rem 1.3rem;border:1px solid var(--color-border);border-radius:14px;background:#fafafa;margin-bottom:.5rem}.review-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.review-label{font-size:.8rem;color:var(--color-text-muted);flex-shrink:0}.review-value{font-size:.92rem;font-weight:600;color:var(--color-text);text-align:right}.booking-section{padding:1.85rem 0;border-bottom:1px solid var(--color-border)}.booking-section:first-of-type{padding-top:0}.booking-section:last-of-type{border-bottom:none;padding-bottom:.5rem}.form-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:1.1rem}.form-field{display:block;grid-column:span 8}.form-field-half{grid-column:span 4}.form-field-quarter{grid-column:span 2}@media(max-width:700px){.form-field-half,.form-field-quarter{grid-column:span 8}}.form-field-label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.45rem}.form-field-required{color:var(--color-accent);margin-left:.2rem}.field-spaced{margin-top:1.3rem}.form-field-hint{font-size:.82rem;line-height:1.5;color:var(--color-text-muted);margin:.35rem 0 1.1rem}.address-autocomplete{position:relative;width:100%}.address-suggestions{position:absolute;top:calc(100% + .4rem);left:0;right:0;z-index:20;background:#fff;border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-md);overflow:hidden;max-height:260px;overflow-y:auto}.address-suggestion{display:block;width:100%;text-align:left;padding:.75rem 1rem;border:none;border-bottom:1px solid #f0f0f2;background:#fff;color:var(--color-text);font-size:.92rem;font-family:inherit;cursor:pointer;transition:background .1s ease}.address-suggestion:last-child{border-bottom:none}.address-suggestion:hover{background:var(--color-accent-tint)}.address-suggestion-loading{padding:.75rem 1rem;font-size:.88rem;color:var(--color-text-muted)}.booking-address-map-wrap{margin-top:.75rem}.booking-address-map-label{font-size:.82rem;font-weight:600;color:var(--color-text-muted);margin:0 0 .5rem}.booking-address-map{width:100%;height:180px;border-radius:12px;overflow:hidden;border:1px solid var(--color-border);background:#f4f4f6}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;padding:.85rem 1rem;border:1.5px solid var(--color-border);border-radius:var(--radius);font-size:.95rem;font-weight:400;font-family:inherit;background:#fff;color:var(--color-text);box-shadow:var(--shadow-sm);transition:border-color .2s ease,box-shadow .2s ease}.form-field textarea{resize:vertical}.form-field select{appearance:none;-webkit-appearance:none;padding-right:2.8rem;font-weight:600;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 10 10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%238f6a2c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.05rem center}.form-field select:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-tint),var(--shadow-md)}.choice-chip-group{display:flex;flex-wrap:wrap;gap:.6rem}.choice-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.1rem;border:1.5px solid #e2e3e8;border-radius:999px;background:#fff;color:var(--color-text);font-weight:600;font-size:.88rem;font-family:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .1s ease}.choice-chip:hover{border-color:var(--color-accent)}.choice-chip.is-selected{background:var(--color-dark);border-color:var(--color-dark);color:#fff}.choice-chip-check{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--color-accent);color:#fff}.booking-submit{position:relative;display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;margin-top:.75rem;padding:1rem 1.4rem;font-size:1rem;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.booking-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.booking-submit:disabled{opacity:.85;cursor:default}.btn-spinner{width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:booking-spin .7s linear infinite}.booking-submit-note{text-align:center;margin:.85rem 0 0;font-size:.8rem;color:var(--color-text-muted)}.error-msg{color:#c0392b;margin-bottom:1rem;font-size:.9rem}.booking-done{text-align:center;padding:1.5rem 1rem 1rem}.booking-check-ring{display:inline-flex;align-items:center;justify-content:center;width:5rem;height:5rem;border-radius:50%;background:radial-gradient(circle,var(--color-accent-tint) 0%,rgba(248,239,223,0) 72%);margin-bottom:1.1rem}.booking-check{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--color-dark);color:#fff;box-shadow:var(--shadow-md)}.booking-done h3{font-size:1.4rem;margin-bottom:.6rem}.booking-done-date{font-weight:700;color:var(--color-text);margin:0 0 .85rem;font-size:1.05rem}.booking-done-note{color:var(--color-text-muted);font-size:.9rem;margin:0}.detail-hero[data-astro-cid-tcy35dad]{position:relative;background:var(--color-dark);color:#fff;overflow:hidden}.detail-hero-bg[data-astro-cid-tcy35dad]{position:absolute;inset:0;background-image:linear-gradient(180deg,#0a0b0d8c,#0a0b0dbf 60%,#0a0b0deb),var(--hero-image);background-size:cover;background-position:center}.detail-hero[data-astro-cid-tcy35dad]:after{content:"";position:absolute;inset:0;background:radial-gradient(55% 75% at 15% 0%,rgba(232,192,125,.12),transparent 60%),radial-gradient(50% 65% at 100% 100%,rgba(232,192,125,.08),transparent 60%);pointer-events:none}.detail-hero-inner[data-astro-cid-tcy35dad]{position:relative;z-index:1;max-width:1020px;margin:0 auto;padding:2.5rem 1.5rem}.detail-hero-grid[data-astro-cid-tcy35dad]{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}.detail-icon[data-astro-cid-tcy35dad]{color:#e8c07d;margin-bottom:.4rem}.detail-hero[data-astro-cid-tcy35dad] h1[data-astro-cid-tcy35dad]{font-size:clamp(1.7rem,2.8vw,2.3rem);letter-spacing:-.01em;line-height:1.12}.detail-hero-rule[data-astro-cid-tcy35dad]{display:block;width:44px;height:3px;margin:.6rem 0 .8rem;border-radius:999px;background:linear-gradient(90deg,var(--color-accent-dark),#e8c07d 100%)}.tagline[data-astro-cid-tcy35dad]{color:#cfd2dc;font-size:1.05rem;margin:0}.detail-hero-description[data-astro-cid-tcy35dad]{margin:0 0 .9rem;font-size:.95rem;line-height:1.55;color:#e2e4ea}.detail-hero-inner[data-astro-cid-tcy35dad] .badge-row[data-astro-cid-tcy35dad]{justify-content:flex-start;margin:0 0 .9rem}.detail-hero-inner[data-astro-cid-tcy35dad] .badge[data-astro-cid-tcy35dad]{background:#e8c07d14;border:1px solid rgba(232,192,125,.35);color:#e8c07d}.detail-hero-note[data-astro-cid-tcy35dad]{margin:0 0 1rem;font-size:.82rem;color:#ffffffa6}@media(max-width:760px){.detail-hero-grid[data-astro-cid-tcy35dad]{grid-template-columns:1fr;gap:.25rem;text-align:center}.detail-hero-inner[data-astro-cid-tcy35dad] .badge-row[data-astro-cid-tcy35dad]{justify-content:center}.detail-hero-rule[data-astro-cid-tcy35dad]{margin-left:auto;margin-right:auto}}.detail-booking-section[data-astro-cid-tcy35dad]{padding-top:4rem}.detail-booking[data-astro-cid-tcy35dad]{position:relative;border:1px solid var(--color-border);border-radius:20px;padding:2.25rem;background:#fff;box-shadow:var(--shadow-lg);overflow:hidden}.detail-booking[data-astro-cid-tcy35dad]:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-accent-dark),var(--color-accent) 45%,#e8c07d 100%)}@media(max-width:520px){.detail-booking-section[data-astro-cid-tcy35dad]{padding-top:2.5rem}.detail-booking[data-astro-cid-tcy35dad]{padding:1.5rem;border-radius:16px}}
