@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--bg-primary:#faf8f2;--bg-secondary:#f0ede5;--bg-card:#fff;--bg-elevated:#fff;--bg-hero:linear-gradient(135deg, #091d18eb, #091d184d);--text-primary:#1a2e28;--text-secondary:#5a6b65;--text-muted:#8a9690;--text-inverse:#fff;--accent:#b8892e;--accent-hover:#9a6d26;--accent-light:#f5ecd8;--accent-muted:#d4b97a;--brand-dark:#173d34;--brand-mid:#28584c;--brand-light:#3a7868;--border:#e0ddd5;--border-light:#eae8e0;--shadow-sm:0 2px 8px #14281e0f;--shadow-md:0 8px 30px #14281e1a;--shadow-lg:0 18px 55px #14281e24;--shadow-glow:0 0 30px #b8892e26;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--transition:.3s cubic-bezier(.4, 0, .2, 1);--success:#2d8a5e;--success-bg:#e8f5ee;--error:#c0392b;--error-bg:#fce8e6;--warning:#d4a017;--info:#2980b9}[data-theme=dark]{--bg-primary:#0f1923;--bg-secondary:#162231;--bg-card:#1a2d3d;--bg-elevated:#1f3344;--bg-hero:linear-gradient(135deg, #050f14f2, #050f1480);--text-primary:#e8edf0;--text-secondary:#9aacb4;--text-muted:#6b8090;--text-inverse:#0f1923;--accent:#d4a940;--accent-hover:#c9a367;--accent-light:#2a2215;--accent-muted:#8a7040;--brand-dark:#0d2a22;--brand-mid:#1a4a3c;--brand-light:#2a6a58;--border:#243848;--border-light:#1d3040;--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 30px #0000004d;--shadow-lg:0 18px 55px #0006;--success-bg:#1a3a2a;--error-bg:#3a1a1a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;min-width:320px;transition:background var(--transition), color var(--transition);font-family:Inter,Segoe UI,sans-serif;font-size:16px;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;cursor:pointer;text-decoration:none}button,input,select,textarea{font:inherit;border:none;outline:none}button{cursor:pointer}.container{width:min(1200px,100% - 48px);margin-inline:auto}.public-site{min-height:100vh}h1,h2,h3{font-family:Playfair Display,Georgia,serif;font-weight:600;line-height:1.15}.kicker{color:var(--accent);letter-spacing:.2em;margin-bottom:16px;font-family:Inter,sans-serif;font-size:.72rem;font-weight:800;display:block}.kicker.accent{color:var(--accent-hover)}.btn-primary{min-height:48px;color:var(--text-inverse);background:linear-gradient(135deg, var(--accent), var(--accent-hover));border-radius:var(--radius-sm);transition:all var(--transition);justify-content:center;align-items:center;gap:8px;padding:0 28px;font-size:.9rem;font-weight:700;display:inline-flex;box-shadow:0 4px 15px #b8892e4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #b8892e66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary.small{min-height:38px;padding:0 18px;font-size:.82rem}.btn-primary.full{width:100%}.btn-outline{min-height:42px;color:var(--accent-hover);border:1.5px solid var(--accent);border-radius:var(--radius-sm);transition:all var(--transition);background:0 0;justify-content:center;align-items:center;padding:0 20px;font-size:.82rem;font-weight:700;display:inline-flex}.btn-outline:hover{background:var(--accent-light)}.btn-outline.small{min-height:36px;padding:0 14px;font-size:.78rem}.site-header{z-index:100;color:#fff;width:100%;transition:all var(--transition);justify-content:space-between;align-items:center;padding:16px clamp(20px,5vw,60px);display:flex;position:fixed;top:0;left:0}.site-header.scrolled{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=dark] .site-header.scrolled{background:#1a2d3df2}.site-logo{z-index:10;align-items:center;gap:10px;display:flex}.logo-mark{border:1.5px solid var(--accent);width:42px;height:42px;color:var(--accent);transition:all var(--transition);border-radius:50%;place-items:center;font-family:Playfair Display,serif;font-size:1rem;font-weight:700;display:grid}.site-header:not(.scrolled) .logo-mark{color:#e8d5a8;border-color:#fff9}.logo-text{gap:0;display:grid}.logo-text strong{font-family:Playfair Display,serif;font-size:1.1rem}.logo-text small{letter-spacing:.3em;color:var(--text-muted);font-size:.55rem}.site-header:not(.scrolled) .logo-text small{color:#ffffffb3}.site-nav{gap:32px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.site-nav a{transition:color var(--transition);padding:4px 0;font-size:.88rem;font-weight:500;position:relative}.site-nav a:after{content:"";background:var(--accent);width:0;height:2px;transition:width var(--transition);position:absolute;bottom:-2px;left:0}.site-nav a:hover:after,.site-nav a.active:after{width:100%}.site-nav a.active{color:var(--accent)}.site-header:not(.scrolled) .site-nav a.active{color:#e8d5a8}.header-actions{z-index:10;align-items:center;gap:12px;display:flex}.lang-toggle,.theme-toggle{width:36px;height:36px;color:inherit;transition:all var(--transition);background:#ffffff1a;border:1px solid #0000;border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid}.site-header.scrolled .lang-toggle,.site-header.scrolled .theme-toggle{background:var(--bg-secondary);color:var(--text-primary)}.lang-toggle:hover,.theme-toggle:hover{background:var(--accent-light);border-color:var(--accent)}.user-menu,.auth-links{align-items:center;gap:10px;display:flex}.user-name{font-size:.82rem;font-weight:600}.admin-link{background:var(--accent);color:#fff;border-radius:var(--radius-sm);padding:4px 10px;font-size:.78rem;font-weight:700}.logout-btn{color:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:0 0;padding:4px 12px;font-size:.78rem}.site-header:not(.scrolled) .logout-btn{border-color:#fff6}.login-link{font-size:.85rem;font-weight:600}.register-link{border-radius:var(--radius-sm);border:1px solid #ffffff80;padding:6px 14px;font-size:.82rem}.site-header.scrolled .register-link{border-color:var(--border)}.header-book-btn{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;border-radius:var(--radius-sm);transition:all var(--transition);padding:10px 20px;font-size:.82rem;font-weight:700}.header-book-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #b8892e4d}.mobile-menu-btn{z-index:10;background:0 0;width:40px;height:40px;display:none;position:relative}.hamburger,.hamburger:before,.hamburger:after{width:22px;height:2px;transition:all var(--transition);background:currentColor;display:block;position:absolute}.hamburger{top:50%;left:50%;transform:translate(-50%,-50%)}.hamburger:before{content:"";top:-7px}.hamburger:after{content:"";top:7px}.hamburger.open{background:0 0}.hamburger.open:before{top:0;transform:rotate(45deg)}.hamburger.open:after{top:0;transform:rotate(-45deg)}.hero-section{color:#fff;background:url(https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=2000&q=85) 50%/cover;align-items:center;min-height:100vh;padding:140px clamp(24px,8vw,120px) 100px;display:flex;position:relative;overflow:hidden}.hero-overlay{background:var(--bg-hero);position:absolute;inset:0}.hero-content{z-index:2;max-width:700px;animation:1s fadeInUp;position:relative}.hero-content h1{letter-spacing:-.03em;margin-bottom:24px;font-size:clamp(2.8rem,6vw,5rem);font-weight:500;line-height:1.05}.hero-desc{color:#cdd8d4;max-width:520px;margin-bottom:36px;font-size:1.05rem;line-height:1.7}.hero-badge{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-md);background:#ffffff14;border:1px solid #ffffff26;align-items:center;gap:14px;padding:16px 24px;display:flex;position:absolute;bottom:50px;right:clamp(24px,5vw,80px)}.hero-badge span{color:var(--accent);font-family:Playfair Display,serif;font-size:2.2rem}.hero-badge p{color:#c5d2ce;max-width:140px;font-size:.82rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.booking-bar-section{z-index:10;width:min(1100px,100% - 40px);margin:-40px auto 0;position:relative}.booking-bar{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);grid-template-columns:1fr 1fr .8fr auto;display:grid;overflow:hidden}.booking-bar label{border-right:1px solid var(--border-light);gap:6px;padding:18px 24px;display:grid}.booking-bar label span{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.68rem;font-weight:800}.booking-bar input,.booking-bar select{color:var(--text-primary);background:0 0;font-size:.95rem}.booking-bar button{color:#fff;background:var(--brand-dark);min-height:100%;transition:background var(--transition);padding:0 30px;font-size:.88rem;font-weight:700}.booking-bar button:hover{background:var(--brand-mid)}.about-section{grid-template-columns:.9fr 1.1fr;gap:80px;padding-block:120px;display:grid}.about-section h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:500}.about-right p{color:var(--text-secondary);font-size:1.02rem;line-height:1.8}.about-stats{gap:40px;margin-top:36px;display:flex}.stat{gap:4px;display:grid}.stat strong{color:var(--brand-dark);font-family:Playfair Display,serif;font-size:1.8rem}[data-theme=dark] .stat strong{color:var(--accent)}.stat span{color:var(--text-muted);font-size:.78rem}.rooms-section{background:var(--bg-secondary);padding:100px 0}.section-header{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:44px;display:flex}.section-header h2{font-size:clamp(2rem,3.5vw,2.8rem);font-weight:500}.section-desc{max-width:360px;color:var(--text-secondary);line-height:1.7}.room-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.room-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition);border:1px solid var(--border-light);overflow:hidden}.room-card:hover{box-shadow:var(--shadow-md);transform:translateY(-6px)}.room-card-img{aspect-ratio:4/3;background-position:50%;background-size:cover;position:relative}.room-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;background:#0000008c;border-radius:20px;padding:5px 12px;font-size:.72rem;font-weight:700;position:absolute;top:14px;left:14px}.room-badge.sea{background:#2980b9cc;left:auto;right:14px}.room-card-body{padding:22px}.room-card-body h3{margin-bottom:8px;font-size:1.3rem;font-weight:500}.room-desc{color:var(--text-secondary);margin-bottom:12px;font-size:.85rem;line-height:1.6}.room-amenities-preview{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.amenity-tag{background:var(--accent-light);color:var(--accent-hover);border-radius:20px;padding:3px 10px;font-size:.7rem;font-weight:600}.room-card-footer{border-top:1px solid var(--border-light);padding-top:16px}.room-price{color:var(--text-secondary);margin-bottom:12px;font-size:.82rem}.room-price strong{color:var(--text-primary);font-size:1.1rem}.room-card-actions{gap:10px;display:flex}.services-preview{padding-block:120px}.services-header{margin-bottom:50px}.services-header h2{max-width:550px;font-size:clamp(2rem,4vw,3rem);font-weight:500}.service-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;display:grid}.service-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);transition:all var(--transition);padding:28px}.service-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-4px)}.service-icon{margin-bottom:8px;font-size:2rem;display:block}.service-num{color:var(--accent);font-family:Playfair Display,serif;font-size:.9rem}.service-card h3{margin:16px 0 10px;font-family:Playfair Display,serif;font-size:1.15rem;font-weight:500}.service-card p{color:var(--text-secondary);font-size:.85rem;line-height:1.7}.services-cta{text-align:center;margin-top:40px}.services-page{padding:80px 0}.services-full-grid{gap:40px;display:grid}.service-full-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);transition:all var(--transition);grid-template-columns:1fr 1fr;gap:0;display:grid;overflow:hidden}.service-full-card:hover{box-shadow:var(--shadow-md)}.service-full-card.reverse{direction:rtl}.service-full-card.reverse>*{direction:ltr}.service-full-img{background-position:50%;background-size:cover;min-height:350px}.service-full-body{flex-direction:column;justify-content:center;padding:48px;display:flex}.service-icon-large{margin-bottom:16px;font-size:3rem}.service-full-body h2{margin-bottom:16px;font-size:1.8rem;font-weight:500}.service-full-body p{color:var(--text-secondary);font-size:1rem;line-height:1.8}.reviews-section{background:var(--brand-dark);color:#fff;text-align:center;padding:100px 0}.reviews-section h2{margin-bottom:50px;font-size:clamp(2rem,3.5vw,2.6rem);font-weight:500}.reviews-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}.review-card{border-radius:var(--radius-md);text-align:left;transition:all var(--transition);background:#ffffff0f;border:1px solid #ffffff1a;padding:32px}.review-card:hover{background:#ffffff1a;transform:translateY(-4px)}.review-stars{color:var(--accent);letter-spacing:2px;margin-bottom:16px;font-size:1rem}.review-text{color:#c5d5d0;margin-bottom:20px;font-size:.95rem;font-style:italic;line-height:1.7}.review-author{align-items:center;gap:12px;display:flex}.review-avatar{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;font-size:.9rem;font-weight:700;display:grid}.review-author strong{font-size:.9rem}.cta-banner{background:linear-gradient(135deg, var(--brand-dark), var(--brand-mid));color:#fff;text-align:center;padding:100px 24px}.cta-banner h2{max-width:600px;margin:0 auto 20px;font-size:clamp(2rem,4vw,3rem);font-weight:500}.cta-banner>p:not(.kicker){color:#b5c8c2;margin-bottom:30px}.page-hero{text-align:center;color:#fff;background:url(https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=2000&q=85) 50%/cover;justify-content:center;align-items:center;min-height:400px;display:flex;position:relative}.page-hero-overlay{background:#091d18cc;position:absolute;inset:0}.page-hero-content{z-index:2;padding:100px 24px 60px;position:relative}.page-hero-content h1{margin-bottom:12px;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:500}.page-hero-content p{color:#b5c8c2;max-width:500px;margin-inline:auto;font-size:1rem}.rooms-hero{background-image:url(https://images.unsplash.com/photo-1611892440504-42a792e24d32?auto=format&fit=crop&w=2000&q=85)}.booking-hero{background-image:url(https://images.unsplash.com/photo-1618773928121-c32242e63f39?auto=format&fit=crop&w=2000&q=85)}.services-hero{background-image:url(https://images.unsplash.com/photo-1520250497591-112f2f40a3f4?auto=format&fit=crop&w=2000&q=85)}.contact-hero{background-image:url(https://images.unsplash.com/photo-1571896349842-33c89424de2d?auto=format&fit=crop&w=2000&q=85)}.payment-hero{background-image:url(https://images.unsplash.com/photo-1556742049-0cfed4f6a45d?auto=format&fit=crop&w=2000&q=85)}.page-content{padding-top:0}.rooms-list{padding:60px 0 100px}.room-detail{padding:100px 0 80px}.back-link{color:var(--accent);margin-bottom:24px;font-size:.88rem;font-weight:600;display:inline-block}.back-link:hover{text-decoration:underline}.room-gallery{margin-bottom:40px}.gallery-main{border-radius:var(--radius-lg);margin-bottom:12px;overflow:hidden}.gallery-main img{object-fit:cover;width:100%;height:450px}.gallery-thumbs{gap:10px;display:flex}.thumb{border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition);background:0 0;border:2px solid #0000;flex:1;padding:0;overflow:hidden}.thumb.active{border-color:var(--accent)}.thumb img{object-fit:cover;width:100%;height:80px}.room-detail-grid{grid-template-columns:1.2fr .8fr;gap:40px;display:grid}.room-detail-info h1{margin-bottom:8px;font-size:2.2rem;font-weight:500}.room-detail-capacity{color:var(--text-secondary);margin-bottom:28px;font-size:.9rem}.detail-section{margin-bottom:28px}.detail-section h3{color:var(--accent-hover);margin-bottom:12px;font-size:1.1rem}.detail-section p{color:var(--text-secondary);line-height:1.8}.amenities-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.amenity-item{color:var(--text-secondary);padding:6px 0;font-size:.88rem}.room-booking-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);height:fit-content;padding:28px;position:sticky;top:100px}.booking-card-price{border-bottom:1px solid var(--border-light);margin-bottom:20px;padding-bottom:16px}.price-label{color:var(--text-muted);margin-bottom:4px;font-size:.78rem}.price-value{color:var(--accent-hover);font-family:Playfair Display,serif;font-size:2rem}.price-value span{color:var(--text-muted);font-family:Inter,sans-serif;font-size:.85rem}.booking-card-info{margin-bottom:20px}.info-row{justify-content:space-between;padding:8px 0;font-size:.88rem;display:flex}.info-row span{color:var(--text-muted)}.booking-page{padding:60px 0 100px}.booking-form-full{grid-template-columns:1.3fr .7fr;align-items:start;gap:40px;display:grid}.form-section{margin-bottom:36px}.form-section h2{border-bottom:1px solid var(--border-light);margin-bottom:20px;padding-bottom:12px;font-size:1.4rem;font-weight:500}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-grid label{gap:6px;display:grid}.form-grid label.full-width{grid-column:1/-1}.form-grid label span{color:var(--text-secondary);font-size:.78rem;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);width:100%;min-height:46px;color:var(--text-primary);transition:all var(--transition);padding:0 14px}.form-grid textarea{resize:vertical;min-height:auto;padding:12px 14px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b8892e1f}.booking-summary{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:28px;position:sticky;top:100px}.booking-summary h3{margin-bottom:20px;font-size:1.2rem;font-weight:500}.summary-room{border-bottom:1px solid var(--border-light);gap:14px;margin-bottom:20px;padding-bottom:16px;display:flex}.summary-room img{object-fit:cover;border-radius:var(--radius-sm);width:80px;height:60px}.summary-room strong{font-size:.95rem;display:block}.summary-room p{color:var(--text-muted);font-size:.82rem}.summary-details{margin-bottom:20px}.summary-row{color:var(--text-secondary);justify-content:space-between;padding:8px 0;font-size:.88rem;display:flex}.summary-total{border-top:2px solid var(--border);justify-content:space-between;padding:14px 0;font-size:1.05rem;display:flex}.summary-total strong{color:var(--accent-hover);font-size:1.2rem}.form-error{background:var(--error-bg);color:var(--error);border-radius:var(--radius-sm);margin-bottom:12px;padding:12px;font-size:.85rem}.form-success{background:var(--success-bg);color:var(--success);border-radius:var(--radius-sm);margin-bottom:12px;padding:12px;font-size:.85rem}.booking-success{place-items:center;min-height:80vh;padding:100px 24px;display:grid}.success-card{text-align:center;background:var(--bg-card);border-radius:var(--radius-xl);max-width:500px;box-shadow:var(--shadow-lg);padding:50px}.success-icon{background:var(--success-bg);width:80px;height:80px;color:var(--success);border-radius:50%;place-items:center;margin:0 auto 24px;font-size:2.5rem;font-weight:700;display:grid}.success-card h1{margin-bottom:12px;font-size:1.8rem}.booking-code{color:var(--accent);margin:16px 0;font-family:Playfair Display,serif;font-size:2rem;font-weight:700}.success-note{color:var(--text-secondary);margin-bottom:28px;font-size:.88rem}.success-actions{justify-content:center;gap:12px;display:flex}.payment-page{max-width:600px;margin-inline:auto;padding:60px 0 100px}.payment-methods h2{margin-bottom:24px;font-size:1.3rem;font-weight:500}.method-grid{gap:16px;margin-bottom:28px;display:grid}.method-card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:all var(--transition);gap:8px;padding:24px;display:grid}.method-card:hover{border-color:var(--accent-muted)}.method-card.selected{border-color:var(--accent);background:var(--accent-light)}.method-icon{font-size:2rem}.method-card strong{font-size:1.05rem}.method-card p{color:var(--text-secondary);font-size:.85rem}.payment-processing{text-align:center;padding:100px 24px}.spinner{border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;margin:0 auto 20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.bank-transfer-info{max-width:500px;margin-inline:auto}.bank-transfer-info h2{margin-bottom:24px;font-size:1.3rem}.bank-details{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:24px;padding:24px}.bank-row{border-bottom:1px solid var(--border-light);justify-content:space-between;padding:12px 0;font-size:.9rem;display:flex}.bank-row:last-child{border:none}.bank-row.total{border-top:2px solid var(--accent);font-size:1.05rem}.bank-row span{color:var(--text-muted)}.payment-result{place-items:center;min-height:70vh;padding:100px 24px;display:grid}.result-card{text-align:center;background:var(--bg-card);border-radius:var(--radius-xl);max-width:450px;box-shadow:var(--shadow-lg);padding:50px}.result-icon{background:var(--success-bg);width:80px;height:80px;color:var(--success);border-radius:50%;place-items:center;margin:0 auto 24px;font-size:2.5rem;display:grid}.result-icon.fail{background:var(--error-bg);color:var(--error)}.result-card h1{margin-bottom:10px;font-size:1.6rem}.result-card p{color:var(--text-secondary);margin-bottom:16px}.ref-code{color:var(--accent);font-family:monospace;font-size:.9rem}.contact-page{padding:60px 0 100px}.contact-grid{grid-template-columns:1fr 1fr;gap:40px;display:grid}.contact-info-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:24px;padding:32px}.contact-item{border-bottom:1px solid var(--border-light);gap:16px;padding:16px 0;display:flex}.contact-item:last-child{border:none}.contact-icon{flex-shrink:0;font-size:1.5rem}.contact-item h4{color:var(--text-muted);margin-bottom:4px;font-family:Inter,sans-serif;font-size:.82rem;font-weight:700}.contact-item p{font-size:.92rem}.contact-item a{color:var(--accent)}.contact-item a:hover{text-decoration:underline}.contact-map{border-radius:var(--radius-lg);overflow:hidden}.contact-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px}.contact-form h2{letter-spacing:.15em;color:var(--accent);margin-bottom:24px;font-family:Inter,sans-serif;font-size:.72rem;font-weight:800}.contact-form label{gap:6px;margin-bottom:16px;display:grid}.contact-form label span{color:var(--text-secondary);font-size:.78rem;font-weight:700}.contact-form input,.contact-form textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);width:100%;min-height:46px;color:var(--text-primary);transition:all var(--transition);padding:0 14px}.contact-form textarea{resize:vertical;min-height:auto;padding:12px 14px}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b8892e1f}.auth-page{background:var(--bg-secondary);place-items:center;min-height:100vh;padding:100px 24px 40px;display:grid}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);width:min(460px,100%);box-shadow:var(--shadow-lg);padding:44px}.auth-header{margin-bottom:28px}.auth-header h1{margin-bottom:8px;font-size:2rem}.auth-header p{color:var(--text-secondary);font-size:.92rem}.auth-card form{gap:18px;display:grid}.auth-card label{gap:6px;display:grid}.auth-card label span{color:var(--text-secondary);font-size:.78rem;font-weight:700}.auth-card input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);width:100%;min-height:48px;color:var(--text-primary);transition:all var(--transition);padding:0 14px}.auth-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b8892e1f}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:24px;font-size:.88rem}.auth-footer a{color:var(--accent);font-weight:700}.auth-footer a:hover{text-decoration:underline}.auth-footer p{margin-top:12px}.site-footer{background:var(--brand-dark);color:#b5c8c2}[data-theme=dark] .site-footer{background:#0a1520}.footer-inner{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;max-width:1200px;margin-inline:auto;padding:60px clamp(20px,5vw,60px) 40px;display:grid}.footer-tagline{max-width:300px;margin-top:16px;font-size:.88rem;line-height:1.7}.site-footer h4{letter-spacing:.15em;color:var(--accent);text-transform:uppercase;margin-bottom:18px;font-family:Inter,sans-serif;font-size:.72rem;font-weight:800}.footer-links a,.footer-contact p,.footer-contact a{transition:color var(--transition);margin-bottom:10px;font-size:.88rem;display:block}.footer-links a:hover,.footer-contact a:hover{color:#fff}.social-icons{gap:12px;display:flex}.social-icon{width:38px;height:38px;transition:all var(--transition);border:1px solid #fff3;border-radius:50%;place-items:center;display:grid}.social-icon:hover{background:var(--accent);border-color:var(--accent);color:#fff}.footer-bottom{text-align:center;border-top:1px solid #ffffff14;padding:20px;font-size:.78rem}.site-footer .site-logo{color:#fff}.admin-shell{background:var(--bg-primary);grid-template-columns:260px 1fr;min-height:100vh;display:grid}.admin-sidebar{background:var(--brand-dark);color:#fff;flex-direction:column;height:100vh;padding:28px 22px;display:flex;position:sticky;top:0;overflow-y:auto}[data-theme=dark] .admin-sidebar{background:#0a1520}.admin-label{letter-spacing:.15em;color:var(--accent);margin:28px 0 14px;font-size:.6rem;font-weight:800}.admin-nav{gap:4px;display:grid}.admin-nav button{color:#b5c8c2;border-radius:var(--radius-sm);text-align:left;width:100%;transition:all var(--transition);background:0 0;align-items:center;gap:10px;padding:12px 14px;font-size:.88rem;display:flex}.admin-nav button:hover,.admin-nav button.active{color:#fff;background:#ffffff14}.admin-back{color:var(--accent);margin-top:auto;padding-top:20px;font-size:.85rem;display:block}.admin-main{padding:32px clamp(24px,3vw,48px);overflow-x:auto}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:28px;display:flex}.filter-tabs{gap:6px;display:flex}.filter-tabs button{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition);padding:8px 16px;font-size:.82rem;font-weight:600}.filter-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.custom-dates{align-items:center;gap:8px;display:flex}.custom-dates input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);padding:8px 12px;font-size:.85rem}.export-buttons{gap:8px;margin-left:auto;display:flex}.admin-stats{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition);padding:24px}.stat-card:hover{box-shadow:var(--shadow-sm)}.stat-card p{color:var(--text-muted);margin-bottom:8px;font-size:.82rem}.stat-card strong{font-family:Playfair Display,serif;font-size:2rem;display:block}.stat-card.revenue strong{color:var(--accent)}.admin-chart-panel,.admin-table-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:24px;padding:24px}.admin-chart-panel h3,.admin-table-panel h3{margin-bottom:16px;font-family:Inter,sans-serif;font-size:1rem;font-weight:600}.revenue-chart{width:100%;height:300px}.table-scroll{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.88rem}.admin-table th{text-align:left;background:var(--bg-secondary);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:2px solid var(--border);padding:12px 14px;font-size:.78rem;font-weight:700}.admin-table td{border-bottom:1px solid var(--border-light);vertical-align:middle;padding:14px}.admin-table tr:hover td{background:var(--bg-secondary)}.code-cell{color:var(--accent);font-family:monospace;font-size:.82rem;font-weight:600}.amount-cell{font-weight:700}.empty-row{text-align:center;color:var(--text-muted);padding:40px!important}.status-badge{border-radius:20px;padding:4px 12px;font-size:.72rem;font-weight:700;display:inline-block}.status-badge.pending{color:#f57f17;background:#fff8e1}.status-badge.confirmed{color:#1565c0;background:#e3f2fd}.status-badge.checkedin{color:#2e7d32;background:#e8f5e9}.status-badge.checkedout{color:#7b1fa2;background:#f3e5f5}.status-badge.cancelled{color:#c62828;background:#ffebee}[data-theme=dark] .status-badge.pending{background:#332b00}[data-theme=dark] .status-badge.confirmed{background:#0a2540}[data-theme=dark] .status-badge.checkedin{background:#0a3520}[data-theme=dark] .status-badge.checkedout{background:#2a1535}[data-theme=dark] .status-badge.cancelled{background:#350a0a}.actions-cell{flex-wrap:wrap;gap:6px;display:flex}.action-btn{border-radius:var(--radius-sm);transition:all var(--transition);padding:5px 12px;font-size:.75rem;font-weight:700}.action-btn.checkin{color:#2e7d32;background:#e8f5e9}.action-btn.checkout{color:#7b1fa2;background:#f3e5f5}.action-btn.confirm{color:#1565c0;background:#e3f2fd}.action-btn.cancel{color:#c62828;background:#ffebee}.action-btn:hover{opacity:.8}.loading-state{text-align:center;color:var(--text-muted);padding:80px 24px}@media (width<=1024px){.site-nav{background:var(--bg-card);width:300px;height:100vh;color:var(--text-primary);box-shadow:var(--shadow-lg);transition:right var(--transition);z-index:99;flex-direction:column;gap:0;padding:100px 30px;position:fixed;top:0;right:-100%}.site-nav.open{right:0}.site-nav a{border-bottom:1px solid var(--border-light);padding:14px 0;font-size:1rem}.site-nav a:after{display:none}.mobile-menu-btn{display:block}.header-book-btn,.register-link{display:none}.about-section{grid-template-columns:1fr;gap:40px}.room-detail-grid,.booking-form-full{grid-template-columns:1fr}.booking-summary{position:static}.contact-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:1fr}.admin-sidebar{flex-flow:wrap;gap:12px;height:auto;padding:16px;position:relative}.admin-sidebar .site-logo{display:none}.admin-label{margin:0}.admin-nav{flex-direction:row;gap:6px}.admin-back{margin:0;padding:0}.admin-stats{grid-template-columns:1fr 1fr}}@media (width<=768px){.hero-section{min-height:85vh;padding:120px 24px 80px}.hero-badge{display:none}.booking-bar{grid-template-columns:1fr}.booking-bar label{border-right:none;border-bottom:1px solid var(--border-light)}.room-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start}.services-preview{padding-block:80px}.service-grid{grid-template-columns:1fr 1fr}.reviews-grid{grid-template-columns:1fr}.service-full-card,.service-full-card.reverse{direction:ltr;grid-template-columns:1fr}.service-full-img{min-height:250px}.gallery-main img{height:280px}.form-grid,.footer-inner,.admin-stats{grid-template-columns:1fr}.admin-toolbar{flex-direction:column;align-items:flex-start}.export-buttons{margin-left:0}}@media (width<=480px){.hero-content h1{font-size:2.4rem}.about-stats{flex-wrap:wrap;gap:20px}.service-grid{grid-template-columns:1fr}.header-actions{gap:6px}.user-name{display:none}.auth-card{padding:28px 20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
