@font-face{font-display:swap;font-family:'Noto Sans Thai';font-style:normal;font-weight:400;src:url(../fonts/noto-sans-thai-v28-latin_thai-400.woff2) format('woff2')}@font-face{font-display:swap;font-family:'Noto Sans Thai';font-style:normal;font-weight:500;src:url(../fonts/noto-sans-thai-v28-latin_thai-500.woff2) format('woff2')}@font-face{font-display:swap;font-family:'Noto Sans Thai';font-style:normal;font-weight:600;src:url(../fonts/noto-sans-thai-v28-latin_thai-600.woff2) format('woff2')}@font-face{font-display:swap;font-family:'Noto Sans Thai';font-style:normal;font-weight:700;src:url(../fonts/noto-sans-thai-v28-latin_thai-700.woff2) format('woff2')}:root,html[data-theme='light']{--bg-primary:#ffffff;--bg-secondary:#f9f9f9;--bg-tertiary:#e9ecef;--bg-header-gradient:linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);--text-primary:#555c6b;--text-headings:#222222;--text-inverted:#ffffff;--text-link:#6168ff;--text-link-hover:#4a50c4;--text-link-high-contrast:#474fc8;--border-primary:#e0e0e0;--border-secondary:#d0dae2;--accent-primary:#c2185b;--accent-secondary:#0b5dff;--section-title-bg:#ffe7eb;--section-title-text:#c2185b;--card-bg:#ffffff;--card-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.05);--card-frosted-bg:rgba(255, 255, 255, 0.45);--card-frosted-border:rgba(255, 255, 255, 0.2);--modal-bg:#ffffff}html[data-theme='dark']{--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-tertiary:#2a2a2a;--bg-header-gradient:linear-gradient(-45deg, #0b0712, #2c1a44, #5c2c78, #0b0712);--text-primary:#e0e0e0;--text-headings:#ffffff;--text-inverted:#121212;--text-link:#8a9aff;--text-link-hover:#a1afff;--text-link-high-contrast:#8a9aff;--border-primary:#3a3a3a;--border-secondary:#4a4a4a;--accent-primary:#e91e63;--accent-secondary:#5c6bc0;--section-title-bg:#3a2e3f;--section-title-text:#e91e63;--card-bg:#252525;--card-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.2);--card-frosted-bg:rgba(30, 30, 30, 0.45);--card-frosted-border:rgba(255, 255, 255, 0.1);--modal-bg:#2a2a2a}html{scroll-behavior:smooth}body,html{width:100%;height:100%}body{background-color:var(--bg-primary);transition:background-color 0.3s}.btn,.dropdown-item,.nav-link,body,p{font-family:'Noto Sans Thai',sans-serif;color:var(--text-primary)}.navbar-brand,.price-tag,.testimonial-author,h1,h2,h3,h4,h5,h6{color:var(--text-headings)}.navbar-brand,.price-tag,.testimonial-author,h1,h2,h3,h4,h5,h6{font-weight:700}a{color:var(--text-link);text-decoration:none}a:hover{color:var(--text-link-hover)}.bg-gray{background-color:var(--bg-secondary)}.py-section{padding-top:4rem;padding-bottom:4rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.amenities-list li,.copyright .list-unstyled li,.section-title{margin-bottom:.75rem}.btn-solid-lg{display:inline-block;padding:1rem 1.5rem;font-size:.875rem;line-height:1.5;border-radius:30px;background:linear-gradient(95deg,#e73c7e,#c2185b);border:none;color:#fff;font-weight:700;box-shadow:0 5px 20px rgb(231 60 126 / .4);transition:0.3s}.btn-solid-lg:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgb(231 60 126 / .5)}.btn-outline-primary{border-color:var(--accent-secondary);color:var(--accent-secondary)}.btn-outline-primary:hover{color:#fff;background-color:var(--accent-secondary)}.btn-outline-secondary{border-color:var(--text-primary);color:var(--text-primary)}.btn-outline-secondary:hover{background-color:var(--text-primary);color:var(--bg-primary)}.theme-switch-wrapper{display:flex;align-items:center}.theme-switch{position:relative;display:inline-block;width:50px;height:26px;cursor:pointer}.theme-switch input{opacity:0;width:0;height:0}.slider{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ccc;border-radius:26px;transition:0.4s;cursor:pointer}.slider:before{content:'';position:absolute;height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:0.4s}input:checked+.slider{background-color:var(--accent-secondary)}input:checked+.slider:before{transform:translateX(24px)}.slider .moon-icon,.slider .sun-icon{position:absolute;top:50%;transform:translateY(-50%);transition:opacity 0.4s}.slider .sun-icon{left:6px;opacity:0}.slider .moon-icon{right:6px;opacity:1}.slider .moon-icon img,.slider .sun-icon img{width:16px;height:16px}input:checked+.slider .sun-icon{opacity:1}input:checked+.slider .moon-icon{opacity:0}.navbar{background-color:#fff0;font-weight:600;padding-top:1.75rem;transition:background-color 0.2s,padding 0.2s,box-shadow 0.2s}.navbar.top-nav-collapse{background-color:var(--card-frosted-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 6px rgb(0 0 0 / .05);padding-top:.5rem;padding-bottom:.5rem}html[data-theme='dark'] .navbar.top-nav-collapse{box-shadow:0 1px 6px rgb(255 255 255 / .05)}.navbar .logo-text{color:var(--text-headings);font-weight:700;font-size:1.875rem}.navbar .nav-item .nav-link{padding-right:.85rem;padding-left:.85rem;color:#fff;opacity:.9}.navbar.top-nav-collapse .nav-item .nav-link{color:var(--text-primary)}.navbar.top-nav-collapse .nav-item .nav-link.active,.navbar.top-nav-collapse .nav-item .nav-link:hover{color:var(--text-link);font-weight:700}.navbar-toggler{padding:0;border:none;font-size:1.25rem}html[data-theme='light'] .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0,0,0,0.55)' stroke-linecap='round' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}html[data-theme='dark'] .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.55)' stroke-linecap='round' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar .btn-solid-sm{display:inline-block;font-weight:600;font-size:.875rem;padding:1rem 1.5rem;border:1px solid var(--accent-secondary);border-radius:30px;background-color:var(--accent-secondary);color:#fff;line-height:0;text-decoration:none;transition:0.2s}.navbar .btn-solid-sm:hover{background-color:var(--text-link-hover);border-color:var(--text-link-hover);color:#fff}.header{padding-top:8rem;padding-bottom:0;position:relative;overflow:hidden;min-height:500px}.header-bg-gradient{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--bg-header-gradient);background-size:400% 400%;animation:15s infinite gradient-animation;z-index:-1}@keyframes gradient-animation{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}.header .text-container{margin-bottom:4rem}.header .content-card{background:var(--card-frosted-bg);backdrop-filter:none;border-radius:20px;padding:2.5rem;border:1px solid var(--card-frosted-border);box-shadow:var(--card-shadow)}#hero-image-wrapper{position:relative;aspect-ratio:800/533;border-radius:.75rem;background-color:var(--bg-tertiary);overflow:hidden;min-height:200px}#heroCarousel .carousel-inner{aspect-ratio:800/533;border-radius:.75rem;background-color:var(--bg-tertiary);overflow:hidden}#hero-image-wrapper img,#heroCarousel .carousel-item img{height:100%;width:100%;object-fit:cover}#heroCarousel .carousel-item{height:100%}.waves{position:absolute;bottom:-1px;left:0;width:100%;height:100px;z-index:0;overflow:hidden;aspect-ratio:150 / 28}.waves use{animation:25s cubic-bezier(.55,.5,.45,.5) infinite move-forever;fill:var(--bg-primary);will-change:transform}.waves use:first-child{animation-delay:-2s;animation-duration:7s;opacity:.7}.waves use:nth-child(2){animation-delay:-3s;animation-duration:10s;opacity:.5}.waves use:nth-child(3){animation-delay:-4s;animation-duration:13s;opacity:.3}.waves use:nth-child(4){animation-delay:-5s;animation-duration:20s}@keyframes move-forever{0%{transform:translate3d(-90px,0,0)}100%{transform:translate3d(85px,0,0)}}html[data-theme=dark] #services .card-body p,html[data-theme=dark] #services .card-body ul li,html[data-theme=dark] #booking-policy .card-body p,html[data-theme=dark] #booking-policy .card-body strong,html[data-theme=dark] #booking-policy .card-body li,html[data-theme=dark] #guides .card-body p,html[data-theme=dark] #guides .card-body ul li,html[data-theme=dark] ol.list-unstyled.lh-lg.ps-2 li,html[data-theme=dark] .accordion-body,html[data-theme=dark] .modal-body p,html[data-theme=dark] .modal-body li,html[data-theme=dark] .restaurant-item .desc,html[data-theme=dark] .restaurant-item .hours{color:var(--text-primary)}.section-title{display:inline-block;font-weight:600;font-size:.875rem;padding:.25rem 1.75rem;border-radius:30px;background-color:var(--section-title-bg);color:var(--section-title-text)}.accordion-item,.card{background-color:var(--card-bg);border-color:var(--border-primary)}.cards-1{padding-top:0;padding-bottom:1rem}.cards-1 .card{margin-bottom:3rem;padding:3rem 2rem;border-radius:20px;transition:0.2s ease-in-out}.cards-1 .card:hover{transform:translateY(-5px);box-shadow:var(--card-shadow)}.card-icon{width:90px;height:90px;margin:1rem auto;display:flex;align-items:center;justify-content:center;border-radius:50%;background-size:cover}.card-icon.has-bg-blue{background-image:url(../img/services-icon-bg-blue.webp)}.card-icon.has-bg-yellow{background-image:url(../img/services-icon-bg-yellow.webp)}.card-icon.has-bg-red{background-image:url(../img/services-icon-bg-red.webp)}.basic-2 .text-container *,.header .content-card .fw-bold,.header .content-card .h1-large,.header .content-card .p-large{color:#fff}#faq .accordion-button,.map-responsive,.restaurant-item{background-color:var(--card-bg)}#faq .accordion-button,.modal-body h4,.modal-title,html[data-theme='dark'] #booking-policy .card-body h3,html[data-theme='dark'] .restaurant-item .h6{color:var(--text-headings)}.restaurant-list-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.restaurant-item{display:flex;align-items:flex-start;padding:1rem;border:1px solid var(--border-primary);border-radius:.75rem;transition:0.2s ease-in-out;box-shadow:0 4px 10px rgba(0,0,0, .07)}.restaurant-item:hover{transform:translateY(-5px);box-shadow:var(--card-shadow);border-color:var(--text-link)}.restaurant-item .item-number{font-weight:700;color:var(--accent-primary);margin-right:1rem;font-size:1.1rem}.restaurant-item .h6{color:var(--text-link-high-contrast);font-weight:700;margin-bottom:.25rem}.basic-2,.slider-1{padding-bottom:3rem}.slider-1{padding-top:4rem}.slider-1 .card{border:none;background-color:#fff0;text-align:center;min-height:320px}.slider-1 .card-body{display:flex;flex-direction:column;justify-content:center;height:100%}.slider-1 .quotes{margin:0 auto 1.5rem;width:62px;flex-shrink:0}.slider-1 .testimonial-text{font-style:italic;flex-grow:1}.slider-1 .details{margin-top:auto;padding-top:1rem;flex-shrink:0}#faq .accordion-button:not(.collapsed){color:var(--text-inverted);background-color:var(--accent-secondary)}.basic-2{padding-top:3rem}.basic-2 .text-container{padding:4rem 1.5rem;border-radius:20px;background:url(../img/invitation-background.webp) center center/cover no-repeat}.map-responsive{border-radius:1rem;box-shadow:var(--card-shadow);padding:.75rem;overflow:hidden}.map-responsive iframe{border-radius:.5rem;border:none}.copyright,.footer{background-color:var(--bg-secondary);text-align:center}.footer{overflow:hidden;position:relative;padding-top:8rem;padding-bottom:2rem}.footer::before{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:1920px;height:309px;background-image:url(../img/decoration-city.webp);background-repeat:no-repeat;background-position:center bottom;background-size:contain;opacity:.5;z-index:0}html[data-theme='dark'] .footer::before{opacity:.1}.footer .container{position:relative;z-index:1}.copyright{padding-top:1.5rem;padding-bottom:1rem;border-top:1px solid var(--border-secondary)}.copyright a{color:var(--text-link-high-contrast)}#myBtn{position:fixed;z-index:99;bottom:20px;right:20px;display:none;width:52px;height:52px;border:none;border-radius:50%;outline:0;background-color:#44434a;cursor:pointer}#myBtn:hover{background-color:#1d1d21}#myBtn img{margin-bottom:.25rem;width:18px}.modal-content{background-color:var(--modal-bg)}.modal-header{border-bottom-color:var(--border-primary)}.btn-close{filter:var(--bs-btn-close-white-filter)}html[data-theme='dark'] .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}.spec-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;flex-basis:0%;flex-grow:1}.spec-item img{width:32px;height:32px;object-fit:contain}.amenities-list{list-style:none;padding-left:0;columns:2;column-gap:1rem}.amenities-list li{break-inside:avoid}.modal-body li,.modal-body p{color:var(--text-primary)}.pricing-checkmark{width:16px;height:16px;margin-right:.5rem;vertical-align:middle}

/* === New Pricing Card Styles === */
.card-price-pro{background-color:var(--card-bg);border:1px solid var(--border-primary);border-radius:1rem;text-align:center;display:flex;flex-direction:column;height:100%;transition:transform .3s,box-shadow .3s;overflow:hidden;position:relative;cursor:pointer;z-index:1}
.card-price-pro:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,0,0,.1);z-index:2}
.card-price-header-pro{padding:1rem;background:linear-gradient(to right, #f8f9fa, #e9ecef)}
html[data-theme=dark] .card-price-header-pro{background:linear-gradient(to right, #2a2a2a, #1e1e1e)}
.card-title-pro{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-headings)}
.card-price-body-pro{padding:1.5rem 1rem;flex-grow:1;display:flex;flex-direction:column;justify-content:flex-start}
.price-tag-pro{font-size:2.8rem;font-weight:700;line-height:1;color:var(--text-headings);margin-bottom:.5rem}
.price-tag-pro span{font-size:1rem;font-weight:400;color:var(--text-primary)}
.price-icon-container-pro{display:flex;justify-content:center;align-items:center;gap:.5rem;margin:.5rem auto}
.price-icon-pro{width:24px;height:24px;opacity:.8}
.occupancy-pro{color:var(--text-primary);font-weight:500;margin-bottom:1.5rem}
.feature-list-pro{list-style:none;padding:0;text-align:left;margin:0 auto 1.5rem;width:-moz-fit-content;width:fit-content}
.feature-list-pro li{margin-bottom:.75rem;color:var(--text-primary);font-size:.9rem;display:flex;align-items:center}
.feature-checkmark-pro{width:16px;height:16px;margin-right:.5rem}
.card-price-footer-pro{margin-top:auto;padding:0 1.5rem 1.5rem}
.btn-select-pro{display:inline-block;width:100%;padding:.65rem 1.5rem;border-radius:50px;text-decoration:none;font-weight:600;transition:.2s ease-in-out;border:2px solid var(--accent-secondary);color:var(--accent-secondary)}
.btn-select-pro:hover{background-color:var(--accent-secondary);color:var(--text-inverted)}
.badge-recommended{position:absolute;top:1rem;right:-50px;background:linear-gradient(95deg,#e73c7e,#c2185b);color:#fff;padding:.4rem 3.5rem;font-size:.8rem;font-weight:700;transform:rotate(45deg);z-index:3}

@media (max-width:991.98px){.navbar{background-color:var(--bg-primary)}.navbar .nav-item .nav-link{color:var(--text-primary)}.navbar.top-nav-collapse .nav-item .nav-link.active,.navbar.top-nav-collapse .nav-item .nav-link:hover{color:var(--text-link)}.copyright,.header{text-align:center}.h2-heading,.p-heading{width:auto}}
@media (max-width:767.98px){body{font-size:16px;line-height:1.7}.accordion-body,.p-heading,.p-large,.testimonial-text,li,p{font-size:1rem}.h1-large{font-size:2rem}.h2-heading{font-size:1.75rem;line-height:1.4}.h5,h3{font-size:1.2rem}.h6{font-size:1.1rem}.header{padding-top:6rem;padding-bottom:2rem;min-height:350px}.header .content-card{padding:1.5rem}.py-section{padding-top:3rem;padding-bottom:3rem}.cards-1 .card{padding:2rem 1.5rem;margin-bottom:2rem}.waves{height:70px}.footer::before{display:none}.footer{padding-top:4rem}.amenities-list{columns:1}.btn-solid-lg{padding:.8rem 1.2rem;font-size:.875rem}.restaurant-list-container{grid-template-columns:1fr;gap:1rem}.basic-2 .text-container{padding:2.5rem 1.5rem}.slider-1 .card{min-height:360px}#hero-image-wrapper{min-height:150px}}@media (min-width:768px){.restaurant-list-container{gap:1.5rem}}@media (min-width:992px){.copyright,.header{text-align:left}.h2-heading,.p-heading{width:46rem;margin-right:auto;margin-left:auto}.header{padding-top:10rem;padding-bottom:8rem}.header .row{align-items:stretch}.header .text-container{margin-bottom:0;display:flex;flex-direction:column;justify-content:center;height:100%}.copyright .list-unstyled li{display:inline-block;margin-right:1rem;margin-bottom:0}.copyright .statement{text-align:right}

/* === Location Card Layout (Capsule Style) === */
.location-container{display:flex;flex-wrap:wrap;gap:.75rem;list-style-type:none;padding-left:0;margin-top:1rem}
.location-item{display:flex;align-items:center;flex-basis:calc(50% - .375rem);flex-grow:1;box-sizing:border-box;padding:.5rem;background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px}
.location-icon{width:24px;height:24px;margin-right:.75rem;flex-shrink:0}
.capsule{background-color:var(--section-title-bg);color:var(--section-title-text);padding:.2rem .6rem;border-radius:16px;font-size:.8rem;font-weight:500;white-space:nowrap}
.capsule-distance{background-color:var(--bg-tertiary);color:var(--text-primary);padding:.2rem .6rem;border-radius:16px;font-size:.8rem;margin-left:auto;font-weight:400}
#services .card{height:100%}
.contact-icon{width:20px;height:20px;vertical-align:middle;margin-right:.75rem}
.social-container{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.25rem}
.social-container .social-link img{width:36px;height:36px;transition:transform .2s ease-in-out,filter .2s ease-in-out,opacity .2s ease-in-out;filter:grayscale(100%);opacity:.7}
.social-container .social-link:hover img{transform:scale(1.15);filter:grayscale(0%);opacity:1}
html[data-theme='dark'] .restaurant-item{box-shadow:0 4px 10px rgba(0,0,0,.2)}
html[data-theme='dark'] .location-item .capsule{background-color:var(--bg-tertiary)}

@media (max-width:576px){
    .location-item{
        flex-basis:100%
    }
    .location-container{
        gap:.5rem
    }
    .location-icon {
        width: 22px;
        height: 22px;
    }
    .cards-1 .card .card-body { 
        padding-bottom: 1.5rem; 
    }
}