@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Jost:wght@300;400;500;600&display=swap";:root{--btn-accent:var(--bronze);--btn-accent-light:var(--bronze-light);--btn-accent-dark:var(--bronze-dark);--btn-accent-glow:var(--bronze-glow)}.btn-shimmer{letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:none;border-radius:50px;justify-content:center;align-items:center;gap:8px;padding:12px 28px;font-family:Jost,sans-serif;font-size:.9rem;font-weight:500;line-height:1;text-decoration:none;transition:all .35s cubic-bezier(.34,1.56,.64,1);display:inline-flex;position:relative;overflow:hidden}.btn-shimmer:disabled,.btn-shimmer[aria-disabled=true]{opacity:.6;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-shimmer:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.btn-shimmer:hover:not(:disabled):not([aria-disabled=true]):before{left:100%}.btn-primary-gold{background:linear-gradient(135deg, var(--btn-accent) 0%, var(--btn-accent-light) 50%, var(--btn-accent) 100%);color:#fff;box-shadow:0 4px 20px var(--btn-accent-glow);background-size:200% 100%;animation:3s infinite gradientShift}.btn-primary-gold:hover:not(:disabled):not([aria-disabled=true]){box-shadow:0 8px 30px var(--btn-accent-glow), 0 0 0 3px var(--btn-accent-glow);color:#fff;text-decoration:none;transform:translateY(-2px)scale(1.02)}.btn-outline-gold{color:var(--btn-accent);border:1.5px solid var(--btn-accent);box-shadow:none;background:0 0}.btn-outline-gold:hover:not(:disabled):not([aria-disabled=true]){background:linear-gradient(135deg, var(--btn-accent), var(--btn-accent-light));color:#fff;box-shadow:0 8px 24px var(--btn-accent-glow);border-color:#0000;text-decoration:none;transform:translateY(-2px)}.btn-ghost{color:var(--text-mid);border:1.5px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3}.btn-ghost:hover:not(:disabled):not([aria-disabled=true]){color:var(--btn-accent);border-color:var(--btn-accent-light);box-shadow:var(--shadow-soft);background:#fffffff2;text-decoration:none;transform:translateY(-1px)}.btn-danger-soft{color:#fff;background:linear-gradient(135deg,#c0392b,#e74c3c);box-shadow:0 4px 16px #c0392b40}.btn-danger-soft:hover:not(:disabled):not([aria-disabled=true]){color:#fff;text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 24px #c0392b59}.btn-sm-shimmer{padding:8px 18px;font-size:.8rem}.btn-lg-shimmer{padding:16px 36px;font-size:1rem}.btn-block{width:100%;display:flex}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@media (width<=1024px){.btn-shimmer{letter-spacing:.06em;padding:11px 24px}.btn-lg-shimmer{padding:14px 30px;font-size:.95rem}}@media (width<=640px){.btn-shimmer{gap:6px;padding:10px 20px;font-size:.82rem}.btn-sm-shimmer{padding:7px 14px;font-size:.75rem}.btn-lg-shimmer{padding:12px 24px;font-size:.9rem}.btn-mobile-block{width:100%;display:flex}}@media (width<=380px){.btn-shimmer{letter-spacing:.05em;white-space:normal;text-align:center;padding:9px 16px;font-size:.78rem}}:root{--cream:#faf6f0;--cream-dark:#f0e9df;--warm-white:#fffdf9;--bronze:#722f37;--bronze-light:#9a4651;--bronze-dark:#5a2229;--bronze-rgb:114, 47, 55;--bronze-glow:rgba(var(--bronze-rgb), .3);--text-dark:#2c1f0f;--text-mid:#5c4a35;--text-light:#9a8070;--border:rgba(var(--bronze-rgb), .2);--shadow-soft:0 4px 24px #2c1f0f14;--shadow-hover:0 12px 40px #2c1f0f26;--radius:14px;--radius-sm:8px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--cream);color:var(--text-dark);min-height:100vh;font-family:Jost,sans-serif;line-height:1.6}h1,h2,h3,h4{color:var(--text-dark);font-family:Cormorant Garamond,serif;font-weight:400;line-height:1.2}h1{font-size:clamp(2.2rem,5vw,3.5rem)}h2{font-size:clamp(1.6rem,3vw,2.4rem)}h3{font-size:1.5rem}.hotel-card{background:var(--warm-white);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-soft);transition:transform .3s,box-shadow .3s;overflow:hidden}.hotel-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.hotel-input{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--warm-white);width:100%;color:var(--text-dark);outline:none;padding:12px 16px;font-family:Jost,sans-serif;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.hotel-input:focus{border-color:var(--bronze-light);box-shadow:0 0 0 3px rgba(var(--bronze-rgb), .12)}.hotel-input::placeholder{color:var(--text-light)}.hotel-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-light);margin-bottom:6px;font-size:.8rem;font-weight:500;display:block}.badge-status{letter-spacing:.05em;text-transform:uppercase;border-radius:50px;padding:4px 14px;font-size:.75rem;font-weight:500;display:inline-block}.badge-confirmed{color:#1a7a45;background:#27ae601f;border:1px solid #27ae6040}.badge-pending{color:#8a6a10;background:#e6b0321f;border:1px solid #e6b03240}.badge-canceled{color:#922b21;background:#c0392b1a;border:1px solid #c0392b33}.page-wrapper{max-width:1200px;min-height:calc(100vh - 72px);margin:0 auto;padding:48px 24px}.gold-line{background:linear-gradient(90deg, var(--bronze), var(--bronze-light));border-radius:2px;width:60px;height:2px;margin:16px 0}.hotel-alert{border-radius:var(--radius-sm);margin:12px 0;padding:14px 18px;font-size:.9rem}.hotel-alert-success{color:#1a6e3c;background:#27ae6014;border:1px solid #27ae6040}.hotel-alert-error{color:#7b241c;background:#c0392b14;border:1px solid #c0392b33}.hotel-alert-info{background:rgba(var(--bronze-rgb), .08);border:1px solid var(--border);color:var(--text-mid)}.loading-spinner{min-height:300px;color:var(--text-light);letter-spacing:.05em;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:.9rem;display:flex}.spinner-ring{border:2px solid var(--border);border-top-color:var(--bronze);border-radius:50%;width:40px;height:40px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.5s forwards fadeUp}.fade-up-1{opacity:0;animation-delay:.1s}.fade-up-2{opacity:0;animation-delay:.2s}.fade-up-3{opacity:0;animation-delay:.3s}@media (width<=768px){.page-wrapper{padding:32px 16px}}
