:root{--color-bg:#fafaf8;--color-bg-surface:#fff;--color-bg-warm:#f5f0e8;--color-bg-accent:#fdf8f0;--color-bg-card:#fff;--color-bg-card-hover:#faf7f2;--color-text-primary:#1a1a18;--color-text-secondary:#5c5c52;--color-text-muted:#9c9c8e;--color-text-inverse:#fff;--color-gold:#b8832a;--color-gold-light:#d4a847;--color-gold-dark:#8f6520;--color-gold-glow:#b8832a1a;--color-border-gold:#b8832a4d;--color-success:#2d7a4f;--color-success-bg:#eef7f2;--color-error:#b33a3a;--color-error-bg:#fbf0f0;--color-warning:#a06200;--color-warning-bg:#fff8e8;--color-border:#e8e4dc;--color-border-light:#f0ede8;--color-border-strong:#d0cbc0;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 6px #00000012;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001a;--shadow-xl:0 16px 48px #0000001f;--shadow-gold:0 4px 20px #b8832a40;--font-serif:"Playfair Display", Georgia, serif;--font-sans:"Inter", system-ui, sans-serif;--nav-height:72px;--container:1200px;--radius-sm:6px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--transition-fast:.15s ease;--transition-med:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-bg);min-height:100vh;font-size:16px;line-height:1.6}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.font-serif{font-family:var(--font-serif)}.heading-xl{font-family:var(--font-serif);color:var(--color-text-primary);letter-spacing:-.01em;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:700;line-height:1.15}.heading-lg{font-family:var(--font-serif);color:var(--color-text-primary);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:600;line-height:1.2}.heading-md{font-family:var(--font-serif);color:var(--color-text-primary);font-size:clamp(1.3rem,2.5vw,1.9rem);font-weight:600;line-height:1.3}.heading-sm{font-family:var(--font-serif);color:var(--color-text-primary);font-size:1.2rem;font-weight:600}.text-gold{color:var(--color-gold)}.text-muted{color:var(--color-text-muted)}.label-tag{letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold);background:var(--color-gold-glow);border:1px solid var(--color-border-gold);border-radius:var(--radius-full);margin-bottom:12px;padding:4px 12px;font-size:.72rem;font-weight:700;display:inline-block}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}.section{padding:80px 0}.section-sm{padding:48px 0}.divider-center{background:linear-gradient(90deg, var(--color-gold), var(--color-gold-light));border-radius:2px;width:60px;height:3px;margin:16px auto 28px}.divider-left{background:linear-gradient(90deg, var(--color-gold), var(--color-gold-light));border-radius:2px;width:60px;height:3px;margin:16px 0 28px}.grid-2{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}@media (max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.container{padding:0 16px}.section{padding:56px 0}}.btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;letter-spacing:.01em;align-items:center;gap:8px;padding:12px 24px;font-size:.9rem;font-weight:600;display:inline-flex}.btn-sm{padding:8px 16px;font-size:.82rem}.btn-lg{padding:15px 32px;font-size:1rem}.btn-primary{background:linear-gradient(135deg, var(--color-gold), var(--color-gold-light));color:#fff;box-shadow:var(--shadow-gold)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px #b8832a59}.btn-primary:active{transform:translateY(0)}.btn-outline{color:var(--color-gold);border:1.5px solid var(--color-gold);background:0 0}.btn-outline:hover{background:var(--color-gold-glow);transform:translateY(-1px)}.btn-ghost{color:var(--color-text-secondary);border:1.5px solid var(--color-border);background:0 0}.btn-ghost:hover{background:var(--color-bg-warm);border-color:var(--color-border-strong);color:var(--color-text-primary)}.btn-white{color:var(--color-gold-dark);box-shadow:var(--shadow-md);background:#fff}.btn-white:hover{background:var(--color-bg-warm);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-med), transform var(--transition-med), border-color var(--transition-med)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-gold);transform:translateY(-2px)}.card-flat{background:var(--color-bg-warm);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-error{background:var(--color-error-bg);color:var(--color-error)}.badge-gold{background:var(--color-gold-glow);color:var(--color-gold);border:1px solid var(--color-border-gold)}.badge-pending{background:var(--color-warning-bg);color:var(--color-warning)}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--color-text-secondary);letter-spacing:.02em;font-size:.82rem;font-weight:600}.form-input{background:var(--color-bg-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);font-size:.95rem;font-family:var(--font-sans);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:10px 14px}.form-input:focus{border-color:var(--color-gold);box-shadow:0 0 0 3px #b8832a1f}.form-input::placeholder{color:var(--color-text-muted)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%239C9C8E' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:36px}input[type=date]{cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.navbar{height:var(--nav-height);z-index:1000;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border-light);transition:box-shadow var(--transition-med), background var(--transition-med);background:#ffffffeb;position:fixed;top:0;left:0;right:0}.navbar.scrolled{box-shadow:var(--shadow-md);background:#fffffffa}.navbar-inner{justify-content:space-between;align-items:center;height:100%;display:flex}.navbar-logo{flex-direction:column;gap:1px;display:flex}.navbar-logo-main{font-family:var(--font-serif);color:var(--color-text-primary);font-size:1.2rem;font-weight:700;line-height:1}.navbar-logo-sub{letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold);font-size:.65rem;font-weight:500}.navbar-links{align-items:center;gap:4px;display:flex}.navbar-link{border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:all var(--transition-fast);padding:7px 14px;font-size:.88rem;font-weight:500}.navbar-link:hover{color:var(--color-text-primary);background:var(--color-bg-warm)}.navbar-link.active{color:var(--color-gold);font-weight:600}.navbar-cta{margin-left:12px}.navbar-mobile-toggle{cursor:pointer;flex-direction:column;gap:5px;padding:4px;display:none}.navbar-mobile-toggle span{background:var(--color-text-primary);width:22px;height:2px;transition:all var(--transition-fast);border-radius:2px;display:block}.mobile-menu{top:var(--nav-height);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg);z-index:999;background:#fff;padding:16px 24px 24px;display:none;position:fixed;left:0;right:0}.mobile-menu.open{flex-direction:column;gap:4px;display:flex}.mobile-menu .navbar-link{border-radius:var(--radius-md);padding:12px 16px;font-size:1rem}@media (max-width:768px){.navbar-links,.navbar-cta{display:none}.navbar-mobile-toggle{display:flex}}.hero-carousel{height:100vh;min-height:600px;position:relative;overflow:hidden}.hero-slide{opacity:0;transition:opacity .8s;position:absolute;inset:0}.hero-slide.active{opacity:1}.hero-slide img{object-fit:cover;width:100%;height:100%}.hero-overlay{background:linear-gradient(#0000001a 0%,#00000059 50%,#000000a6 100%);position:absolute;inset:0}.hero-content{text-align:center;color:#fff;padding:60px 0 80px;position:absolute;bottom:0;left:0;right:0}.hero-content .heading-xl{color:#fff;text-shadow:0 2px 12px #0000004d}.hero-content p{color:#ffffffe0;max-width:520px;margin:0 auto 32px;font-size:1.1rem}.hero-dots{z-index:10;gap:8px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.hero-dot{cursor:pointer;width:8px;height:8px;transition:all var(--transition-fast);background:#ffffff73;border-radius:50%}.hero-dot.active{background:#fff;border-radius:4px;width:24px}.hero-arrow{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;color:#fff;width:44px;height:44px;transition:background var(--transition-fast);z-index:10;background:#ffffff2e;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.hero-arrow:hover{background:#ffffff4d}.hero-arrow-left{left:24px}.hero-arrow-right{right:24px}.availability-bar{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:10;border:1px solid var(--color-border);background:#fff;align-items:flex-end;gap:16px;padding:20px 28px;display:flex;position:relative}@media (max-width:700px){.availability-bar{flex-direction:column;align-items:stretch}}.room-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-med);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.room-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-border-gold);transform:translateY(-3px)}.room-card-image{background:var(--color-bg-warm);height:220px;position:relative;overflow:hidden}.room-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.room-card:hover .room-card-image img{transform:scale(1.04)}.room-card-image-placeholder{background:var(--color-bg-warm);justify-content:center;align-items:center;width:100%;height:100%;font-size:3rem;display:flex}.room-card-badge{position:absolute;top:12px;left:12px}.room-card-body{padding:20px}.room-card-number{letter-spacing:.1em;text-transform:uppercase;color:var(--color-gold);margin-bottom:4px;font-size:.75rem;font-weight:700}.room-card-name{font-family:var(--font-serif);color:var(--color-text-primary);margin-bottom:10px;font-size:1.15rem;font-weight:600}.room-card-features{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.room-feature-tag{background:var(--color-bg-warm);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);padding:3px 10px;font-size:.75rem}.room-gallery{border-radius:var(--radius-lg);position:relative;overflow:hidden}.room-gallery-main{width:100%;height:380px;position:relative}.room-gallery-main img{object-fit:cover;width:100%;height:100%}.room-gallery-thumbs{gap:8px;margin-top:8px;display:flex}.room-gallery-thumb{border-radius:var(--radius-sm);cursor:pointer;width:80px;height:60px;transition:border-color var(--transition-fast);border:2px solid #0000;flex-shrink:0;overflow:hidden}.room-gallery-thumb.active{border-color:var(--color-gold)}.room-gallery-thumb img{object-fit:cover;width:100%;height:100%}.attraction-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-med);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.attraction-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-border-gold);transform:translateY(-3px)}.attraction-card-image{background:var(--color-bg-warm);height:200px;overflow:hidden}.attraction-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.attraction-card:hover .attraction-card-image img{transform:scale(1.05)}.attraction-card-body{padding:20px}.booking-summary{border:1px solid var(--color-border-gold);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;padding:24px}.booking-summary-row{border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;padding:10px 0;font-size:.88rem;display:flex}.booking-summary-row .label{color:var(--color-text-secondary)}.booking-summary-row .value{color:var(--color-text-primary);font-weight:600}.booking-summary-row.total{border-bottom:none;margin-top:4px;padding-top:14px}.booking-summary-row.total .label{color:var(--color-text-primary);font-size:.95rem;font-weight:700}.booking-summary-row.total .value{font-size:1.25rem;font-family:var(--font-serif);color:var(--color-gold)}.wizard-steps{align-items:center;gap:0;display:flex}.wizard-step{align-items:center;gap:10px;display:flex}.wizard-step-number{border:2px solid var(--color-border);width:32px;height:32px;color:var(--color-text-muted);transition:all var(--transition-med);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.wizard-step.active .wizard-step-number{border-color:var(--color-gold);background:var(--color-gold);color:#fff}.wizard-step.done .wizard-step-number{border-color:var(--color-success);background:var(--color-success);color:#fff}.wizard-step-label{color:var(--color-text-muted);white-space:nowrap;font-size:.82rem;font-weight:500}.wizard-step.active .wizard-step-label{color:var(--color-gold);font-weight:700}.wizard-step.done .wizard-step-label{color:var(--color-success)}.wizard-connector{background:var(--color-border);min-width:20px;height:2px;margin:0 8px}.policy-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:.88rem}.policy-table th,.policy-table td{text-align:left;border-bottom:1px solid var(--color-border-light);padding:10px 14px}.policy-table th{background:var(--color-bg-warm);color:var(--color-text-secondary);letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:600}.policy-table td{color:var(--color-text-primary)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#00000073;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-box{border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:var(--shadow-xl);background:#fff;animation:.3s slideUp;overflow:hidden}.modal-header{justify-content:space-between;align-items:flex-start;padding:24px 24px 0;display:flex}.modal-body{padding:20px 24px 24px}.footer{background:var(--color-text-primary);color:#ffffffd9;padding:56px 0 0}.footer-grid{border-bottom:1px solid #ffffff1a;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;display:grid}@media (max-width:900px){.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:580px){.footer-grid{grid-template-columns:1fr}}.footer-logo-text{font-family:var(--font-serif);color:#fff;margin-bottom:4px;font-size:1.5rem;font-weight:700}.footer-logo-sub{letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold-light);margin-bottom:16px;font-size:.7rem}.footer-tagline{color:#ffffff8c;max-width:260px;margin-bottom:20px;font-size:.88rem;line-height:1.7}.footer-heading{letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold-light);margin-bottom:16px;font-size:.72rem;font-weight:700}.footer-links{flex-direction:column;gap:10px;display:flex}.footer-link{color:#ffffffa6;transition:color var(--transition-fast);font-size:.88rem}.footer-link:hover{color:#fff}.footer-contact-item{color:#ffffffa6;align-items:flex-start;gap:10px;margin-bottom:12px;font-size:.88rem;line-height:1.5;display:flex}.footer-contact-icon{flex-shrink:0;margin-top:1px;font-size:1rem}.footer-bottom{color:#ffffff59;justify-content:space-between;align-items:center;padding:20px 0;font-size:.78rem;display:flex}@media (max-width:580px){.footer-bottom{text-align:center;flex-direction:column;gap:8px}}.whatsapp-btn{z-index:500;width:56px;height:56px;transition:transform var(--transition-fast), box-shadow var(--transition-fast);background:#25d366;border-radius:50%;justify-content:center;align-items:center;font-size:1.6rem;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 20px #25d36666}.whatsapp-btn:hover{transform:scale(1.1);box-shadow:0 6px 28px #25d36680}.whatsapp-pulse{background:#25d3664d;border-radius:50%;width:100%;height:100%;animation:2s infinite pulse;position:absolute}.section-warm{background:var(--color-bg-warm)}.section-white{background:#fff}.feature-icon{background:var(--color-gold-glow);border:1px solid var(--color-border-gold);border-radius:var(--radius-md);justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:16px;font-size:1.5rem;display:flex}.skeleton{background:linear-gradient(90deg, var(--color-bg-warm) 25%, var(--color-border-light) 50%, var(--color-bg-warm) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}.upload-area{border:2px dashed var(--color-border-gold);border-radius:var(--radius-md);text-align:center;background:var(--color-gold-glow);cursor:pointer;transition:all var(--transition-fast);padding:28px 20px}.upload-area:hover,.upload-area.dragging{border-color:var(--color-gold);background:#b8832a26}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:0;transform:scale(1.3)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fadeInUp{animation:.5s both fadeInUp}@media print{.navbar,.footer,.whatsapp-btn{display:none}}
