
:root{--zen-gold:#ffd45d;--zen-blue:#4dc8ff;--zen-red:#ff5d73;--zen-green:#59d98e;--zen-violet:#8b7bff;}
html{scroll-behavior:smooth}
body{background:radial-gradient(circle at 12% 18%, rgba(77,200,255,.12), transparent 26%),radial-gradient(circle at 86% 15%, rgba(255,212,93,.10), transparent 24%),radial-gradient(circle at 50% 85%, rgba(139,123,255,.10), transparent 28%),linear-gradient(180deg,#050c14 0%,#07111d 35%,#081425 100%);background-attachment:fixed;}
body::before{content:"";position:fixed;inset:-10%;pointer-events:none;z-index:-1;background:radial-gradient(circle, rgba(255,255,255,.035) 1px, transparent 1.6px);background-size:28px 28px;opacity:.18;transform:translate3d(calc(var(--mouse-x, 0px) * .012), calc(var(--scroll-y, 0px) * -.018), 0);}
.topbar{backdrop-filter:blur(14px);background:linear-gradient(180deg, rgba(7,16,25,.92), rgba(7,16,25,.72));border-bottom:1px solid rgba(255,255,255,.08);}
.topbar.is-scrolled{box-shadow:0 16px 48px rgba(0,0,0,.28);}
.nav-admin,.floating-admin-left{display:none !important;}
.admin-entry.btn-admin-top{min-width:auto;padding:.7rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.06));}
.btn,button.btn,.menu-toggle,.lang-btn{position:relative;overflow:hidden;transition:transform .22s ease, box-shadow .22s ease, filter .22s ease, background .22s ease, border-color .22s ease;}
.btn:hover,.lang-btn:hover,.menu-toggle:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 14px 28px rgba(0,0,0,.22);filter:brightness(1.06);}
.btn:active,.lang-btn:active,.menu-toggle:active{transform:translateY(0) scale(.985);}
.btn::before,.lang-btn::before{content:"";position:absolute;inset:auto;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.25), rgba(255,255,255,0) 65%);top:50%;left:50%;transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none;transition:transform .45s ease, opacity .35s ease;}
.btn:hover::before,.lang-btn:hover::before{transform:translate(-50%,-50%) scale(1);opacity:1;}
.btn-primary,.btn-secondary,.btn-ghost{border-radius:999px !important;font-weight:800;letter-spacing:.02em;}
.btn-primary{background:radial-gradient(circle at 30% 28%, rgba(255,255,255,.32), transparent 26%),linear-gradient(180deg, #f6dc6f, #d4aa27 78%, #b58810) !important;color:#061018 !important;border:1px solid rgba(255,226,130,.58) !important;}
.btn-secondary{background:radial-gradient(circle at 30% 28%, rgba(255,255,255,.3), transparent 26%),linear-gradient(180deg, #67d7ff, #2398cb 78%, #1a6f95) !important;color:#041018 !important;border:1px solid rgba(120,220,255,.45) !important;}
.btn-ghost{background:radial-gradient(circle at 30% 28%, rgba(255,255,255,.18), transparent 26%),linear-gradient(180deg, rgba(24,38,58,.95), rgba(11,20,34,.9)) !important;color:#f4f8ff !important;border:1px solid rgba(255,255,255,.14) !important;}
.hero,.hero-inner,.hero-home{overflow:hidden;}.hero-slide{transform:scale(1.06);transition:opacity 1.1s ease, transform 6.4s ease;}.hero-slide.active{transform:scale(1.14);}.hero-overlay{background:linear-gradient(180deg, rgba(3,7,12,.36), rgba(4,8,14,.68) 50%, rgba(4,9,16,.84));}
.hero-lights::before,.hero-lights::after{content:"";position:absolute;inset:auto;width:46vw;height:46vw;max-width:540px;max-height:540px;border-radius:50%;filter:blur(46px);opacity:.19;pointer-events:none;}.hero-lights::before{top:-10%;left:-8%;background:rgba(77,200,255,.42);animation:zenFloat 10s ease-in-out infinite;}.hero-lights::after{bottom:-14%;right:-10%;background:rgba(255,212,93,.30);animation:zenFloat 13s ease-in-out infinite reverse;}
.ambient{animation:zenDrift 20s linear infinite;}
.feature-card,.glass-panel,.hero-card,.mini-card,.panel{transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;}.feature-card:hover,.glass-panel:hover,.hero-card:hover,.mini-card:hover,.panel:hover{transform:translateY(-4px);box-shadow:0 18px 48px rgba(0,0,0,.22);border-color:rgba(255,255,255,.12);}
.hero-quick-badges span,.chip,.status-badge{animation:zenPulseSoft 4.8s ease-in-out infinite;}
.reveal{opacity:0;transform:translateY(22px) scale(.985);}.reveal.visible{opacity:1;transform:none;transition:opacity .65s ease, transform .65s ease;}
.lang-switcher{gap:.45rem;flex-wrap:wrap;}.lang-btn{border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);}.lang-btn.active{background:linear-gradient(180deg, rgba(255,212,93,.24), rgba(255,212,93,.09));border-color:rgba(255,212,93,.44);}
.lightbox{backdrop-filter:blur(12px);}
.page-glow{position:fixed;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;pointer-events:none;z-index:9999;background:radial-gradient(circle, rgba(255,255,255,.95), rgba(255,212,93,.65) 36%, rgba(255,212,93,0) 70%);opacity:0;transform:scale(.4);}.page-glow.show{animation:zenPop .55s ease forwards;}
.pool-ripple{position:absolute;border-radius:999px;pointer-events:none;transform:translate(-50%,-50%) scale(0.2);opacity:.35;mix-blend-mode:screen;border:2px solid rgba(255,255,255,.45);box-shadow:0 0 0 4px rgba(255,255,255,.05), 0 0 26px rgba(255,212,93,.2);animation:zenRipple .72s ease-out forwards;}
.site-footer{position:relative;overflow:hidden;}.site-footer::before{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg, transparent, rgba(255,212,93,.7), rgba(77,200,255,.7), transparent);}
.booking-shell .panel,.booking-shell .glass-panel{backdrop-filter:blur(14px);}.booking-hero-copy .hero-points{margin-top:1rem;}.booking-shell .panel .section-head span,.booking-shell .panel .section-head h1,.booking-shell .panel .section-head h2{position:relative;z-index:1;}
.compact-form textarea,textarea,input,select{transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;}.compact-form textarea:focus,textarea:focus,input:focus,select:focus{border-color:rgba(255,212,93,.45) !important;box-shadow:0 0 0 4px rgba(255,212,93,.08);}
.gallery-item img{transition:transform .3s ease, filter .3s ease}.gallery-item:hover img{transform:scale(1.03);filter:saturate(1.08)}
html[data-translate-ready="0"] body{opacity:0} html[data-translate-ready="1"] body{opacity:1;transition:opacity .18s ease}
@keyframes zenRipple{to{transform:translate(-50%,-50%) scale(1.8);opacity:0;}} @keyframes zenPop{0%{opacity:.8;transform:scale(.35)}100%{opacity:0;transform:scale(2.6)}} @keyframes zenFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(18px,-22px,0)}} @keyframes zenDrift{from{transform:translateY(0) rotate(0)}to{transform:translateY(-30px) rotate(360deg)}} @keyframes zenPulseSoft{0%,100%{box-shadow:0 0 0 0 rgba(255,212,93,0)}50%{box-shadow:0 0 0 10px rgba(255,212,93,0)}}
@media (max-width: 900px){.admin-entry.btn-admin-top{padding:.62rem .9rem;font-size:.92rem}.hero-slide.active{transform:scale(1.08)}}


/* final stability pass */
.nav a.active,.nav a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.btn,.btn:visited,.btn-primary,.btn-secondary,.btn-ghost,.action-btn,.quick-filter{color:#fff !important}
.btn-primary{background:radial-gradient(circle at 30% 28%, rgba(255,255,255,.18), transparent 26%),linear-gradient(180deg,#2b8dff,#165cff 78%,#1140b2) !important;border:1px solid rgba(119,187,255,.45) !important}
.btn-secondary{background:radial-gradient(circle at 30% 28%, rgba(255,255,255,.14), transparent 26%),linear-gradient(180deg,#2bc0c9,#158997 78%,#0e6170) !important;border:1px solid rgba(108,224,231,.36) !important}
.btn-ghost{background:linear-gradient(180deg,rgba(22,30,48,.96),rgba(10,16,28,.96)) !important;border:1px solid rgba(255,255,255,.14) !important}
.result-box.info,.result-box.warn,.result-box.ok,.result-box.err{display:block;padding:14px 16px;border-radius:16px;margin-top:14px}
.result-box.info{background:rgba(27,74,138,.24);border:1px solid rgba(82,150,255,.22)}
.result-box.warn{background:rgba(138,108,27,.24);border:1px solid rgba(255,214,82,.2)}
.result-box.ok,.result-box.success{background:rgba(17,96,61,.24);border:1px solid rgba(73,212,149,.22)}
.result-box.err,.result-box.error{background:rgba(138,33,33,.24);border:1px solid rgba(255,99,99,.22)}
.gallery-item img{will-change:transform}
body.lightbox-open{overflow:hidden}
