@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@300;400;500;600&family=Poppins:wght@300;400;500;600;700&family=Lora:wght@400;500;600;700&display=swap";:root{--color-background-dark: #1e1e1e;--color-surface: #2c2c2c;--color-surface-rgb: 28, 28, 44;--color-on-background: #e5e7eb;--color-on-surface-secondary: #9ca3af;--color-primary: #1a1a1a;--color-primary-hover: #000000;--color-primary-rgb: 26, 26, 26;--color-secondary: #f5f5f5;--color-secondary-rgb: 245, 245, 245;--color-error: #ff4444;--color-border: #2a2a2a;--color-success: #4caf50;--glass-blur-amount: 10px;--glass-bg-opacity: .5;--glass-border-color: rgba(255, 255, 255, .1);--glass-shadow: 0 2px 4px rgba(0, 0, 0, .3), 0 10px 25px rgba(0, 0, 0, .5), 0 0 10px 1px rgba(255, 255, 255, .05);--glass-shadow-modal: 0 2px 4px rgba(0, 0, 0, .4), 0 15px 40px rgba(0, 0, 0, .7), 0 0 15px 2px rgba(255, 255, 255, .08);--radius-card: 12px;--color-accent-warm: #ffffff;--color-accent-warm-hover: #f5f5f5;--color-accent-warm-rgb: 255, 255, 255;--color-surface-elevated: #2a2a2a;--color-surface-hover: #333333;--color-viewport-bg: #f5f5f5;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .6);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-xl: 0;--radius-card: 0;--radius-full: 0;--font-family: "Montserrat", "Poppins", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem}html,body{background-color:var(--color-background-dark);color:var(--color-on-background);font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:12px;height:12px}.surface{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.surface-elevated{background-color:var(--color-surface-elevated);box-shadow:var(--shadow-md)}button{font-family:var(--font-family);cursor:pointer;border:none;outline:none;transition:all var(--transition-normal)}.btn-primary{background-color:#1a1a1a;color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;box-shadow:var(--shadow-sm);transition:all .3s ease}.btn-primary:hover{background-color:#000;box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:transparent;color:var(--color-on-background);border:1px solid var(--color-border);padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600}.btn-secondary:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary)}.btn-accent{background:linear-gradient(135deg,var(--color-accent-warm) 0%,var(--color-accent-warm-hover) 100%);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;box-shadow:var(--shadow-sm)}.btn-accent:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],textarea,select{background-color:var(--color-background-dark);border:1px solid var(--color-border);color:var(--color-on-background);padding:.75rem;border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-base);transition:all var(--transition-normal);width:100%}input::placeholder,textarea::placeholder{color:var(--color-on-surface-secondary)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.4);filter:hue-rotate(1deg) drop-shadow(0 0 1px rgba(var(--color-primary-rgb),.2))}input:hover,textarea:hover,select:hover{border-color:var(--color-on-surface-secondary)}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.tab-bar{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;gap:.5rem}.tab{padding:1rem 1.5rem;color:var(--color-on-surface-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition-normal)}.tab:hover{color:var(--color-on-background);background-color:var(--color-surface-hover)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.viewport-container{background-color:var(--color-viewport-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}model-viewer{background-color:var(--color-viewport-bg)}.tree-view,.list-view{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.tree-item,.list-item{padding:.75rem 1rem;color:var(--color-on-background);cursor:pointer;transition:all var(--transition-fast);border-bottom:1px solid var(--color-border)}.tree-item:hover,.list-item:hover{background-color:var(--color-surface-hover)}.tree-item.selected,.list-item.selected{background-color:rgba(var(--color-primary-rgb),.2);border-left:3px solid var(--color-primary)}.modal-overlay{background-color:#000c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-content{background-color:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--glass-shadow-modal)}.badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.badge-primary{background-color:rgba(var(--color-primary-rgb),.2);color:var(--color-primary);border:1px solid var(--color-primary)}.badge-secondary{background-color:rgba(var(--color-secondary-rgb),.2);color:var(--color-secondary);border:1px solid var(--color-secondary)}.badge-accent{background-color:rgba(var(--color-accent-warm-rgb),.2);color:var(--color-accent-warm);border:1px solid var(--color-accent-warm)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-on-surface-secondary)}.text-error{color:var(--color-error)}.bg-surface{background-color:var(--color-surface)}.bg-elevated{background-color:var(--color-surface-elevated)}.border-primary{border-color:var(--color-primary)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,Poppins,Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:300;background:var(--color-background-dark);background-attachment:fixed;color:var(--color-on-background, #ffffff);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}button,a,input,.card,.filter-btn,.nav-item,.category-card{transition:all .35s cubic-bezier(.25,.8,.5,1)}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding-top:62px}button{cursor:pointer;border:none;outline:none;font-family:inherit}a{text-decoration:none;color:inherit;cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.02em}::selection{background-color:#1a1a1a;color:#fff}::-moz-selection{background-color:#1a1a1a;color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-background-dark)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:0;border:2px solid var(--color-background-dark)}::-webkit-scrollbar-thumb:hover{background:var(--color-on-surface-secondary)}.btn-submit,.btn-add-object,.slide-btn-primary,.btn-download{position:relative;overflow:hidden}.btn-submit:after,.btn-add-object:after,.slide-btn-primary:after,.btn-download:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(var(--color-primary-rgb),.6);transform:translate(-50%,-50%);transition:width .3s cubic-bezier(0,0,.2,1),height .3s cubic-bezier(0,0,.2,1),opacity .3s;opacity:0}.btn-submit:active:after,.btn-add-object:active:after,.slide-btn-primary:active:after,.btn-download:active:after{width:300px;height:300px;opacity:1;transition:width 0s,height 0s,opacity 0s}button,a,input{transition:color .2s cubic-bezier(.25,.8,.5,1),background-color .2s cubic-bezier(.25,.8,.5,1),border-color .2s cubic-bezier(.25,.8,.5,1),box-shadow .25s cubic-bezier(.25,.8,.5,1),transform .35s cubic-bezier(.25,.8,.5,1)}.gallery-card:before,.category-card:before,.auth-card:before,.featured-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.1) 1px,transparent 1px);background-size:100% 4px;pointer-events:none;opacity:.1;z-index:1}.btn-submit:hover,.btn-download:hover,.btn-add-object:hover{transform:scale(1.01) translateZ(10px)}.tech-footer{background:linear-gradient(135deg,hsl(var(--card)),hsl(var(--card) / .95));color:hsl(var(--muted-foreground));font-family:var(--font-body);border-top:2px solid hsl(var(--border));padding:4rem 1.5rem 0;position:relative;overflow:hidden}.tech-footer:before{content:"";position:absolute;inset:0;background-image:linear-gradient(45deg,transparent 48%,hsl(var(--border) / .03) 49%,hsl(var(--border) / .03) 51%,transparent 52%),linear-gradient(-45deg,transparent 48%,hsl(var(--border) / .03) 49%,hsl(var(--border) / .03) 51%,transparent 52%);background-size:60px 60px;pointer-events:none}.tech-footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:4rem;padding-bottom:3rem;position:relative;z-index:1}.tech-footer-column{display:flex;flex-direction:column;gap:1.25rem}.tech-footer-about{gap:1rem}.footer-logo-section{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.footer-logo{width:48px;height:48px;object-fit:contain;opacity:.9;transition:all .3s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 0 0 transparent)}.footer-logo:hover{opacity:1;transform:scale(1.1);filter:drop-shadow(0 0 8px hsl(var(--foreground) / .3))}.footer-description{font-size:.875rem;line-height:1.6;color:hsl(var(--muted-foreground));margin:0;text-align:justify;transition:color .3s ease}.tech-footer-column:hover .footer-description{color:hsl(var(--foreground) / .9)}.tech-footer-title{font-size:.9375rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--foreground));margin:0;padding-bottom:.75rem;border-bottom:2px solid hsl(var(--border));position:relative;transition:all .3s ease}.tech-footer-title:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,hsl(var(--foreground)),transparent);transition:width .4s cubic-bezier(.4,0,.2,1)}.tech-footer-column:hover .tech-footer-title:after{width:100%}.tech-footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.tech-footer-links li{font-size:.875rem;padding:0;border:none;margin:0}.tech-link{background:none;border:none;padding:.5rem .75rem;margin:-.5rem -.75rem;color:hsl(var(--muted-foreground));cursor:pointer;font-family:var(--font-body);font-size:.875rem;text-align:left;transition:all .25s cubic-bezier(.4,0,.2,1);text-decoration:none;position:relative;display:inline-block}.tech-link:before{content:"";position:absolute;left:0;bottom:.25rem;width:0;height:2px;background:linear-gradient(90deg,hsl(var(--foreground)),hsl(var(--foreground) / .3));transition:width .35s cubic-bezier(.4,0,.2,1)}.tech-link:after{content:"";position:absolute;left:0;bottom:.25rem;width:100%;height:2px;background:hsl(var(--foreground));transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.4,0,.2,1)}.tech-link:hover{color:hsl(var(--foreground));padding-left:1.25rem}.tech-link:hover:before{width:100%}.tech-link:hover:after{transform:scaleX(1);transform-origin:left}.tech-link:focus-visible{outline:2px solid hsl(var(--foreground));outline-offset:2px;border-radius:2px}.tech-footer-contact{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.tech-footer-contact li{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;padding:.75rem .75rem .75rem 1rem;border-left:3px solid hsl(var(--border));border-radius:0 2px 2px 0;background-color:hsl(var(--accent) / .3);transition:all .3s cubic-bezier(.4,0,.2,1)}.tech-footer-contact li:hover{border-left-color:hsl(var(--foreground));background-color:hsl(var(--accent) / .6);padding-left:1.25rem;transform:translate(4px)}.contact-label{color:hsl(var(--muted));font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;transition:color .3s ease}.tech-footer-contact li:hover .contact-label{color:hsl(var(--foreground))}.contact-value{color:hsl(var(--muted-foreground));font-size:.875rem;transition:color .3s ease}.tech-footer-contact li:hover .contact-value{color:hsl(var(--foreground))}.tech-footer-bottom{border-top:2px solid hsl(var(--border));padding:2rem 0;position:relative;z-index:1}.tech-footer-copyright{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:hsl(var(--muted));font-family:var(--font-body);flex-wrap:wrap;gap:1.5rem;font-weight:500;letter-spacing:.02em;transition:all .3s ease}.copyright-left,.copyright-right{flex:1;min-width:200px;transition:color .3s ease}.copyright-right{text-align:right}.tech-footer-copyright:hover .copyright-left,.tech-footer-copyright:hover .copyright-right{color:hsl(var(--foreground) / .8)}@media(max-width:1024px){.tech-footer-content{grid-template-columns:repeat(2,1fr);gap:3rem}.tech-footer{padding:3rem 1.5rem 0}}@media(max-width:768px){.tech-footer{padding:2.5rem 1rem 0}.tech-footer-content{grid-template-columns:1fr;gap:2.5rem;padding-bottom:2rem}.tech-footer-title{font-size:.875rem;margin-bottom:.5rem}.footer-logo-section{gap:.75rem}.footer-logo{width:40px;height:40px}.footer-description{font-size:.75rem;text-align:left}.tech-footer-links{gap:.75rem}.tech-footer-links li{font-size:.8125rem}.tech-link{font-size:.8125rem;padding:.375rem .5rem;margin:-.375rem -.5rem}.tech-footer-contact{gap:.875rem}.tech-footer-contact li{font-size:.75rem;padding:.625rem .625rem .625rem .75rem}.contact-label{font-size:.7rem}.contact-value{font-size:.75rem}.tech-footer-copyright{flex-direction:column;text-align:center;gap:1rem}.copyright-left,.copyright-right{text-align:center}.tech-footer-bottom{padding:1.5rem 0}}@media(max-width:480px){.tech-footer{padding:2rem .75rem 0}.tech-footer-content{gap:1.75rem;padding-bottom:1.5rem}.tech-footer-title{font-size:.8125rem;margin-bottom:.5rem}.footer-logo-section{gap:.5rem;margin-bottom:.25rem}.footer-logo{width:36px;height:36px}.footer-description{font-size:.7rem;line-height:1.5}.tech-footer-links{gap:.5rem}.tech-footer-links li{font-size:.7rem}.tech-link{font-size:.7rem;padding:.25rem .375rem;margin:-.25rem -.375rem}.tech-footer-contact{gap:.75rem}.tech-footer-contact li{font-size:.7rem;padding:.5rem .5rem .5rem .625rem}.contact-label{font-size:.65rem}.contact-value{font-size:.7rem}.tech-footer-copyright{font-size:.7rem;gap:.75rem}.tech-footer-bottom{padding:1rem 0}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in-up{animation:fadeInUp .5s cubic-bezier(.25,.8,.5,1) backwards}.animate-scale-in{animation:scaleIn .4s cubic-bezier(.25,.8,.5,1)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn .6s ease-out}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-fade-in-down{animation:fadeInDown .6s ease-out}.animate-fade-in-left{animation:fadeInLeft .6s ease-out}.animate-fade-in-right{animation:fadeInRight .6s ease-out}.animate-scale-in{animation:scaleIn .4s cubic-bezier(.4,0,.2,1)}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-fast{transition:all .15s cubic-bezier(.4,0,.2,1)}.transition-slow{transition:all .5s cubic-bezier(.4,0,.2,1)}.hover-lift{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-4px)}.hover-scale{transition:transform .3s cubic-bezier(.4,0,.2,1)}.hover-scale:hover{transform:scale(1.05)}.glass{background:#ffffff1a;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.glass-dark{background:#0000001a;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-animate{background-size:200% 200%;animation:gradientShift 3s ease infinite}.spinner{animation:spin 1s linear infinite}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#0ff9;transform:translate(-50%,-50%);transition:width .3s cubic-bezier(0,0,.2,1),height .3s cubic-bezier(0,0,.2,1),opacity .3s;opacity:0}.ripple:active:after{width:300px;height:300px;opacity:1;transition:width 0s,height 0s,opacity 0s}@keyframes glowPulse{0%,to{box-shadow:0 0 5px #00ffff4d}50%{box-shadow:0 0 20px #0ff9}}@keyframes cornerFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:.7;transform:scale(1)}}@keyframes holoShimmer{0%{background-position:-200% center}to{background-position:200% center}}.navigation{position:fixed;top:0;left:0;right:0;height:64px;background:hsl(var(--background) / .8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid hsl(var(--border));z-index:50;transition:all .3s ease;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.nav-container{max-width:1400px;margin:0 auto;padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.nav-brand{display:flex;align-items:center;gap:.5rem;cursor:pointer;flex-shrink:0}.nav-brand .brand-logo{height:44px;width:auto;object-fit:contain;transition:transform .3s ease}.nav-brand:hover .brand-logo{transform:scale(1.05)}.nav-brand .brand-icon{font-size:1.5rem;color:hsl(var(--foreground))}.nav-brand .brand-name{color:hsl(var(--foreground));font-family:var(--font-lora);font-size:1.25rem;font-weight:600;white-space:nowrap;margin:0}.nav-links{display:flex;list-style:none;gap:.25rem;align-items:center;flex:1;justify-content:center}.nav-links li{position:relative}.nav-links li a{display:flex;align-items:center;gap:.4rem;color:hsl(var(--muted-foreground));font-family:var(--font-poppins);font-weight:500;font-size:.875rem;text-decoration:none;padding:.5rem .75rem;border-radius:0;transition:color .2s ease;white-space:nowrap}.nav-links li a:hover{color:hsl(var(--foreground))}.nav-links li.active a{color:hsl(var(--foreground));font-weight:600}@keyframes scaleInX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.auth-item a{color:#fff!important;font-weight:600!important}[data-theme=light] .auth-item a{color:#1a1a1a!important}.user-profile-container{display:flex;align-items:center;gap:1rem;padding:.5rem .75rem;border-radius:8px;background:#ffffff14;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:all .3s ease;min-height:44px}[data-theme=light] .user-profile-container{background:#1a1a1a14;border-color:#1a1a1a1a}.user-profile-container:hover{background:#ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:#fff3;transform:translateY(-1px)}[data-theme=light] .user-profile-container:hover{background:#1a1a1a1f;border-color:#1a1a1a33}.user-profile-info{display:flex;align-items:center;gap:.75rem}.user-avatar-container{position:relative;width:32px;height:32px;flex-shrink:0}.user-profile-photo{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.3);transition:all .3s ease;flex-shrink:0}[data-theme=light] .user-profile-photo{border-color:#1a1a1a4d}.user-profile-container:hover .user-profile-photo{border-color:#ffffff80;transform:scale(1.05)}[data-theme=light] .user-profile-container:hover .user-profile-photo{border-color:#1a1a1a80}.user-profile-avatar-fallback{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem;border:2px solid rgba(255,255,255,.3);transition:all .3s ease;flex-shrink:0}[data-theme=light] .user-profile-avatar-fallback{border-color:#1a1a1a4d}.user-profile-container:hover .user-profile-avatar-fallback{border-color:#ffffff80;transform:scale(1.05)}[data-theme=light] .user-profile-container:hover .user-profile-avatar-fallback{border-color:#1a1a1a80}.user-display-name{color:#fff;font-weight:500;font-size:.9rem;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease}[data-theme=light] .user-display-name{color:#1a1a1a}.sign-out-btn{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff!important;font-family:var(--font-poppins);font-weight:500!important;font-size:.85rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}[data-theme=light] .sign-out-btn{background:#1a1a1a14;border-color:#1a1a1a33;color:#1a1a1a!important}.sign-out-btn:hover{background:#fff3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:#fff6;transform:translateY(-1px)}[data-theme=light] .sign-out-btn:hover{background:#1a1a1a26;border-color:#1a1a1a66}.nav-right{display:flex;align-items:center;gap:1rem;flex-shrink:0;height:100%}.search-form{display:flex;align-items:stretch;justify-content:center;gap:.5rem;background:#1c1c2c80;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:10px;overflow:hidden;transition:all .3s;height:38px;align-self:center}[data-theme=light] .search-form{background:#f5f5f5e6;border-color:#0000001a}.search-form:focus-within{border-color:#ffffff4d;background:#1c1c2c99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 0 0 3px #ffffff1a}[data-theme=light] .search-form:focus-within{border-color:#1a1a1a;background:#f5f5f5;box-shadow:0 0 0 3px #1a1a1a1a}.search-input:focus{border-color:#fff!important;outline:none!important}[data-theme=light] .search-input:focus{border-color:#1a1a1a!important}.search-input{display:flex;align-items:center;box-sizing:border-box;line-height:normal;padding:0 .875rem;border:none;background:transparent;border-radius:0;outline:none;width:180px;height:100%;font-size:.875rem;color:var(--color-on-background, #ffffff);transition:color .3s ease}[data-theme=light] .search-input{color:#1a1a1a}.search-input::placeholder{color:var(--color-on-surface-secondary, #999999);transition:color .3s ease}[data-theme=light] .search-input::placeholder{color:#666}.search-btn{padding:0 1rem;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;min-width:40px;height:100%}[data-theme=light] .search-btn{background:#1a1a1a;color:#fff}.search-btn:hover{background:#fff3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transform:scale(1.05)}.search-btn:active{transform:scale(.95)}.search-btn svg{font-size:1rem;transition:transform .3s cubic-bezier(.4,0,.2,1)}.search-btn:hover svg{transform:rotate(15deg)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:1px solid hsl(var(--border));color:hsl(var(--foreground));cursor:pointer;transition:all .2s ease;font-size:1rem}.theme-toggle:hover{background:hsl(var(--accent));border-color:hsl(var(--foreground))}.nav-auth{display:flex;gap:1rem;align-items:center}.user-menu{display:flex;align-items:center;gap:1rem}.username{color:#aaa;font-weight:500;font-size:.9rem;white-space:nowrap;transition:color .3s ease}[data-theme=light] .username{color:#666}.btn-login,.btn-logout{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;background:transparent;color:#fff;border:1px solid #ffffff;border-radius:5px;transition:all .3s;white-space:nowrap;font-size:.9rem}[data-theme=light] .btn-login,[data-theme=light] .btn-logout{color:#1a1a1a;border-color:#1a1a1a}.btn-login:hover,.btn-logout:hover{background:#1a1a1a;color:#fff;border-color:#1a1a1a}[data-theme=light] .btn-login:hover,[data-theme=light] .btn-logout:hover{background:#1a1a1a;color:#fff}@media(max-width:1200px){.nav-container{padding:.75rem 1rem}.nav-links{gap:.15rem}.nav-links li a{padding:.5rem;font-size:.85rem}.nav-text{display:none}.nav-links li a svg{font-size:1rem}.search-input{width:120px}.nav-brand .brand-name{font-size:1.1rem}}@media(min-width:993px){.auth-item{margin-left:.5rem}}.mobile-menu-toggle{display:none;background:none;border:none;font-size:1.5rem;color:var(--color-on-background, #e0e0e0);cursor:pointer;padding:.5rem;z-index:1001}@media(max-width:992px){.nav-container{display:grid;grid-template-columns:auto 1fr auto auto;gap:.5rem;align-items:center}.nav-brand{order:1;grid-column:1}.nav-right{order:2;grid-column:3;display:flex}.mobile-menu-toggle{display:block;order:3;grid-column:4}.search-form{display:none}.nav-links{order:4;grid-column:1 / -1}.auth-item{display:block;border-top:2px solid var(--color-border, #3a3a3a);margin-top:1rem;padding-top:1rem}.auth-item a{color:#fff!important;font-weight:600!important}[data-theme=light] .auth-item a{color:#1a1a1a!important}.user-profile-container{flex-direction:column;gap:.75rem;padding:1rem;width:100%}.user-profile-info{justify-content:center;width:100%}.user-display-name{max-width:200px;font-size:1rem}.sign-out-btn{width:100%;justify-content:center;padding:.75rem 1rem;font-size:1rem}.nav-text{display:inline}.nav-links{position:fixed;top:64px;left:0;right:0;background:#1a1a1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);flex-direction:column;padding:2rem;box-shadow:0 8px 32px #0009;border-top:1px solid rgba(255,255,255,.1);max-height:0;overflow:hidden;opacity:0;transition:all .3s ease;z-index:1000}[data-theme=light] .nav-links{background:#fff;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top-color:#0000001a;box-shadow:0 8px 32px #00000026}.nav-links.mobile-open{max-height:calc(100vh - 64px);opacity:1;overflow-y:auto}.nav-links li{width:100%;text-align:center;padding:.75rem 0;border-bottom:1px solid var(--color-border, #3a3a3a)}.nav-links li a{justify-content:center;font-size:1.1rem;padding:.5rem}.nav-links .scramble-text{font-family:var(--font-poppins);letter-spacing:.02em;display:inline-block}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.nav-links.mobile-open .fade-in-item{opacity:0;animation:fadeInUp .4s ease forwards;animation-delay:var(--fade-delay, 0ms)}.nav-links.mobile-open .fade-in-item a,.nav-links.mobile-open .fade-in-item .user-profile-container{opacity:inherit}}@media(max-width:768px){.nav-container{padding:.75rem 1rem}.nav-brand .brand-name{font-size:1.1rem}.nav-brand .brand-logo{height:32px}}@media(max-width:480px){.nav-brand .brand-name{font-size:1rem}.nav-brand .brand-logo{height:30px}.nav-container{padding:.65rem .75rem}}.btn-get-started{padding:.5rem 1rem;background:hsl(var(--foreground));color:hsl(var(--background));border:1px solid hsl(var(--foreground));font-family:var(--font-body);font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-get-started:hover{background:hsl(var(--foreground) / .9);transform:translateY(-1px)}.nav-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.notification{position:fixed;top:100px;right:2rem;min-width:320px;max-width:400px;padding:1rem 1.5rem;background-color:rgba(var(--color-surface-rgb),var(--glass-bg-opacity));backdrop-filter:blur(var(--glass-blur-amount));-webkit-backdrop-filter:blur(var(--glass-blur-amount));border:1px solid var(--glass-border-color);box-shadow:var(--glass-shadow);border-radius:var(--radius-card);display:flex;align-items:center;gap:1rem;z-index:10000;animation:slideInRight .3s ease-out,notificationPulse 2s ease-in-out infinite}@keyframes notificationPulse{0%,to{box-shadow:var(--glass-shadow)}50%{box-shadow:var(--glass-shadow),0 0 20px #0ff6}}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.notification-success{border-left:4px solid #10b981}.notification-error{border-left:4px solid #ff5555}.notification-icon{font-size:1.5rem;flex-shrink:0}.notification-success .notification-icon{color:#10b981}.notification-error .notification-icon{color:#f55}.notification-message{flex:1;color:var(--color-on-background, #E0E0E0);font-weight:500}.notification-close{background:none;border:none;color:#aaa;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .3s}.notification-close:hover{color:var(--color-on-background, #E0E0E0)}@media(max-width:768px){.notification{right:1rem;left:1rem;min-width:auto}}.xeokit-viewer-container{position:relative;background:#0a0a0a;border-radius:12px 12px 0 0;overflow:hidden;transition:background .3s ease;touch-action:none;overscroll-behavior:contain}[data-theme=light] .xeokit-viewer-container{background:#f5f5f5}.xeokit-viewer-container canvas{display:block;transition:transform .3s ease;touch-action:none;user-select:none}.viewer-hint{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#000000b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:.7rem;font-weight:500;opacity:0;transform:translateY(10px);transition:all .3s ease;pointer-events:none;z-index:10}[data-theme=light] .viewer-hint{background:#ffffffe6;color:#1a1a1a;border-color:#0000001a}.xeokit-viewer-container:hover .viewer-hint{opacity:1;transform:translateY(0)}.viewer-hint svg{opacity:.8}.viewer-hint-zoom{bottom:12px;right:12px;left:12px;text-align:center;justify-content:center;font-size:.75rem;padding:.75rem 1.25rem;background:#000000d9;border:1px solid rgba(255,255,255,.2)}[data-theme=light] .viewer-hint-zoom{background:#fffffff2;border-color:#00000026}.viewer-hint-zoom span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.xeokit-viewer-container:hover .viewer-hint-zoom{opacity:1;transform:translateY(0)}@media(max-width:768px){.viewer-hint-zoom{font-size:.7rem;padding:.6rem 1rem}.viewer-hint-zoom span{font-size:.65rem}}.xeokit-viewer-container:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;opacity:0;transition:opacity .3s ease}.xeokit-viewer-container.loading:before{opacity:1}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.viewer-loading,.viewer-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:hsl(var(--muted) / .8);backdrop-filter:blur(10px);color:hsl(var(--muted-foreground));font-size:.875rem;font-weight:500;z-index:20}.viewer-error{color:#ef4444}.loading-spinner{width:32px;height:32px;border:3px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:spin 1s linear infinite}.viewer-error svg{width:32px;height:32px;color:#ef4444}.xeokit-viewer-container canvas{background:transparent!important}.xeokit-viewer-container{min-height:200px;display:flex;align-items:center;justify-content:center}:root{--background: 40 20% 98%;--foreground: 30 10% 10%;--card: 40 15% 96%;--muted: 35 8% 90%;--muted-foreground: 30 5% 45%;--border: 35 10% 85%;--accent: 35 12% 92%;--font-display: "Cormorant Garamond", serif;--font-body: "Inter", sans-serif;--font-poppins: "Poppins", sans-serif;--font-lora: "Lora", serif;--radius: 0rem;--shadow-sm: 0 1px 2px hsl(0 0% 0% / .04);--shadow-md: 0 4px 6px hsl(0 0% 0% / .06);--shadow-lg: 0 10px 15px hsl(0 0% 0% / .08)}[data-theme=dark]{--background: 30 15% 6%;--foreground: 35 15% 95%;--card: 30 12% 9%;--muted: 30 8% 18%;--muted-foreground: 35 10% 55%;--border: 30 8% 20%;--accent: 30 10% 16%;--shadow-sm: 0 1px 2px hsl(0 0% 0% / .2);--shadow-md: 0 4px 6px hsl(0 0% 0% / .3);--shadow-lg: 0 10px 15px hsl(0 0% 0% / .4)}*{box-sizing:border-box}body{font-family:var(--font-body);background-color:hsl(var(--background));color:hsl(var(--foreground));line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;transition:background-color .3s ease,color .3s ease}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}.font-normal{font-weight:400}.tracking-tight{letter-spacing:-.025em}.tracking-normal{letter-spacing:0em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.bg-background{background-color:hsl(var(--background))}.bg-card{background-color:hsl(var(--card))}.bg-muted{background-color:hsl(var(--muted))}.bg-accent{background-color:hsl(var(--accent))}.border{border:1px solid hsl(var(--border))}.border-t{border-top:1px solid hsl(var(--border))}.border-b{border-bottom:1px solid hsl(var(--border))}.border-l{border-left:1px solid hsl(var(--border))}.border-r{border-right:1px solid hsl(var(--border))}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-12{padding:3rem}.p-16{padding:4rem}.p-24{padding:6rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-24{padding-top:6rem;padding-bottom:6rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.m-0{margin:0}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.container{width:100%;max-width:80rem;margin:0 auto;padding:0 1rem}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-12{gap:3rem}.gap-16{gap:4rem}.flex-col{flex-direction:column}.justify-between{justify-content:space-between}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}}@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-7xl{font-size:4.5rem;line-height:1}}.moroccan-pattern{background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='0.03'%3E%3Cpath d='M30 30l15-15v30l-15-15zm-15 0L0 15v30l15-15z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}[data-theme=dark] .moroccan-pattern{background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.02'%3E%3Cpath d='M30 30l15-15v30l-15-15zm-15 0L0 15v30l15-15z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .6s ease-out}.animate-slide-up{animation:slide-up .8s cubic-bezier(.25,.1,.25,1)}.transition-colors{transition:background-color .2s ease,color .2s ease,border-color .2s ease}.transition-transform{transition:transform .2s ease}.transition-all{transition:all .2s ease}.hover\:scale-105:hover{transform:scale(1.05)}.hover\:translate-y-1:hover{transform:translateY(-.25rem)}.focus\:outline-none:focus{outline:none}.focus\:ring-2:focus{box-shadow:0 0 0 2px hsl(var(--foreground) / .2)}:root{--background: hsl(30, 20%, 6%);--foreground: hsl(35, 30%, 90%);--card: hsl(30, 15%, 12%);--card-foreground: hsl(35, 30%, 90%);--primary: hsl(25, 70%, 50%);--primary-foreground: hsl(35, 30%, 95%);--secondary: hsl(210, 60%, 30%);--secondary-foreground: hsl(35, 30%, 95%);--accent: hsl(42, 80%, 55%);--accent-foreground: hsl(30, 20%, 10%);--muted: hsl(30, 10%, 20%);--muted-foreground: hsl(30, 15%, 60%);--border: hsl(30, 15%, 20%);--input: hsl(30, 15%, 20%);--ring: hsl(25, 70%, 50%);--terracotta: hsl(15, 60%, 45%);--terracotta-light: hsl(15, 50%, 60%);--sand: hsl(35, 40%, 75%);--sand-light: hsl(35, 50%, 85%);--moroccan-blue: hsl(210, 60%, 35%);--moroccan-blue-light: hsl(210, 50%, 50%);--gold: hsl(42, 80%, 55%);--gold-light: hsl(42, 70%, 70%);--dark-wood: hsl(25, 40%, 15%)}.homepage{min-height:100vh;background:var(--background);color:var(--foreground);font-family:Lato,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.hero-carousel{width:100%;height:100vh;min-height:100vh;max-height:100vh;overflow:hidden;background:var(--background);position:relative}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.hero-image{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#120f0ce6,#362417cc 30%,#b8502e4d 70%,#e8b1301a)}.hero-pattern{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.1;background-image:radial-gradient(circle at 25% 25%,var(--accent) 2px,transparent 2px),radial-gradient(circle at 75% 75%,var(--terracotta) 1px,transparent 1px);background-size:60px 60px,40px 40px;z-index:2}.corner-ornaments{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none}.corner-ornament{position:absolute;width:80px;height:80px;border:2px solid var(--accent);opacity:.3}.corner-tl{top:40px;left:40px;border-right:none;border-bottom:none;border-radius:0 0 0 20px}.corner-tr{top:40px;right:40px;border-left:none;border-bottom:none;border-radius:0 0 20px}.corner-bl{bottom:40px;left:40px;border-right:none;border-top:none;border-radius:20px 0 0}.corner-br{bottom:40px;right:40px;border-left:none;border-top:none;border-radius:0 20px 0 0}.decorative-divider{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:20px;z-index:3;pointer-events:none}.decorative-divider-top{top:60px}.decorative-divider-bottom{bottom:60px}.divider-line{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.divider-diamond{width:12px;height:12px;border:2px solid var(--accent);transform:rotate(45deg);background:var(--background)}.divider-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.grid-square{width:8px;height:8px;border:1px solid var(--accent);opacity:.3}.grid-square.active{background:var(--accent);opacity:1}.carousel-content{position:relative;z-index:4;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0 8%}.slide-content{text-align:center;max-width:800px}.slide-badge{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.badge-diamond{width:8px;height:8px;border:1px solid var(--accent);transform:rotate(45deg);background:var(--accent)}.slide-badge span{color:var(--sand);font-size:12px;font-weight:300;letter-spacing:3px;text-transform:uppercase;font-family:Lato,sans-serif}.slide-title{font-family:Playfair Display,Georgia,serif;font-size:clamp(3rem,8vw,6rem);font-weight:700;line-height:.9;margin-bottom:24px;color:var(--foreground);text-shadow:0 4px 20px hsla(30,20%,6%,.8);background:linear-gradient(135deg,var(--foreground) 0%,var(--sand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.slide-description{font-size:clamp(1rem,2vw,1.2rem);font-weight:300;line-height:1.6;margin-bottom:40px;color:var(--sand);max-width:600px;margin-left:auto;margin-right:auto}.slide-buttons{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;border-radius:8px;font-weight:500;font-size:16px;text-decoration:none;transition:all .3s ease;cursor:pointer;border:2px solid transparent;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.btn:hover:before{left:100%}.btn-primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.btn-primary:hover{background:var(--terracotta);border-color:var(--terracotta);transform:translateY(-2px);box-shadow:0 8px 25px #d971264d}.btn-outline{background:transparent;color:var(--accent);border-color:var(--accent)}.btn-outline:hover{background:var(--accent);color:var(--accent-foreground);transform:translateY(-2px);box-shadow:0 8px 25px #e8b1304d}.carousel-nav{position:absolute;bottom:60px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:24px;z-index:5}.nav-btn{width:48px;height:48px;border-radius:50%;background:#0000004d;border:2px solid var(--accent);color:var(--accent);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(10px)}.nav-btn:hover{background:var(--accent);color:var(--accent-foreground);transform:scale(1.1)}.nav-indicators{display:flex;gap:12px}.nav-indicator{width:12px;height:12px;border-radius:50%;background:transparent;border:2px solid var(--accent);cursor:pointer;transition:all .3s ease;opacity:.5}.nav-indicator.active{background:var(--accent);opacity:1;box-shadow:0 0 20px #e8b13080}.nav-indicator:hover{opacity:.8;transform:scale(1.2)}.categories-section,.products-section,.about-section{padding:80px 0;background:var(--background)}.categories-section{background:var(--card);position:relative}.categories-section:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 80%,var(--accent) 1px,transparent 1px),radial-gradient(circle at 80% 20%,var(--terracotta) 1px,transparent 1px);background-size:100px 100px,80px 80px;opacity:.05;pointer-events:none}.container{max-width:1200px;margin:0 auto;padding:0 24px}.section-header{text-align:center;margin-bottom:60px}.decorative-label{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:24px}.label-line{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.decorative-label span{color:var(--muted-foreground);font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase}.section-header h2{font-family:Playfair Display,Georgia,serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:700;color:var(--foreground);margin-bottom:16px;background:linear-gradient(135deg,var(--foreground) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-header p{font-size:18px;color:var(--muted-foreground);max-width:600px;margin:0 auto;line-height:1.6}.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px}.category-card{background:var(--card);border:2px solid var(--border);border-radius:16px;padding:32px;cursor:pointer;transition:all .4s cubic-bezier(.25,.1,.25,1);position:relative;overflow:hidden;box-shadow:0 0 0 1px var(--border),inset 0 0 0 1px transparent;outline:2px solid transparent;outline-offset:2px}.category-card:after{content:"";position:absolute;inset:-4px;border:2px solid transparent;border-radius:20px;transition:all .4s cubic-bezier(.25,.1,.25,1);pointer-events:none;opacity:0}.category-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--accent) 0%,var(--terracotta) 100%);opacity:0;transition:opacity .5s cubic-bezier(.25,.1,.25,1);z-index:1}.category-card:hover:before{opacity:.08}.category-card:hover:after{border-color:var(--foreground);opacity:.4;box-shadow:0 0 20px var(--foreground),0 0 40px #ede7de4d}.category-card:hover{border-color:var(--foreground);transform:translateY(-8px);box-shadow:0 0 0 1px var(--foreground),0 0 15px #ede7de40,0 0 30px #ede7de26,0 0 45px #e8b1301a,0 20px 40px #120f0c66;outline:2px solid var(--foreground);outline-offset:3px}[data-theme=light] .category-card{box-shadow:0 0 0 1px var(--border),0 2px 8px #120f0c1a}[data-theme=light] .category-card:hover{border-color:#1c1a17;box-shadow:0 0 0 1px #1c1a17,0 0 15px #1c1a1726,0 0 30px #1c1a171a,0 20px 40px #120f0c33;outline-color:#1c1a17}[data-theme=light] .category-card:hover:after{border-color:#1c1a17;box-shadow:0 0 15px #1c1a17}.lantern-container{position:absolute;bottom:-10px;right:-20px;width:140px;height:140px;z-index:1;pointer-events:none}.lantern-container img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;transition:opacity .5s cubic-bezier(.25,.1,.25,1),transform .5s cubic-bezier(.25,.1,.25,1)}.lantern-idle{opacity:1}.lantern-moving,.category-card:hover .lantern-idle{opacity:0}.category-card:hover .lantern-moving{opacity:1}.card-content{position:relative;z-index:2}.card-content h3{font-family:Playfair Display,Georgia,serif;font-size:24px;font-weight:600;color:var(--foreground);margin-bottom:12px;display:flex;align-items:center;gap:8px}.card-content p{color:var(--muted-foreground);margin-bottom:20px;line-height:1.5}.features{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.feature-tag{background:var(--muted);color:var(--muted-foreground);padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.products-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px}.product-card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;cursor:pointer;transition:all .3s ease;position:relative}.product-card:hover{border-color:var(--accent);transform:translateY(-8px);box-shadow:0 20px 40px #120f0c4d}.card-image{height:200px;background:var(--muted);position:relative;overflow:hidden}.card-content{padding:24px}.card-content h3{font-family:Playfair Display,Georgia,serif;font-size:20px;font-weight:600;color:var(--foreground);margin-bottom:8px}.btn-ghost{background:transparent;color:var(--muted-foreground);border:1px solid var(--border);padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:space-between;width:100%}.btn-ghost:hover{background:var(--accent);color:var(--accent-foreground);border-color:var(--accent)}.footer-horizontal{background:var(--card);border-top:1px solid var(--border);padding:60px 0 40px}.footer-container{max-width:1200px;margin:0 auto;padding:0 24px}.footer-brand{margin-bottom:40px}.footer-brand span{font-family:Playfair Display,Georgia,serif;color:var(--foreground)}.footer-brand p{color:var(--muted-foreground);line-height:1.6}.social-btn{width:40px;height:40px;border-radius:50%;background:var(--muted);color:var(--muted-foreground);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .3s ease}.social-btn:hover{background:var(--accent);color:var(--accent-foreground);transform:translateY(-2px)}.footer-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;margin-bottom:40px}.footer-column h4{color:var(--foreground);margin-bottom:16px;font-weight:600}.footer-column ul{list-style:none;padding:0;margin:0}.footer-column li{margin-bottom:8px}.footer-column a,.footer-column button{color:var(--muted-foreground);text-decoration:none;transition:color .3s ease;background:none;border:none;cursor:pointer;font-size:inherit}.footer-column a:hover,.footer-column button:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--border);padding-top:32px;text-align:center}.footer-bottom p{color:var(--muted-foreground);font-size:14px}.decorative-footer{text-align:center;margin-top:60px}.footer-diamonds{display:flex;justify-content:center;gap:16px}.diamond{width:12px;height:12px;border:2px solid var(--border);transform:rotate(45deg);opacity:.3;transition:all .3s ease}.diamond.active{background:var(--accent);border-color:var(--accent);opacity:1;box-shadow:0 0 20px #e8b1304d}.animate-slide-up{animation:slideUp .8s cubic-bezier(.25,.1,.25,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top:3px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.corner-ornaments,.decorative-divider{display:none}.carousel-content{padding:0 5%}.slide-buttons{flex-direction:column;align-items:center}.btn{width:100%;max-width:280px;justify-content:center}.categories-grid,.products-grid{grid-template-columns:1fr}.footer-links{grid-template-columns:repeat(2,1fr)}.hero-carousel .absolute.opacity-20,.hero-carousel .absolute.opacity-15,.hero-carousel .absolute.opacity-25,.hero-carousel .absolute.opacity-10,.gap-filler .absolute{display:none}.gap-filler .gap-filler-content{padding:1rem 0}.lantern-container{width:130px;height:130px}}@media(max-width:480px){.container{padding:0 16px}.category-card,.product-card .card-content{padding:20px}.footer-links{grid-template-columns:1fr}}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.py-12{padding:48px 0}.py-24{padding:96px 0}.text-xs{font-size:12px}.text-sm{font-size:14px}.text-lg{font-size:18px}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.tracking-widest{letter-spacing:.1em}.hidden{display:none}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:16px}.w-32{width:128px}.h-32{height:128px}.rotate-45{transform:rotate(45deg)}.relative{position:relative}.absolute{position:absolute}.inset-4{inset:16px}@media(min-width:1024px){.lg\\:block{display:block}}.decorative-diamond{border:2px solid var(--accent);background:transparent;transform:rotate(45deg);transition:all .3s ease}.decorative-diamond.filled{background:var(--accent);border-color:var(--accent)}.decorative-diamond.gradient{background:linear-gradient(135deg,var(--accent) 0%,var(--terracotta) 100%);border-color:var(--accent)}.decorative-diamond.subtle{border:1px solid var(--accent);background:#e8b1300d;opacity:.6}.decorative-diamond.gold{border:2px solid var(--gold);background:#e8b1301a}.decorative-diamond.terracotta{border:2px solid var(--terracotta);background:#b8502e1a}.decorative-diamond:hover{transform:rotate(45deg) scale(1.1);box-shadow:0 0 20px #e8b1304d}.gap-filler{padding:2rem 0;display:flex;align-items:center;justify-content:center;background:var(--background);position:relative;overflow:hidden}.gap-filler:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 25% 25%,var(--accent) 1px,transparent 1px),radial-gradient(circle at 75% 75%,var(--terracotta) 1px,transparent 1px);background-size:60px 60px,40px 40px;opacity:.03;pointer-events:none}.gap-filler-content{position:relative;z-index:1}.corner-decoration{position:absolute;width:20px;height:20px;border:2px solid var(--accent);opacity:0;transition:all .3s ease;pointer-events:none}.corner-decoration.corner-tl{top:12px;left:12px;border-right:none;border-bottom:none;border-radius:0 0 0 4px}.corner-decoration.corner-tr{top:12px;right:12px;border-left:none;border-bottom:none;border-radius:0 0 4px}.corner-decoration.corner-bl{bottom:12px;left:12px;border-right:none;border-top:none;border-radius:4px 0 0}.corner-decoration.corner-br{bottom:12px;right:12px;border-left:none;border-top:none;border-radius:0 4px 0 0}.category-card:hover .corner-decoration,.product-card:hover .corner-decoration{opacity:.6;transform:scale(1.1)}@keyframes float{0%,to{transform:translateY(0) rotate(45deg)}50%{transform:translateY(-10px) rotate(45deg)}}.animate-float{animation:float 3s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.shimmer{background:linear-gradient(90deg,var(--gold) 0%,var(--gold-light) 50%,var(--gold) 100%);background-size:200px 100%;animation:shimmer 2s infinite}@keyframes fadeInStagger{0%{opacity:0;transform:translateY(20px) rotate(45deg) scale(.8)}to{opacity:var(--target-opacity, .2);transform:translateY(0) rotate(45deg) scale(1)}}.decorative-diamond{animation:fadeInStagger .8s ease-out forwards}.decorative-diamond:nth-child(1){animation-delay:.1s}.decorative-diamond:nth-child(2){animation-delay:.2s}.decorative-diamond:nth-child(3){animation-delay:.3s}.decorative-diamond:nth-child(4){animation-delay:.4s}.decorative-diamond:nth-child(5){animation-delay:.5s}.section-header:hover .decorative-diamond{transform:rotate(45deg) scale(1.1);opacity:.4;transition:all .3s ease}.gap-filler:hover .decorative-diamond{animation-play-state:paused;transform:rotate(45deg) scale(1.05);opacity:.3}@keyframes pulse{0%,to{opacity:var(--base-opacity, .2);transform:rotate(45deg) scale(1)}50%{opacity:calc(var(--base-opacity, .2) * 1.5);transform:rotate(45deg) scale(1.05)}}.decorative-diamond.animated{animation:pulse 2s ease-in-out infinite}.sign-in-modal-overlay{position:fixed;inset:0;background-color:#000c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.sign-in-modal-content{background:#0a0a0a;border:1px solid #1a1a1a;border-radius:var(--radius-lg, 12px);padding:2rem;width:100%;max-width:400px;position:relative;box-shadow:var(--glass-shadow-modal, 0 15px 40px rgba(0, 0, 0, .7));animation:slideUp .3s ease-out}.sign-in-modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:#aaa;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm, 6px);transition:all .2s ease}.sign-in-modal-close:hover{color:#fff;background:#ffffff1a}.sign-in-modal-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 1.5rem;background:#ffffff0d;border:1px solid #2a2a2a;border-radius:50%;color:#fff}.sign-in-modal-title{text-align:center;color:#fff;font-size:1.5rem;font-weight:600;margin-bottom:.75rem}.sign-in-modal-message{text-align:center;color:#aaa;font-size:.95rem;line-height:1.5;margin-bottom:1.5rem}.sign-in-modal-error{text-align:center;color:#ef4444;font-size:.9rem;line-height:1.4;margin-bottom:1.5rem;padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm, 6px)}.sign-in-modal-actions{display:flex;flex-direction:column;gap:.75rem}.sign-in-modal-btn-primary{width:100%;padding:.875rem 1.5rem;background:#fff;color:#1a1a1a;border:1px solid #ffffff;border-radius:var(--radius-md, 8px);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.sign-in-modal-btn-primary:hover:not(:disabled){background:#e5e5e5;border-color:#e5e5e5;transform:translateY(-1px)}.sign-in-modal-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.sign-in-modal-btn-secondary{width:100%;padding:.875rem 1.5rem;background:transparent;color:#aaa;border:1px solid #2a2a2a;border-radius:var(--radius-md, 8px);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.sign-in-modal-btn-secondary:hover{color:#fff;border-color:#3a3a3a;background:#ffffff0d}@media(max-width:480px){.sign-in-modal-content{padding:1.5rem;margin:.5rem}.sign-in-modal-title{font-size:1.25rem}.sign-in-modal-message{font-size:.9rem}.sign-in-modal-icon{width:56px;height:56px}.sign-in-modal-icon svg{width:28px;height:28px}}.download-dropdown-container{position:relative;display:inline-block}.btn-download-dropdown{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#b8732e,#86592d);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-download-dropdown:hover:not(:disabled){background:linear-gradient(135deg,#d2802d,#9e662e);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-download-dropdown:disabled,.btn-download-dropdown.disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-download-dropdown.open{background:linear-gradient(135deg,#d2802d,#9e662e)}.dropdown-chevron{transition:transform .2s ease}.download-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:280px;background:#2a2622;border:1px solid hsl(30,15%,25%);border-radius:8px;box-shadow:0 8px 24px #0000004d;z-index:100;overflow:hidden;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.download-dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;background:transparent;border:none;color:#ded9d3;font-size:.9rem;text-align:left;cursor:pointer;transition:background .15s ease}.download-dropdown-item:hover{background:#3b332b}.download-dropdown-item:not(:last-child){border-bottom:1px solid hsl(30,15%,22%)}.format-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:.25rem .5rem;background:#963;color:#fff;font-size:.75rem;font-weight:600;border-radius:4px;text-transform:uppercase}.format-label{flex:1;color:#e9e6e2}.format-size{color:#a8998a;font-size:.8rem}.no-formats-message{display:block;margin-top:.5rem;color:#93806c;font-size:.85rem;font-style:italic}@media(max-width:480px){.download-dropdown-menu{min-width:240px;right:0;left:auto}.btn-download-dropdown{padding:.625rem 1rem;font-size:.9rem}}.image-carousel{display:flex;flex-direction:column;gap:1rem;width:100%;height:100%}.image-carousel-empty{display:flex;align-items:center;justify-content:center;height:100%;background:#38332e;border-radius:12px;color:#a8998a}.carousel-main{position:relative;flex:1;background:#2a2622;border-radius:12px;overflow:hidden}.carousel-main-image{width:100%;height:100%;object-fit:contain}.carousel-edge{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:none;background:#1f1a1480;color:#ede7de;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .3s ease,background .3s ease;border-radius:50%}.carousel-edge-left{left:1rem}.carousel-edge-right{right:1rem}.carousel-edge:hover{opacity:1;background:#1f1a14cc}.carousel-edge:hover svg{color:#e8b130}.carousel-counter{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);background:#1f1a14cc;color:#ede7de;padding:.5rem 1rem;border-radius:20px;font-size:.85rem}.carousel-thumbnails{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;padding:.5rem}.carousel-thumbnail{width:64px;height:64px;border-radius:8px;border:2px solid transparent;background:#2a2622;cursor:pointer;padding:0;overflow:hidden}.carousel-thumbnail:hover{border-color:#756657}.carousel-thumbnail.active{border-color:#e8b130}.carousel-thumbnail img{width:100%;height:100%;object-fit:cover}.gallery{--background: hsl(30, 20%, 6%);--foreground: hsl(35, 30%, 90%);--card: hsl(30, 15%, 12%);--card-foreground: hsl(35, 30%, 90%);--primary: hsl(25, 70%, 50%);--accent: hsl(42, 80%, 55%);--accent-foreground: hsl(30, 20%, 10%);--muted: hsl(30, 10%, 20%);--muted-foreground: hsl(30, 15%, 60%);--border: hsl(30, 15%, 20%);--terracotta: hsl(15, 60%, 45%);--sand: hsl(35, 40%, 75%);--gold: hsl(42, 80%, 55%);min-height:100vh;background:var(--background);display:flex;flex-direction:column}.gallery>*{max-width:1400px;margin:0 auto;width:100%;padding:0 2rem}.gallery-header,.gallery-controls,.gallery-grid,.product-detail,.no-results{max-width:1400px;margin:0 auto;width:100%;padding:0 2rem}.gallery-header{padding-top:2rem}.gallery-grid{padding-bottom:2rem}.gallery-header{text-align:center;margin-bottom:3rem}.gallery-header h1{font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,5vw,3rem);font-weight:700;margin-bottom:.75rem;background:linear-gradient(135deg,var(--foreground) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gallery-header p{color:var(--muted-foreground);font-size:1.1rem}.gallery-controls{margin-bottom:2rem}.search-input{width:100%;padding:1rem;font-size:1rem;background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:6px;margin-bottom:1rem;transition:all .3s ease}.search-input::placeholder{color:var(--muted-foreground)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e8b13033}.category-filters{display:flex;gap:.75rem;flex-wrap:wrap}.filter-btn{padding:.75rem 1.5rem;background:var(--card);border:1px solid var(--border);border-radius:6px;transition:all .5s cubic-bezier(.25,.1,.25,1);color:var(--muted-foreground);text-transform:uppercase;font-size:.85rem;letter-spacing:.5px;font-weight:500;cursor:pointer}.filter-btn:hover{border-color:var(--accent);color:var(--foreground)}.filter-btn.active{background:var(--accent);color:var(--accent-foreground);border-color:var(--accent)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding:1rem 0}.gallery-card{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .5s cubic-bezier(.25,.1,.25,1);position:relative;animation:fadeInUp .5s cubic-bezier(.25,.1,.25,1) backwards}.gallery-card:hover{border-color:var(--accent);transform:translateY(-8px);box-shadow:0 20px 40px #120f0c4d}.gallery-card .card-image{position:relative;height:200px;background:var(--muted);overflow:hidden}.gallery-card .card-image img{width:100%;height:100%;object-fit:cover;transition:transform .15s ease-out}.gallery-card:hover .card-image img{transform:scale(1.05)}.image-placeholder{width:100%;height:100%;background:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted-foreground);gap:.5rem}.placeholder-icon{width:32px;height:32px;opacity:.5}.image-placeholder span{font-size:.75rem}.category-badge{position:absolute;top:12px;left:12px;background:var(--accent);color:var(--accent-foreground);padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;z-index:2}.card-overlay{position:absolute;inset:0;background:linear-gradient(to top,hsla(30,20%,6%,.9) 0%,hsla(30,20%,6%,.4) 50%,transparent 100%);display:flex;align-items:flex-end;justify-content:center;padding:1.5rem;opacity:0;transition:opacity .3s ease}.gallery-card:hover .card-overlay{opacity:1}.btn-view{background:var(--accent);color:var(--accent-foreground);border:none;padding:12px 24px;border-radius:6px;font-weight:500;font-size:14px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-view:hover{background:var(--terracotta);transform:translateY(-2px);box-shadow:0 8px 25px #d971264d}.card-content{padding:20px}.card-title{font-family:Playfair Display,Georgia,serif;font-size:1.1rem;font-weight:600;color:var(--foreground);margin-bottom:8px}.card-description{font-size:.9rem;color:var(--muted-foreground);line-height:1.5;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.btn-explore{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:transparent;color:var(--muted-foreground);border:1px solid var(--border);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .5s cubic-bezier(.25,.1,.25,1)}.btn-explore:hover{background:var(--accent);color:var(--accent-foreground);border-color:var(--accent)}.btn-explore .btn-icon{width:16px;height:16px;transition:transform .5s cubic-bezier(.25,.1,.25,1)}.gallery-card:hover .btn-explore .btn-icon{transform:translate(2px,-2px)}.no-results{text-align:center;padding:4rem 2rem;color:var(--muted-foreground)}.no-results p{font-size:1.1rem}.gallery-card .card-image model-viewer,.gallery-card .card-image .xeokit-viewer-container{border-radius:0!important}@media(max-width:1200px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}.gallery-card .card-image{height:180px}.card-info{padding:20px}}@media(max-width:480px){.gallery{padding:1rem}.gallery-grid{grid-template-columns:1fr;gap:1.5rem}.gallery-card .card-image{height:200px}.category-filters{gap:.5rem}.filter-btn{padding:.5rem 1rem;font-size:.75rem}}.product-detail{max-width:1400px;margin:0 auto;padding:2rem}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease;margin-bottom:2rem}.back-button:hover{border-color:var(--accent);color:var(--accent);transform:translate(-4px)}.detail-container{display:grid;grid-template-columns:1fr 400px;gap:2rem;margin-top:2rem}.detail-viewer{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #120f0c4d;position:relative}.detail-info{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:2rem;box-shadow:0 4px 12px #120f0c4d}.detail-info h1{font-family:Playfair Display,Georgia,serif;font-size:2rem;margin-bottom:1rem;color:var(--foreground)}.detail-info .badge{margin-bottom:1.5rem;background:var(--accent);color:var(--accent-foreground)}.detail-description{margin-bottom:2rem}.detail-description h3{font-size:1.1rem;margin-bottom:.75rem;color:var(--foreground)}.detail-description p{color:var(--muted-foreground);line-height:1.6}.detail-meta{background:var(--muted);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.meta-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border)}.meta-row:last-child{border-bottom:none}.meta-label{color:var(--muted-foreground);font-size:.9rem}.meta-value{color:var(--foreground);font-weight:600}.detail-actions{display:flex;flex-direction:column;gap:1rem}.btn-download{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;background:var(--accent);color:var(--accent-foreground);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-download:hover:not(:disabled){background:var(--terracotta);transform:translateY(-2px);box-shadow:0 8px 25px #d971264d}.btn-download:disabled{opacity:.5;cursor:not-allowed}.download-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.btn-download-rvt{background:#2e73b8}.btn-download-rvt:hover:not(:disabled){background:#24598f}.btn-download-rfa{background:var(--terracotta)}.btn-download-rfa:hover:not(:disabled){background:#8f3e24}@media(max-width:1024px){.detail-container{grid-template-columns:1fr}.detail-viewer{height:500px}}@media(max-width:768px){.product-detail{padding:1rem}.detail-info{padding:1.5rem}.detail-info h1{font-size:1.5rem}.detail-viewer{height:400px}.download-buttons{flex-direction:column}.btn-download{width:100%}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1.5rem}.loading-spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.loading-container p{color:var(--muted-foreground);font-size:1.1rem}.login-modal-overlay{position:fixed;inset:0;background:#120f0ce6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;backdrop-filter:blur(4px)}.login-modal{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:2.5rem;max-width:400px;width:100%;text-align:center;position:relative;box-shadow:0 20px 60px #120f0ccc;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--muted-foreground);font-size:1.5rem;cursor:pointer;padding:.25rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .3s ease}.login-modal-close:hover{background:var(--muted);color:var(--foreground)}.login-modal-icon{margin-bottom:1.5rem;color:var(--accent)}.login-modal h3{font-family:Playfair Display,Georgia,serif;font-size:1.5rem;color:var(--foreground);margin-bottom:.75rem;font-weight:600}.login-modal p{color:var(--muted-foreground);margin-bottom:2rem;font-size:1rem;line-height:1.5}.login-modal-actions{display:flex;flex-direction:column;gap:.75rem}.btn-login-modal{padding:.875rem 1.5rem;background:var(--accent);color:var(--accent-foreground);border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease}.btn-login-modal:hover{background:var(--terracotta);transform:translateY(-2px)}.btn-cancel-modal{padding:.875rem 1.5rem;background:transparent;color:var(--muted-foreground);border:1px solid var(--border);border-radius:8px;font-weight:500;font-size:1rem;cursor:pointer;transition:all .3s ease}.btn-cancel-modal:hover{border-color:var(--accent);color:var(--foreground)}.download-dropdown-container{position:relative;width:100%}.btn-download-dropdown{width:100%;justify-content:center}.dropdown-chevron{margin-left:.5rem;transition:transform .2s ease}.dropdown-chevron.open{transform:rotate(180deg)}.download-dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 8px 24px #120f0c80;z-index:100;animation:dropdownSlideIn .2s ease-out}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.download-dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem 1.25rem;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--foreground);font-size:.95rem;cursor:pointer;transition:all .2s ease;text-align:left}.download-dropdown-item:last-child{border-bottom:none}.download-dropdown-item:hover{background:var(--muted)}.format-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:.25rem .5rem;background:var(--accent);color:var(--accent-foreground);border-radius:4px;font-size:.75rem;font-weight:700;letter-spacing:.5px}.format-label{flex:1;color:var(--foreground)}.format-size{color:var(--muted-foreground);font-size:.85rem}.form-hint{font-size:.85rem;color:var(--muted-foreground);margin-top:.25rem;margin-bottom:.5rem}.categories-page{--background: hsl(30, 20%, 6%);--foreground: hsl(35, 30%, 90%);--card: hsl(30, 15%, 10%);--card-hover: hsl(30, 18%, 14%);--accent: hsl(42, 80%, 55%);--accent-glow: hsla(42, 80%, 55%, .4);--accent-foreground: hsl(30, 20%, 10%);--muted: hsl(30, 10%, 20%);--muted-foreground: hsl(30, 15%, 60%);--border: hsl(30, 15%, 18%);--border-hover: hsl(42, 60%, 40%);--terracotta: hsl(15, 60%, 45%);--sand: hsl(35, 40%, 75%);--gold: hsl(42, 80%, 55%);--gold-dim: hsl(42, 50%, 35%);width:100%;padding:3rem 0;min-height:100vh;background:var(--background)}.categories-header{text-align:center;margin-bottom:4rem;padding:0 2rem}.categories-header h1{font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,5vw,3rem);font-weight:700;margin-bottom:1rem;background:linear-gradient(135deg,var(--foreground) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.categories-subtitle{font-size:1.25rem;color:var(--muted-foreground);max-width:600px;margin:0 auto}.categories-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-bottom:3rem;max-width:1400px;margin-left:auto;margin-right:auto;padding:0 2rem}.category-card{position:relative;background:linear-gradient(165deg,var(--card) 0%,hsl(30,12%,8%) 100%);border:1px solid var(--border);border-radius:16px;padding:2rem 1.5rem;cursor:pointer;min-height:320px;display:flex;flex-direction:column;overflow:hidden;transition:background .4s ease,border-color .4s ease,box-shadow .4s ease}.category-card:before{content:"";position:absolute;inset:0;border-radius:16px;background:radial-gradient(ellipse at 50% 0%,hsla(42,80%,55%,.03) 0%,transparent 60%);opacity:0;transition:opacity .5s ease;pointer-events:none}.category-card:hover:before{opacity:1}.category-card:hover{background:linear-gradient(165deg,var(--card-hover) 0%,hsl(30,15%,10%) 100%);border-color:var(--border-hover);box-shadow:0 0 0 1px var(--border-hover),0 8px 32px #120f0c99,0 0 60px #e8b13014}.lantern-wrapper{position:absolute;top:10px;right:-10px;width:100px;height:120px;z-index:10;pointer-events:none}.lantern{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1),filter .5s ease;filter:drop-shadow(0 4px 8px hsla(0,0%,0%,.3))}.lantern-idle{opacity:1;transform:translateY(0) rotate(0)}.lantern-moving{opacity:0;transform:translateY(5px) rotate(-2deg)}.lantern-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;background:radial-gradient(circle,hsla(42,90%,60%,.3) 0%,hsla(42,80%,55%,.1) 40%,transparent 70%);border-radius:50%;opacity:.4;transition:opacity .5s ease,transform .5s ease,width .5s ease,height .5s ease;pointer-events:none}.category-card:hover .lantern-idle{opacity:0;transform:translateY(-5px) rotate(2deg)}.category-card:hover .lantern-moving{opacity:1;transform:translateY(0) rotate(0);filter:drop-shadow(0 4px 12px hsla(42,80%,55%,.4))}.category-card:hover .lantern-glow{opacity:1;width:80px;height:80px;background:radial-gradient(circle,hsla(42,90%,65%,.5) 0%,hsla(42,80%,55%,.2) 40%,transparent 70%)}.category-card-content{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;text-align:center;height:100%;padding-top:2.5rem}.category-icon-wrapper{width:72px;height:72px;border-radius:50%;background:linear-gradient(145deg,var(--muted) 0%,hsl(30,12%,15%) 100%);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;border:2px solid var(--border);overflow:hidden;transition:border-color .4s ease,box-shadow .4s ease,transform .4s ease;flex-shrink:0}.category-card:hover .category-icon-wrapper{border-color:var(--accent);box-shadow:0 0 20px #e8b13040,inset 0 0 15px #e8b1301a;transform:scale(1.05)}.category-image{width:100%;height:100%;object-fit:cover;border-radius:50%;transition:transform .4s ease}.category-card:hover .category-image{transform:scale(1.15)}.category-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--muted);color:var(--muted-foreground);font-size:1.5rem;font-weight:300;transition:all .4s ease}.category-card:hover .category-placeholder{background:linear-gradient(135deg,var(--accent) 0%,var(--terracotta) 100%);color:var(--accent-foreground)}.category-title{font-family:Playfair Display,Georgia,serif;font-size:1.5rem;font-weight:700;color:var(--foreground);margin:0 0 .75rem;transition:color .3s ease}.category-card:hover .category-title{color:var(--sand)}.category-desc{font-size:.875rem;color:var(--muted-foreground);line-height:1.5;margin-bottom:1.5rem;max-width:200px;flex-grow:1}.category-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--gold-dim) 0%,hsl(30,40%,25%) 100%);color:var(--sand);border:1px solid var(--border);border-radius:8px;font-weight:600;font-size:.8rem;cursor:pointer;text-transform:uppercase;letter-spacing:1px;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,color .3s ease;margin-top:auto}.category-card:hover .category-btn{background:linear-gradient(135deg,var(--accent) 0%,var(--terracotta) 100%);border-color:var(--accent);color:var(--accent-foreground);box-shadow:0 4px 20px #e8b1304d}.category-btn svg{font-size:.7rem;transition:transform .3s ease}.category-card:hover .category-btn svg{transform:translate(4px)}.card-corner{position:absolute;width:20px;height:20px;border:2px solid var(--border);opacity:0;transition:opacity .4s ease,border-color .4s ease,transform .4s ease;pointer-events:none}.card-corner-tl{top:12px;left:12px;border-right:none;border-bottom:none;border-radius:4px 0 0}.card-corner-tr{top:12px;right:12px;border-left:none;border-bottom:none;border-radius:0 4px 0 0}.card-corner-bl{bottom:12px;left:12px;border-right:none;border-top:none;border-radius:0 0 0 4px}.card-corner-br{bottom:12px;right:12px;border-left:none;border-top:none;border-radius:0 0 4px}.category-card:hover .card-corner{opacity:.6;border-color:var(--accent);transform:scale(1.1)}@media(max-width:1200px){.categories-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.category-card{min-height:300px}.lantern-wrapper{width:90px;height:110px}}@media(max-width:768px){.categories-page{padding:2rem 1rem}.categories-header h1{font-size:2rem}.categories-subtitle{font-size:1.1rem}.categories-grid{grid-template-columns:1fr;gap:1.5rem;padding:0 1rem}.category-card{min-height:280px;padding:1.5rem}.lantern-wrapper{width:100px;height:120px;top:15px;right:15px}.category-icon-wrapper{width:64px;height:64px}.category-title{font-size:1.3rem}}@media(max-width:480px){.categories-header h1{font-size:1.75rem}.category-card{min-height:260px}.lantern-wrapper{width:70px;height:90px}.category-icon-wrapper{width:56px;height:56px}.category-title{font-size:1.2rem}.category-desc{font-size:.8rem}}.auth-container{min-height:calc(100vh - 70px);display:flex;align-items:center;justify-content:center;padding:2rem;background:transparent}.auth-card{background:#0a0a0a;border:1px solid #1a1a1a;box-shadow:0 8px 32px #00000080;border-radius:12px;padding:2.5rem;width:100%;max-width:420px;transition:all .3s ease;position:relative}[data-theme=light] .auth-card{background:#fff;border-color:#e5e5e5;box-shadow:0 8px 32px #0000001a}.auth-card:hover{box-shadow:0 12px 40px #0009}[data-theme=light] .auth-card:hover{box-shadow:0 12px 40px #00000026}.auth-card h2{text-align:center;margin-bottom:2rem;color:#fff;font-size:1.75rem;font-weight:600;transition:color .3s ease}[data-theme=light] .auth-card h2{color:#1a1a1a}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#aaa;font-weight:500;transition:color .3s ease}[data-theme=light] .form-group label{color:#666}.form-group input{width:100%;padding:.75rem;background:#1a1a1a;border:2px solid #2a2a2a;border-radius:8px;font-size:1rem;color:#fff;transition:all .3s ease}[data-theme=light] .form-group input{background:#f5f5f5;border-color:#e5e5e5;color:#1a1a1a}.form-group input:focus{outline:none;border-color:#fff;box-shadow:0 0 0 3px #ffffff1a}[data-theme=light] .form-group input:focus{border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a1a}.form-group input:focus+label,.form-group:focus-within label{color:#fff}[data-theme=light] .form-group input:focus+label,[data-theme=light] .form-group:focus-within label{color:#1a1a1a}.error-message{color:#ef4444;font-size:.9rem;margin-bottom:1rem;text-align:center}.btn-submit{width:100%;padding:1rem;background:#fff;color:#1a1a1a;border:1px solid #ffffff;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;text-align:center}[data-theme=light] .btn-submit{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.btn-submit:hover{background:#e5e5e5;color:#1a1a1a;border-color:#e5e5e5}[data-theme=light] .btn-submit:hover{background:#2a2a2a;color:#fff;border-color:#2a2a2a}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.demo-credentials{margin-top:2rem;padding:1rem;background:#ffffff0d;border:1px solid #2a2a2a;border-radius:8px;font-size:.9rem;transition:all .3s ease}[data-theme=light] .demo-credentials{background:#00000005;border-color:#e5e5e5}.demo-credentials p{margin:.25rem 0;color:#aaa;transition:color .3s ease}[data-theme=light] .demo-credentials p{color:#666}.demo-credentials strong{color:#fff;transition:color .3s ease}[data-theme=light] .demo-credentials strong{color:#1a1a1a}.auth-subtitle{text-align:center;color:#aaa;font-size:.95rem;margin-bottom:2rem;transition:color .3s ease}[data-theme=light] .auth-subtitle{color:#666}.form-group label{display:flex;align-items:center;gap:.5rem}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{padding-right:3rem}.toggle-password{position:absolute;right:.75rem;background:none;border:none;color:#aaa;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:color .3s ease;font-size:1.1rem}[data-theme=light] .toggle-password{color:#666}.toggle-password:hover{color:#fff}[data-theme=light] .toggle-password:hover{color:#1a1a1a}.admin-dashboard{--background: hsl(30, 20%, 6%);--foreground: hsl(35, 30%, 90%);--card: hsl(30, 15%, 12%);--card-foreground: hsl(35, 30%, 90%);--primary: hsl(25, 70%, 50%);--accent: hsl(42, 80%, 55%);--accent-foreground: hsl(30, 20%, 10%);--muted: hsl(30, 10%, 20%);--muted-foreground: hsl(30, 15%, 60%);--border: hsl(30, 15%, 20%);--terracotta: hsl(15, 60%, 45%);--sand: hsl(35, 40%, 75%);--gold: hsl(42, 80%, 55%);min-height:100vh;background:var(--background);display:flex;flex-direction:column}.admin-dashboard>*{max-width:1400px;margin:0 auto;width:100%;padding:0 2rem}.admin-dashboard .admin-header,.admin-dashboard .admin-filters,.admin-dashboard .objects-grid{max-width:1400px;margin:0 auto;width:100%;padding:0 2rem}.admin-dashboard .admin-header{padding-top:2rem;padding-bottom:0}.admin-dashboard .admin-filters{padding-bottom:0}.admin-dashboard .objects-grid{padding-bottom:2rem}.admin-dashboard .admin-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.admin-dashboard .admin-header h1{font-family:Playfair Display,Georgia,serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;margin:0;background:linear-gradient(135deg,var(--foreground) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-dashboard .admin-subtitle{color:var(--muted-foreground);font-size:1rem;margin-top:.5rem;font-weight:400}.admin-dashboard .btn-add-object{background:var(--accent);color:var(--accent-foreground);border:none;padding:.875rem 1.75rem;border-radius:6px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .5s cubic-bezier(.25,.1,.25,1);text-transform:uppercase;letter-spacing:.5px}.admin-dashboard .btn-add-object:hover{background:var(--terracotta);transform:translateY(-2px);box-shadow:0 8px 25px #d971264d}.admin-dashboard .admin-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:2rem;padding:1.25rem;background:var(--card);border:1px solid var(--border);border-radius:8px}.admin-dashboard .search-box{position:relative;flex:1;min-width:250px}.admin-dashboard .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--muted-foreground);font-size:.9rem;pointer-events:none}.admin-dashboard .search-input{width:100%;background:var(--muted);border:1px solid var(--border);border-radius:6px;padding:.75rem 2.5rem .75rem 2.75rem;color:var(--foreground);font-size:.95rem;transition:all .3s ease}.admin-dashboard .search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e8b13033}.admin-dashboard .search-input::placeholder{color:var(--muted-foreground)}.admin-dashboard .search-clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--muted-foreground);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .3s ease}.admin-dashboard .search-clear:hover{color:var(--foreground);background:var(--border)}.admin-dashboard .filter-group{display:flex;gap:.75rem;flex-wrap:wrap}.admin-dashboard .filter-select{background:var(--muted);border:1px solid var(--border);border-radius:6px;padding:.75rem 1rem;color:var(--foreground);font-size:.9rem;cursor:pointer;transition:all .3s ease;min-width:160px}.admin-dashboard .filter-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e8b13033}.admin-dashboard .filter-select option{background:var(--card);color:var(--foreground)}.admin-dashboard .filter-results{color:var(--muted-foreground);font-size:.85rem;white-space:nowrap;padding:.5rem 0}.admin-dashboard .objects-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding:1rem 0}.admin-dashboard .object-card{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:all .5s cubic-bezier(.25,.1,.25,1);position:relative;animation:fadeInUp .5s cubic-bezier(.25,.1,.25,1) backwards;animation-delay:calc(var(--index, 0) * .05s)}.admin-dashboard .object-card.featured{border-color:var(--gold);background:linear-gradient(135deg,var(--card) 0%,hsl(42,30%,14%) 100%);box-shadow:0 0 20px #e8b13026}.admin-dashboard .object-card.featured:hover{border-color:var(--gold);box-shadow:0 20px 40px #e8b13040}.admin-dashboard .object-card:hover{border-color:var(--accent);transform:translateY(-8px);box-shadow:0 20px 40px #120f0c4d}.admin-dashboard .object-card-preview{width:100%;height:200px;background:var(--muted);position:relative;overflow:hidden}.admin-dashboard .object-card-preview img{transition:transform .15s ease-out}.admin-dashboard .object-card:hover .object-card-preview img{transform:scale(1.05)}.admin-dashboard .featured-badge{position:absolute;top:12px;left:12px;background:var(--accent);color:var(--accent-foreground);padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;z-index:2;display:flex;align-items:center;justify-content:center}.admin-dashboard .object-card-content{padding:20px}.admin-dashboard .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:.5rem}.admin-dashboard .card-header h3{font-family:Playfair Display,Georgia,serif;font-size:1.1rem;font-weight:600;color:var(--foreground);margin:0;flex:1}.admin-dashboard .object-category{background:var(--accent);color:var(--accent-foreground);padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;white-space:nowrap}.admin-dashboard .object-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:0}.admin-dashboard .object-meta span{background:transparent;color:var(--muted-foreground);padding:0;font-size:.85rem;line-height:1.5}.admin-dashboard .object-card-actions{padding:12px 16px;background:var(--card);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem;border-radius:0 0 8px 8px}.admin-dashboard .featured-toggle{display:flex;align-items:center;gap:.5rem;color:var(--muted-foreground);font-size:.85rem;cursor:pointer;user-select:none}.admin-dashboard .featured-toggle input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--gold)}.admin-dashboard .action-buttons{display:flex;gap:.5rem;width:100%}.admin-dashboard .btn-edit,.admin-dashboard .btn-delete{flex:1;padding:.6rem .75rem;border-radius:6px;font-weight:500;font-size:.8rem;cursor:pointer;transition:all .3s ease;border:1px solid var(--border);text-align:center}.admin-dashboard .btn-edit{background:transparent;color:var(--foreground);border:1px solid var(--foreground)}.admin-dashboard .btn-edit:hover{background:var(--accent);color:var(--accent-foreground);border-color:var(--accent)}.admin-dashboard .btn-delete{background:transparent;color:var(--terracotta);border-color:var(--terracotta)}.admin-dashboard .btn-delete:hover{background:var(--terracotta);color:var(--foreground)}.admin-dashboard .modal-overlay{position:fixed;inset:0;background:#120f0ce6;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem;backdrop-filter:blur(4px)}.admin-dashboard .modal-content{background:var(--card);border:1px solid var(--border);border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #120f0ccc}.admin-dashboard .modal-small{max-width:500px}.admin-dashboard .modal-header{padding:1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.admin-dashboard .modal-header h2{font-family:Playfair Display,Georgia,serif;color:var(--foreground);margin:0;font-size:1.35rem;font-weight:600}.admin-dashboard .modal-close{background:transparent;border:none;color:var(--muted-foreground);font-size:1.5rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .3s ease}.admin-dashboard .modal-close:hover{background:var(--muted);color:var(--foreground)}.admin-dashboard .modal-body{padding:1.5rem;color:var(--muted-foreground);line-height:1.6}.admin-dashboard .modal-form{padding:1.5rem}.admin-dashboard .form-group{margin-bottom:1.5rem}.admin-dashboard .form-group label{display:block;color:var(--foreground);font-weight:500;margin-bottom:.5rem;font-size:.9rem}.admin-dashboard .form-group input[type=text],.admin-dashboard .form-group input[type=file],.admin-dashboard .form-group select,.admin-dashboard .form-group textarea{width:100%;background:var(--muted);border:1px solid var(--border);border-radius:6px;padding:.75rem;color:var(--foreground);font-size:.95rem;transition:all .3s ease;font-family:inherit}.admin-dashboard .form-group input:focus,.admin-dashboard .form-group select:focus,.admin-dashboard .form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e8b13033}.admin-dashboard .form-group .file-input{padding:.5rem;cursor:pointer}.admin-dashboard .file-preview{margin-top:.5rem;padding:.75rem;background:var(--muted);border:1px solid var(--border);border-radius:6px;color:var(--foreground);font-size:.85rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.admin-dashboard .file-type-badge{background:var(--accent);color:var(--accent-foreground);padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.admin-dashboard .modal-actions{padding:1.5rem;border-top:1px solid var(--border);display:flex;gap:1rem;justify-content:flex-end}.admin-dashboard .btn-cancel{background:transparent;color:var(--muted-foreground);border:1px solid var(--border);padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .3s ease}.admin-dashboard .btn-cancel:hover{border-color:var(--accent);color:var(--foreground)}.admin-dashboard .btn-submit{background:var(--accent);color:var(--accent-foreground);border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.admin-dashboard .btn-submit:hover:not(:disabled){background:var(--terracotta);transform:translateY(-2px);box-shadow:0 8px 25px #d971264d}.admin-dashboard .btn-submit:disabled{opacity:.5;cursor:not-allowed}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.admin-dashboard .animate-fade-in-up{animation:fadeInUp .5s cubic-bezier(.25,.1,.25,1) backwards;animation-delay:calc(var(--index, 0) * .05s)}.spin{animation:spin 1s linear infinite}.admin-dashboard .loading-overlay{position:fixed;inset:0;background:#120f0c80;display:flex;align-items:center;justify-content:center;z-index:50;backdrop-filter:blur(2px)}.admin-dashboard .loading-spinner{display:flex;flex-direction:column;align-items:center;gap:1rem;z-index:50}.admin-dashboard .loading-spinner svg,.admin-dashboard .loading-spinner .spin{z-index:50}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1200px){.admin-dashboard .objects-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}.admin-dashboard .modal-inspect{max-width:1200px;max-height:95vh}.admin-dashboard .inspect-viewer{width:100%;min-height:600px;background:var(--muted);border-radius:8px 8px 0 0;overflow:hidden}.admin-dashboard .inspect-details{padding:2rem;background:var(--card)}.admin-dashboard .detail-section{margin-bottom:2rem}.admin-dashboard .detail-section:last-child{margin-bottom:0}.admin-dashboard .detail-section h3{font-family:Playfair Display,Georgia,serif;color:var(--foreground);font-size:1.1rem;font-weight:600;margin:0 0 1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.admin-dashboard .detail-section p{color:var(--foreground);line-height:1.6;margin:0}.admin-dashboard .detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.admin-dashboard .detail-item{display:flex;flex-direction:column;gap:.25rem}.admin-dashboard .detail-label{font-size:.85rem;color:var(--muted-foreground);font-weight:500}.admin-dashboard .detail-value{font-size:.95rem;color:var(--foreground);font-weight:500}.admin-dashboard .available-files{display:flex;flex-wrap:wrap;gap:.75rem}.admin-dashboard .file-badge{display:flex;align-items:center;gap:.5rem;background:var(--muted);border:1px solid var(--border);border-radius:6px;padding:.5rem 1rem}.admin-dashboard .file-format{font-weight:600;color:var(--accent);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.admin-dashboard .file-size{font-size:.8rem;color:var(--muted-foreground)}.admin-dashboard .object-card{transition:all .3s ease}.admin-dashboard .object-card:hover{transform:translateY(-4px)}.admin-dashboard .object-card:active{transform:translateY(-2px)}@media(max-width:900px){.admin-dashboard .objects-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}.admin-dashboard .object-card-preview{height:180px}}@media(max-width:768px){.admin-dashboard{padding:1rem}.admin-dashboard .admin-header{flex-direction:column;align-items:flex-start}.admin-dashboard .btn-add-object{width:100%;text-align:center}.admin-dashboard .admin-filters{flex-direction:column;align-items:stretch}.admin-dashboard .search-box{min-width:100%}.admin-dashboard .filter-group{width:100%}.admin-dashboard .filter-select{flex:1;min-width:0}.admin-dashboard .filter-results{text-align:center}.admin-dashboard .object-card-actions{flex-direction:column;align-items:stretch}.admin-dashboard .action-buttons{width:100%}.admin-dashboard .btn-edit,.admin-dashboard .btn-delete{flex:1}.admin-dashboard .modal-actions{flex-direction:column}.admin-dashboard .btn-cancel,.admin-dashboard .btn-submit{width:100%}.admin-dashboard .modal-inspect{max-width:95vw}.admin-dashboard .inspect-viewer{min-height:400px}.admin-dashboard .inspect-details{padding:1.5rem}.admin-dashboard .detail-grid{grid-template-columns:1fr}}@media(max-width:480px){.admin-dashboard .objects-grid{grid-template-columns:1fr;gap:1.5rem}.admin-dashboard .object-card-preview{height:200px}.admin-dashboard .card-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.admin-dashboard .form-hint,.upload-form .form-hint{font-size:.85rem;color:var(--muted-foreground);margin-top:.25rem;margin-bottom:.5rem;font-style:italic}.file-info{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;background:var(--muted);border-radius:4px;font-size:.85rem;color:var(--foreground)}.selected-files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1rem}.file-slot{border:2px dashed var(--border);border-radius:8px;padding:1rem;transition:all .3s ease;background:var(--muted)}.file-slot.has-file{border-style:solid;border-color:var(--accent);background:var(--card)}.file-slot.empty{opacity:.6}.file-slot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.file-extension{font-weight:600;font-size:.9rem;color:var(--accent);text-transform:uppercase;letter-spacing:.5px}.required-badge{background:var(--terracotta);color:#fff;padding:.125rem .5rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.file-slot-content{display:flex;align-items:flex-start;gap:.75rem;position:relative}.file-slot-content .file-icon{font-size:1.5rem;color:var(--accent);flex-shrink:0;margin-top:.25rem}.file-slot-content .file-details{flex:1;min-width:0}.file-slot-content .file-name{margin:0 0 .25rem;font-size:.85rem;color:var(--foreground);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-slot-content .file-size{margin:0;font-size:.75rem;color:var(--muted-foreground)}.btn-remove-file{position:absolute;top:-.5rem;right:-.5rem;width:24px;height:24px;border-radius:50%;background:var(--terracotta);color:#fff;border:2px solid var(--card);font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.btn-remove-file:hover:not(:disabled){background:#ad421f;transform:scale(1.1)}.btn-remove-file:disabled{opacity:.5;cursor:not-allowed}.file-slot-empty{text-align:center;padding:1rem 0}.file-slot-empty p{margin:0;font-size:.85rem;color:var(--muted-foreground);font-style:italic}@media(max-width:768px){.selected-files-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.selected-files-grid{grid-template-columns:1fr}}.file-inputs-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.file-input-group{background:var(--muted);border:1px solid var(--border);border-radius:8px;padding:1rem;transition:all .3s ease}.file-input-group:hover{border-color:var(--accent)}.file-input-group label{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:500;color:var(--foreground)}.file-input-group .required-badge{font-size:.65rem;padding:.125rem .375rem}.file-input-wrapper{display:flex;flex-direction:column;gap:.5rem}.file-input-wrapper input[type=file]{background:var(--card);border:1px dashed var(--border);border-radius:6px;padding:.75rem;cursor:pointer;transition:all .3s ease}.file-input-wrapper input[type=file]:hover:not(:disabled){border-color:var(--accent);background:#29241e}.file-input-wrapper input[type=file]:disabled{opacity:.5;cursor:not-allowed}.file-input-wrapper .file-info{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--card);border:1px solid var(--accent);border-radius:6px}.file-input-wrapper .file-info .file-icon{color:var(--accent);font-size:1.25rem}.file-input-wrapper .file-info .file-name{flex:1;font-size:.9rem;color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-input-wrapper .file-info .file-size{font-size:.8rem;color:var(--muted-foreground)}.file-input-wrapper .file-info .btn-remove-file{position:static;width:28px;height:28px;flex-shrink:0}@media(max-width:768px){.file-inputs-section{gap:.75rem}.file-input-group{padding:.75rem}}.admin-dashboard .file-remove-btn{background:none;border:none;color:#ff6b6b;cursor:pointer;font-size:1.25rem;padding:0 .25rem;margin-left:auto;transition:all .2s ease;line-height:1}.admin-dashboard .file-remove-btn:hover:not(:disabled){color:#f44;transform:scale(1.2)}.admin-dashboard .file-remove-btn:disabled{opacity:.5;cursor:not-allowed}.admin-dashboard .mockup-images-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.admin-dashboard .mockup-images-list .file-preview{background:var(--card);border:1px solid var(--accent)}.about-page{min-height:100vh;padding-top:80px;background:linear-gradient(180deg,#1a1510,#0d0d0d 30%,#1a1510 70%,#0d0d0d);color:#e5e7eb;position:relative;overflow:hidden}.moroccan-corner{position:absolute;width:200px;height:200px;z-index:1;opacity:.7}.moroccan-corner.top-left{top:80px;left:0}.moroccan-corner.top-right{top:80px;right:0;transform:scaleX(-1)}.gold-star{width:40px;height:40px;margin:1.5rem auto 0}.hero-section{text-align:center;padding:4rem 2rem 3rem;position:relative;z-index:2}.hero-title{font-family:Georgia,Times New Roman,serif;font-size:3.5rem;font-weight:700;color:#d4af37;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.hero-subtitle{font-size:1.1rem;color:#b8bcc8;line-height:1.6;max-width:400px;margin:0 auto}.mission-section{padding:2rem;position:relative;z-index:2}.mission-card{background:linear-gradient(135deg,#1e1914f2,#14120ff2);border:1px solid rgba(212,175,55,.3);border-radius:16px;padding:2rem;display:flex;align-items:center;gap:2rem;max-width:900px;margin:0 auto}.mission-text{flex:1}.mission-text h2{font-family:Georgia,serif;font-size:1.8rem;color:#fff;margin-bottom:1rem;font-weight:600}.mission-text p{font-size:.95rem;color:#9ca3af;line-height:1.7}.mission-visual{flex-shrink:0}.mission-image{width:120px;height:auto;object-fit:contain}.building-icon{width:120px;height:100px}.section-title{font-family:Georgia,serif;font-size:2rem;font-weight:600;color:#fff;text-align:center;margin-bottom:2.5rem}.values-section{padding:3rem 2rem;position:relative;z-index:2}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:900px;margin:0 auto}.value-card{background:linear-gradient(145deg,#f5f0e6,#e8e0d0);border-radius:16px;padding:1.5rem 1rem;text-align:center;transition:all .3s ease;box-shadow:0 4px 15px #0000004d}.value-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #d4af374d}.value-icon{width:50px;height:50px;margin:0 auto 1rem;background:#d4af371a;border-radius:12px;padding:8px;display:flex;align-items:center;justify-content:center}.value-icon svg{width:100%;height:100%}.value-card h3{font-size:.9rem;font-weight:600;color:#1a1a1a;line-height:1.3}.offer-section{padding:3rem 2rem;position:relative;z-index:2}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:900px;margin:0 auto}.offer-card{background:linear-gradient(145deg,#1e1914e6,#14120fe6);border:1px solid rgba(212,175,55,.4);border-radius:12px;padding:1.5rem;position:relative;transition:all .3s ease}.offer-card:hover{border-color:#d4af37;transform:translateY(-5px);box-shadow:0 10px 30px #d4af3733}.offer-card h3{font-family:Georgia,serif;font-size:1.5rem;color:#fff;margin-bottom:.5rem;font-weight:600}.offer-card p{font-size:.85rem;color:#9ca3af;line-height:1.5;margin-bottom:1rem}.offer-icon{position:absolute;bottom:1rem;right:1rem;width:30px;height:30px;opacity:.6}.software-section{padding:3rem 2rem;position:relative;z-index:2}.software-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;max-width:700px;margin:0 auto}.software-badge{background:#fff;color:#1a1a1a;padding:.6rem 1.5rem;border-radius:25px;font-size:.9rem;font-weight:500;transition:all .3s ease;border:1px solid transparent}.software-badge:hover{background:#d4af371a;border-color:#d4af37;color:#d4af37;transform:translateY(-2px)}.contact-section{padding:3rem 2rem 4rem;position:relative;z-index:2}.contact-card{background:linear-gradient(145deg,#f5f0e6,#e8e0d0);border-radius:16px;padding:2rem;max-width:500px;margin:0 auto;box-shadow:0 4px 20px #0000004d}.contact-card h2{font-family:Georgia,serif;font-size:1.5rem;color:#1a1a1a;margin-bottom:1.5rem;font-weight:600}.contact-info{display:flex;flex-direction:column;gap:1rem}.contact-item{display:flex;align-items:center;gap:1rem}.contact-details{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.contact-icon{font-size:1.2rem;color:#1a1a1a;flex-shrink:0}.contact-item a{color:#1a1a1a;text-decoration:none;font-size:1rem;font-weight:500;transition:color .3s ease}.contact-item a:hover{color:#d4af37}@media(max-width:900px){.values-grid{grid-template-columns:repeat(2,1fr)}.offer-grid{grid-template-columns:1fr;max-width:400px}.mission-card{flex-direction:column;text-align:center}.moroccan-corner{width:120px;height:120px}}@media(max-width:600px){.hero-title{font-size:2.5rem}.values-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.value-card{padding:1rem .75rem}.value-card h3{font-size:.8rem}.software-grid{gap:.75rem}.software-badge{padding:.5rem 1rem;font-size:.8rem}.moroccan-corner{width:80px;height:80px}}.copy-button{display:inline-flex;align-items:center;gap:.5rem;background:#d4af371a;border:1px solid rgba(212,175,55,.3);border-radius:8px;padding:.5rem 1rem;color:#1a1a1a;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease;margin-left:.5rem}.copy-button:hover{background:#d4af3733;border-color:#d4af37;transform:translateY(-1px);box-shadow:0 2px 8px #d4af3733}.copy-button:active{transform:translateY(0)}.copy-button.copied{background:#22c55e26;border-color:#22c55e66;color:#16a34a}.copy-icon{width:16px;height:16px;flex-shrink:0}.copy-button span{white-space:nowrap}@media(max-width:600px){.copy-button{padding:.4rem .75rem;font-size:.8rem}.copy-icon{width:14px;height:14px}}
