*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--forest: #16302B;--forest-mid: #2D5A40;--forest-light: #4A8C64;--gold: #C9A84C;--gold-light: #E8C96B;--gold-glow: rgba(201,168,76,.25);--cream: #F9F6F0;--white: #FFFFFF;--charcoal: #1A1A2E;--border: #E5E5EB;--card: #FFFFFF;--text-sec: #6B7280;--text-muted: #9CA3AF;--surface: #F3F4F6;--red: #DC2626;--green: #16A34A;--blue: #2563EB;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow: 0 4px 16px rgba(0,0,0,.08);--shadow-md: 0 8px 32px rgba(0,0,0,.1);--shadow-lg: 0 20px 60px rgba(0,0,0,.14);--radius-sm: 8px;--radius: 14px;--radius-md: 18px;--radius-lg: 24px;--navbar-h: 64px;--transition: .22s cubic-bezier(.4,0,.2,1)}[data-theme=dark]{--cream: #0D1117;--white: #161B22;--card: #1C2333;--charcoal: #E6EDF3;--border: #30363D;--text-sec: #8B949E;--text-muted: #6E7681;--surface: #21262D;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow: 0 4px 16px rgba(0,0,0,.5);--shadow-md: 0 8px 32px rgba(0,0,0,.6);--shadow-lg: 0 20px 60px rgba(0,0,0,.7)}html{scroll-behavior:smooth;font-size:16px}body{font-family:Outfit,system-ui,-apple-system,sans-serif;background:var(--cream);color:var(--charcoal);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--transition),color var(--transition);overflow-x:hidden;min-height:100vh}img{max-width:100%;display:block}a{color:var(--forest-light);text-decoration:none}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}input,select,textarea{font-weight:600!important;color:var(--charcoal)!important}input::placeholder,textarea::placeholder{font-weight:400!important;color:var(--text-muted)!important;opacity:1!important}input:focus,select:focus,textarea:focus{outline:none!important;border-color:var(--forest)!important;box-shadow:0 0 0 3px #16302b1a!important}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{color:var(--charcoal)!important;background:var(--surface)!important}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--text-muted)!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:none}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 0 0 var(--gold-glow)}50%{box-shadow:0 0 0 8px transparent}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.08)}75%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes toastIn{0%{opacity:0;transform:translate(100%) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes expandDown{0%{opacity:0;transform:scaleY(.8) translateY(-8px)}to{opacity:1;transform:scaleY(1) translateY(0)}}@keyframes heroText{0%{opacity:0;transform:translateY(30px) skewY(2deg)}to{opacity:1;transform:none}}@keyframes gradientMove{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes navUnderline{0%{width:0}to{width:100%}}.anim-fadeIn{animation:fadeIn .4s ease both}.anim-fadeInUp{animation:fadeInUp .5s ease both}.anim-fadeInDown{animation:fadeInDown .3s ease both}.anim-scaleIn{animation:scaleIn .3s ease both}.anim-slideInLeft{animation:slideInLeft .4s ease both}.anim-slideInRight{animation:slideInRight .4s ease both}.anim-float{animation:float 3s ease infinite}.anim-bounceIn{animation:bounceIn .5s ease both}.anim-spin{animation:spin .8s linear infinite}.toast-anim{animation:toastIn .4s cubic-bezier(.175,.885,.32,1.275) both}.modal-wrap{animation:scaleIn .25s ease both}.modal-overlay{animation:fadeIn .2s ease both}.stagger-1{animation-delay:.05s!important}.stagger-2{animation-delay:.1s!important}.stagger-3{animation-delay:.15s!important}.stagger-4{animation-delay:.2s!important}.stagger-5{animation-delay:.25s!important}.stagger-6{animation-delay:.3s!important}.skeleton{background:linear-gradient(90deg,var(--border) 25%,var(--surface) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.5s ease infinite;border-radius:var(--radius-sm)}.skeleton-text{height:14px;margin-bottom:8px;border-radius:4px}.skeleton-title{height:20px;margin-bottom:12px;border-radius:4px;width:60%}.skeleton-img{aspect-ratio:16/9;border-radius:var(--radius)}.skeleton-avatar{border-radius:50%}.skeleton-btn{height:40px;border-radius:10px;width:120px}.skeleton-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.skeleton-card .sk-img{height:200px}.skeleton-card .sk-body{padding:16px}.skeleton-card .sk-line{height:12px;border-radius:4px;margin-bottom:8px}.rs-spinner{width:38px;height:38px;border:3px solid var(--border);border-top-color:var(--forest);border-radius:50%;animation:spin .7s linear infinite}.rs-spinner-gold{border-top-color:var(--gold)}.rs-spinner-sm{width:22px;height:22px;border-width:2.5px}.rs-spinner-lg{width:52px;height:52px;border-width:4px}button{transition:transform var(--transition),box-shadow var(--transition),opacity var(--transition),background var(--transition),border-color var(--transition),color var(--transition)!important}button:active:not(:disabled){transform:scale(.96)!important}button:disabled{opacity:.55!important;cursor:not-allowed!important}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);opacity:0;pointer-events:none;transition:opacity .4s}.btn-ripple:active:after{opacity:1}.desktop-nav{display:flex}.mobile-menu-btn{display:none!important}.nav-link{position:relative;padding-bottom:4px}.nav-link:after{content:"";position:absolute;bottom:0;left:0;height:2px;width:0;background:var(--forest);border-radius:2px;transition:width var(--transition)}.nav-link:hover:after,.nav-link.active:after{width:100%}@media (max-width: 860px){.desktop-nav{display:none!important}.mobile-menu-btn{display:flex!important}}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#c9a84c4d}.card-verified{border-color:#c9a84c66!important}.prop-img-wrap{overflow:hidden;border-radius:var(--radius-md) var(--radius-md) 0 0}.prop-img-wrap img{transition:transform .5s cubic-bezier(.4,0,.2,1);width:100%;height:100%;object-fit:cover}.prop-img-wrap:hover img{transform:scale(1.06)}.form-field{margin-bottom:16px}.form-label{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-sec);margin-bottom:7px}.form-input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:14px;font-weight:600;background:var(--cream);color:var(--charcoal);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.form-input:focus{border-color:var(--forest);background:var(--white);box-shadow:0 0 0 3px #16302b14}.dash-bottom-bar,.admin-mobile-tabs{display:none}@media (max-width: 768px){.dash-layout{flex-direction:column!important;min-height:unset!important;padding-bottom:70px!important}.dash-aside{display:none!important}.dash-main{padding:14px 14px 20px!important}.dash-bottom-bar{display:flex!important;position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--white);border-top:1px solid var(--border);z-index:400;box-shadow:0 -4px 24px #00000014;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dash-bottom-bar::-webkit-scrollbar{display:none}.admin-layout{flex-direction:column!important;height:auto!important;overflow:visible!important;padding-bottom:0!important}.admin-aside{display:none!important}.admin-main{padding:14px 12px 24px!important;overflow:visible!important}.admin-mobile-tabs{display:flex!important;overflow-x:auto;background:#0d1117;border-bottom:1px solid rgba(255,255,255,.1);padding:0 4px;position:sticky;top:var(--navbar-h);z-index:200;scrollbar-width:none}.admin-mobile-tabs::-webkit-scrollbar{display:none}.stat-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.checkout-grid,.prop-page-grid{grid-template-columns:1fr!important}.prop-page-sidebar{position:static!important;width:100%!important}}@media (max-width: 640px){.hero-search{flex-direction:column!important;border-radius:16px!important}.hero-search>div{border-right:none!important;border-bottom:1px solid var(--border)!important}.hero-search>button{border-radius:0 0 16px 16px!important;width:100%!important}.hero-stats{gap:14px!important;flex-wrap:wrap;justify-content:center}.category-grid{grid-template-columns:repeat(4,1fr)!important;gap:7px!important}.prop-grid{grid-template-columns:1fr!important;gap:14px!important}.how-grid{grid-template-columns:1fr!important;gap:12px!important}}@media (max-width: 900px){.sb-sidebar-desktop{display:none!important}}@media (max-width: 600px){.sb-dates{display:none!important}.sb-grid{grid-template-columns:1fr!important;gap:12px!important}}@media (max-width: 640px){.gallery-grid{grid-template-columns:1fr 1fr!important;gap:6px!important}.specs-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.amenities-grid{grid-template-columns:1fr 1fr!important}}@media (max-width: 768px){.footer-grid{grid-template-columns:1fr!important;gap:28px!important}.footer-bottom{flex-direction:column!important;text-align:center;gap:14px!important}.footer-bottom-links{flex-wrap:wrap!important;justify-content:center!important;gap:12px 20px!important}}[data-theme=dark] .skeleton{background:linear-gradient(90deg,#21262d 25%,#30363d,#21262d 75%);background-size:200% 100%}[data-theme=dark] .card{background:var(--card);border-color:var(--border)}[data-theme=dark] .form-input{background:var(--surface);border-color:var(--border);color:var(--charcoal)}[data-theme=dark] .form-input:focus{background:var(--card);border-color:var(--gold);box-shadow:0 0 0 3px #c9a84c1f}.hero-badge{animation:fadeInDown .6s ease both}.hero-title{animation:heroText .8s cubic-bezier(.16,1,.3,1) both;animation-delay:.1s}.hero-subtitle{animation:heroText .8s cubic-bezier(.16,1,.3,1) both;animation-delay:.2s}.hero-search-wrap{animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) both;animation-delay:.3s}.hero-stats-wrap{animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) both;animation-delay:.5s}.hero-cta{animation:fadeInUp .6s ease both;animation-delay:.65s}.slide-tagline-enter{animation:fadeInUp .4s ease both}.slide-tagline-exit{animation:fadeInDown .3s ease both}.dash-nav button{position:relative;overflow:hidden}.dash-nav button:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:#c9a84c14;transition:width var(--transition);border-radius:0 8px 8px 0}.dash-nav button:hover:before{width:100%}.dash-nav button:hover{transform:translate(3px)}.why-card{transition:transform var(--transition),box-shadow var(--transition)!important}.why-card:hover{transform:translateY(-8px)!important;box-shadow:0 24px 56px #0000002e!important}.badge-verified{background:var(--gold);color:var(--forest);animation:bounceIn .4s ease both}.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:100px;font-size:12px;font-weight:700;animation:scaleIn .2s ease both}.notif-badge{animation:bounceIn .4s ease both}.notif-badge-pulse{animation:glow 2s ease infinite}.back-btn{animation:slideInLeft .3s ease both;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.search-expand{animation:expandDown .25s cubic-bezier(.16,1,.3,1) both;transform-origin:top center}@media (max-width: 480px){.stat-grid,.booking-meta-grid{grid-template-columns:1fr 1fr!important}.hide-mobile{display:none!important}.btn-full-mobile{width:100%!important}h1{font-size:clamp(22px,6.5vw,40px)!important}h2{font-size:clamp(18px,5vw,28px)!important}}@media (max-width: 640px){.contact-grid{grid-template-columns:1fr!important;gap:24px!important}.help-grid,.about-cards{grid-template-columns:1fr 1fr!important;gap:12px!important}}@media (max-width: 400px){.help-grid,.about-cards{grid-template-columns:1fr!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.text-gradient{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-forest{background:linear-gradient(135deg,var(--forest) 0%,var(--forest-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass{background:#ffffff1f;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.2)}[data-theme=dark] .glass{background:#00000040;border-color:#ffffff14}
