@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Outfit:wght@500;700&display=swap";:root{--bg-primary:#f0f5f1;--bg-secondary:#e4ede6;--bg-dark:#d8e3da;--bg-card:#ffffffbf;--bg-card-hover:#ffffffe6;--text-primary:#1a2e23;--text-secondary:#4a6b56;--text-muted:#7a9b87;--text-on-dark:#fff;--green-primary:#2d8a5e;--green-light:#3ba572;--green-dark:#1b6b44;--green-glow:#2d8a5e33;--bg-accent:#2d8a5e14;--border-subtle:#2d8a5e26;--border-glass:#2d8a5e1a;--accent-warm:#d4a647;--accent-red:#c75050;--shadow-glow:0 0 20px #2d8a5e26;--shadow-card:0 8px 32px #1a2e2314;--accent-berry:#2d8a5e;--accent-berry-hover:#247a50;--accent-river:#5b9bd5;--accent-forest:#3a7d6e;--berry-red:#2d8a5e;--berry-light:#3ba572;--glow-berry:#2d8a5e33;--radius-sm:12px;--radius-md:16px;--radius-lg:24px;--radius-pill:9999px;--font-display:"Outfit", sans-serif;--font-main:"Inter", sans-serif;--transition:.4s cubic-bezier(.23, 1, .32, 1);--shadow-soft:0 4px 20px #1a2e230f;--blur:blur(12px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow-x:hidden}body{font-family:var(--font-main);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3{font-family:var(--font-display);font-weight:700}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);background:#ffffffd9;justify-content:space-between;align-items:center;padding:12px 20px;display:flex;position:sticky;top:0}.app-logo{letter-spacing:-.02em;align-items:center;gap:10px;font-size:18px;font-weight:600;display:flex}.app-logo-icon{font-size:24px}.platform-badge{background:var(--bg-accent);color:var(--green-light);text-transform:uppercase;letter-spacing:.05em;border-radius:100px;padding:3px 8px;font-size:11px;font-weight:500}.app-main{flex:1;padding:16px 20px 100px}.nav-tabs{background:var(--bg-secondary);border-radius:var(--radius-lg);gap:4px;margin-bottom:20px;padding:4px;display:flex}.nav-tab{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.nav-tab:hover{color:var(--text-primary);background:var(--bg-card)}.nav-tab.active{background:var(--bg-accent);color:var(--green-primary);font-weight:600}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:var(--transition);padding:16px}.card:hover{border-color:var(--text-muted);box-shadow:var(--shadow-card)}.card-title{align-items:center;gap:8px;margin-bottom:8px;font-size:15px;font-weight:600;display:flex}.card-subtitle{color:var(--text-secondary);font-size:13px}.calendar{margin-bottom:20px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.calendar-title{font-size:16px;font-weight:600}.calendar-nav{gap:8px;display:flex}.calendar-nav button{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);width:32px;height:32px;color:var(--text-primary);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;font-size:14px;display:flex}.calendar-nav button:hover{background:var(--green-primary);border-color:var(--green-primary)}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;display:grid}.calendar-weekday{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:4px;font-size:11px;font-weight:500}.calendar-days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;font-family:inherit;font-size:13px;font-weight:400;display:flex;position:relative}.calendar-day:hover{background:var(--bg-card-hover)}.calendar-day.today{border:1px solid var(--green-primary);font-weight:600}.calendar-day.selected{background:var(--green-primary);color:#fff;box-shadow:var(--shadow-glow);font-weight:600}.calendar-day.other-month{color:var(--text-muted);opacity:.4}.calendar-day.has-bookings{background:#d4a04714}.calendar-day.has-bookings:hover{background:#d4a04726}.calendar-day.has-bookings:after{content:"";background:var(--accent-warm);border-radius:2px;width:12px;height:3px;position:absolute;bottom:6px;box-shadow:0 0 8px #d4a04766}.calendar-day.selected.has-bookings:after{background:#fff;box-shadow:0 0 8px #fff9}.calendar-day.empty{pointer-events:none}.bookings-list{flex-direction:column;gap:8px;display:flex}.booking-card{align-items:center;gap:12px;padding:14px 16px;display:flex}.booking-time{min-width:90px;color:var(--green-light);font-size:14px;font-weight:600}.booking-info{flex:1}.booking-bath{font-size:14px;font-weight:500}.booking-details{color:var(--text-secondary);margin-top:2px;font-size:12px}.booking-status{text-transform:uppercase;letter-spacing:.05em;border-radius:100px;padding:4px 10px;font-size:11px;font-weight:600}.booking-status.confirmed{color:var(--green-light);background:#6d9b5a26}.booking-status.pending{color:var(--accent-warm);background:#d4a04726}.booking-status.cancelled{color:var(--accent-red);background:#c95e5e26}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:20px;display:grid}.stat-card{text-align:center;padding:14px}.stat-value{color:var(--green-light);font-size:24px;font-weight:700;line-height:1}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:11px}.resource-filter{gap:8px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.resource-chip{border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:var(--transition);border-radius:100px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500}.resource-chip:hover{border-color:var(--border-focus);color:var(--text-primary)}.resource-chip.active{background:var(--green-primary);border-color:var(--green-primary);color:#fff}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.catalog-card{text-align:center;padding:18px 12px}.catalog-icon{margin-bottom:8px;font-size:28px}.catalog-name{margin-bottom:4px;font-size:14px;font-weight:600}.catalog-price{color:var(--green-light);font-size:13px;font-weight:500}.catalog-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.section-title{align-items:center;gap:8px;margin-bottom:12px;font-size:16px;font-weight:600;display:flex}.loading{color:var(--text-muted);justify-content:center;align-items:center;padding:40px;display:flex}.spinner{border:2px solid var(--border-subtle);border-top-color:var(--green-primary);border-radius:50%;width:24px;height:24px;margin-right:10px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px}.empty-state-icon{opacity:.5;margin-bottom:12px;font-size:40px}.empty-state-text{font-size:14px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.3s ease-out fadeIn}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px}:root{--stitch-cream:#fffbf2;--stitch-ink:#1a1a1a;--stitch-berry:#6b1a2a;--stitch-berry-light:#9c404e;--stitch-forest:#2d3b2d;--stitch-gold:#c5a059;--stitch-gold-dim:#c5a05933;--stitch-surface:#f7f3ea;--stitch-surface-alt:#f1eee5;--stitch-outline:#887273;--stitch-font-display:"Hanken Grotesk", "Outfit", sans-serif;--stitch-font-mono:"JetBrains Mono", monospace}.stitch-landing{background:var(--stitch-cream);min-height:100vh;color:var(--stitch-ink);font-family:var(--stitch-font-display);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;overflow-x:hidden}.stitch-landing ::selection{background:var(--stitch-berry);color:#fff}.stitch-particles-container{pointer-events:none;z-index:10;position:fixed;inset:0}.nature-particle{pointer-events:none;z-index:10;position:fixed}.nature-steam{filter:blur(2px);background:radial-gradient(circle,#ffffff59,#fff0);border-radius:50%}.nature-needle{transform-origin:50%;background:linear-gradient(#3a5a3a,#2d3b2d);border-radius:1px}.nature-leaf{opacity:.6;background:linear-gradient(135deg,#5a8a4a,#3a6a2a);border-radius:40% 60% 60% 40%/50%}@keyframes natureFloat{0%{opacity:0;transform:translateY(0)translate(0)rotate(0)}10%{opacity:.3}50%{opacity:.25;transform:translateY(-50vh)translate(30px)rotate(180deg)}90%{opacity:.1}to{opacity:0;transform:translateY(-105vh)translate(-20px)rotate(360deg)}}.stitch-glass{-webkit-backdrop-filter:blur(16px);border:1px solid var(--stitch-gold-dim);background:#fff6}.fade-in-section{opacity:0;transition:opacity .8s ease-out,transform .8s ease-out;transform:translateY(20px)}.fade-in-section.is-visible{opacity:1;transform:translateY(0)}.stitch-nav{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--stitch-gold-dim);z-index:1000;background:#fff6;width:100%;position:fixed;top:0;left:0;box-shadow:0 1px 8px #0000000a}.stitch-nav-inner{justify-content:space-between;align-items:center;max-width:1440px;height:80px;margin:0 auto;padding:0 16px;display:flex}@media (width>=768px){.stitch-nav-inner{padding:0 64px}}.stitch-nav-brand{letter-spacing:-.02em;color:var(--stitch-berry);font-size:32px;font-weight:600;line-height:40px}.stitch-nav-links{align-items:center;gap:24px;display:none}@media (width>=768px){.stitch-nav-links{display:flex}}.stitch-nav-link{color:var(--stitch-forest);font-size:16px;line-height:24px;text-decoration:none;transition:color .3s}.stitch-nav-link:hover{color:var(--stitch-berry)}.stitch-nav-cta{background:var(--stitch-berry);color:var(--stitch-cream);border-radius:9999px;margin-left:16px;padding:8px 24px;font-weight:600;text-decoration:none;transition:transform .2s,opacity .2s}.stitch-nav-cta:hover{transform:scale(1.05)}.stitch-nav-cta:active{transform:scale(.95)}.stitch-mobile-toggle{color:var(--stitch-berry);cursor:pointer;background:0 0;border:none;font-size:28px;display:block}@media (width>=768px){.stitch-mobile-toggle{display:none}}.stitch-mobile-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--stitch-gold-dim);background:#fffffff2;flex-direction:column;gap:4px;padding:8px 16px 16px;display:none}.stitch-mobile-menu.open{display:flex}.stitch-mobile-menu a{color:var(--stitch-forest);border-radius:12px;padding:12px 16px;font-size:16px;font-weight:500;text-decoration:none;transition:background .2s;display:block}.stitch-mobile-menu a:hover{background:var(--stitch-surface)}@media (width>=768px){.stitch-mobile-menu{display:none!important}}.stitch-hero{justify-content:center;align-items:center;height:100vh;display:flex;position:relative;overflow:hidden}.stitch-hero-bg{z-index:0;position:absolute;inset:0}.stitch-hero-img{object-fit:cover;filter:brightness(.75);will-change:transform;width:100%;height:100%;transform:scale(1.05)}.stitch-hero-content{z-index:2;text-align:center;max-width:800px;padding:0 16px;position:relative}.stitch-hero-title{color:var(--stitch-cream);text-shadow:0 2px 20px #0000004d;margin-bottom:24px;font-size:36px;font-weight:700;line-height:44px}@media (width>=768px){.stitch-hero-title{letter-spacing:-.04em;font-size:56px;line-height:64px}}.stitch-hero-subtitle{color:#fffbf2e6;text-shadow:0 1px 10px #0003;max-width:640px;margin-bottom:40px;margin-left:auto;margin-right:auto;font-size:18px;line-height:28px}.stitch-hero-actions{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}@media (width>=768px){.stitch-hero-actions{flex-direction:row}}.stitch-btn-primary{background:var(--stitch-berry);color:var(--stitch-cream);border-radius:9999px;align-items:center;padding:16px 40px;font-size:18px;font-weight:700;text-decoration:none;transition:transform .3s,box-shadow .3s;display:inline-flex;box-shadow:0 10px 40px #6b1a2a66}.stitch-btn-primary:hover{transform:translateY(-2px);box-shadow:0 15px 50px #6b1a2a80}.stitch-btn-outline{border:1px solid var(--stitch-cream);color:var(--stitch-cream);border-radius:9999px;align-items:center;padding:16px 40px;font-size:18px;font-weight:700;text-decoration:none;transition:background .3s,color .3s;display:inline-flex}.stitch-btn-outline:hover{background:var(--stitch-cream);color:var(--stitch-berry)}.stitch-hero-scroll{color:#fffbf299;animation:2s infinite bounce;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.stitch-hero-scroll .material-symbols-outlined{font-size:36px}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%)translateY(0)}40%{transform:translate(-50%)translateY(-12px)}60%{transform:translate(-50%)translateY(-6px)}}.stitch-section{padding:64px 16px}@media (width>=768px){.stitch-section{padding:80px 48px}}.stitch-section-alt{background:var(--stitch-surface)}.stitch-container{max-width:1440px;margin:0 auto}.stitch-section-header{text-align:center;margin-bottom:40px}.stitch-heading-berry{color:var(--stitch-berry);margin-bottom:8px;font-size:24px;font-weight:600;line-height:32px}@media (width>=768px){.stitch-heading-berry{letter-spacing:-.03em;font-size:32px;line-height:40px}}.stitch-heading-line{background:var(--stitch-gold);border-radius:2px;width:80px;height:4px;margin:16px auto 0}.stitch-heading-sub{color:var(--stitch-outline);max-width:500px;margin-top:16px;margin-left:auto;margin-right:auto;font-size:16px;line-height:24px}.stitch-label{font-family:var(--stitch-font-mono);letter-spacing:.05em;color:var(--stitch-gold);text-transform:uppercase;margin-bottom:16px;font-size:13px;line-height:16px;display:block}.stitch-about-grid{align-items:center;gap:48px;display:grid}@media (width>=768px){.stitch-about-grid{grid-template-columns:1fr 1fr;gap:24px}}.stitch-about-text{color:#554243;flex-direction:column;gap:24px;font-size:16px;line-height:24px;display:flex}.stitch-stats-row{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px;display:grid}.stitch-stat{text-align:center}.stitch-stat-value{color:var(--stitch-berry);margin-bottom:4px;font-size:30px;font-weight:700}.stitch-stat-label{font-family:var(--stitch-font-mono);text-transform:uppercase;color:var(--stitch-forest);letter-spacing:.05em;font-size:10px}.stitch-about-image-wrap{position:relative}.stitch-organic-shape{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;transition:transform .7s cubic-bezier(.23,1,.32,1);overflow:hidden;transform:rotate(3deg)scale(.95);box-shadow:0 25px 60px #00000026}.stitch-organic-shape:hover{transform:rotate(0)scale(1)}.stitch-about-img{aspect-ratio:1;object-fit:cover;object-position:center 40%;width:100%}.stitch-quote-card{-webkit-backdrop-filter:blur(16px);background:#fff6;border:1px solid #c5a0594d;border-radius:16px;max-width:240px;padding:32px;display:none;position:absolute;bottom:-32px;left:-32px}@media (width>=768px){.stitch-quote-card{display:block}}.stitch-quote-text{color:var(--stitch-berry);font-size:16px;font-style:italic;line-height:24px}.stitch-quote-author{font-family:var(--stitch-font-mono);color:var(--stitch-ink);margin-top:16px;font-size:12px;display:block}.stitch-baths-grid{gap:24px;display:grid}@media (width>=768px){.stitch-baths-grid{grid-template-columns:repeat(3,1fr)}}.stitch-bath-card{cursor:pointer;aspect-ratio:4/5;border-radius:24px;position:relative;overflow:hidden}.stitch-bath-img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.23,1,.32,1)}.stitch-bath-card:hover .stitch-bath-img{transform:scale(1.1)}.bath-carousel{width:100%;height:100%;position:absolute;inset:0}.bath-carousel-slide{object-fit:cover;opacity:0;aspect-ratio:auto;width:100%;height:100%;transition:opacity .8s;position:absolute;inset:0}.bath-carousel-slide.active{opacity:1;z-index:1}.bath-carousel-arrow{z-index:5;color:#fff;cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000059;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.8rem;line-height:1;transition:opacity .3s,background .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.stitch-bath-card:hover .bath-carousel-arrow{opacity:1}.bath-carousel-arrow:hover{background:#0009}.bath-carousel-prev{left:10px}.bath-carousel-next{right:10px}.bath-carousel-dots{z-index:5;gap:6px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.bath-carousel-dot{cursor:pointer;background:#fff6;border:1px solid #ffffff4d;border-radius:50%;width:8px;height:8px;transition:background .3s,transform .3s}.bath-carousel-dot.active{background:#fffffff2;transform:scale(1.25)}.stitch-bath-overlay{background:linear-gradient(#0000,#2d3b2dcc);position:absolute;inset:0}.stitch-bath-content{z-index:3;width:100%;padding:32px;position:absolute;bottom:0;left:0}.stitch-bath-content:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0000 0%,#2d3b2d66 50%,#2d3b2dd9 100%);position:absolute;inset:-200px 0 0}.reviews-rating-badge{justify-content:center;align-items:center;gap:10px;margin-bottom:20px;display:flex}.reviews-stars{color:#ffc107;letter-spacing:2px;font-size:1.4rem}.reviews-score{color:var(--stitch-dark-green,#2d3b2d);font-size:1.6rem;font-weight:800}.reviews-count{color:var(--stitch-wood,#8b7355);font-size:.85rem}.reviews-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:16px;padding:4px 0 16px;display:flex;overflow-x:auto}.reviews-scroll::-webkit-scrollbar{height:4px}.reviews-scroll::-webkit-scrollbar-thumb{background:#8b73554d;border-radius:4px}.review-card{-webkit-backdrop-filter:blur(12px);scroll-snap-align:start;background:#ffffff80;border:1px solid #c5a05940;border-radius:16px;flex:0 0 260px;padding:16px;transition:transform .3s,box-shadow .3s}.review-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #2d3b2d1f}.review-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.review-avatar{background:linear-gradient(135deg, var(--stitch-berry,#6b2737), var(--stitch-wood,#8b7355));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:flex}.review-name{color:var(--stitch-dark-green,#2d3b2d);font-size:.8rem;font-weight:600;line-height:1.2}.review-date{color:var(--stitch-wood,#8b7355);font-size:.65rem}.review-stars{color:#ffc107;letter-spacing:1px;margin-bottom:6px;font-size:.85rem}.review-text{color:var(--stitch-dark-green,#2d3b2d);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:.78rem;line-height:1.45;display:-webkit-box;overflow:hidden}.reviews-cta{text-align:center;margin-top:8px}.reviews-yandex-link{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--stitch-berry,#6b2737);background:#ffffff80;border:1px solid #c5a0594d;border-radius:24px;align-items:center;gap:6px;padding:10px 24px;font-size:.85rem;font-weight:600;text-decoration:none;transition:transform .3s,box-shadow .3s,background .3s;display:inline-flex}.reviews-yandex-link:hover{background:#ffffffb3;transform:translateY(-2px);box-shadow:0 4px 16px #2d3b2d1f}.stitch-bath-info{-webkit-backdrop-filter:blur(16px);background:#fff6;border:1px solid #c5a05966;border-radius:16px;padding:24px}.stitch-bath-info h3{letter-spacing:-.02em;color:var(--stitch-cream);margin-bottom:6px;font-size:24px;font-weight:600;line-height:32px}.stitch-bath-info p{color:#fffbf2cc;margin-bottom:16px;font-size:14px;line-height:1.5}.stitch-bath-price{font-family:var(--stitch-font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--stitch-gold);border-top:1px solid var(--stitch-gold-dim);padding:8px 0;font-size:13px}.stitch-services-header{flex-direction:column;gap:16px;margin-bottom:32px;display:flex}.stitch-services-tabs{gap:12px;margin-bottom:24px;display:flex}.stitch-services-tab{-webkit-backdrop-filter:blur(8px);color:var(--stitch-wood,#8b7355);cursor:pointer;background:#ffffff59;border:1px solid #c5a0594d;border-radius:14px;flex:1;padding:14px 20px;font-size:.95rem;font-weight:600;transition:all .3s}.stitch-services-tab:hover{background:#ffffff8c;transform:translateY(-2px);box-shadow:0 4px 16px #2d3b2d14}.stitch-services-tab.active{background:var(--stitch-berry,#6b2737);color:#fff;border-color:var(--stitch-berry,#6b2737);box-shadow:0 4px 20px #6b273740}@media (width>=768px){.stitch-services-header{flex-direction:row;justify-content:space-between;align-items:flex-end}}.stitch-services-desc{color:var(--stitch-outline);max-width:380px;font-size:16px;line-height:24px}.stitch-service-card{-webkit-backdrop-filter:blur(16px);border:1px solid var(--stitch-gold-dim);background:#fff6;border-radius:16px;flex-direction:column;align-items:center;gap:16px;margin-bottom:12px;padding:20px;transition:border-color .5s,box-shadow .5s;display:flex}.stitch-service-card:hover{border-color:var(--stitch-gold);box-shadow:0 8px 32px #c5a0591f}@media (width>=768px){.stitch-service-card{flex-direction:row}}.stitch-service-icon{width:56px;height:56px;color:var(--stitch-forest);background:#d4e4d0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .3s,color .3s;display:flex}.stitch-service-card:hover .stitch-service-icon{background:var(--stitch-berry);color:var(--stitch-cream)}.stitch-service-icon .material-symbols-outlined{font-size:26px}.stitch-service-body{text-align:center;flex:1}@media (width>=768px){.stitch-service-body{text-align:left}}.stitch-service-body h4{letter-spacing:-.02em;color:var(--stitch-berry);margin-bottom:4px;font-size:20px;font-weight:600;line-height:28px}.stitch-service-body p{color:var(--stitch-outline);font-size:16px;line-height:24px}.stitch-service-meta{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}@media (width>=768px){.stitch-service-meta{align-items:flex-end}}.stitch-service-price{letter-spacing:-.02em;color:var(--stitch-berry);font-size:22px;font-weight:600;line-height:28px}.stitch-service-duration{font-family:var(--stitch-font-mono);color:var(--stitch-gold);letter-spacing:.05em;font-size:12px}.stitch-gallery-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=768px){.stitch-gallery-grid{grid-template-columns:1fr 1fr}}.stitch-gallery-item{cursor:pointer;border-radius:20px;position:relative;overflow:hidden}.stitch-gallery-wide{grid-column:1/-1}@media (width>=768px){.stitch-gallery-wide{grid-area:1/1/3/2}}.stitch-gallery-item img{object-fit:cover;width:100%;height:100%;min-height:220px;transition:transform .7s cubic-bezier(.23,1,.32,1)}.stitch-gallery-item:hover img{transform:scale(1.06)}.stitch-gallery-label{color:var(--stitch-cream);background:linear-gradient(#0000,#0000008c);padding:12px 16px;font-size:14px;font-weight:500;position:absolute;bottom:0;left:0;right:0}@media (width>=768px){.stitch-gallery-four{grid-template-columns:1fr 1fr 1fr}.stitch-gallery-four .stitch-gallery-wide{grid-area:1/1/3/2}}.stitch-booking-card{-webkit-backdrop-filter:blur(16px);border:1px solid var(--stitch-gold-dim);background:#fff6;border-radius:48px;padding:48px 24px;position:relative;overflow:hidden}@media (width>=768px){.stitch-booking-card{padding:80px}}.stitch-booking-glow{filter:blur(80px);pointer-events:none;border-radius:50%;width:320px;height:320px;position:absolute}.stitch-booking-glow-1{background:#6b1a2a0d;top:-80px;right:-80px}.stitch-booking-glow-2{background:#2d3b2d0d;bottom:-80px;left:-80px}.stitch-steps{max-width:640px;margin:0 auto 64px;position:relative}.stitch-steps-line{background:var(--stitch-gold-dim);width:2px;position:absolute;top:0;bottom:0;left:24px}@media (width>=768px){.stitch-steps-line{left:50%;transform:translate(-50%)}}.stitch-step{align-items:center;margin-bottom:40px;display:flex;position:relative}.stitch-step:last-child{margin-bottom:0}.stitch-step-number{background:var(--stitch-berry);width:48px;height:48px;color:var(--stitch-cream);z-index:2;border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex;position:absolute;left:0;box-shadow:0 4px 16px #6b1a2a4d}@media (width>=768px){.stitch-step-number{left:50%;transform:translate(-50%)}}.stitch-step-content{margin-left:80px}@media (width>=768px){.stitch-step-content{text-align:right;max-width:50%;margin-left:0;margin-right:auto;padding-right:96px}.stitch-step-right .stitch-step-content{text-align:left;max-width:50%;margin-left:auto;margin-right:0;padding-left:96px;padding-right:0}}.stitch-step-content h4{letter-spacing:-.02em;color:var(--stitch-berry);margin-bottom:4px;font-size:22px;font-weight:600;line-height:30px}.stitch-step-content p{color:var(--stitch-outline);font-size:16px;line-height:24px}.stitch-booking-cta{text-align:center}.stitch-btn-book{background:var(--stitch-berry);color:var(--stitch-cream);border-radius:9999px;align-items:center;gap:16px;margin-bottom:16px;padding:20px 48px;font-size:20px;font-weight:700;text-decoration:none;transition:transform .3s,box-shadow .3s;display:inline-flex;box-shadow:0 10px 40px #6b1a2a4d}.stitch-btn-book:hover{transform:scale(1.05);box-shadow:0 15px 50px #6b1a2a66}.stitch-btn-book:active{transform:scale(.95)}.stitch-btn-book .material-symbols-outlined{font-size:24px}.stitch-btn-book-alt{color:#fff;background:linear-gradient(135deg,#4a7ec9,#3b5fad);border-radius:9999px;align-items:center;gap:12px;margin-bottom:16px;margin-left:12px;padding:16px 40px;font-size:18px;font-weight:700;text-decoration:none;transition:transform .3s,box-shadow .3s;display:inline-flex;box-shadow:0 8px 30px #4a7ec94d}.stitch-btn-book-alt:hover{transform:scale(1.05);box-shadow:0 12px 40px #4a7ec966}.stitch-booking-hint{font-family:var(--stitch-font-mono);color:var(--stitch-outline);margin-top:8px;font-size:14px}.stitch-contacts{background:var(--stitch-forest);color:var(--stitch-cream);padding:100px 16px;overflow:hidden}@media (width>=768px){.stitch-contacts{padding:120px 64px}}.stitch-contacts-grid{gap:80px;max-width:1440px;margin:0 auto;display:grid}@media (width>=768px){.stitch-contacts-grid{grid-template-columns:1fr 1fr;gap:120px}}.stitch-contacts-heading{margin-bottom:32px;font-size:28px;font-weight:600;line-height:36px}@media (width>=768px){.stitch-contacts-heading{letter-spacing:-.03em;font-size:40px;line-height:48px}}.stitch-contacts-list{flex-direction:column;gap:32px;display:flex}.stitch-contact-item{align-items:flex-start;gap:16px;display:flex}.stitch-contact-icon{color:var(--stitch-gold);flex-shrink:0;margin-top:2px;font-size:24px}.stitch-contact-title{margin-bottom:4px;font-size:24px;font-weight:600}.stitch-contact-text{opacity:.8;font-size:16px;line-height:1.5}.stitch-social-links{gap:24px;margin-top:48px;display:flex}.stitch-social-btn{width:48px;height:48px;color:var(--stitch-cream);border:1px solid #fffbf24d;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:background .3s,border-color .3s;display:flex}.stitch-social-btn:hover{background:var(--stitch-gold);border-color:var(--stitch-gold)}.stitch-social-btn .material-symbols-outlined{font-size:24px}.stitch-map-wrap{border:1px solid var(--stitch-gold-dim);border-radius:24px;overflow:hidden}.stitch-map-wrap iframe{display:block}.stitch-footer{background:var(--stitch-cream);border-top:1px solid #c5a0591a;padding:24px 16px}@media (width>=768px){.stitch-footer{padding:24px 64px}}.stitch-footer-inner{flex-direction:column;align-items:center;gap:16px;max-width:1440px;margin:0 auto;display:flex}@media (width>=768px){.stitch-footer-inner{flex-direction:row;justify-content:space-between}}.stitch-footer-brand{letter-spacing:-.03em;color:var(--stitch-berry);font-size:40px;font-weight:600;line-height:48px}.stitch-footer-links{align-items:center;gap:24px;display:flex}.stitch-footer-links a{color:var(--stitch-outline);font-size:16px;text-decoration:none;transition:color .3s}.stitch-footer-links a:hover{color:var(--stitch-gold)}.stitch-footer-admin{color:var(--stitch-outline);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:16px;transition:color .3s}.stitch-footer-admin:hover{color:var(--stitch-gold)}.stitch-footer-copy{color:var(--stitch-forest);opacity:.8;font-size:16px;transition:opacity .3s}.stitch-footer-copy:hover{opacity:1}.stitch-hero-overlay{z-index:1;pointer-events:none;background:linear-gradient(#2d3b2d1a 0%,#2d3b2d0d 40%,#2d3b2d4d 80%,#2d3b2d99 100%);position:absolute;inset:0}.stitch-baths-two{grid-template-columns:1fr}@media (width>=768px){.stitch-baths-two{grid-template-columns:repeat(2,1fr)}}.stitch-bath-features{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.stitch-bath-features span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fffbf2e6;white-space:nowrap;background:#ffffff26;border-radius:100px;padding:4px 10px;font-size:12px}.stitch-bath-pricing{border-top:1px solid var(--stitch-gold-dim);padding-top:12px}.stitch-price-row{color:#fffbf2d9;font-size:13px;font-family:var(--stitch-font-mono);letter-spacing:.02em;justify-content:space-between;padding:3px 0;display:flex}.stitch-price-row span:last-child{color:var(--stitch-gold);font-weight:600}.stitch-price-extra{color:#fffbf299;border-top:1px dashed #c5a0594d;margin-top:4px;padding-top:6px}.stitch-services-divider{text-align:center;margin:48px 0 24px}.stitch-heading-sm{font-size:24px;line-height:32px}.stitch-icon-massage{background:#e8d8c8!important}.stitch-per-guest{opacity:.7;font-size:14px;font-weight:400}.stitch-veniks-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.stitch-venik-card{text-align:center;-webkit-backdrop-filter:blur(16px);border:1px solid var(--stitch-gold-dim);background:#fff6;border-radius:16px;padding:24px 16px;transition:border-color .4s,transform .4s}.stitch-venik-card:hover{border-color:var(--stitch-gold);transform:translateY(-4px)}.stitch-venik-emoji{margin-bottom:12px;font-size:40px}.stitch-venik-card h4{color:var(--stitch-berry);margin-bottom:4px;font-size:18px;font-weight:600}.stitch-venik-card p{color:var(--stitch-outline);margin-bottom:12px;font-size:13px;line-height:1.4}.stitch-venik-price{font-family:var(--stitch-font-mono);color:var(--stitch-berry);font-size:16px;font-weight:600}@media (width>=768px){.stitch-masters-five{grid-template-columns:repeat(5,1fr);gap:16px}.stitch-masters-five .stitch-master-frame{border-radius:40px;width:160px;height:200px}.stitch-masters-five .stitch-master-frame img{border-radius:32px}.stitch-masters-five .stitch-master-card h3{font-size:22px;line-height:28px}}@media (width>=1200px){.stitch-masters-five .stitch-master-frame{border-radius:48px;width:200px;height:250px}.stitch-masters-five .stitch-master-frame img{border-radius:40px}}.stitch-master-desc{color:var(--stitch-outline);max-width:220px;margin-top:8px;margin-left:auto;margin-right:auto;font-size:13px;line-height:1.4}.admin-editor{flex-direction:column;gap:20px;display:flex}.editor-tabs{scrollbar-width:none;gap:4px;padding-bottom:4px;display:flex;overflow-x:auto}.editor-tabs::-webkit-scrollbar{display:none}.editor-tab{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);white-space:nowrap;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:500;display:flex}.editor-tab:hover{background:var(--bg-card-hover);color:var(--text-primary)}.editor-tab.active{background:var(--green-primary);color:#fff;border-color:var(--green-primary);box-shadow:0 2px 12px var(--green-glow)}.editor-tab-icon{font-size:16px}.editor-tab-label{font-size:13px}.admin-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px}.admin-table{flex-direction:column;gap:2px;margin-bottom:12px;display:flex}.admin-row{border-radius:var(--radius-sm);transition:var(--transition);grid-template-columns:40px 1fr 100px 60px;align-items:center;gap:8px;padding:10px 12px;display:grid}.admin-row:hover:not(.admin-header){background:var(--bg-card-hover)}.admin-row.admin-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);margin-bottom:4px;padding-bottom:8px;font-size:12px;font-weight:600}.admin-row-services{grid-template-columns:40px 1fr 80px 60px 80px 40px}.cell-id{color:var(--text-muted);font-family:monospace;font-size:12px}.edit-cell{cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition);align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.edit-cell:hover{background:#6d9b5a1a}.edit-icon{opacity:0;transition:var(--transition);font-size:12px}.edit-cell:hover .edit-icon{opacity:.6}.edit-input{background:var(--bg-primary);border:1px solid var(--border-focus);border-radius:var(--radius-sm);color:var(--text-primary);width:100%;max-width:200px;transition:var(--transition);outline:none;padding:6px 10px;font-family:inherit;font-size:14px}.edit-input:focus{border-color:var(--green-primary);box-shadow:0 0 0 3px var(--green-glow)}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:none;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500}.btn-add{width:100%;color:var(--green-primary);border-radius:var(--radius-md);background:#6d9b5a1a;border:1px dashed #6d9b5a4d;margin-top:8px;padding:12px;font-size:14px}.btn-add:hover{border-color:var(--green-primary);background:#6d9b5a33}.btn-save{background:var(--green-primary);color:#fff}.btn-save:hover{background:var(--green-dark)}.btn-cancel{background:var(--bg-card-hover);color:var(--text-secondary)}.btn-cancel:hover{color:var(--text-primary)}.btn-delete{cursor:pointer;opacity:.4;transition:var(--transition);background:0 0;border:none;padding:4px;font-size:16px}.btn-delete:hover{opacity:1}.btn-test-pay{color:var(--accent-warm);background:#d4a04726;border:1px solid #d4a0474d}.btn-test-pay:hover{background:#d4a04740}.btn-cancel-booking{color:var(--accent-red);background:#c95e5e26;border:1px solid #c95e5e4d}.btn-cancel-booking:hover{background:#c95e5e40}.add-form{background:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border-subtle);flex-wrap:wrap;gap:8px;margin-top:8px;padding:16px;display:flex}.add-form .edit-input{flex:1;min-width:120px}.add-form-actions{gap:8px;width:100%;display:flex}.bookings-admin-list{flex-direction:column;gap:8px;display:flex}.booking-admin-card{border-left:3px solid var(--border-subtle);padding:16px}.booking-admin-card.status-confirmed{border-left-color:var(--green-primary)}.booking-admin-card.status-hold{border-left-color:var(--accent-warm)}.booking-admin-card.status-cancelled{border-left-color:var(--accent-red);opacity:.6}.booking-admin-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.booking-admin-id{color:var(--text-muted);font-family:monospace;font-size:13px}.booking-admin-details{color:var(--text-secondary);flex-direction:column;gap:4px;margin-bottom:12px;font-size:14px;display:flex}.payment-id{color:var(--text-muted);font-family:monospace;font-size:12px}.booking-admin-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=600px){.admin-row{grid-template-columns:30px 1fr 70px 30px;padding:8px;font-size:13px}.admin-row-services{grid-template-columns:30px 1fr 60px 40px 60px 30px;font-size:12px}.editor-tab{padding:8px 12px;font-size:12px}.edit-input{max-width:150px}}.login-page{background:var(--bg-primary);background-image:radial-gradient(at 20%,#6d9b5a14 0%,#0000 60%),radial-gradient(at 80% 20%,#5e8ec90f 0%,#0000 50%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-card);padding:40px 32px;animation:.5s fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-logo{text-align:center;margin-bottom:32px}.login-logo-icon{filter:drop-shadow(0 0 20px var(--green-glow));margin-bottom:12px;font-size:48px;display:block}.login-title{color:var(--text-primary);margin-bottom:4px;font-size:24px;font-weight:700}.login-subtitle{color:var(--text-muted);font-size:14px}.login-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);font-size:13px;font-weight:500}.form-input{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);transition:var(--transition);outline:none;width:100%;padding:12px 16px;font-family:inherit;font-size:15px}.form-input:focus{border-color:var(--green-primary);box-shadow:0 0 0 3px var(--green-glow)}.form-input::placeholder{color:var(--text-muted)}.form-hint{color:var(--text-muted);font-size:12px}.login-error{color:var(--accent-red);border-radius:var(--radius-sm);text-align:center;background:#c95e5e1f;border:1px solid #c95e5e4d;padding:10px 14px;font-size:13px}.login-btn{background:linear-gradient(135deg, var(--green-primary), var(--green-dark));color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;margin-top:8px;padding:14px;font-family:inherit;font-size:16px;font-weight:600}.login-btn:hover:not(:disabled){box-shadow:0 4px 16px var(--green-glow);transform:translateY(-1px)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-link{color:var(--green-primary);cursor:pointer;text-align:center;transition:var(--transition);background:0 0;border:none;padding:4px;font-family:inherit;font-size:13px}.login-link:hover{color:var(--green-light)}.login-footer{text-align:center;color:var(--text-muted);margin-top:24px;font-size:12px}.header-right{align-items:center;gap:12px;display:flex}.admin-info{align-items:center;gap:8px;display:flex}.admin-name{color:var(--text-secondary);font-size:13px}.btn-logout{color:var(--accent-red);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);background:#c95e5e1f;border:1px solid #c95e5e33;padding:4px 10px;font-family:inherit;font-size:12px}.btn-logout:hover{background:#c95e5e40}
