:root{--bg: #0a0e14;--bg-gradient: linear-gradient(135deg, #0a0e14 0%, #0f131a 50%, #151a23 100%);--panel: #151a23;--panel-hover: #1a1f2a;--text: #e6eaf2;--text-muted: rgba(230, 234, 242, .6);--accent: #d4af37;--accent-hover: #c49a2e;--accent-glow: rgba(212, 175, 55, .3);--border: rgba(212, 175, 55, .15);--app-bar-height: 64px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5)}*{box-sizing:border-box}body{margin:0;background:var(--bg);background-image:radial-gradient(circle at 20% 50%,rgba(212,175,55,.05) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(212,175,55,.03) 0%,transparent 50%);background-attachment:fixed;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app-bar{position:fixed;top:0;left:0;right:0;height:var(--app-bar-height);background:#0f1116d9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border);z-index:100;display:flex;align-items:center;box-shadow:var(--shadow-md);transition:all .3s ease}#app-bar:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(212,175,55,.05) 0%,transparent 100%);pointer-events:none}.app-bar-content{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1600px;margin:0 auto;padding:0 24px;gap:20px;position:relative;z-index:1}.app-bar-content .logo{height:44px;width:auto;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(212,175,55,.3));transition:transform .3s ease}.app-bar-content .logo:hover{transform:scale(1.05)}.app-bar-content h1{margin:0;font-size:22px;font-weight:700;color:var(--text);flex:1;letter-spacing:-.5px;background:linear-gradient(135deg,var(--text) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-actions{display:flex;gap:10px}.btn-admin{padding:10px 20px;border-radius:10px;border:1px solid var(--border);background:#d4af3714;color:var(--accent);text-decoration:none;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:relative;overflow:hidden}.btn-admin:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--accent) 0%,#b8941e 100%);opacity:0;transition:opacity .3s ease}.btn-admin:hover{background:#d4af3726;border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-glow)}.btn-admin:hover:before{opacity:.1}.btn-admin:active{transform:translateY(0)}.gallery-container{padding:calc(var(--app-bar-height) + 32px) 24px 40px;max-width:1600px;margin:0 auto;animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.search-section{margin-bottom:40px;animation:slideDown .5s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.search-bar{display:flex;gap:12px;margin-bottom:20px;position:relative}#search-input{flex:1;padding:16px 20px 16px 48px;border-radius:14px;border:2px solid var(--border);background:var(--panel);color:var(--text);font-size:15px;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}#search-input::placeholder{color:var(--text-muted)}.search-bar:before{content:"🔍";position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:18px;pointer-events:none;z-index:1}#search-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow),var(--shadow-md);transform:translateY(-2px)}.btn-primary{padding:16px 32px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--accent) 0%,#b8941e 100%);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #d4af3740;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 100%);opacity:0;transition:opacity .3s ease}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 6px 20px #d4af3766}.btn-primary:hover:before{opacity:1}.btn-primary:active{transform:translateY(-1px)}.filter-tags{display:flex;gap:10px;flex-wrap:wrap;animation:fadeIn .6s ease-out .2s both}.tag{padding:10px 20px;border-radius:24px;border:2px solid var(--border);background:#ffffff08;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.tag:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--accent) 0%,#b8941e 100%);opacity:0;transition:opacity .3s ease}.tag:hover{background:#d4af371a;border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-glow)}.tag.active{background:#fff!important;border-color:var(--accent)!important;color:#000!important;box-shadow:0 4px 16px var(--accent-glow),0 0 0 2px var(--accent);transform:translateY(-2px);font-weight:700!important}.tag.active:before{opacity:0}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-top:20px}.room-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;overflow:hidden;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;animation:cardFadeIn .5s ease-out backwards}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.room-card:nth-child(1){animation-delay:.05s}.room-card:nth-child(2){animation-delay:.1s}.room-card:nth-child(3){animation-delay:.15s}.room-card:nth-child(4){animation-delay:.2s}.room-card:nth-child(5){animation-delay:.25s}.room-card:nth-child(6){animation-delay:.3s}.room-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(212,175,55,.1) 0%,transparent 100%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:1}.room-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 40px #0009,0 0 0 1px var(--accent);border-color:var(--accent)}.room-card:hover:before{opacity:1}.room-thumbnail{width:100%;height:220px;object-fit:cover;background:linear-gradient(135deg,#d4af371a,#d4af370d);transition:transform .4s ease}.room-card:hover .room-thumbnail{transform:scale(1.05)}.room-info{padding:20px;position:relative;z-index:2}.room-name{font-size:18px;font-weight:700;margin:0 0 10px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.3px}.room-meta{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text-muted);margin-bottom:14px}.room-author{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.room-stats{display:flex;gap:14px;font-size:13px;color:var(--text-muted);margin-bottom:16px}.stat{display:flex;align-items:center;gap:5px;font-weight:600}.room-actions{display:flex;gap:10px}.btn-view{flex:1;padding:12px 16px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--accent) 0%,#b8941e 100%);color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #d4af3740}.btn-view:hover{transform:translateY(-2px);box-shadow:0 6px 16px #d4af3766}.btn-view:active{transform:translateY(0)}.btn-embed{padding:12px 16px;border-radius:10px;border:1px solid var(--border);background:#ffffff0d;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-embed:hover{background:#ffffff1a;border-color:var(--accent);transform:translateY(-2px)}.badge{position:absolute;top:16px;right:16px;padding:6px 12px;border-radius:8px;background:linear-gradient(135deg,var(--accent) 0%,#b8941e 100%);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px #d4af3766;z-index:2}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:20px}.loading.hidden{display:none}.spinner{width:56px;height:56px;border-radius:50%;border:4px solid rgba(212,175,55,.1);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading p{font-size:16px;font-weight:600;color:var(--text-muted)}.error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:20px;color:#ff9b9b}.error.hidden{display:none}.error p{font-size:16px;font-weight:600}.empty{display:flex;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-muted);font-size:16px;font-weight:600}.empty.hidden{display:none}@media (max-width: 1200px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}}@media (max-width: 768px){:root{--app-bar-height: 56px}.gallery-container{padding:calc(var(--app-bar-height) + 20px) 16px 24px}.app-bar-content{padding:0 16px;gap:12px}.app-bar-content h1{font-size:16px}.app-bar-content .logo{height:36px}.header-actions{gap:6px}.btn-admin{padding:8px 14px;font-size:12px}.search-bar{flex-direction:column;gap:10px}.search-bar:before{top:26px}#search-input{padding:14px 18px 14px 44px;font-size:14px}.btn-primary{padding:14px 24px;font-size:14px}.filter-tags{gap:8px}.tag{padding:8px 16px;font-size:13px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.room-thumbnail{height:180px}.room-info{padding:16px}.room-name{font-size:16px}.room-actions{flex-direction:column;gap:8px}.btn-embed{width:100%}}@media (max-width: 480px){.gallery-grid{grid-template-columns:1fr}.header-actions{flex-direction:column;gap:4px}.btn-admin{font-size:11px;padding:6px 12px}}.load-more-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:20px}.btn-load-more{padding:16px 48px;border-radius:14px;border:2px solid var(--border);background:#d4af371a;color:var(--accent);font-size:16px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.btn-load-more:hover{background:linear-gradient(135deg,var(--accent) 0%,#b8941e 100%);color:#fff;border-color:var(--accent);transform:translateY(-3px);box-shadow:0 6px 20px var(--accent-glow)}.btn-load-more:active{transform:translateY(-1px)}.load-more-spinner{display:flex;flex-direction:column;align-items:center;gap:12px}.load-more-spinner.hidden{display:none}.load-more-spinner .spinner{width:40px;height:40px}.load-more-spinner span{font-size:14px;font-weight:600;color:var(--text-muted)}.btn-contact{padding:10px 24px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--accent) 0%,#b8941e 100%);color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #d4af3740;white-space:nowrap}.btn-contact:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d4af3766}.btn-contact:active{transform:translateY(0)}.modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease-out}.modal.hidden{display:none}.modal-overlay{position:absolute;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-content{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:32px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:none;background:#ffffff1a;color:var(--text);font-size:24px;line-height:1;border-radius:8px;cursor:pointer;transition:all .2s ease}.modal-close:hover{background:#fff3;transform:rotate(90deg)}.modal-content h2{margin:0 0 8px;font-size:24px;font-weight:700;color:var(--text)}.modal-subtitle{margin:0 0 24px;font-size:14px;color:var(--text-muted)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:var(--text)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel]{width:100%;padding:12px 16px;border-radius:10px;border:2px solid var(--border);background:#ffffff0d;color:var(--text);font-size:14px;transition:all .3s ease}.form-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}.checkbox-group{margin-top:16px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--text)}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--accent)}.btn-submit{width:100%;padding:14px 24px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--accent) 0%,#b8941e 100%);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;margin-top:24px;position:relative}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #d4af3766}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.btn-text,.btn-spinner{display:flex;align-items:center;justify-content:center;gap:8px}.btn-spinner.hidden{display:none}.spinner-small{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:spin .8s linear infinite}.form-message{margin-top:16px;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:600;text-align:center}.form-message.hidden{display:none}.form-message.success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#4ade80}.form-message.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171}@media (max-width: 768px){.btn-contact{padding:8px 16px;font-size:13px}.modal-content{padding:24px}.modal-content h2{font-size:20px}}
