.shop-page{background:#fff;min-height:100vh;padding-top:80px}.shop-header{padding:80px 60px 60px;text-align:center;border-bottom:1px solid #eae6df;background:#faf8f5}.shop-title{font-family:var(--font-display,"Playfair Display",serif);font-size:clamp(40px,5vw,72px);font-weight:500;color:#111;margin-bottom:16px}.shop-subtitle{font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);font-size:15px;color:#555;max-width:500px;margin:0 auto}.shop-body{display:flex;gap:0;min-height:calc(100vh - 300px)}.shop-sidebar{width:260px;flex-shrink:0;padding:40px 30px;border-right:1px solid #eae6df;background:#fff;position:-webkit-sticky;position:sticky;top:80px;height:-moz-fit-content;height:fit-content}.sidebar-section h4{font-family:var(--font-brand,"Cinzel",serif);font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:#b8933a;margin-bottom:16px}.sidebar-cat-btn{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;color:#555;font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);font-size:13px;padding:12px 0;cursor:pointer;transition:color .3s,padding-left .2s;border:none;border-bottom:1px solid #f0ece4;text-align:left}.sidebar-cat-btn:hover{color:#111;padding-left:4px}.sidebar-cat-btn.active{color:#b8933a;font-weight:600}.cat-count{font-size:11px;color:#888}.sidebar-cat-btn.active .cat-count{color:#b8933a}.shop-content{flex:1 1;padding:40px 60px;background:#fff}.shop-toolbar{justify-content:space-between;margin-bottom:40px;gap:20px;flex-wrap:wrap}.shop-search,.shop-toolbar{display:flex;align-items:center}.shop-search{gap:10px;background:#fff;border:1px solid #dcd6cb;border-radius:4px;padding:10px 16px;flex:1 1;max-width:360px;color:#666;box-shadow:0 2px 8px rgba(0,0,0,.02)}.shop-search input{background:transparent;border:none;outline:none;color:#111;font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);font-size:13px;width:100%}.shop-search input::placeholder{color:#888}.shop-toolbar-right{display:flex;align-items:center;gap:16px}.shop-count{color:#666;letter-spacing:1px}.filter-toggle-btn,.shop-count{font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);font-size:12px}.filter-toggle-btn{display:none;align-items:center;gap:8px;background:#fff;color:#333;padding:8px 16px;cursor:pointer;transition:all .3s}.filter-toggle-btn,.layout-toggle{border:1px solid #dcd6cb;border-radius:4px}.layout-toggle{display:flex;overflow:hidden}.layout-toggle button{background:#fff;border:none;color:#777;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s}.layout-toggle button.active{background:rgba(201,168,76,.15);color:#b8933a}.layout-toggle button:hover{color:#111}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}.shop-card-grid{background:#fff;border:1px solid #eae6df;border-radius:6px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.03);transition:border-color .3s,transform .3s,box-shadow .3s;display:flex;flex-direction:column}.shop-card-grid:hover{border-color:#c9a84c;transform:translateY(-4px);box-shadow:0 12px 30px rgba(201,168,76,.15)}.shop-card-image{position:relative;height:260px;overflow:hidden;background:#faf8f5;cursor:pointer}.shop-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.shop-card-grid:hover .shop-card-image img{transform:scale(1.05)}.shop-card-overlay{position:absolute;inset:0;background:hsla(0,0%,6%,.4);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.shop-card-grid:hover .shop-card-overlay{opacity:1}.shop-inquire-btn{background:#fff;border:1px solid #c9a84c;color:#111;padding:10px 24px;font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.15);transition:all .3s;border-radius:4px;text-align:center}.shop-badge,.shop-inquire-btn:hover{background:#c9a84c;color:#fff}.shop-badge{position:absolute;top:12px;left:12px;font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:4px 10px;border-radius:2px;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.12)}.shop-card-info{padding:20px;display:flex;flex-direction:column;flex:1 1}.shop-card-category{font-family:var(--font-brand,"Cinzel",serif);font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:#b8933a;display:block;margin-bottom:6px}.shop-card-info h3{font-family:var(--font-display,"Playfair Display",serif);font-size:20px;font-weight:500;color:#111;margin-bottom:8px;transition:color .3s}.shop-card-info h3:hover{color:#b8933a}.shop-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px}.shop-card-price{font-size:18px;font-weight:700;margin:0;letter-spacing:-.02em}.shop-card-inquire-mobile,.shop-card-price{font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);color:#b8933a}.shop-card-inquire-mobile{display:none;background:#faf8f5;border:1px solid #c9a84c;padding:6px 14px;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;border-radius:4px;cursor:pointer;transition:all .3s}.shop-card-inquire-mobile:hover{background:#c9a84c;color:#fff}.shop-list{display:flex;flex-direction:column;gap:16px}.shop-card-list{display:flex;gap:24px;align-items:center;background:#fff;border:1px solid #eae6df;border-radius:6px;padding:18px 24px;box-shadow:0 4px 14px rgba(0,0,0,.03);transition:border-color .3s,box-shadow .3s,transform .3s;position:relative;box-sizing:border-box}.shop-card-list:hover{border-color:#c9a84c;transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,168,76,.12)}.shop-list-image{width:180px;height:135px;min-width:180px;max-width:180px;overflow:hidden;flex-shrink:0;border-radius:4px;background:#faf8f5;position:relative}.shop-list-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.shop-card-list:hover .shop-list-image img{transform:scale(1.05)}.shop-list-wishlist-icon{display:none;position:absolute;top:10px;right:10px;background:hsla(0,0%,100%,.92);border:1px solid #eae6df;border-radius:50%;width:34px;height:34px;align-items:center;justify-content:center;color:#555;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:all .3s;z-index:2}.shop-list-wishlist-icon.wishlisted,.shop-list-wishlist-icon:hover{border-color:#e63946;color:#e63946;background:#fff}.shop-list-info{flex:1 1;min-width:0;display:flex;flex-direction:column}.shop-list-info h3{font-family:var(--font-display,"Playfair Display",serif);font-size:21px;font-weight:500;color:#111;margin:4px 0 8px;transition:color .3s}.shop-list-info h3:hover{color:#b8933a}.shop-list-desc{font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);font-size:13px;color:#666;line-height:1.6;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shop-list-action{display:flex;flex-direction:column;gap:10px;min-width:140px;flex-shrink:0;align-items:stretch;justify-content:center}.shop-list-action-wishlist{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#faf8f5;border:1px solid #eae6df;border-radius:4px;padding:9px 16px;font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);font-size:11px;font-weight:600;letter-spacing:1px;color:#555;text-transform:uppercase;cursor:pointer;transition:all .3s}.shop-list-action-wishlist:hover{border-color:#e63946;color:#e63946;background:#fff}.shop-list-action-wishlist.wishlisted{border-color:#e63946;color:#e63946;background:#fff5f5}.shop-wishlist-btn{position:absolute;top:12px;right:12px;background:hsla(0,0%,100%,.9);border:1px solid #eae6df;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#555;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:all .3s;z-index:2}.shop-wishlist-btn.wishlisted,.shop-wishlist-btn:hover{border-color:#e63946;color:#e63946}.shop-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 0;gap:20px;color:#666;font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);font-size:13px;letter-spacing:2px}.loading-spinner{width:32px;height:32px;border:2px solid #eae6df;border-top-color:#c9a84c;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.shop-empty{text-align:center;padding:100px 0;color:#666}.shop-empty p:first-child{font-family:var(--font-display,"Playfair Display",serif);font-size:28px;color:#111;margin-bottom:8px}.popup-overlay{position:fixed;inset:0;background:hsla(0,0%,6%,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.popup-box{background:#fff;border:1px solid #eae6df;border-radius:6px;box-shadow:0 16px 48px rgba(0,0,0,.18);padding:40px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto}.popup-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #eae6df}.popup-header h2{font-family:var(--font-display,"Playfair Display",serif);font-size:28px;font-weight:500;color:#111;margin-bottom:4px}.popup-header p{font-size:13px;color:#b8933a;font-weight:600}.popup-close{background:transparent;border:none;color:#777;cursor:pointer;transition:color .3s;padding:4px}.popup-close:hover{color:#111}.popup-error{background:#fee2e2;border:1px solid #fca5a5;color:#dc2626;padding:10px 16px;font-size:13px;border-radius:4px;margin-bottom:20px}.popup-form-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px;margin-bottom:24px}.popup-form-group{display:flex;flex-direction:column;gap:8px}.popup-form-group.full{grid-column:1/-1}.popup-form-group label{font-family:var(--font-brand,"Cinzel",serif);font-size:10px;letter-spacing:2px;font-weight:600;text-transform:uppercase;color:#b8933a}.popup-form-group input,.popup-form-group textarea{background:#faf8f5;border:1px solid #dcd6cb;border-radius:4px;color:#111;padding:12px 16px;font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);font-size:13px;outline:none;transition:border-color .3s;resize:vertical}.popup-form-group input:focus,.popup-form-group textarea:focus{border-color:#c9a84c;box-shadow:0 0 0 3px rgba(201,168,76,.15)}.popup-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:#c9a84c;color:#fff;border:none;border-radius:4px;padding:14px;font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;box-shadow:0 4px 18px rgba(201,168,76,.35);transition:background .3s,transform .2s}.popup-submit:hover{background:#b8933a;transform:translateY(-2px)}.popup-submit:disabled{opacity:.6;cursor:not-allowed}.popup-success{text-align:center;padding:40px 0}.popup-success span{font-size:40px;color:#c9a84c;display:block;margin-bottom:16px}.popup-success h3{font-family:var(--font-display,"Playfair Display",serif);font-size:32px;font-weight:500;color:#111;margin-bottom:12px}.popup-success p{font-size:14px;color:#555;margin-bottom:30px;line-height:1.7}.sidebar-mobile-header{display:none;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #eae6df}.sidebar-mobile-header h3{font-family:var(--font-brand,"Cinzel",serif);font-size:16px;font-weight:600;color:#111;letter-spacing:1px}.sidebar-close-btn{background:none;border:none;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;transition:all .3s}.sidebar-close-btn:hover{color:#111;background:#f5f5f5}@media (max-width:1024px){.shop-grid{grid-template-columns:repeat(2,1fr)}.shop-sidebar{display:none}.shop-sidebar.open{display:block;position:fixed;top:80px;left:0;bottom:0;z-index:100;background:#fff;box-shadow:0 10px 40px rgba(0,0,0,.15);overflow-y:auto;height:calc(100vh - 80px);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;width:280px}.filter-toggle-btn,.sidebar-mobile-header{display:flex}}@media (max-width:768px){.shop-header{padding:50px 20px 35px}.shop-content{padding:24px 16px}.shop-toolbar{margin-bottom:24px;gap:14px}.shop-search{max-width:100%;order:1}.shop-toolbar-right{width:100%;justify-content:space-between;order:2}.shop-grid{grid-template-columns:1fr;gap:20px}.shop-card-image{height:250px}.shop-card-inquire-mobile{display:inline-flex}.shop-list{gap:12px}.shop-card-list{display:grid;grid-template-columns:110px 1fr;grid-template-areas:"image info" "image action";padding:12px;grid-gap:8px 16px;gap:8px 16px;border-radius:6px;align-items:stretch}.shop-list-image{grid-area:image;width:100%;height:120px;min-width:0;max-width:none;border-radius:4px}.shop-list-wishlist-icon{display:none}.shop-list-info{grid-area:info;padding:0;display:flex;flex-direction:column;justify-content:flex-start}.shop-list-info h3{font-size:15px;margin:2px 0 4px;line-height:1.2}.shop-list-desc{display:none}.shop-card-price{font-size:14px;margin-bottom:0}.shop-list-action{grid-area:action;padding:0;width:100%;flex-direction:row;align-items:flex-end;gap:8px;margin-top:auto}.shop-list-action-wishlist{display:inline-flex;padding:8px 10px;font-size:9px}.shop-inquire-btn{flex:1 1;padding:8px;font-size:9px;text-align:center;width:auto}.popup-box{padding:24px 20px}.popup-form-grid{grid-template-columns:1fr;gap:12px}}.sidebar-subcat-list{display:flex;flex-direction:column;padding-left:16px;margin-top:4px;margin-bottom:8px;border-left:1px solid #eae6df;margin-left:8px}.sidebar-subcat-btn{background:transparent;border:none;text-align:left;padding:6px 12px;font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);font-size:13.5px;color:#6b5f4e;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-radius:4px;transition:all .3s ease}.sidebar-subcat-btn:hover{background:#faf8f5;color:#111}.sidebar-subcat-btn.active{font-weight:600;color:#c9a84c;background:rgba(201,168,76,.05)}.sidebar-subcat-btn .cat-count{font-size:11px;color:#999;background:#f5f5f5;padding:2px 6px;border-radius:12px}.sidebar-subcat-btn:hover .cat-count{background:#eae6df}.sidebar-subcat-btn.active .cat-count{background:rgba(201,168,76,.15);color:#b8933a}