.contact-form-section[data-astro-cid-ca7uxiov]{background-color:var(--color-bg);padding:var(--section-padding-md) 0}.contact-form-container[data-astro-cid-ca7uxiov]{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.contact-form-card[data-astro-cid-ca7uxiov]{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000f;padding:var(--space-2xl) var(--space-2xl) var(--space-xl)}.contact-form-title[data-astro-cid-ca7uxiov]{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:300;color:var(--color-primary);text-align:center;margin-bottom:var(--space-md)}.contact-form-disclaimer[data-astro-cid-ca7uxiov]{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-secondary-dark);text-align:center;line-height:1.6;margin-bottom:var(--space-2xl);max-width:720px;margin-left:auto;margin-right:auto}.contact-form[data-astro-cid-ca7uxiov]{display:flex;flex-direction:column;gap:var(--space-lg)}.form-row[data-astro-cid-ca7uxiov]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.form-group[data-astro-cid-ca7uxiov]{display:flex;flex-direction:column}.form-label[data-astro-cid-ca7uxiov]{font-family:var(--font-body);font-size:var(--text-base);font-weight:500;color:var(--color-secondary-dark);margin-bottom:6px}.required[data-astro-cid-ca7uxiov]{color:#ef4444}.form-input[data-astro-cid-ca7uxiov],.form-textarea[data-astro-cid-ca7uxiov]{font-family:var(--font-body);font-size:var(--text-base);padding:12px 16px;border:1px solid var(--color-gray-light);border-radius:var(--radius-md);background-color:var(--color-white);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input[data-astro-cid-ca7uxiov]:focus,.form-textarea[data-astro-cid-ca7uxiov]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0078641a}.form-textarea[data-astro-cid-ca7uxiov]{resize:vertical;min-height:120px}.form-error[data-astro-cid-ca7uxiov]{font-size:var(--text-xs);color:#ef4444;margin-top:4px;display:none}.form-group[data-astro-cid-ca7uxiov].has-error .form-input[data-astro-cid-ca7uxiov],.form-group[data-astro-cid-ca7uxiov].has-error .form-textarea[data-astro-cid-ca7uxiov]{border-color:#ef4444;background-color:#ef44440d}.form-group[data-astro-cid-ca7uxiov].has-error .form-error[data-astro-cid-ca7uxiov]{display:block}.btn-submit[data-astro-cid-ca7uxiov]{width:100%;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;letter-spacing:2px;padding:14px 32px;background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.btn-submit[data-astro-cid-ca7uxiov]:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-white);transform:translateY(-1px)}.btn-submit[data-astro-cid-ca7uxiov]:disabled{opacity:.6;cursor:not-allowed}.form-status[data-astro-cid-ca7uxiov]{display:none;padding:var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.5}.form-status[data-astro-cid-ca7uxiov].success{display:block;background-color:#00786414;border-left:3px solid var(--color-primary);color:var(--color-primary)}.form-status[data-astro-cid-ca7uxiov].error{display:block;background-color:#ef444414;border-left:3px solid #ef4444;color:#991b1b}@media(max-width:1024px){.form-row[data-astro-cid-ca7uxiov]{grid-template-columns:1fr 1fr}}@media(max-width:768px){.contact-form-section[data-astro-cid-ca7uxiov]{padding:var(--section-padding-sm) 0}.contact-form-card[data-astro-cid-ca7uxiov]{padding:var(--space-xl) var(--space-lg)}.contact-form-title[data-astro-cid-ca7uxiov]{font-size:var(--text-xl)}.contact-form-disclaimer[data-astro-cid-ca7uxiov]{font-size:var(--text-xs)}.form-row[data-astro-cid-ca7uxiov]{grid-template-columns:1fr}.form-label[data-astro-cid-ca7uxiov]{font-size:var(--text-sm)}.form-input[data-astro-cid-ca7uxiov],.form-textarea[data-astro-cid-ca7uxiov]{font-size:var(--text-sm);padding:10px 14px}}.spa-form-section[data-astro-cid-2lyiiix7]{background-color:var(--org-cream, #FAF8F5);padding:var(--section-padding-md) 0}.spa-form-container[data-astro-cid-2lyiiix7]{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.spa-section-header[data-astro-cid-2lyiiix7]{text-align:center;margin-bottom:56px}.spa-section-icon[data-astro-cid-2lyiiix7]{width:24px;height:24px;margin:0 auto 24px;color:var(--org-teal, var(--color-primary));display:block}.spa-section-title[data-astro-cid-2lyiiix7]{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:300;color:var(--org-bark, var(--color-secondary-dark));margin:16px 0 12px}.spa-section-subtitle[data-astro-cid-2lyiiix7]{font-family:var(--font-body);font-size:var(--text-base);color:var(--org-sage, var(--color-secondary-dark));margin:0}.spa-booking-card[data-astro-cid-2lyiiix7]{background:var(--org-sand, #E8DDD3);border-radius:24px;max-width:640px;margin:0 auto;padding:40px;box-shadow:0 12px 40px #4a3f351a}.spa-booking-form[data-astro-cid-2lyiiix7]{display:flex;flex-direction:column;gap:20px;scroll-margin-top:400px}.spa-form-group[data-astro-cid-2lyiiix7]{display:flex;flex-direction:column;gap:8px}.spa-form-label[data-astro-cid-2lyiiix7]{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--org-sage, #8B9A7B)}.spa-form-input[data-astro-cid-2lyiiix7]{background:var(--org-cream, #FAF8F5);border:1px solid rgba(139,154,123,.3);border-radius:12px;padding:14px 16px;font-family:var(--font-body);font-size:var(--text-base);color:var(--org-bark, #4A3F35);transition:border-color .2s ease,box-shadow .2s ease}.spa-required[data-astro-cid-2lyiiix7]{color:#ef4444}.spa-form-row[data-astro-cid-2lyiiix7]{display:grid;grid-template-columns:1fr 1fr;gap:20px}.spa-form-select[data-astro-cid-2lyiiix7]{cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238B9A7B' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}.spa-form-textarea[data-astro-cid-2lyiiix7]{resize:vertical;min-height:80px}.spa-form-input[data-astro-cid-2lyiiix7]:focus{outline:none;border-color:var(--org-teal, var(--color-primary));box-shadow:0 0 0 3px #0078641a}.spa-form-error[data-astro-cid-2lyiiix7]{font-size:var(--text-xs);color:#ef4444;display:none}.spa-form-group[data-astro-cid-2lyiiix7].has-error .spa-form-input[data-astro-cid-2lyiiix7]{border-color:#ef4444;background-color:#ef44440d}.spa-form-group[data-astro-cid-2lyiiix7].has-error .spa-form-error[data-astro-cid-2lyiiix7]{display:block}.spa-date-wrapper[data-astro-cid-2lyiiix7]{position:relative}.spa-date-display[data-astro-cid-2lyiiix7]{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.spa-date-display[data-astro-cid-2lyiiix7][aria-expanded=true] .spa-date-chevron[data-astro-cid-2lyiiix7]{transform:rotate(180deg)}.spa-date-chevron[data-astro-cid-2lyiiix7]{transition:transform .2s ease;flex-shrink:0}.spa-cal-popup[data-astro-cid-2lyiiix7]{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:300px;background:var(--org-cream, #FAF8F5);border:1px solid rgba(139,154,123,.3);border-radius:16px;box-shadow:0 12px 40px #4a3f3526;z-index:100;overflow:hidden}.spa-cal-popup[data-astro-cid-2lyiiix7].active{display:block}.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-header{display:flex;align-items:center;justify-content:space-between;background:#007864;padding:12px}.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-selects{display:flex;gap:8px;align-items:center}.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-month-select,.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-year-select{background:#fff3;color:#fff;border:none;border-radius:8px;padding:8px 12px;font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;-webkit-appearance:none;appearance:none}.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-month-select option,.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-year-select option{background:#007864;color:#fff}.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-nav{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:4px 10px;border-radius:8px;line-height:1;transition:background .2s ease}.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-nav:hover{background:#fff3}.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:12px;gap:2px}.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-day-name{font-family:var(--font-body);font-size:12px;font-weight:600;color:#8b9a7b;text-align:center;padding:8px 0}.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-day{font-family:var(--font-body);font-size:14px;text-align:center;border-radius:8px;padding:0;border:none;background:transparent;color:#4a3f35;aspect-ratio:1;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.spa-cal-popup[data-astro-cid-2lyiiix7] button.cal-day{cursor:pointer}.spa-cal-popup[data-astro-cid-2lyiiix7] button.cal-day:hover:not(.cal-selected){background:#0078641a}.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-today{border:2px solid #007864}.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-selected{background:#007864;color:#fff;font-weight:600}.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-disabled,.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-other{color:#8b9a7b4d}.spa-submit-btn[data-astro-cid-2lyiiix7]{background:var(--org-teal, var(--color-primary));color:#fff;border:none;border-radius:999px;padding:14px 32px;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;margin-top:8px}.spa-submit-btn[data-astro-cid-2lyiiix7]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #0078644d}.spa-submit-btn[data-astro-cid-2lyiiix7]:disabled{cursor:not-allowed;opacity:.8}.spa-form-status[data-astro-cid-2lyiiix7]{display:none;padding:var(--space-md);border-radius:12px;font-size:var(--text-sm);line-height:1.5}.spa-form-status[data-astro-cid-2lyiiix7].success{display:block;background-color:#00786414;border-left:3px solid var(--org-teal, var(--color-primary));color:var(--org-teal, var(--color-primary))}.spa-form-status[data-astro-cid-2lyiiix7].error{display:block;background-color:#ef444414;border-left:3px solid #ef4444;color:#991b1b}.spa-form-disclaimer[data-astro-cid-2lyiiix7]{font-family:var(--font-body);font-size:var(--text-xs);font-style:italic;color:var(--org-sage, #8B9A7B);text-align:center;margin:8px 0 0}@media(max-width:768px){.spa-booking-form[data-astro-cid-2lyiiix7]{scroll-margin-top:275px}.spa-booking-card[data-astro-cid-2lyiiix7]{padding:28px}.spa-section-title[data-astro-cid-2lyiiix7]{font-size:var(--text-2xl)}.spa-section-header[data-astro-cid-2lyiiix7]{margin-bottom:36px}.spa-form-row[data-astro-cid-2lyiiix7]{grid-template-columns:1fr}.spa-cal-popup[data-astro-cid-2lyiiix7]{min-width:unset}.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-month-select,.spa-cal-popup[data-astro-cid-2lyiiix7] .cal-year-select{padding:6px 8px;font-size:14px}}.gallery-section{padding:var(--space-3xl) 0;background-color:var(--color-off-white)}.gallery-container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.gallery-container--full{max-width:100%;padding:0 var(--space-md)}.gallery-header{text-align:center;margin-bottom:var(--space-2xl)}.gallery-title{font-size:var(--text-4xl);margin:0;color:var(--color-primary);font-family:var(--font-heading);font-weight:300}.gallery-subtitle{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:3px;color:var(--color-secondary-dark);margin-top:4px;font-family:var(--font-body)}.gallery-subtitle .text-thai,.gallery-subtitle .text-thai-body,.gallery-subtitle .text-chinese,.gallery-subtitle .text-chinese-body{font-size:var(--text-base);letter-spacing:normal;text-transform:none}@media(max-width:768px){.gallery-title{font-size:var(--text-3xl)}}.gallery-filter{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-2xl)}.gallery-filter-btn{font-family:var(--font-body);font-size:var(--text-sm);padding:var(--space-xs) var(--space-lg);border:1px solid var(--color-gray-light);border-radius:var(--radius-full);background:var(--color-white);color:var(--color-secondary-dark);cursor:pointer;transition:all var(--transition-base)}.gallery-filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.gallery-filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.gallery-empty{text-align:center;padding:var(--space-3xl) var(--space-md)}.gallery-empty-icon{color:var(--color-gray);margin-bottom:var(--space-md)}.gallery-empty-text{font-size:var(--text-lg);color:var(--color-secondary);margin:0}.gallery-masonry{column-count:var(--desktop-cols);column-gap:var(--space-md)}@media(max-width:1024px){.gallery-masonry{column-count:var(--tablet-cols)}}@media(max-width:640px){.gallery-masonry{column-count:var(--mobile-cols)}}.gallery-masonry .gallery-item{break-inside:avoid;margin-bottom:var(--space-md)}.gallery-grid{display:grid;grid-template-columns:repeat(var(--desktop-cols),1fr);gap:var(--space-md)}@media(max-width:1024px){.gallery-grid{grid-template-columns:repeat(var(--tablet-cols),1fr)}}@media(max-width:640px){.gallery-grid{grid-template-columns:repeat(var(--mobile-cols),1fr)}}.gallery-grid .gallery-item img{aspect-ratio:4/3;object-fit:cover}.gallery-item{overflow:hidden;border-radius:var(--radius-md);position:relative;display:none}.gallery-item.visible{display:block}.gallery-item img{width:100%;height:auto;display:block;transition:transform .4s ease,opacity .3s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-item-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#000000b3,#0000);color:var(--color-white);padding:var(--space-lg) var(--space-md) var(--space-md);font-size:var(--text-sm);opacity:0;transition:opacity var(--transition-base)}.gallery-item:hover .gallery-item-caption{opacity:1}.gallery-slider{position:relative}.gallery-slider-wrapper{height:var(--slider-height);overflow:hidden;border-radius:var(--radius-lg);position:relative;cursor:grab;user-select:none}@media(max-width:640px){.gallery-slider-wrapper{height:var(--slider-height-mobile)}}.gallery-slider-track{display:flex;height:100%;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.gallery-slide{flex-shrink:0;width:100%;height:100%;position:relative}.gallery-slide img{width:100%;height:100%;object-fit:cover;display:block}[data-show-lightbox=true] .gallery-item,[data-show-lightbox=true] .gallery-slide img{cursor:pointer}.gallery-slider-prev,.gallery-slider-next{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:#00000026;color:#ffffffd9;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);z-index:2}.gallery-slider-prev{left:var(--space-md)}.gallery-slider-next{right:var(--space-md)}.gallery-slider-prev:hover,.gallery-slider-next:hover{color:var(--color-white);background:#0000004d}@media(max-width:1024px){.gallery-slider-prev,.gallery-slider-next{width:36px;height:36px}}@media(max-width:640px){.gallery-slider-prev,.gallery-slider-next{width:32px;height:32px}.gallery-slider-prev{left:var(--space-sm)}.gallery-slider-next{right:var(--space-sm)}}.gallery-slider-counter{position:absolute;bottom:var(--space-md);right:var(--space-lg);background:#00000026;color:#ffffffd9;font-size:var(--text-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);z-index:2}.gallery-load-more-wrapper{display:flex;justify-content:center;margin-top:var(--space-2xl)}.gallery-load-more{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:var(--font-heading);font-weight:400;font-size:var(--text-base);color:var(--color-primary);padding:var(--space-sm) var(--space-xl);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:transparent;cursor:pointer;letter-spacing:1px;transition:all var(--transition-base)}.gallery-load-more:hover{background:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-md);transform:translateY(-1px)}.gallery-load-more.hidden{display:none}.gallery-lightbox{position:fixed;inset:0;background:#000000eb;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s ease}.gallery-lightbox.active{opacity:1;pointer-events:auto;visibility:visible}.gallery-lightbox-content{position:relative;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;align-items:center}.gallery-lightbox-image{max-width:100%;max-height:calc(85vh - 60px);object-fit:contain;opacity:0;transition:opacity .3s ease}.gallery-lightbox-image.loaded{opacity:1}.gallery-lightbox-caption{color:var(--color-white);margin-top:var(--space-md);font-size:var(--text-base);text-align:center}.gallery-lightbox-close{position:absolute;top:var(--space-lg);right:var(--space-lg);width:40px;height:40px;border:none;background:#fff3;backdrop-filter:blur(8px);color:var(--color-white);border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base);z-index:10001}.gallery-lightbox-close:hover{background:#ffffff4d}.gallery-lightbox-prev,.gallery-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:none;background:#fff3;backdrop-filter:blur(8px);color:var(--color-white);border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base);z-index:10001}.gallery-lightbox-prev{left:var(--space-lg)}.gallery-lightbox-next{right:var(--space-lg)}.gallery-lightbox-prev:hover,.gallery-lightbox-next:hover{background:#ffffff4d}.gallery-lightbox-prev.hidden,.gallery-lightbox-next.hidden{display:none}.gallery-lightbox-counter{position:absolute;bottom:var(--space-lg);left:50%;transform:translate(-50%);color:var(--color-white);font-size:var(--text-sm);background:#00000080;backdrop-filter:blur(8px);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full)}@media(max-width:640px){.gallery-lightbox-prev{left:var(--space-sm)}.gallery-lightbox-next{right:var(--space-sm)}.gallery-lightbox-close{top:var(--space-sm);right:var(--space-sm)}}
