:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-card:#fff;--bg-dark:#0f172a;--text-main:#0f172a;--text-muted:#64748b;--text-light:#fff;--color-primary:#0284c7;--color-primary-hover:#0369a1;--color-primary-light:#e0f2fe;--color-accent:#38bdf8;--color-success:#10b981;--color-danger:#ef4444;--border-color:#e2e8f0;--border-color-focus:#cbd5e1;--radius-sm:6px;--radius-md:12px;--radius-lg:24px;--shadow-sm:0 2px 8px #0f172a0a;--shadow-md:0 10px 25px #0f172a0f;--shadow-lg:0 20px 40px #0f172a1a;--shadow-glow:0 0 15px #0284c733;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--text-main);font-family:Outfit,sans-serif;font-weight:600}a{color:inherit;text-decoration:none}button,input,textarea{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color-focus);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.bg-blur-blob{filter:blur(120px);z-index:-1;opacity:.35;pointer-events:none;will-change:transform;border-radius:50%;position:fixed}.blob-1{background:radial-gradient(circle,#0284c726 0%,#0000 70%);width:400px;height:400px;top:10%;left:-100px}.blob-2{background:radial-gradient(circle,#38bdf81f 0%,#0000 75%);width:500px;height:500px;bottom:10%;right:-100px}.app-container{flex-direction:column;min-height:100vh;display:flex}.navbar{z-index:100;border-bottom:1px solid var(--border-color);background-color:#fff;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.nav-brand{letter-spacing:-.5px;color:var(--text-main);align-items:center;gap:.5rem;font-family:Outfit,sans-serif;font-size:1.4rem;font-weight:700;display:flex}.nav-brand-dot{background-color:var(--color-primary);width:8px;height:8px;box-shadow:var(--shadow-glow);border-radius:50%;display:inline-block}.nav-menu{align-items:center;gap:1.5rem;display:flex}.nav-link{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-fast);padding:.5rem 1rem;font-size:.95rem;font-weight:500}.nav-link:hover,.nav-link.active{color:var(--color-primary);background-color:var(--color-primary-light)}.nav-btn-admin{background-color:var(--bg-dark);color:var(--text-light);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);border:none;align-items:center;gap:.4rem;padding:.5rem 1.2rem;font-size:.9rem;font-weight:500;display:flex}.nav-btn-admin:hover{background-color:var(--color-primary);transform:translateY(-1px)}.nav-btn-admin.icon-only-gear{border-radius:50%;justify-content:center;gap:0;width:38px;height:38px;padding:0}.main-content{flex:1;width:100%;max-width:100%;margin:0 auto;padding:0}.page-header{text-align:left;width:100%;max-width:1280px;margin:1rem auto .6rem;padding:0 2rem}.page-header h1{color:var(--text-main);letter-spacing:-.5px;margin-bottom:.5rem;font-size:2.2rem}.page-header p{color:var(--text-muted);max-width:600px;margin:0;font-size:1rem}.magazine-index{flex-direction:column;align-items:flex-start;width:100%;max-width:1280px;margin:0 auto 1.2rem;padding:0 2rem;display:flex}.magazine-page-indicator{color:var(--text-muted);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:.6rem;font-size:.75rem;font-weight:700}.magazine-tabs{box-shadow:none;background:0 0;border:none;border-radius:0;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:1.5rem;padding:.5rem 0;display:flex}.magazine-tab-btn{cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex-direction:column;align-items:center;gap:.5rem;width:90px;padding:0;display:flex}.tab-thumb-wrapper{border-radius:var(--radius-md);border:1px solid var(--border-color);width:90px;height:90px;box-shadow:var(--shadow-sm);transition:all var(--transition-normal);background-color:#fafbfc;position:relative;overflow:hidden}.tab-thumb-img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-normal);display:block}.tab-thumb-number{color:#fff;letter-spacing:.5px;background-color:#0f172abf;border-radius:10px;padding:2px 6px;font-family:Outfit,sans-serif;font-size:.65rem;font-weight:700;position:absolute;top:.4rem;left:.4rem}.magazine-tab-btn .tab-name{color:var(--text-muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;max-width:100%;transition:color var(--transition-fast);font-family:Outfit,sans-serif;font-size:.75rem;font-weight:700;overflow:hidden}.magazine-tab-btn:hover .tab-thumb-wrapper{box-shadow:var(--shadow-md);border-color:var(--color-primary);transform:translateY(-2px)}.magazine-tab-btn:hover .tab-thumb-img{transform:scale(1.05)}.magazine-tab-btn:hover .tab-name{color:var(--color-primary)}.magazine-tab-btn.active .tab-thumb-wrapper{border:3px solid var(--color-primary);box-shadow:var(--shadow-glow), var(--shadow-md);transform:translateY(-2px)}.magazine-tab-btn.active .tab-name{color:var(--color-primary);font-weight:800}.room-section{flex-direction:column;gap:0;display:flex}.room-viewport-container{box-sizing:border-box;border-bottom:1px solid var(--border-color);background-color:#fff;justify-content:center;align-items:center;width:100%;height:70vh;min-height:450px;padding:1.5rem 0;display:flex}.room-canvas-wrapper{width:auto;max-width:95%;height:auto;max-height:100%;box-shadow:var(--shadow-lg);border-radius:var(--radius-md);border:1px solid var(--border-color);will-change:opacity;transition:opacity var(--transition-fast) ease-in-out;background-color:#fafbfc;justify-content:center;align-items:center;display:flex;position:relative;overflow:visible}.room-canvas-wrapper.transitioning{opacity:.35}.room-bg-image{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:var(--radius-md);width:auto;max-width:100%;height:auto;max-height:70vh;display:block}.product-hotspot-area{cursor:pointer;z-index:10;width:24px;height:24px;transition:transform var(--transition-fast);background-color:#0000;border:none;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.product-hotspot-area:hover{box-shadow:none;background-color:#0000;border:none}.product-hotspot-area.active-highlight{animation:.8s infinite alternate flash-border}.hotspot-tooltip{border:1px solid var(--border-color);border-radius:var(--radius-md);width:260px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;pointer-events:none;z-index:30;will-change:transform, opacity;transition:opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast);background-color:#fff;padding:1.1rem;position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%)translateY(10px)}.product-hotspot-area:hover .hotspot-tooltip{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)translateY(0)}.hotspot-tooltip:after{content:"";border:7px solid #0000;border-top-color:#fff;position:absolute;top:100%;left:50%;transform:translate(-50%)}.hotspot-tooltip-title{color:var(--text-main);margin-bottom:.25rem;font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:600;line-height:1.3}.hotspot-tooltip-price{color:var(--color-primary);margin-bottom:.5rem;font-family:Outfit,sans-serif;font-size:1.15rem;font-weight:700}.hotspot-tooltip-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.9rem;font-size:.8rem;display:-webkit-box;overflow:hidden}.hotspot-tooltip-btn{background-color:var(--bg-dark);width:100%;color:var(--text-light);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.4rem;padding:.5rem;font-size:.85rem;font-weight:500;display:flex}.hotspot-tooltip-btn:hover{background-color:var(--color-primary)}.canvas-nav-arrow{z-index:25;border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow-sm);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;background-color:#ffffffd9;border-radius:50%;justify-content:center;align-items:center;padding-bottom:7px;font-size:2.2rem;font-weight:300;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.canvas-nav-arrow:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-glow);transform:translateY(-50%)scale(1.05)}.canvas-nav-arrow.prev{left:1.5rem}.canvas-nav-arrow.next{right:1.5rem}.ikea-pin{width:24px;height:24px;box-shadow:var(--shadow-sm);z-index:15;transition:all var(--transition-fast);background-color:#fff;border:1px solid #0f172a14;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ikea-pin-inner{background-color:var(--color-primary);width:8px;height:8px;transition:all var(--transition-fast);border-radius:50%}.ikea-pin:before{content:"";pointer-events:none;border-radius:50%;animation:2.5s ease-out infinite ikea-ripple;position:absolute;inset:0;box-shadow:0 0 #0284c766}@keyframes ikea-ripple{0%{opacity:1;box-shadow:0 0 #0284c773,0 0 #0284c733}to{opacity:0;box-shadow:0 0 0 10px #0284c700,0 0 0 20px #0284c700}}.ikea-pin-price-tag{background-color:var(--bg-dark);color:#fff;white-space:nowrap;box-shadow:var(--shadow-sm);pointer-events:none;opacity:.95;transition:all var(--transition-fast);border-radius:4px;padding:2px 7px;font-family:Outfit,sans-serif;font-size:.7rem;font-weight:700;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.product-hotspot-area:hover .ikea-pin{background-color:var(--color-primary);border-color:var(--color-primary);transform:translate(-50%,-50%)scale(1.15);box-shadow:0 6px 20px #0284c759}.product-hotspot-area:hover .ikea-pin-inner{background-color:#fff;transform:scale(.9)}.product-hotspot-area.active-highlight .ikea-pin{animation:.8s infinite alternate ikea-flash-pin}@keyframes ikea-flash-pin{0%{background-color:#ff9f00;border-color:#ff9f00;transform:translate(-50%,-50%)scale(1);box-shadow:0 0 #ff9f00b3}to{background-color:#ff9f00;border-color:#ff9f00;transform:translate(-50%,-50%)scale(1.25);box-shadow:0 0 0 12px #ff9f0000}}.admin-pin-editor{cursor:pointer;z-index:10;width:24px;height:24px;position:absolute;transform:translate(-50%,-50%)}.admin-pin-editor .ikea-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.admin-pin-editor .ikea-pin-price-tag{opacity:.85;display:block;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.admin-pin-editor:hover .ikea-pin-price-tag{opacity:1;background-color:var(--color-primary);box-shadow:var(--shadow-md)}.admin-pin-editor.selected .ikea-pin-price-tag{opacity:1;background-color:var(--color-danger);box-shadow:var(--shadow-md)}.admin-pin-editor.new-pin .ikea-pin-price-tag{opacity:1;background-color:var(--color-success);box-shadow:var(--shadow-md)}.design-style-section{max-width:1200px;margin:3rem auto 1.5rem;padding:0 2rem}.style-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:2.2rem}.style-header{border-bottom:1px solid var(--border-color);margin-bottom:2rem;padding-bottom:1.5rem}.style-badge{background-color:var(--color-primary-light);color:var(--color-primary);text-transform:uppercase;letter-spacing:1px;border-radius:50px;margin-bottom:.8rem;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-block}.style-desc{color:var(--text-muted);margin-top:.5rem;font-size:.95rem;line-height:1.6}.style-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.style-info-block{flex-direction:column;gap:.8rem;display:flex}.style-info-block h4{color:var(--text-main);margin-bottom:.4rem;font-size:1.05rem;font-weight:600}.style-colors{flex-direction:column;gap:.8rem;display:flex}.color-item{align-items:center;gap:.8rem;display:flex}.color-swatch{border:1px solid var(--border-color);width:36px;height:36px;box-shadow:var(--shadow-sm);border-radius:50%}.color-info{flex-direction:column;display:flex}.color-name{font-size:.85rem;font-weight:600}.color-hex{color:var(--text-muted);font-size:.75rem}.style-features-list{flex-direction:column;gap:.6rem;list-style:none;display:flex}.style-features-list li{color:var(--text-muted);padding-left:1.2rem;font-size:.9rem;position:relative}.style-features-list li:before{content:"•";color:var(--color-primary);font-size:1.2rem;line-height:1;position:absolute;left:0}.tips-block{background-color:var(--bg-primary);border-radius:var(--radius-md);border-left:4px solid var(--color-primary);grid-column:1/-1;padding:1.2rem}.style-tips-text{color:var(--text-muted);font-size:.9rem;font-style:italic;line-height:1.6}.editorial-collage-container{max-width:1200px;margin:4rem auto;padding:0 2rem}.collage-section-header{text-align:center;margin-bottom:2.5rem}.collage-subtitle{color:var(--color-primary);letter-spacing:2px;text-transform:uppercase;font-size:.8rem;font-weight:700}.collage-title{margin-top:.5rem;font-family:Outfit,sans-serif;font-size:1.8rem}.editorial-collage-grid{grid-template-columns:1fr 1.2fr 1fr;gap:1.5rem;width:100%;height:auto;display:grid}.collage-col-side{flex-direction:column;gap:1.5rem;height:auto;display:flex}.collage-col-center{height:100%}.collage-slot{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:#f8fafc;position:relative;overflow:visible}.small-slot{height:auto}.tall-slot{height:100%}.collage-img-wrapper{border-radius:var(--radius-md);width:100%;height:100%;overflow:hidden}.collage-img{object-fit:cover;width:100%;height:100%;display:block}.mobile-details-modal{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);z-index:200;transition:transform var(--transition-normal);border-top:1px solid var(--border-color);background-color:#fff;padding:1.8rem;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -10px 30px #0f172a26}.mobile-details-modal.open{transform:translateY(0)}.mobile-modal-overlay{z-index:190;opacity:0;visibility:hidden;transition:opacity var(--transition-fast);background-color:#0f172a66;position:fixed;inset:0}.mobile-modal-overlay.open{opacity:1;visibility:visible}.mobile-modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:1.5rem;position:absolute;top:1rem;right:1.2rem}.mobile-modal-title{margin-bottom:.4rem;font-size:1.3rem;font-weight:600}.mobile-modal-price{color:var(--color-primary);margin-bottom:.8rem;font-size:1.4rem;font-weight:700}.mobile-modal-desc{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}.mobile-modal-img-wrapper{border-radius:var(--radius-md);border:1px solid var(--border-color);width:100%;height:180px;margin-bottom:1rem;overflow:hidden}.mobile-modal-img{object-fit:cover;width:100%;height:100%;display:block}.products-list-section{width:100%;max-width:1200px;margin:3rem auto;padding:0 2rem 4rem}.section-title-wrapper{justify-content:space-between;align-items:center;margin-bottom:1.8rem;display:flex}.section-title{letter-spacing:-.3px;align-items:center;gap:.5rem;font-size:1.4rem;display:flex}.product-count-badge{background-color:var(--color-primary-light);color:var(--color-primary);border-radius:50px;padding:.2rem .6rem;font-size:.8rem;font-weight:600}.products-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;display:grid}.product-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);cursor:pointer;flex-direction:column;justify-content:space-between;padding:1.2rem;display:flex}.product-card:hover{box-shadow:var(--shadow-sm);border-color:var(--color-accent);transform:translateY(-2px)}.product-card-img-wrapper{border-radius:var(--radius-sm);border:1px solid var(--border-color);flex-shrink:0;width:100%;height:160px;margin-bottom:1rem;overflow:hidden}.product-card-img{object-fit:cover;width:100%;height:100%;display:block}.product-location-badge{color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px;background-color:var(--color-primary-light);border-radius:4px;margin-bottom:.25rem;padding:2px 6px;font-size:.65rem;font-weight:700;display:inline-block}.product-card-info{margin-bottom:1.2rem}.product-card-title{color:var(--text-main);margin-bottom:.3rem;font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:600;line-height:1.35}.product-card-desc{color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:.8rem;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}.product-card-price{color:var(--color-primary);font-family:Outfit,sans-serif;font-size:1.15rem;font-weight:700}.product-card-actions{gap:.6rem;display:flex}.product-card-btn-locate{background-color:var(--bg-primary);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);flex:1;justify-content:center;align-items:center;gap:.3rem;padding:.5rem;font-size:.8rem;font-weight:500;display:flex}.product-card-btn-locate:hover{background-color:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary)}.product-card-btn-buy{background-color:var(--bg-dark);color:var(--text-light);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);border:none;flex:1.5;justify-content:center;align-items:center;gap:.3rem;padding:.5rem;font-size:.8rem;font-weight:500;display:flex}.product-card-btn-buy:hover{background-color:var(--color-primary)}.admin-gate-container{justify-content:center;align-items:center;min-height:calc(100vh - 200px);padding:2rem;display:flex}.admin-gate-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-md);text-align:center;padding:2.5rem}.admin-gate-icon{color:var(--color-primary);margin-bottom:1rem;font-size:2.5rem}.admin-gate-card h2{letter-spacing:-.3px;margin-bottom:.5rem;font-size:1.6rem}.admin-gate-card p{color:var(--text-muted);margin-bottom:1.8rem;font-size:.9rem}.form-group{text-align:left;margin-bottom:1.2rem}.form-group label{color:var(--text-main);margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.form-input{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:.75rem 1rem;font-size:.95rem}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.form-error-msg{color:var(--color-danger);margin-top:.4rem;font-size:.8rem}.btn-submit{background-color:var(--bg-dark);width:100%;color:var(--text-light);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);border:none;padding:.8rem;font-size:.95rem;font-weight:600}.btn-submit:hover{background-color:var(--color-primary)}.admin-workspace{grid-template-columns:1fr;gap:2rem;width:100%;max-width:1600px;margin-top:1.5rem;margin-left:auto;margin-right:auto;padding:0 2rem 3rem;display:grid}@media (width>=1024px){.admin-workspace{grid-template-columns:1.2fr .8fr}}.admin-canvas-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;padding:1.5rem;display:flex}.admin-canvas-instruction{background-color:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-md);align-items:center;gap:.5rem;margin-bottom:1.2rem;padding:.8rem 1rem;font-size:.85rem;font-weight:500;display:flex}.admin-canvas-selector{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.selector-label{color:var(--text-muted);font-size:.85rem;font-weight:600}.selector-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.selector-btn{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);padding:.4rem 1rem;font-size:.8rem;font-weight:500}.selector-btn.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.admin-room-container{cursor:crosshair;border-radius:var(--radius-md);border:1px solid var(--border-color);-webkit-user-select:none;user-select:none;background-color:#fafbfc;align-self:center;display:inline-block;position:relative;overflow:visible}.admin-canvas-empty-notice{background-color:var(--bg-primary);border:1px dashed var(--border-color);border-radius:var(--radius-md);text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.admin-temp-bbox{border:2.5px dashed var(--color-danger);border-radius:var(--radius-sm);z-index:15;background-color:#ef444426;position:absolute;box-shadow:0 0 10px #ef444433}.admin-tabs{border-bottom:1px solid var(--border-color);gap:1rem;margin-bottom:2rem;padding:0 2rem 1.5rem;display:flex}.admin-tab-btn{cursor:pointer;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;padding:.6rem 1rem;font-size:.9rem;font-weight:600}.admin-tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.admin-controls-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;height:max-content;padding:1.8rem;display:flex}.admin-controls-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.8rem;display:flex}.admin-controls-actions{gap:.5rem;display:flex}.admin-btn-secondary{background-color:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);padding:.4rem .8rem;font-size:.8rem;font-weight:500}.admin-btn-secondary:hover{background-color:var(--border-color)}.admin-btn-danger{color:var(--color-danger);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);background-color:#fef2f2;border:1px solid #fca5a5;padding:.4rem .8rem;font-size:.8rem;font-weight:500}.admin-btn-danger:hover{background-color:#fee2e2}.admin-hotspots-list{border:1px solid var(--border-color);border-radius:var(--radius-md);max-height:230px;margin-bottom:1.5rem;padding:.5rem;overflow-y:auto}.admin-hotspot-item{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);justify-content:space-between;align-items:center;padding:.6rem .8rem;display:flex}.admin-hotspot-item:hover{background-color:var(--bg-primary)}.admin-hotspot-item.active{background-color:var(--color-primary-light);border-left:3px solid var(--color-primary)}.admin-hotspot-info{flex-direction:column;display:flex}.admin-hotspot-title{font-size:.9rem;font-weight:600}.admin-hotspot-coords{color:var(--text-muted);font-size:.75rem}.admin-hotspot-actions{gap:.3rem;display:flex}.admin-icon-btn{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:var(--transition-fast);background:0 0;border:none;padding:.3rem}.admin-icon-btn:hover{color:var(--text-main);background-color:#0f172a0d}.admin-icon-btn.delete:hover{color:var(--color-danger);background-color:#fee2e2}.editor-form-title{color:var(--text-main);margin-bottom:1rem;font-size:1.1rem;font-weight:600}.admin-coordinates-row{grid-template-columns:1fr 1fr 1fr 1fr;gap:.5rem;display:grid}.editor-actions-row{gap:.8rem;margin-top:1rem;display:flex}.btn-primary{background-color:var(--color-primary);color:var(--text-light);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);border:none;flex:1.5;padding:.7rem;font-weight:600}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-cancel{background-color:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);flex:1;padding:.7rem;font-weight:500}.btn-cancel:hover{background-color:var(--border-color)}.toast-container{z-index:999;pointer-events:none;flex-direction:column;gap:.8rem;display:flex;position:fixed;top:1.5rem;right:1.5rem}.toast{background-color:var(--bg-dark);color:var(--text-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);pointer-events:auto;align-items:center;gap:.6rem;padding:.8rem 1.4rem;font-size:.9rem;font-weight:500;animation:.3s cubic-bezier(.16,1,.3,1) forwards slide-in-toast;display:flex}.toast.success{border-left:4px solid var(--color-success)}.toast.info{border-left:4px solid var(--color-primary)}.footer{border-top:1px solid var(--border-color);background-color:var(--bg-secondary);text-align:center;color:var(--text-muted);padding:2.5rem 2rem;font-size:.85rem}.footer p{margin-bottom:.5rem}.footer-links{justify-content:center;gap:1.5rem;margin-top:.8rem;display:flex}.footer-link{color:var(--text-muted);transition:var(--transition-fast)}.footer-link:hover{color:var(--color-primary)}@keyframes flash-border{0%{border-color:var(--color-primary);background-color:#0284c70d;box-shadow:0 0 5px #0284c733}to{border-color:var(--color-accent);box-shadow:var(--shadow-glow), inset 0 0 12px #0284c71a;background-color:#0284c733}}@keyframes slide-in-toast{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:.4s cubic-bezier(.4,0,.2,1) forwards fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.navbar{padding:1rem}.page-header h1{font-size:1.8rem}.room-viewport-container{height:auto;min-height:auto;max-height:none}.room-canvas-wrapper{aspect-ratio:auto;width:100%;height:auto}.hotspot-tooltip{display:none!important}.admin-coordinates-row{grid-template-columns:1fr 1fr;gap:.5rem}.editorial-collage-grid{grid-template-columns:1fr;height:auto}.tall-slot{height:320px}.small-slot{height:180px}}.collage-slot-overlay.flex-column{opacity:0;transition:opacity var(--transition-fast);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:20;background-color:#2b4c30d1;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;display:flex;position:absolute;inset:0}.collage-slot:hover .collage-slot-overlay.flex-column{opacity:1}.overlay-action-btn{color:var(--color-primary);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);background-color:#fff;border:none;border-radius:30px;justify-content:center;align-items:center;width:80%;max-width:170px;padding:.5rem 1rem;font-size:.78rem;font-weight:700;display:flex}.overlay-action-btn:hover{background-color:var(--color-accent);color:#fff;transform:translateY(-1px)}.overlay-action-btn.tag-btn{background-color:var(--color-accent);color:#fff}.overlay-action-btn.tag-btn:hover{color:var(--color-accent);background-color:#fff}.overlay-action-btn.delete-btn{background-color:var(--color-danger);color:#fff}.overlay-action-btn.delete-btn:hover{color:var(--color-danger);background-color:#fff}.editorial-main-spread{grid-template-columns:1.25fr .75fr;align-items:start;gap:2rem;width:100%;max-width:1280px;margin:1rem auto 3rem;padding:0 2rem;display:grid}.spread-left-canvas{width:100%}.spread-left-canvas .room-viewport-container{padding:0}.spread-right-style{width:100%}.spread-right-style .design-style-section{max-width:100%;margin:0;padding:0}.spread-right-style .style-card{height:100%;box-shadow:var(--shadow-md);border-radius:var(--radius-lg);padding:1.8rem}.spread-right-style .style-grid{grid-template-columns:1fr;gap:1.2rem}.spread-right-style .style-header{margin-bottom:1.2rem;padding-bottom:1rem}@media (width<=1024px){.editorial-main-spread{grid-template-columns:1fr;gap:2rem;padding:0 1.5rem}.spread-right-style .style-grid{grid-template-columns:1fr 1fr;gap:2rem}}@media (width<=768px){.spread-right-style .style-grid{grid-template-columns:1fr;gap:1.2rem}}.catalog-stock-card{transition:all var(--transition-fast)!important}.catalog-stock-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)!important;border-color:var(--color-primary)!important}.catalog-stock-card.active{border-color:var(--color-primary)!important;box-shadow:0 0 0 2px var(--color-primary-light), var(--shadow-md)!important}.catalog-grid-list{scrollbar-width:thin;scrollbar-color:var(--border-color-focus) var(--bg-primary)}.catalog-grid-list::-webkit-scrollbar{width:6px}.catalog-grid-list::-webkit-scrollbar-track{background:var(--bg-primary)}.catalog-grid-list::-webkit-scrollbar-thumb{background:var(--border-color-focus);border-radius:3px}@media (width<=1024px){.admin-catalog-workspace{grid-template-columns:1fr!important;gap:1.5rem!important}}.hotspot-tooltip.simplified{text-align:center;width:220px;padding:.8rem}.hotspot-tooltip.simplified .hotspot-tooltip-title{margin-bottom:.2rem;font-size:.9rem;font-weight:600;line-height:1.3}.hotspot-tooltip.simplified .hotspot-tooltip-price{color:var(--color-primary);margin-bottom:0;font-size:1rem;font-weight:700}.product-hotspot-area .hotspot-tooltip{pointer-events:none!important}@media (width<=480px){.magazine-tabs{gap:.8rem}.magazine-tab-btn{width:70px}.tab-thumb-wrapper{border-radius:var(--radius-sm);width:70px;height:70px}.magazine-tab-btn .tab-name{font-size:.65rem}}.page-seo-title{color:var(--text-muted);letter-spacing:.2px;margin-top:.5rem;font-family:Sarabun,sans-serif;font-size:1.1rem;font-weight:400}.seo-articles-faq{width:100%;max-width:1200px;margin:2rem auto;padding:0 2rem 5rem}.seo-divider{background-color:var(--border-color);width:100%;height:1px;margin-bottom:3rem}.seo-intro-content{margin-bottom:3rem;font-family:Sarabun,sans-serif}.seo-section-title{color:var(--text-main);margin-bottom:1.2rem;font-family:Noto Serif Thai,Lora,serif;font-size:1.5rem;font-weight:600;display:inline-block;position:relative}.seo-section-title:after{content:"";background-color:var(--color-primary);width:40px;height:2px;position:absolute;bottom:-6px;left:0}.seo-intro-content p{color:var(--text-muted);margin-bottom:1rem;font-size:.95rem;line-height:1.7}.seo-intro-content strong{color:var(--text-main);font-weight:600}.seo-faq-section{font-family:Sarabun,sans-serif}.faq-list{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.faq-item{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);overflow:hidden}.faq-item:hover{border-color:var(--color-primary-light);box-shadow:0 4px 12px #0000000d}.faq-item.open{border-color:var(--color-primary);box-shadow:0 4px 20px #00000014}.faq-question-btn{text-align:left;cursor:pointer;width:100%;color:var(--text-main);transition:color var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.5rem;font-size:1rem;font-weight:600;display:flex}.faq-question-btn:hover{color:var(--color-primary)}.faq-question-text{flex:1}.faq-toggle-icon{color:var(--text-muted);transition:transform var(--transition-normal);font-size:1.4rem;font-weight:300;line-height:1}.faq-item.open .faq-toggle-icon{color:var(--color-primary);transform:rotate(180deg)}.faq-answer-container{transition:max-height .3s ease-out;overflow:hidden}.faq-answer-text{color:var(--text-muted);padding:0 1.5rem 1.5rem;font-size:.9rem;line-height:1.6}@media (width<=768px){.page-seo-title{font-size:.9rem}.seo-section-title{font-size:1.3rem}.faq-question-btn{padding:1rem 1.2rem;font-size:.9rem}.faq-answer-text{padding:0 1.2rem 1.2rem;font-size:.85rem}}.budget-calculator-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#1e293b66;flex-direction:column;justify-content:space-between;gap:1.5rem;margin-bottom:2rem;padding:1.8rem;display:flex}.budget-calculator-card:hover{border-color:var(--color-primary-light)}@media (width>=768px){.budget-calculator-card{flex-direction:row;align-items:center;gap:2rem}}.calc-left{flex:1.2}.calc-badge{letter-spacing:1px;color:var(--color-primary);background:var(--color-primary-light);border-radius:4px;margin-bottom:.6rem;padding:.2rem .5rem;font-family:Outfit,sans-serif;font-size:.65rem;font-weight:700;display:inline-block}.calc-title{color:var(--text-main);margin-bottom:.5rem;font-family:Noto Serif Thai,Lora,serif;font-size:1.3rem;font-weight:600}.calc-desc{color:var(--text-muted);font-size:.85rem;line-height:1.5}.calc-right{flex-direction:column;flex:.8;gap:1.2rem;width:100%;display:flex}.calc-stats{gap:1rem;display:flex}.stat-box{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;flex:1;gap:.2rem;padding:.75rem 1rem;display:flex}.stat-box.highlighted{border-color:var(--color-primary);background-color:var(--color-primary-light)}.stat-label{color:var(--text-muted);font-size:.75rem}.stat-value{color:var(--text-main);font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:700}.stat-box.highlighted .stat-value{color:var(--color-primary)}.btn-copy-coords{background-color:var(--color-primary);color:var(--text-light);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast), transform var(--transition-fast);box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;width:100%;padding:.8rem 1.2rem;font-size:.85rem;font-weight:600;display:flex}.btn-copy-coords:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.product-card-selection{cursor:pointer;background-color:var(--bg-primary);border:1px solid var(--border-color);transition:border-color var(--transition-fast), background-color var(--transition-fast);border-radius:4px;align-self:flex-start;align-items:center;gap:.5rem;margin-bottom:.8rem;padding:.2rem .5rem;display:flex}.product-card-selection:hover{border-color:var(--color-primary);background-color:var(--color-primary-light)}.product-checkbox{border:1.5px solid var(--text-muted);width:16px;height:16px;transition:all var(--transition-fast);color:#fff;background:0 0;border-radius:3px;justify-content:center;align-items:center;display:flex}.product-checkbox.checked{border-color:var(--color-primary);background-color:var(--color-primary)}.checkbox-label{color:var(--text-muted);font-size:.75rem;font-weight:600}.product-card-selection:hover .checkbox-label{color:var(--color-primary)}.product-card.selected-for-shopping{border-color:#0284c766}.product-card.selected-for-shopping:hover{border-color:var(--color-primary)}
