@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Playfair+Display:wght@500;600&display=swap";
:root{--anthracite:#1f1f1f;--wood:#3a1d0e;--gold:#b89555;--cream:#f4f0e8;--white:#fff;--text:#292929;--muted:#77716a}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--text);font-family:Inter,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{width:100%;display:block}.container{width:min(1180px,100% - 48px);margin:0 auto}.section{padding:110px 0}.eyebrow{color:var(--gold);letter-spacing:3px;text-transform:uppercase;margin-bottom:18px;font-size:12px;font-weight:600}.hero{min-height:720px;color:var(--white);background-position:50%;background-size:cover;align-items:center;display:flex;position:relative}.hero-overlay{background:linear-gradient(90deg,#000000b8,#00000047,#00000014);position:absolute;inset:0}.hero-content{z-index:1;width:min(1180px,100% - 48px);margin:0 auto;padding-top:70px;position:relative}.hero h1{max-width:760px;margin-bottom:26px;font-family:Playfair Display,serif;font-size:clamp(54px,7vw,88px);font-weight:500;line-height:1.04}.hero-text{color:#ffffffe6;margin-bottom:38px;font-size:20px}.button{letter-spacing:1.8px;justify-content:center;align-items:center;min-height:52px;padding:0 30px;font-size:12px;font-weight:600;transition:all .25s;display:inline-flex}.button-gold{background:var(--gold);color:var(--white)}.button-gold:hover{background:#a7854d;transform:translateY(-2px)}.button-dark{background:var(--anthracite);color:var(--white)}.button-dark:hover{background:var(--wood)}.intro{background:var(--cream)}.intro-grid{grid-template-columns:1fr 1fr;align-items:center;gap:100px;display:grid}.intro h2,.section-heading h2,.contact h2,.booking-banner h2{color:var(--anthracite);font-family:Playfair Display,serif;font-size:clamp(38px,4vw,58px);font-weight:500;line-height:1.12}.intro-copy{max-width:500px;color:var(--muted);font-size:17px}.intro-copy p+p{margin-top:22px}.services{background:var(--white)}.section-heading{max-width:720px;margin-bottom:55px}.section-heading h2{color:var(--anthracite)}.service-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.service-card{background:var(--cream);border:1px solid #e7e1d8;flex-direction:column;min-height:350px;padding:42px 36px;transition:all .3s;display:flex}.service-card:hover{border-color:var(--gold);transform:translateY(-6px)}.service-icon{color:var(--gold);align-items:center;height:65px;font-size:42px;display:flex}.service-card h3{color:var(--anthracite);margin-bottom:14px;font-family:Playfair Display,serif;font-size:32px;font-weight:500}.service-card p{color:var(--muted);max-width:310px;font-size:15px}.service-card span{color:var(--gold);letter-spacing:1.5px;margin-top:auto;padding-top:28px;font-size:11px;font-weight:600}.cta{text-align:center;min-height:570px;color:var(--white);background-position:50%;background-size:cover;justify-content:center;align-items:center;display:flex;position:relative}.cta-overlay{background:#14100c9e;position:absolute;inset:0}.cta-content{z-index:1;position:relative}.cta h2{margin-bottom:35px;font-family:Playfair Display,serif;font-size:clamp(46px,6vw,76px);font-weight:500;line-height:1.08}.gallery{background:var(--cream)}.gallery-grid{grid-template-rows:260px 260px;grid-template-columns:1.5fr 1fr;gap:18px;display:grid}.gallery-item{overflow:hidden}.gallery-large{grid-row:span 2}.contact{background:var(--white)}.contact-grid{grid-template-columns:1fr 1fr;align-items:center;gap:100px;display:grid}.contact h2{margin-bottom:25px}.contact p{color:var(--muted);max-width:520px;font-size:16px}.contact-details{flex-direction:column;gap:28px;display:flex}.contact-details div{border-bottom:1px solid #e4dfd7;flex-direction:column;gap:4px;padding-bottom:20px;display:flex}.contact-details span{color:var(--gold);letter-spacing:2px;font-size:10px;font-weight:600}.contact-details strong{font-size:16px;font-weight:500}.booking-banner{background:var(--gold);color:var(--white);padding:65px 0}.booking-content{justify-content:space-between;align-items:center;gap:40px;display:flex}.booking-banner .eyebrow{color:#ffffffbf}.booking-banner h2{color:var(--white);font-size:42px}.booking-banner .button-dark{background:var(--anthracite);flex-shrink:0}@media (max-width:800px){.section{padding:75px 0}.container{width:min(100% - 32px,1180px)}.hero{min-height:650px}.hero-content{width:calc(100% - 32px)}.hero h1{font-size:52px}.intro-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.service-grid{grid-template-columns:1fr}.service-card{min-height:300px}.gallery-grid{grid-template-rows:300px 240px 240px;grid-template-columns:1fr}.gallery-large{grid-row:auto}.booking-content{flex-direction:column;align-items:flex-start}.booking-banner h2{font-size:36px}}.site-header{z-index:10;color:var(--white);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1f1f1f33;border-bottom:1px solid #ffffff2e;position:fixed;top:0;left:0;right:0}.header-inner{align-items:center;gap:42px;width:min(1280px,100% - 48px);min-height:88px;margin:0 auto;display:flex}.logo{flex-direction:column;min-width:180px;line-height:1;display:flex}.logo span{letter-spacing:2.5px;opacity:.75;margin-bottom:7px;font-size:10px}.logo strong{letter-spacing:.5px;font-family:Playfair Display,serif;font-size:22px;font-weight:500}.nav{flex:1;justify-content:center;align-items:center;gap:28px;display:flex}.nav a{color:#ffffffd1;letter-spacing:1.6px;white-space:nowrap;padding:34px 0;font-size:10px;font-weight:600;transition:color .25s;position:relative}.nav a:hover,.nav a.active{color:var(--white)}.nav a.active:after{content:"";background:var(--gold);height:1px;position:absolute;bottom:22px;left:0;right:0}.header-button{background:var(--gold);min-height:42px;color:var(--white);letter-spacing:1.4px;white-space:nowrap;justify-content:center;align-items:center;padding:0 20px;font-size:10px;font-weight:600;transition:all .25s;display:inline-flex}.header-button:hover{background:#a7854d}@media (max-width:1050px){.header-inner{gap:20px}.nav{gap:16px}.nav a{letter-spacing:1px;font-size:9px}.header-button{padding:0 14px;font-size:9px}}@media (max-width:800px){.site-header{position:absolute}.header-inner{width:calc(100% - 32px);min-height:76px}.logo{min-width:auto}.logo span{letter-spacing:1.8px;font-size:8px}.logo strong{font-size:18px}.nav{display:none}.header-button{min-height:40px;margin-left:auto;padding:0 14px;font-size:8px}}.fitness-hero{background:#1f1f1f;height:560px;position:relative;overflow:hidden}.fitness-hero img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.fitness-hero-overlay{background:linear-gradient(90deg,#000000b8,#00000052,#00000014);align-items:center;display:flex;position:absolute;inset:0}.fitness-hero-content{color:#fff;width:min(1180px,90%);margin:0 auto}.fitness-hero-content h1{letter-spacing:2px;margin:0 0 14px;font-size:clamp(48px,7vw,82px);font-weight:500;line-height:.95}.fitness-breadcrumb{letter-spacing:2px;text-transform:uppercase;color:#d7c29b;margin-bottom:22px;font-size:13px}.fitness-hero-content p{color:#ffffffe6;max-width:520px;margin:0;font-size:18px;line-height:1.7}.fitness-intro{background:#f4f0e8;padding:110px 20px 90px}.fitness-intro-inner{text-align:center;width:min(900px,90%);margin:0 auto}.fitness-intro h2{color:#1f1f1f;margin:0 0 24px;font-size:clamp(34px,5vw,52px);font-weight:500;line-height:1.1}.fitness-intro p{color:#555;max-width:760px;margin:0 auto;font-size:17px;line-height:1.8}.fitness-features{background:#fff;padding:90px 20px}.fitness-features-grid{grid-template-columns:repeat(4,1fr);gap:45px;width:min(1100px,90%);margin:0 auto;display:grid}.fitness-feature-icon{color:#b89555;border:1px solid #b89555;border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;margin:0 auto 22px;font-size:26px;display:flex}.fitness-gallery{background:#f4f0e8;padding:90px 20px 110px}.fitness-gallery-inner{width:min(1180px,92%);margin:0 auto}.fitness-gallery-title{text-align:center;margin-bottom:45px}.fitness-gallery-title span{color:#b89555;letter-spacing:3px;text-transform:uppercase;margin-bottom:12px;font-size:12px;display:block}.fitness-gallery-title h2{color:#1f1f1f;margin:0;font-size:clamp(32px,5vw,48px);font-weight:500}.fitness-gallery-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.fitness-cta{text-align:center;color:#fff;background:#1f1f1f;padding:105px 20px}.fitness-cta h2{margin:0 0 18px;font-size:clamp(34px,5vw,52px);font-weight:500}.fitness-cta p{color:#ffffffb8;max-width:600px;margin:0 auto 35px;font-size:16px;line-height:1.7}.fitness-cta-button{color:#fff;letter-spacing:1.5px;text-transform:uppercase;background:#b89555;justify-content:center;align-items:center;min-height:54px;padding:0 34px;font-size:13px;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.fitness-cta-button:hover{background:#a27e42;transform:translateY(-2px)}@media (max-width:900px){.fitness-features-grid{grid-template-columns:repeat(2,1fr);gap:45px 25px}.fitness-gallery-grid{grid-template-columns:1fr}.fitness-gallery-item{height:360px}}@media (max-width:600px){.fitness-hero{height:500px}.fitness-hero-content{width:86%}.fitness-intro,.fitness-features,.fitness-gallery,.fitness-cta{padding-top:75px;padding-bottom:75px}.fitness-features-grid{grid-template-columns:1fr}.fitness-gallery-item{height:300px}}.fitness-intro{grid-template-columns:1fr 1fr;align-items:center;gap:70px;display:grid}.fitness-intro-text{max-width:600px}.fitness-intro-text .section-label{color:#b89555;letter-spacing:3px;text-transform:uppercase;margin-bottom:18px;font-size:12px;display:block}.fitness-intro-text h2{color:#1f1f1f;margin:0 0 28px;font-size:clamp(38px,5vw,56px);font-weight:500;line-height:1.08}.fitness-intro-text p{color:#666;margin:0 0 18px;font-size:16px;line-height:1.8}.fitness-intro-image{height:520px;overflow:hidden}.fitness-intro-image img{object-fit:cover;width:100%;height:100%;display:block}.fitness-feature-grid{grid-template-columns:repeat(4,1fr);gap:45px;width:min(1100px,90%);margin:0 auto;display:grid}.fitness-feature{text-align:center}.feature-icon{color:#b89555;border:1px solid #b89555;border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;margin:0 auto 22px;font-size:25px;display:flex}.fitness-feature h3{color:#1f1f1f;margin:0 0 12px;font-size:19px;font-weight:500}.fitness-feature p{color:#666;margin:0;font-size:14px;line-height:1.7}.fitness-gallery-section{background:#f4f0e8}.fitness-gallery{grid-template-columns:1.4fr 1fr 1fr;gap:18px;width:min(1180px,92%);margin:0 auto;display:grid}.fitness-gallery-item{height:430px;overflow:hidden}.fitness-gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.fitness-gallery-item:hover img{transform:scale(1.04)}.fitness-gallery-large{height:430px}.fitness-cta{text-align:center;color:#fff;background:#1f1f1f;padding:110px 20px;position:relative}.fitness-cta-overlay{width:100%}.fitness-cta-content{max-width:700px;margin:0 auto}.fitness-cta-content>span{color:#b89555;letter-spacing:3px;margin-bottom:18px;font-size:12px;display:block}.fitness-cta-content h2{margin:0 0 18px;font-size:clamp(38px,5vw,56px);font-weight:500}.fitness-cta-content p{color:#ffffffb8;max-width:560px;margin:0 auto 35px;font-size:16px;line-height:1.7}@media (max-width:900px){.fitness-intro{grid-template-columns:1fr;gap:45px}.fitness-intro-text{max-width:none}.fitness-intro-image{height:400px}.fitness-feature-grid{grid-template-columns:repeat(2,1fr)}.fitness-gallery{grid-template-columns:1fr}.fitness-gallery-item,.fitness-gallery-large{height:360px}}@media (max-width:600px){.fitness-intro{gap:35px}.fitness-intro-image{height:300px}.fitness-feature-grid{grid-template-columns:1fr;gap:40px}.fitness-gallery-item,.fitness-gallery-large{height:300px}.fitness-cta{padding:80px 20px}}.subpage-hero{background-position:50%;background-size:cover;align-items:flex-end;min-height:620px;display:flex;position:relative}.subpage-hero-overlay{color:#fff;background:linear-gradient(#00000014,#00000040,#000000b8);align-items:flex-end;width:100%;min-height:620px;padding:0 0 95px;display:flex}.hero-eyebrow,.section-eyebrow{letter-spacing:3px;color:var(--gold);margin-bottom:17px;font-size:10px;font-weight:500}.subpage-hero h1{letter-spacing:2px;margin:0;font-family:Playfair Display,serif;font-size:clamp(55px,8vw,90px);font-weight:500;line-height:.95}.subpage-hero p{color:#ffffffe6;margin:22px 0 0;font-size:17px}.content-section{background:var(--cream);padding:110px 0}.two-column{grid-template-columns:1fr 1fr;align-items:center;gap:90px;display:grid}.content-text{max-width:560px}.content-text h2{color:var(--anthracite);margin:0 0 28px;font-family:Playfair Display,serif;font-size:clamp(38px,5vw,58px);font-weight:500;line-height:1.08}.content-text p{color:var(--muted);margin:0 0 20px;font-size:16px;line-height:1.8}.content-image{height:500px;overflow:hidden}.content-image img{object-fit:cover;width:100%;height:100%}.features-section{background:#fff;padding:105px 0}.features-section>.container>h2{max-width:750px;color:var(--anthracite);margin:0 0 65px;font-family:Playfair Display,serif;font-size:clamp(38px,5vw,56px);font-weight:500;line-height:1.1}.features-grid{grid-template-columns:repeat(4,1fr);gap:45px;display:grid}.feature{text-align:center}.feature-icon{border:1px solid var(--gold);width:68px;height:68px;color:var(--gold);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 22px;font-size:23px;display:flex}.feature h3{color:var(--anthracite);margin:0 0 12px;font-size:18px;font-weight:500}.feature p{color:var(--muted);margin:0;font-size:14px;line-height:1.7}.image-text-section{background:var(--white)}.image-frame{height:520px;overflow:hidden}.image-frame img{object-fit:cover;width:100%;height:100%}.gallery-section{background:var(--cream);padding:110px 0}.gallery-section h2{color:var(--anthracite);margin:0 0 55px;font-family:Playfair Display,serif;font-size:clamp(38px,5vw,56px);font-weight:500;line-height:1.1}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.gallery-item{height:380px;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.gallery-item:hover img{transform:scale(1.04)}.dark-cta{background:var(--anthracite);color:#fff;text-align:center;padding:110px 0}.dark-cta h2{max-width:800px;margin:0 auto 25px;font-family:Playfair Display,serif;font-size:clamp(40px,5vw,62px);font-weight:500;line-height:1.08}.dark-cta p{color:#ffffffb3;max-width:600px;margin:0 auto 35px;font-size:16px;line-height:1.7}.cta-button{background:var(--gold);color:#fff;letter-spacing:1.5px;justify-content:center;align-items:center;min-height:52px;padding:0 30px;font-size:11px;font-weight:600;transition:all .25s;display:inline-flex}.cta-button:hover{background:#a7854d}@media (max-width:900px){.container{width:min(100% - 40px,700px)}.two-column{grid-template-columns:1fr;gap:50px}.features-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr}.gallery-item{height:400px}}@media (max-width:600px){.container{width:calc(100% - 32px)}.subpage-hero,.subpage-hero-overlay{min-height:500px}.subpage-hero-overlay{padding-bottom:60px}.subpage-hero h1{font-size:52px}.content-section,.features-section,.gallery-section,.dark-cta{padding:75px 0}.features-grid{grid-template-columns:1fr;gap:40px}.content-image,.image-frame{height:350px}.gallery-item{height:300px}}.price-hero{background-position:50%;background-size:cover;min-height:560px;position:relative}.price-hero-overlay{background:linear-gradient(#0000000d,#00000040,#000000b8);align-items:flex-end;min-height:560px;padding:0 20px 90px;display:flex}.price-hero-content{color:#fff;width:min(1180px,92%);margin:0 auto}.price-hero-content>span{color:var(--gold);letter-spacing:3px;margin-bottom:18px;font-size:11px;display:block}.price-hero-content h1{margin:0 0 18px;font-family:Playfair Display,serif;font-size:clamp(55px,8vw,88px);font-weight:500;line-height:.95}.price-hero-content p{color:#ffffffe0;margin:0;font-size:17px}.pricing-section{background:var(--cream);padding:110px 20px}.pricing-container{width:min(1180px,100%);margin:0 auto}.pricing-intro{max-width:700px;margin-bottom:70px}.pricing-intro .section-label{color:var(--gold);letter-spacing:3px;margin-bottom:18px;font-size:11px;display:block}.pricing-intro h2{color:var(--anthracite);margin:0 0 25px;font-family:Playfair Display,serif;font-size:clamp(40px,5vw,58px);font-weight:500;line-height:1.08}.pricing-intro p{max-width:600px;color:var(--muted);margin:0;font-size:16px;line-height:1.8}.pricing-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.price-card{background:#fff;border:1px solid #1f1f1f14;padding:42px}.price-card-header{margin-bottom:28px}.price-card-header h2{color:var(--anthracite);margin:0 0 8px;font-family:Playfair Display,serif;font-size:32px;font-weight:500}.price-card-header p{color:var(--muted);margin:0;font-size:14px}.price-list{border-top:1px solid #ddd7cc}.price-row{border-bottom:1px solid #ddd7cc;grid-template-columns:1fr auto auto;align-items:center;gap:25px;min-height:70px;display:grid}.price-variant{color:var(--anthracite);font-size:15px}.price-duration{color:var(--muted);white-space:nowrap;font-size:13px}.price-value{min-width:85px;color:var(--gold);text-align:right;white-space:nowrap;font-size:19px;font-weight:600}.price-card-featured{background:var(--anthracite);border-color:var(--anthracite)}.price-card-featured .price-card-header h2,.price-card-featured .price-card-header p,.price-card-featured .price-variant{color:#fff}.price-card-featured .price-card-header p{color:#ffffffa6}.price-card-featured .price-list,.price-card-featured .price-row{border-color:#ffffff26}.price-card-badge{border:1px solid var(--gold);color:var(--gold);letter-spacing:2px;margin-bottom:14px;padding:7px 11px;font-size:9px;display:inline-block}.solarium-price-card{background:#fff}.solarium-price{border-top:1px solid #ddd7cc;border-bottom:1px solid #ddd7cc;justify-content:space-between;align-items:baseline;padding:20px 0;display:flex}.solarium-price span{color:var(--anthracite);font-size:16px}.solarium-price strong{color:var(--gold);font-size:30px;font-weight:600}.solarium-note{color:var(--muted);margin:20px 0 0;font-size:13px;line-height:1.6}.pricing-cta{background:var(--anthracite);color:#fff;text-align:center;padding:110px 20px}.pricing-cta-content{max-width:700px;margin:0 auto}.pricing-cta-content>span{color:var(--gold);letter-spacing:3px;margin-bottom:18px;font-size:11px;display:block}.pricing-cta-content h2{margin:0 0 20px;font-family:Playfair Display,serif;font-size:clamp(42px,5vw,60px);font-weight:500}.pricing-cta-content p{color:#ffffffb3;max-width:550px;margin:0 auto 35px;font-size:16px;line-height:1.7}@media (max-width:800px){.pricing-grid{grid-template-columns:1fr}.price-card{padding:30px 24px}.price-row{gap:12px}.price-variant{font-size:14px}.price-duration{font-size:12px}.price-value{min-width:70px;font-size:17px}}@media (max-width:600px){.price-hero,.price-hero-overlay{min-height:500px}.price-hero-overlay{padding-bottom:60px}.pricing-section,.pricing-cta{padding:75px 16px}.pricing-intro{margin-bottom:45px}.price-row{grid-template-columns:1fr auto;padding:15px 0}.price-duration{color:var(--muted);grid-column:1}.price-value{grid-area:1/2/span 2}}.contact-hero{background-position:50%;background-size:cover;min-height:560px;position:relative}.contact-hero-overlay{background:linear-gradient(#0000000d,#00000040,#000000b8);align-items:flex-end;min-height:560px;padding:0 20px 90px;display:flex}.contact-hero-content{color:#fff;width:min(1180px,92%);margin:0 auto}.contact-hero-content>span{color:var(--gold);letter-spacing:3px;margin-bottom:18px;font-size:11px;display:block}.contact-hero-content h1{margin:0 0 18px;font-family:Playfair Display,serif;font-size:clamp(55px,8vw,88px);font-weight:500;line-height:.95}.contact-hero-content p{color:#ffffffe0;margin:0;font-size:17px}.contact-page-section{background:var(--cream);padding:110px 20px}.contact-page-container{width:min(1180px,100%);margin:0 auto}.contact-page-intro{max-width:700px;margin-bottom:70px}.contact-page-intro .section-label{color:var(--gold);letter-spacing:3px;margin-bottom:18px;font-size:11px;display:block}.contact-page-intro h2{color:var(--anthracite);margin:0 0 25px;font-family:Playfair Display,serif;font-size:clamp(40px,5vw,58px);font-weight:500;line-height:1.08}.contact-page-intro p{max-width:600px;color:var(--muted);margin:0;font-size:16px;line-height:1.8}.contact-page-grid{grid-template-columns:.85fr 1.15fr;align-items:stretch;gap:70px;display:grid}.contact-info{background:#fff;flex-direction:column;gap:0;display:flex}.contact-item{border-bottom:1px solid #ddd7cc;padding:30px 35px}.contact-item:last-child{border-bottom:none}.contact-item>span{color:var(--gold);letter-spacing:2.5px;margin-bottom:10px;font-size:10px;font-weight:600;display:block}.contact-item h3{color:var(--anthracite);margin:0;font-size:18px;font-weight:500}.contact-item p{color:var(--muted);margin:6px 0 0;font-size:15px;line-height:1.6}.contact-item .gold-button{margin-top:22px}.contact-map{background:#ddd8cf;min-height:500px}.contact-map-placeholder{text-align:center;width:100%;height:100%;min-height:500px;color:var(--anthracite);background:linear-gradient(#f4f0e8d1,#f4f0e8d1);flex-direction:column;justify-content:center;align-items:center;display:flex}.contact-map-placeholder span{color:var(--gold);letter-spacing:3px;margin-bottom:12px;font-size:10px}.contact-map-placeholder strong{font-family:Playfair Display,serif;font-size:38px;font-weight:500}.contact-map-placeholder p{color:var(--muted);margin:12px 0 0;font-size:13px}.contact-cta{background:var(--anthracite);color:#fff;text-align:center;padding:110px 20px}.contact-cta-content{max-width:700px;margin:0 auto}.contact-cta-content>span{color:var(--gold);letter-spacing:3px;margin-bottom:18px;font-size:11px;display:block}.contact-cta-content h2{margin:0 0 20px;font-family:Playfair Display,serif;font-size:clamp(42px,5vw,60px);font-weight:500;line-height:1.08}.contact-cta-content p{color:#ffffffb3;margin:0 auto 35px;font-size:16px;line-height:1.7}@media (max-width:800px){.contact-page-grid{grid-template-columns:1fr;gap:35px}.contact-map,.contact-map-placeholder{min-height:380px}}@media (max-width:600px){.contact-hero,.contact-hero-overlay{min-height:500px}.contact-hero-overlay{padding-bottom:60px}.contact-page-section,.contact-cta{padding:75px 16px}.contact-page-intro{margin-bottom:45px}.contact-item{padding:25px 24px}.contact-map,.contact-map-placeholder{min-height:300px}}.contact-map{overflow:hidden}.contact-map iframe{border:0;width:100%;height:100%;min-height:500px;display:block}.menu-toggle{cursor:pointer;background:0 0;border:1px solid #ffffff59;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;margin-left:12px;padding:0;display:none}.menu-toggle span{background:#fff;width:20px;height:1px;transition:all .25s;display:block}.mobile-menu{display:none}@media (max-width:800px){.header-inner{width:calc(100% - 32px);min-height:76px}.menu-toggle{display:flex}.mobile-menu{-webkit-backdrop-filter:blur(12px);opacity:0;visibility:hidden;background:#1f1f1ff0;flex-direction:column;padding:18px 16px 22px;transition:opacity .25s,transform .25s,visibility .25s;display:flex;position:absolute;top:100%;left:0;right:0;transform:translateY(-10px)}.mobile-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-menu a{color:#ffffffd9;letter-spacing:2px;border-bottom:1px solid #ffffff1f;padding:16px 8px;font-size:11px;font-weight:600}.mobile-menu a:last-child{border-bottom:none}.mobile-menu a:hover{color:#fff}.mobile-menu .mobile-booking{background:var(--gold);color:#fff;text-align:center;border-bottom:none;margin-top:14px;padding:15px}.menu-toggle.open span:first-child{transform:translateY(6px)rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}}@media (max-width:900px){.wellness-service{flex-direction:column;gap:35px;display:flex}.wellness-service .fitness-intro-image{order:1}.wellness-service .fitness-intro-text{order:2}}@media (max-width:600px){.fitness-gallery-section .section-heading{padding-left:16px;padding-right:16px}}.reservation-page{background:#f4f0e8;min-height:100vh;padding:150px 24px 110px}.reservation-container{width:min(1180px,100%);margin:0 auto}.reservation-container>.section-label{color:#b89555;letter-spacing:3px;text-transform:uppercase;margin-bottom:18px;font-size:11px;display:block}.reservation-container h1{color:#1f1f1f;max-width:800px;margin:0 0 22px;font-family:Playfair Display,serif;font-size:clamp(48px,7vw,78px);font-weight:500;line-height:1.02}.reservation-container>p{color:#6b6863;max-width:650px;margin:0;font-size:17px;line-height:1.8}.reservation-step{margin-top:100px}.reservation-step>.section-label{color:#b89555;letter-spacing:3px;margin-bottom:16px;font-size:11px;display:block}.reservation-step h2{color:#1f1f1f;margin:0;font-family:Playfair Display,serif;font-size:clamp(36px,5vw,54px);font-weight:500;line-height:1.1}.reservation-services{grid-template-columns:repeat(2,1fr);gap:18px;margin-top:50px;display:grid}.reservation-services button{color:#1f1f1f;text-align:left;cursor:pointer;background:#ffffffa6;border:1px solid #b8955559;border-radius:0;min-height:155px;padding:32px;font-family:inherit;transition:background .25s,border-color .25s,transform .25s}.reservation-services button:hover{background:#fff;border-color:#b89555b3;transform:translateY(-3px)}.reservation-services strong{color:#1f1f1f;margin-bottom:12px;font-family:Playfair Display,serif;font-size:21px;font-weight:500;display:block}.reservation-services button span{color:#77736d;font-size:14px;line-height:1.6;display:block}.reservation-services button:last-child{background:#b8955514;border-color:#b8955580;grid-column:1/-1}.reservation-services button:last-child strong{color:#9a7838}.reservation-services button:last-child:hover{background:#b8955524}@media (max-width:700px){.reservation-page{padding:125px 24px 80px}.reservation-container h1{font-size:46px}.reservation-container>p{font-size:16px}.reservation-step{margin-top:70px}.reservation-services{grid-template-columns:1fr;margin-top:35px}.reservation-services button{min-height:125px;padding:26px}.reservation-services button:last-child{grid-column:auto}}.reservation-services button.selected{background:#1f1f1f;border-color:#1f1f1f;transform:translateY(-3px)}.reservation-services button.selected strong{color:#fff}.reservation-services button.selected span{color:#ffffffb3}.reservation-date-step{border-top:1px solid #1f1f1f1f;margin-top:90px;padding-top:80px}.reservation-date-box{background:#ffffffb3;border:1px solid #b8955559;max-width:520px;margin-top:45px;padding:35px}.reservation-date-box label{color:#1f1f1f;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px;font-size:11px;font-weight:600;display:block}.reservation-date-box input{color:#1f1f1f;background:#fff;border:1px solid #1f1f1f2e;width:100%;min-height:54px;padding:0 16px;font-family:inherit;font-size:16px}.reservation-date-box input:focus{border-color:#b89555;outline:none}.reservation-date-box p{color:#77736d;margin:16px 0 0;font-size:13px;line-height:1.6}@media (max-width:700px){.reservation-date-step{margin-top:70px;padding-top:60px}.reservation-date-box{margin-top:35px;padding:25px}}.reservation-times{max-width:900px;margin-top:60px}.reservation-times .section-label{color:#b89555;letter-spacing:3px;margin-bottom:16px;font-size:11px;display:block}.reservation-times h3{color:#1f1f1f;margin:0 0 32px;font-family:Playfair Display,serif;font-size:38px;font-weight:500}.reservation-time-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.reservation-time-grid button{color:#1f1f1f;letter-spacing:.5px;cursor:pointer;background:#fff;border:1px solid #b8955566;min-height:58px;font-family:inherit;font-size:14px;transition:background .25s,color .25s,border-color .25s,transform .25s}.reservation-time-grid button:hover{color:#fff;background:#1f1f1f;border-color:#1f1f1f;transform:translateY(-2px)}.reservation-time-grid button.selected{color:#fff;background:#b89555;border-color:#b89555;transform:translateY(-2px)}.reservation-people-step{border-top:1px solid #1f1f1f1f;margin-top:90px;padding-top:80px}.reservation-placeholder{color:#77736d;margin-top:25px;font-size:15px}@media (max-width:700px){.reservation-times{margin-top:45px}.reservation-times h3{font-size:32px}.reservation-time-grid{grid-template-columns:repeat(2,1fr)}.reservation-people-step{margin-top:70px;padding-top:60px}}.reservation-people-grid{flex-wrap:wrap;gap:12px;margin-top:40px;display:flex}.reservation-people-grid button{color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #b8955566;width:110px;min-height:100px;font-family:inherit;transition:background .25s,color .25s,border-color .25s,transform .25s}.reservation-people-grid button:hover{color:#fff;background:#1f1f1f;border-color:#1f1f1f;transform:translateY(-2px)}.reservation-people-grid button.selected{color:#fff;background:#b89555;border-color:#b89555;transform:translateY(-2px)}.reservation-people-grid strong{font-family:Playfair Display,serif;font-size:30px;font-weight:500;display:block}.reservation-people-grid span{opacity:.75;margin-top:5px;font-size:12px;display:block}@media (max-width:700px){.reservation-people-grid{margin-top:30px}.reservation-people-grid button{width:calc(50% - 6px);min-height:90px}}.reservation-contact-step{border-top:1px solid #1f1f1f1f;max-width:900px;margin-top:90px;padding-top:80px}.reservation-contact-step h2{max-width:700px}.reservation-form{margin-top:45px}.reservation-form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.reservation-field{margin-bottom:22px}.reservation-field label{color:#1f1f1f;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:600;display:block}.reservation-field label span{color:#99938a;letter-spacing:0;text-transform:none;font-weight:400}.reservation-field input,.reservation-field textarea{box-sizing:border-box;color:#1f1f1f;background:#fff;border:1px solid #1f1f1f29;width:100%;padding:16px 18px;font-family:inherit;font-size:16px;transition:border-color .25s}.reservation-field input{min-height:54px}.reservation-field textarea{resize:vertical;line-height:1.6}.reservation-field input:focus,.reservation-field textarea:focus{border-color:#b89555;outline:none}.reservation-field input::placeholder,.reservation-field textarea::placeholder{color:#aaa59e}.reservation-continue{color:#fff;letter-spacing:1.6px;cursor:pointer;background:#b89555;border:0;width:100%;min-height:58px;margin-top:12px;font-family:inherit;font-size:11px;font-weight:600;transition:background .25s,transform .25s}.reservation-continue:hover{background:#a7854d;transform:translateY(-2px)}@media (max-width:700px){.reservation-contact-step{margin-top:70px;padding-top:60px}.reservation-form-row{grid-template-columns:1fr;gap:0}.reservation-form{margin-top:35px}}.reservation-summary-step{border-top:1px solid #1f1f1f1f;max-width:900px;margin-top:90px;padding-top:80px}.reservation-summary{background:#ffffffa6;border-top:1px solid #b8955559;border-bottom:1px solid #b8955559;margin-top:45px}.reservation-summary-item{border-bottom:1px solid #1f1f1f14;justify-content:space-between;align-items:center;gap:30px;padding:22px 28px;display:flex}.reservation-summary-item span,.reservation-summary-price span{color:#77736d;letter-spacing:1.5px;text-transform:uppercase;font-size:11px;font-weight:600}.reservation-summary-item strong{color:#1f1f1f;text-align:right;font-family:Playfair Display,serif;font-size:20px;font-weight:500}.reservation-summary-price{background:#b8955514;justify-content:space-between;align-items:center;gap:30px;padding:28px;display:flex}.reservation-summary-price strong{color:#9a7838;font-family:Playfair Display,serif;font-size:30px;font-weight:500}.reservation-submit{color:#fff;letter-spacing:1.8px;cursor:pointer;background:#b89555;border:0;width:100%;min-height:60px;margin-top:28px;font-family:inherit;font-size:11px;font-weight:600;transition:background .25s,transform .25s}.reservation-submit:hover{background:#a7854d;transform:translateY(-2px)}.reservation-continue:disabled{opacity:.45;cursor:not-allowed;transform:none}@media (max-width:700px){.reservation-summary-step{margin-top:70px;padding-top:60px}.reservation-summary{margin-top:35px}.reservation-summary-item{flex-direction:column;align-items:flex-start;gap:8px;padding:20px}.reservation-summary-item strong{text-align:left}.reservation-summary-price{flex-direction:column;align-items:flex-start;gap:8px;padding:24px 20px}}.reservation-auto-scroll{scroll-margin-top:110px}.reservation-confirmation-step{border-top:1px solid #1f1f1f1f;max-width:900px;margin-top:90px;padding-top:80px;padding-bottom:100px}.reservation-confirmation-icon{color:#b89555;border:1px solid #b89555;justify-content:center;align-items:center;width:58px;height:58px;margin:35px 0 25px;font-size:25px;display:flex}.reservation-confirmation-intro{color:#77736d;max-width:650px;margin-top:20px;font-size:16px;line-height:1.8}.reservation-confirmation-card{background:#ffffffb3;border:1px solid #b8955559;margin-top:45px}.reservation-confirmation-status{background:#b895551a;border-bottom:1px solid #b8955540;padding:25px 28px}.reservation-confirmation-status span,.reservation-confirmation-details span{color:#77736d;letter-spacing:1.5px;margin-bottom:8px;font-size:10px;font-weight:600;display:block}.reservation-confirmation-status strong{color:#9a7838;letter-spacing:1px;font-size:12px}.reservation-confirmation-details{grid-template-columns:repeat(2,1fr);gap:0;padding:10px 28px;display:grid}.reservation-confirmation-details>div{border-bottom:1px solid #1f1f1f14;padding:20px 0}.reservation-confirmation-details strong{color:#1f1f1f;font-family:Playfair Display,serif;font-size:20px;font-weight:500}.reservation-payment{text-align:center;padding:35px 28px 40px}.reservation-payment .section-label{color:#b89555;letter-spacing:2.5px;font-size:10px;display:block}.reservation-payment h3{color:#1f1f1f;margin:12px 0 28px;font-family:Playfair Display,serif;font-size:32px;font-weight:500}.reservation-qr-placeholder{background:#fff;border:1px dashed #b8955599;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:190px;height:190px;margin:0 auto;display:flex}.reservation-qr-placeholder span{color:#b89555;font-family:Playfair Display,serif;font-size:42px}.reservation-qr-placeholder small{color:#99938a;max-width:140px;font-size:10px;line-height:1.5}.reservation-payment p{color:#77736d;max-width:560px;margin:25px auto 0;font-size:14px;line-height:1.8}@media (max-width:700px){.reservation-confirmation-step{margin-top:70px;padding-top:60px;padding-bottom:70px}.reservation-confirmation-card{margin-top:35px}.reservation-confirmation-details{grid-template-columns:1fr;padding:5px 20px}.reservation-confirmation-status{padding:22px 20px}.reservation-payment{padding:30px 20px 35px}.reservation-payment h3{font-size:28px}}.reservation-duration-step{border-top:1px solid #1f1f1f1f;margin-top:90px;padding-top:80px}.reservation-duration-grid{grid-template-columns:repeat(2,180px);gap:14px;margin-top:40px;display:grid}.reservation-duration-grid button{color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #b8955566;min-height:155px;padding:25px;font-family:inherit;transition:background .25s,color .25s,border-color .25s,transform .25s}.reservation-duration-grid button:hover{color:#fff;background:#1f1f1f;border-color:#1f1f1f;transform:translateY(-2px)}.reservation-duration-grid button.selected{color:#fff;background:#b89555;border-color:#b89555;transform:translateY(-2px)}.reservation-duration-grid strong{font-family:Playfair Display,serif;font-size:42px;font-weight:500;display:block}.reservation-duration-grid span{letter-spacing:1.5px;margin-top:5px;font-size:11px;font-weight:600;display:block}.reservation-duration-grid small{opacity:.75;margin-top:15px;font-size:13px;display:block}@media (max-width:700px){.reservation-duration-step{margin-top:70px;padding-top:60px}.reservation-duration-grid{grid-template-columns:1fr 1fr}.reservation-duration-grid button{min-height:140px}}.price-card-subsection{border-top:1px solid #1f1f1f1a;margin-top:8px;padding-top:20px}.price-card-subsection h3{color:#1f1f1f;margin:0 0 12px;font-family:Playfair Display,serif;font-size:32px;font-weight:500;line-height:1.2}.price-card-subsection .price-row{border-bottom:none}.reservation-wellness-step{border-top:1px solid #1f1f1f1f;margin-top:90px;padding-top:80px}.reservation-wellness-intro{color:#77736d;max-width:680px;margin-top:20px;font-size:15px;line-height:1.8}.reservation-wellness-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;display:grid}.reservation-wellness-grid button{color:#1f1f1f;text-align:left;cursor:pointer;background:#ffffffa6;border:1px solid #b8955559;min-height:155px;padding:30px;font-family:inherit;transition:background .25s,border-color .25s,transform .25s}.reservation-wellness-grid button:hover{background:#fff;border-color:#b89555b3;transform:translateY(-3px)}.reservation-wellness-grid button.selected{background:#b895551f;border-color:#b89555;transform:translateY(-3px)}.reservation-wellness-grid strong{color:#1f1f1f;margin-bottom:12px;font-family:Playfair Display,serif;font-size:21px;font-weight:500;display:block}.reservation-wellness-grid button.selected strong{color:#9a7838}.reservation-wellness-grid button span{color:#77736d;font-size:14px;line-height:1.6;display:block}.reservation-wellness-grid button small{color:#b89555;letter-spacing:1.5px;margin-top:18px;font-size:9px;font-weight:600;display:block}.reservation-wellness-selection{background:#b8955512;border-left:2px solid #b89555;margin-top:25px;padding:22px 25px}.reservation-wellness-selection>span{color:#b89555;letter-spacing:1.8px;margin-bottom:7px;font-size:9px;font-weight:600;display:block}.reservation-wellness-selection strong{color:#1f1f1f;font-family:Playfair Display,serif;font-size:21px;font-weight:500;display:block}.reservation-wellness-selection p{color:#77736d;margin:6px 0 0;font-size:13px}@media (max-width:800px){.reservation-wellness-step{margin-top:70px;padding-top:60px}.reservation-wellness-grid{grid-template-columns:1fr;gap:12px}.reservation-wellness-grid button{min-height:125px;padding:25px}}.admin-page{background:var(--cream);min-height:100vh;color:var(--anthracite);padding:150px 0 100px}.admin-container{width:min(1280px,100% - 48px);margin:0 auto}.admin-login-wrapper{justify-content:center;align-items:center;min-height:calc(100vh - 120px);display:flex}.admin-login-card{background:var(--white);border:1px solid #1f1f1f14;width:min(520px,100%);padding:56px;box-shadow:0 20px 60px #1f1f1f14}.admin-login-card h1{margin:12px 0 14px;font-family:Playfair Display,serif;font-size:48px;font-weight:500;line-height:1.1}.admin-login-card>p{color:#1f1f1fa6;margin:0 0 36px;line-height:1.7}.admin-login-form{flex-direction:column;gap:22px;display:flex}.admin-field{flex-direction:column;gap:9px;display:flex}.admin-field label{letter-spacing:1.5px;text-transform:uppercase;font-size:10px;font-weight:600}.admin-field input{color:#1f1f1f;background:#fff;border:1px solid #1f1f1f29;outline:none;width:100%;min-height:52px;padding:0 16px;font-family:inherit;font-size:15px;transition:border-color .2s}.admin-field input:focus{border-color:var(--gold)}.admin-primary-button,.admin-secondary-button,.admin-logout-button{cursor:pointer;letter-spacing:1.4px;border:none;font-family:inherit;font-size:10px;font-weight:600;transition:all .25s}.admin-primary-button{background:var(--gold);min-height:52px;color:var(--white);margin-top:8px}.admin-primary-button:hover{background:#a7854d}.admin-primary-button:disabled,.admin-secondary-button:disabled{opacity:.5;cursor:default}.admin-error{color:#7d4034;background:#a85c4c14;border-left:3px solid #a85c4c;padding:15px 18px;font-size:13px;line-height:1.5}.admin-header{border-bottom:1px solid #1f1f1f1f;justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:48px;display:flex}.admin-header h1{margin:12px 0 10px;font-family:Playfair Display,serif;font-size:52px;font-weight:500;line-height:1}.admin-header p{color:#1f1f1f99;margin:0}.admin-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.admin-user{color:#1f1f1f8c;margin-right:10px;font-size:12px}.admin-secondary-button,.admin-logout-button{min-height:42px;padding:0 18px}.admin-secondary-button{color:#1f1f1f;background:0 0;border:1px solid #1f1f1f2e}.admin-secondary-button:hover{border-color:var(--gold)}.admin-logout-button{color:#fff;background:#1f1f1f}.admin-logout-button:hover{background:#333}.admin-stats{grid-template-columns:repeat(4,1fr);gap:16px;padding:36px 0 64px;display:grid}.admin-stat-card{background:#fff;border:1px solid #1f1f1f12;padding:28px}.admin-stat-card>span{color:var(--gold);letter-spacing:1.5px;margin-bottom:18px;font-size:10px;font-weight:600;display:block}.admin-stat-card strong{margin-bottom:5px;font-family:Playfair Display,serif;font-size:42px;font-weight:500;display:block}.admin-stat-card p{color:#1f1f1f94;margin:0;font-size:12px}.admin-stat-warning{border-top:2px solid var(--gold)}.admin-stat-success{border-top:2px solid #72836d}.admin-section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.admin-section-heading h2{margin:12px 0 0;font-family:Playfair Display,serif;font-size:38px;font-weight:500}.admin-reservation-count{color:#1f1f1f80;font-size:12px}.admin-empty{text-align:center;background:#fff;border:1px solid #1f1f1f12;padding:70px 30px}.admin-empty strong{margin-bottom:8px;font-family:Playfair Display,serif;font-size:24px;font-weight:500;display:block}.admin-empty p{color:#1f1f1f8c;margin:0}.admin-reservation-list{flex-direction:column;gap:14px;display:flex}.admin-reservation-card{background:#fff;border:1px solid #1f1f1f12}.admin-reservation-main{grid-template-columns:150px 1.3fr 1fr 190px;align-items:center;gap:30px;padding:28px;display:grid}.admin-reservation-date{flex-direction:column;gap:5px;display:flex}.admin-reservation-date span{color:#1f1f1f8c;font-size:12px}.admin-reservation-date strong{font-family:Playfair Display,serif;font-size:27px;font-weight:500}.admin-service-label{color:var(--gold);letter-spacing:1.5px;margin-bottom:8px;font-size:9px;font-weight:600;display:block}.admin-reservation-service h3{letter-spacing:.4px;margin:0 0 7px;font-size:15px;font-weight:600}.admin-reservation-service p{color:#1f1f1f94;margin:0;font-size:12px}.admin-reservation-customer{flex-direction:column;align-items:flex-start;display:flex}.admin-reservation-customer strong{margin-bottom:5px;font-size:14px}.admin-reservation-customer a{color:#1f1f1f99;font-size:12px;line-height:1.6;text-decoration:none}.admin-reservation-customer a:hover{color:var(--gold)}.admin-reservation-status{flex-direction:column;align-items:flex-end;gap:7px;display:flex}.admin-status{letter-spacing:1.1px;white-space:nowrap;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:8px;font-weight:600;display:inline-flex}.admin-status.pending{color:#8a6c31;background:#b8955521}.admin-status.paid,.admin-status.confirmed{color:#53654e;background:#72836d24}.admin-status.cancelled{color:#666;background:#7878781f}.admin-reservation-note{background:#f4f0e873;border-top:1px solid #1f1f1f12;gap:18px;padding:16px 28px;display:flex}.admin-reservation-note span{color:var(--gold);letter-spacing:1.5px;flex:none;font-size:9px;font-weight:600}.admin-reservation-note p{color:#1f1f1fa6;margin:0;font-size:12px}@media (max-width:900px){.admin-page{padding-top:110px}.admin-container{width:calc(100% - 32px)}.admin-header{flex-direction:column;align-items:flex-start}.admin-header h1{font-size:42px}.admin-header-actions{justify-content:flex-start;width:100%}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-reservation-main{grid-template-columns:1fr 1fr;gap:24px}.admin-reservation-status{align-items:flex-start}}@media (max-width:600px){.admin-page{padding:100px 0 70px}.admin-container{width:calc(100% - 24px)}.admin-login-card{padding:32px 24px}.admin-login-card h1,.admin-header h1{font-size:38px}.admin-header-actions{flex-direction:column;align-items:stretch}.admin-user{margin:0 0 5px}.admin-secondary-button,.admin-logout-button{width:100%}.admin-stats{grid-template-columns:1fr 1fr;gap:10px;padding-bottom:45px}.admin-stat-card{padding:20px}.admin-stat-card strong{font-size:34px}.admin-section-heading{flex-direction:column;align-items:flex-start}.admin-reservation-main{grid-template-columns:1fr;gap:20px;padding:22px}.admin-reservation-status{align-items:flex-start}.admin-reservation-note{flex-direction:column;gap:7px;padding:16px 22px}}.admin-new-reservation{margin-bottom:70px}.admin-new-reservation>.admin-primary-button{min-width:220px;margin-top:0;padding:0 28px}.admin-new-reservation-card{background:#fff;border:1px solid #1f1f1f14;max-width:900px;margin-top:20px;padding:42px;box-shadow:0 14px 45px #1f1f1f0d}.admin-new-reservation-card>.section-label{color:var(--gold);letter-spacing:2.5px;margin-bottom:12px;font-size:10px;font-weight:600;display:block}.admin-new-reservation-card h2{color:var(--anthracite);margin:0 0 10px;font-family:Playfair Display,serif;font-size:36px;font-weight:500;line-height:1.15}.admin-new-reservation-card>p{color:#1f1f1f94;max-width:620px;margin:0 0 35px;font-size:14px;line-height:1.7}.admin-manual-form{flex-direction:column;gap:0;display:flex}.admin-manual-form .admin-field{margin-bottom:22px}.admin-manual-form .admin-field label{color:#1f1f1fc7}.admin-manual-form .admin-field input,.admin-manual-form .admin-field select,.admin-manual-form .admin-field textarea{width:100%;color:var(--anthracite);background:#faf9f6;border:1px solid #1f1f1f24;border-radius:0;outline:none;font-family:inherit;font-size:15px;transition:border-color .2s,background .2s,box-shadow .2s}.admin-manual-form .admin-field input,.admin-manual-form .admin-field select{min-height:54px;padding:0 16px}.admin-manual-form .admin-field textarea{resize:vertical;min-height:110px;padding:15px 16px;line-height:1.6}.admin-manual-form .admin-field input:focus,.admin-manual-form .admin-field select:focus,.admin-manual-form .admin-field textarea:focus{border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px #b8955514}.admin-manual-form .admin-field input::placeholder,.admin-manual-form .admin-field textarea::placeholder{color:#aaa59e}.admin-manual-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}#manual-service{background:#fff;border-color:#b8955561;font-weight:500}.admin-checkbox{cursor:pointer;background:#faf9f6;border:1px solid #1f1f1f1f;align-items:center;gap:12px;min-height:54px;margin:2px 0 24px;padding:0 16px;transition:border-color .2s,background .2s;display:flex}.admin-checkbox:hover{background:#fff;border-color:#b895558c}.admin-checkbox input{width:18px;height:18px;accent-color:var(--gold);cursor:pointer;margin:0}.admin-checkbox span{color:var(--anthracite);font-size:13px;font-weight:500}.admin-success{color:#53654e;background:#72836d1a;border-left:3px solid #72836d;margin-bottom:18px;padding:15px 18px;font-size:13px;line-height:1.5}.admin-manual-form .admin-error{margin-bottom:18px}.admin-manual-form>.admin-primary-button{letter-spacing:1.6px;width:100%;min-height:56px;margin-top:0;font-size:10px}@media (max-width:700px){.admin-new-reservation{margin-bottom:55px}.admin-new-reservation>.admin-primary-button{width:100%}.admin-new-reservation-card{margin-top:14px;padding:28px 22px}.admin-new-reservation-card h2{font-size:30px}.admin-new-reservation-card>p{margin-bottom:28px}.admin-manual-row{grid-template-columns:1fr;gap:0}.admin-manual-form .admin-field{margin-bottom:18px}.admin-checkbox{margin-bottom:20px}}.admin-filters{flex-wrap:wrap;gap:8px;margin-bottom:30px;display:flex}.admin-filters button{color:#1f1f1f9e;letter-spacing:1.2px;cursor:pointer;background:0 0;border:1px solid #1f1f1f24;min-height:40px;padding:0 15px;font-family:inherit;font-size:9px;font-weight:600;transition:background .2s,color .2s,border-color .2s}.admin-filters button:hover{border-color:var(--gold);color:var(--anthracite)}.admin-filters button.active{border-color:var(--anthracite);background:var(--anthracite);color:var(--white)}@media (max-width:600px){.admin-filters{gap:6px}.admin-filters button{min-height:38px;padding:0 12px;font-size:8px}}.admin-day-overview{background:#fff;border:1px solid #1f1f1f12;justify-content:space-between;align-items:center;gap:25px;margin-bottom:22px;padding:24px 28px;display:flex}.admin-day-navigation{align-items:center;gap:18px;display:flex}.admin-day-arrow{width:42px;height:42px;color:var(--anthracite);cursor:pointer;background:0 0;border:1px solid #1f1f1f24;font-family:inherit;font-size:18px;transition:background .2s,color .2s,border-color .2s}.admin-day-arrow:hover{border-color:var(--gold);background:var(--gold);color:var(--white)}.admin-day-current{flex-direction:column;gap:3px;min-width:280px;display:flex}.admin-day-current span{color:var(--gold);letter-spacing:1.8px;text-transform:uppercase;font-size:10px;font-weight:600}.admin-day-current strong{color:var(--anthracite);text-transform:capitalize;font-family:Playfair Display,serif;font-size:25px;font-weight:500}.admin-day-actions{align-items:center;gap:10px;display:flex}.admin-day-actions button{min-height:42px;color:var(--anthracite);letter-spacing:1.3px;cursor:pointer;background:0 0;border:1px solid #1f1f1f26;padding:0 17px;font-family:inherit;font-size:9px;font-weight:600;transition:background .2s,color .2s,border-color .2s}.admin-day-actions button:hover,.admin-day-actions button.active{border-color:var(--anthracite);background:var(--anthracite);color:var(--white)}.admin-day-actions input{min-height:42px;color:var(--anthracite);background:#faf9f6;border:1px solid #1f1f1f26;outline:none;padding:0 12px;font-family:inherit;font-size:13px}.admin-day-actions input:focus{border-color:var(--gold)}@media (max-width:800px){.admin-day-overview{flex-direction:column;align-items:flex-start;padding:22px}.admin-day-navigation{width:100%}.admin-day-current{flex:1;min-width:0}.admin-day-actions{width:100%}.admin-day-actions button,.admin-day-actions input{flex:1}}@media (max-width:600px){.admin-day-current strong{font-size:21px}.admin-day-arrow{width:40px;height:40px}.admin-day-actions{flex-direction:column;align-items:stretch}.admin-day-actions button,.admin-day-actions input{flex:none;width:100%}}.admin-calendar-section{background:#fff;border:1px solid #1f1f1f12;margin-bottom:28px;padding:32px}.admin-calendar-header{justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:30px;display:flex}.admin-calendar-header h3{color:var(--anthracite);text-transform:capitalize;margin:10px 0 0;font-family:Playfair Display,serif;font-size:32px;font-weight:500;line-height:1.1}.admin-calendar-actions{align-items:center;gap:8px;display:flex}.admin-calendar-actions button{min-height:40px;color:var(--anthracite);letter-spacing:1.2px;cursor:pointer;background:0 0;border:1px solid #1f1f1f24;padding:0 15px;font-family:inherit;font-size:9px;font-weight:600;transition:background .2s,color .2s,border-color .2s}.admin-calendar-actions button:hover{border-color:var(--gold);background:var(--gold);color:var(--white)}.admin-calendar-actions .admin-calendar-arrow{letter-spacing:0;width:40px;padding:0;font-size:17px}.admin-calendar-weekdays{border-bottom:1px solid #1f1f1f1a;grid-template-columns:repeat(7,1fr);display:grid}.admin-calendar-weekdays div{color:#1f1f1f73;letter-spacing:1.5px;text-align:center;padding:0 10px 12px;font-size:9px;font-weight:600}.admin-calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.admin-calendar-day{min-height:105px;color:var(--anthracite);text-align:left;cursor:pointer;background:#fff;border:1px solid #1f1f1f12;border-top:0;border-left:0;padding:12px;font-family:inherit;transition:background .2s,box-shadow .2s;position:relative}.admin-calendar-day:nth-child(7n){border-right:0}.admin-calendar-day:hover{z-index:1;background:#faf8f3;box-shadow:inset 0 0 0 1px #b8955559}.admin-calendar-day.empty{cursor:default;background:#faf9f6}.admin-calendar-day.closed{color:#1f1f1f61;cursor:default;background:#f3f1ed}.admin-calendar-day.closed:hover{box-shadow:none;background:#f3f1ed}.admin-calendar-day.selected{box-shadow:inset 0 0 0 2px var(--gold);z-index:2;background:#b895551f}.admin-calendar-day.today .admin-calendar-day-number{background:var(--anthracite);width:30px;height:30px;color:var(--white);justify-content:center;align-items:center;margin:-5px 0 0 -5px;display:inline-flex}.admin-calendar-day-number{color:var(--anthracite);font-size:14px;font-weight:600;display:inline-block}.admin-calendar-reservations{color:var(--gold);letter-spacing:.8px;margin-top:20px;font-size:10px;font-weight:600;display:block}.admin-calendar-free{color:#1f1f1f52;letter-spacing:1px;margin-top:20px;font-size:9px;display:block}.admin-calendar-closed{color:#1f1f1f61;letter-spacing:1px;margin-top:20px;font-size:8px;font-weight:600;display:block}@media (max-width:800px){.admin-calendar-section{padding:24px 18px}.admin-calendar-header{flex-direction:column;align-items:flex-start}.admin-calendar-header h3{font-size:28px}.admin-calendar{overflow-x:auto}.admin-calendar-weekdays,.admin-calendar-grid{min-width:620px}.admin-calendar-day{min-height:90px;padding:10px}}@media (max-width:600px){.admin-calendar-section{margin-bottom:22px;padding:22px 14px}.admin-calendar-actions{width:100%}.admin-calendar-actions button{flex:1}.admin-calendar-actions .admin-calendar-arrow{flex:0 0 40px}}.admin-price-preview{border-left:3px solid var(--gold);background:#b8955514;justify-content:space-between;align-items:center;gap:25px;margin:2px 0 24px;padding:22px 24px;display:flex}.admin-price-preview span{color:#1f1f1f8c;letter-spacing:1.7px;font-size:9px;font-weight:600}.admin-price-preview strong{color:#9a7838;font-family:Playfair Display,serif;font-size:30px;font-weight:500}.admin-reservation-meta{background:#f4f0e859;border-top:1px solid #1f1f1f12;justify-content:flex-end;align-items:center;padding:16px 28px;display:flex}.admin-reservation-meta>div{align-items:baseline;gap:12px;display:flex}.admin-reservation-meta span{color:#1f1f1f73;letter-spacing:1.5px;font-size:9px;font-weight:600}.admin-reservation-meta strong{color:#9a7838;font-family:Playfair Display,serif;font-size:22px;font-weight:500}.admin-reservation-actions{border-top:1px solid #1f1f1f12;justify-content:flex-end;align-items:center;gap:10px;padding:16px 28px 20px;display:flex}.admin-reservation-actions button{letter-spacing:1.2px;cursor:pointer;border:1px solid #0000;min-height:42px;padding:0 16px;font-family:inherit;font-size:9px;font-weight:600;transition:background .2s,color .2s,border-color .2s,transform .2s}.admin-reservation-actions button:hover:not(:disabled){transform:translateY(-1px)}.admin-reservation-actions button:disabled{opacity:.5;cursor:default}.admin-confirm-button{background:var(--gold);color:var(--white)}.admin-confirm-button:hover:not(:disabled){background:#a7854d}.admin-cancel-button{color:#8b5145;background:0 0;border-color:#a85c4c4d!important}.admin-cancel-button:hover:not(:disabled){background:#a85c4c12;border-color:#a85c4c!important}.admin-manual-form .admin-field:first-child{margin-bottom:28px}.admin-manual-form #manual-service{background:#fff;border:1px solid #b8955573;min-height:58px;padding-left:18px}.admin-manual-form #manual-service:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b8955514}@media (max-width:700px){.admin-price-preview{flex-direction:column;align-items:flex-start;gap:6px;padding:18px 20px}.admin-price-preview strong{font-size:27px}.admin-reservation-meta{justify-content:flex-start;padding:14px 22px}.admin-reservation-actions{flex-direction:column;align-items:stretch;padding:14px 22px 18px}.admin-reservation-actions button{width:100%}}.admin-edit-actions{align-items:center;gap:12px;margin-top:8px;display:flex}.admin-edit-actions .admin-primary-button,.admin-edit-actions .admin-secondary-button{min-height:46px}@media (max-width:700px){.admin-edit-actions{flex-direction:column;align-items:stretch}.admin-edit-actions button{width:100%}}#admin-edit-reservation{margin-top:34px}#admin-edit-reservation .admin-new-reservation-card{border-top:3px solid var(--gold)}#admin-edit-reservation .admin-new-reservation-card>h2{margin-bottom:10px}#admin-edit-reservation .admin-new-reservation-card>p{max-width:620px;margin-bottom:34px}#admin-edit-reservation .admin-price-preview{border-left:3px solid var(--gold);background:#b8955514;margin-top:4px;margin-bottom:30px;padding:24px 26px}#admin-edit-reservation .admin-price-preview span{letter-spacing:1.8px;font-size:9px}#admin-edit-reservation .admin-price-preview strong{font-size:30px}.admin-edit-actions{border-top:1px solid #1f1f1f1a;align-items:center;gap:14px;margin-top:34px;padding-top:26px;display:flex}.admin-edit-actions .admin-primary-button,.admin-edit-actions .admin-secondary-button{min-height:48px;padding:0 24px}.admin-edit-actions .admin-secondary-button{color:#1f1f1f9e;background:0 0;border:1px solid #1f1f1f29}.admin-edit-actions .admin-secondary-button:hover:not(:disabled){background:#1f1f1f0a;border-color:#1f1f1f4d}#admin-edit-reservation .admin-success{margin-top:22px;margin-bottom:0}@media (max-width:700px){#admin-edit-reservation{margin-top:24px}#admin-edit-reservation .admin-new-reservation-card{padding:28px 20px}#admin-edit-reservation .admin-price-preview{padding:20px}.admin-edit-actions{flex-direction:column;align-items:stretch;gap:10px}.admin-edit-actions .admin-primary-button,.admin-edit-actions .admin-secondary-button{width:100%}}.admin-edit-actions{box-sizing:border-box;width:100%;border-top:1px solid #1f1f1f1a!important;justify-content:flex-start!important;align-items:stretch!important;gap:14px!important;margin-top:32px!important;padding-top:26px!important;display:flex!important}.admin-edit-actions button{box-sizing:border-box;letter-spacing:1.6px!important;justify-content:center!important;align-items:center!important;height:52px!important;min-height:52px!important;margin:0!important;padding:0 28px!important;font-family:inherit!important;font-size:10px!important;font-weight:600!important;line-height:1!important;display:inline-flex!important}.admin-edit-actions .admin-primary-button{min-width:210px!important}.admin-edit-actions .admin-secondary-button{color:#1f1f1fa6!important;background:0 0!important;border:1px solid #1f1f1f29!important;min-width:190px!important}.admin-edit-actions .admin-secondary-button:hover{background:#1f1f1f0a!important;border-color:#1f1f1f4d!important}@media (max-width:700px){.admin-edit-actions{flex-direction:column!important;gap:10px!important}.admin-edit-actions button{width:100%!important;min-width:0!important}}
