body,html{margin:0;padding:0}@keyframes vm-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes vm-pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.75}to{transform:scale(1);opacity:1}}@keyframes vm-fade{0%{opacity:0}to{opacity:1}}.rating-star{color:#f5a623}.details-vendor{font-size:1.05rem;font-weight:600}:root{--color-primary:#0d3b66;--color-primary-lightbrown:#8a624a;--color-primary-light:#144a82;--color-text:#1d1d1d;--color-muted:#4b5563;--card-bg:#fff;--page-bg:#faf7f2;--radius-pill:999px;--radius-card:20px;--shadow-card:0 6px 20px rgba(0,0,0,.06);--font-display:"Wise Sans","Inter",system-ui,-apple-system,sans-serif;--font-body:"Inter",system-ui,-apple-system,sans-serif}body,html{font-family:var(--font-body);overflow-x:hidden}body{max-width:480px;margin-left:auto;margin-right:auto;padding:0 16px}*{font-family:inherit}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.1}body,button,input,li,p,textarea{font-family:var(--font-body);font-weight:400;line-height:1.5}.page{width:100%;max-width:480px;margin:0 auto}.auth-page{gap:18px;padding-top:16px;justify-content:flex-start}.auth-page,.hero-shell{display:flex;flex-direction:column}.hero-shell{border-radius:0 0 40px 40px;padding:16px 16px 26px;margin:0 auto 16px;align-items:center;gap:12px;min-height:220px}.hero-shell,.hero-shell.theme-food{background:#c58a64}.hero-shell.theme-clothing{background:var(--color-primary)}.hero-shell.theme-food .btn-primary{background:var(--color-primary-lightbrown)!important;border-color:var(--color-primary-lightbrown)!important;color:#fff!important}.hero-shell.theme-food .btn-primary:hover{background:#754f3c!important;border-color:#754f3c!important;color:#fff!important}.hero-shell .site-logo{color:#fff}.theme-clothing .page-hero .btn-primary{background:#0b2d4d;border-color:#0b2d4d}.theme-clothing .page-hero .btn-primary:hover{background:#07253f;border-color:#07253f}.hero-shell.theme-clothing .btn-primary{background:#0b2d4d!important;border-color:#0b2d4d!important;color:#fff!important}.hero-shell.theme-clothing .btn-primary:hover{background:#07253f!important;border-color:#07253f!important;color:#fff!important}.site-header{width:100%;margin-bottom:4px}.page-hero{flex-direction:column;gap:10px;width:100%}.page-hero,.page-hero h1{display:flex;align-items:center}.page-hero h1{font-size:2.4rem;font-weight:800;line-height:1.2;height:200px;min-height:80px;margin:0;text-align:center;color:#fff;overflow:hidden;justify-content:center}.hero-dots{display:flex;gap:6px;justify-content:center;margin-top:0;margin-bottom:14px;height:14px}.hero-dot{width:8px;height:8px;border-radius:999px;border:none;background:hsla(0,0%,100%,.35);transition:all .2s ease;padding:0}.hero-dot.active{width:20px;background:#fff}.landing-categories{background:#fff;border-radius:20px;padding:14px;margin:0 auto 18px;box-shadow:0 6px 18px rgba(0,0,0,.08)}.landing-categories h2{margin:0 0 10px;font-size:1.2rem}.pill-toggle{display:flex;position:relative;background:rgba(0,0,0,.05);border-radius:999px;padding:4px;gap:6px;margin-bottom:12px}.pill-highlight{position:absolute;top:4px;left:4px;height:calc(100% - 8px);width:calc(50% - 6px);border-radius:999px;background:#c58a64;transition:transform .25s ease;z-index:1}.pill-toggle.food .pill-highlight{transform:translateX(0)}.pill-toggle.clothing .pill-highlight{transform:translateX(100%)}.pill{flex:1 1;border:none;border-radius:999px;padding:10px 12px;font-weight:700;background:transparent;color:#555;position:relative;z-index:2}.pill.active{background:#c58a64;color:#fff}.theme-clothing .pill{color:#0b2d4d}.theme-clothing .pill.active{color:#fff}.theme-clothing .pill-highlight,.theme-clothing .pill.active{background:var(--color-primary)}.landing-slider{display:grid;grid-auto-flow:column;grid-auto-columns:150px;grid-gap:12px;gap:12px;overflow-x:auto;padding:6px 2px;scroll-snap-type:x mandatory}.landing-featured{background:#fff;border-radius:20px;padding:14px;margin:0 auto 18px;box-shadow:0 6px 18px rgba(0,0,0,.08)}.landing-featured h2{margin:0 0 10px;font-size:1.2rem}.landing-featured .vendor-slider{display:grid;grid-auto-flow:column;grid-auto-columns:140px;grid-gap:10px;gap:10px;overflow-x:auto;padding:4px 2px;scroll-snap-type:x mandatory;align-items:start}.landing-featured .vendor-slider::-webkit-scrollbar{display:none}.landing-featured .vendor-card{background:transparent;border-radius:16px;box-shadow:none;border:none;text-decoration:none;padding:6px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.landing-featured .vendor-name{margin:0;color:var(--color-text);font-size:.95rem;line-height:1.2;max-height:2.4em;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.landing-featured .vendor-username{margin:2px 0 0;color:var(--color-muted)}.landing-slider .product-card{background:transparent;box-shadow:none;border:none;max-width:160px;min-width:140px;scroll-snap-align:start}.landing-slider .product-image{height:130px}.page-hero p{font-size:1rem;color:var(--color-muted);margin-bottom:20px;line-height:1.4}.hero-actions{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%}.page-hero .btn-primary,.page-hero .btn-secondary{padding:11px 24px;font-size:1.1rem;border-radius:var(--radius-pill);width:100%;align-self:center;text-align:center}button:focus-visible{outline:3px solid rgba(13,59,102,.35);outline-offset:3px;border-radius:var(--radius-pill)}button,button:active,button:focus{-webkit-tap-highlight-color:transparent}button:focus{outline:none!important}button::-moz-focus-inner{border:0}button{transition:transform .12s ease-out,box-shadow .12s ease-out}button:active{transform:scale(.96);box-shadow:0 2px 6px rgba(0,0,0,.1)}.site-header{display:flex;justify-content:center;padding:12px 0}.site-logo{font-family:var(--font-display);font-weight:800;font-size:1.25rem;letter-spacing:-.01em}.card-grid{justify-items:center}.card.theme-clothing,.card.theme-food{width:85%;margin-left:auto;margin-right:auto;background:#c58a64;color:#fff;border:none;box-shadow:0 4px 18px hsla(24,46%,58%,.1);padding:2.1rem 1.5rem;display:flex;flex-direction:column;align-items:center}.card.theme-clothing{background:var(--color-primary);box-shadow:0 4px 18px rgba(13,59,102,.1)}.card.theme-clothing h2,.card.theme-food h2{text-align:center;width:100%}.card.theme-clothing p,.card.theme-food p{text-align:left;width:100%}.card.theme-clothing h2,.card.theme-clothing p,.card.theme-food h2,.card.theme-food p{color:#fff}.card.theme-clothing h2,.card.theme-food h2{font-size:1.45rem;line-height:1.18}.card.theme-clothing p,.card.theme-food p{font-size:1.08rem;line-height:1.7}.fade-section{opacity:0;transform:translateY(14px);transition:opacity .35s ease,transform .35s ease;will-change:opacity,transform}.fade-section.visible{opacity:1;transform:translateY(0)}.btn-primary,.btn-secondary{padding:.9rem 1.2rem;border-radius:var(--radius-pill);font-size:1rem;font-weight:600;width:100%}.btn-primary{background:var(--color-primary);border:none;box-shadow:0 4px 12px rgba(0,0,0,.12)}.btn-primary:hover{background:var(--color-primary-light)}.btn-secondary{background:transparent;border:2px solid var(--color-muted);color:var(--color-muted)}.btn-secondary:hover{background:#f8ebd6}.footer{width:100%;max-width:480px;margin:30px auto 80px;text-align:center;color:var(--color-muted);font-size:.9rem;padding:10px 0 0}.footer-section h3{margin:0;font-size:1.1rem;font-weight:700;color:var(--color-text)}.footer-section p{margin:6px 0 14px;font-size:.85rem;color:var(--color-muted)}.footer-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}.footer-links a{color:var(--color-muted);text-decoration:none;font-size:.83rem;transition:color .15s ease-out}.footer-links a:hover{color:var(--color-primary)}.footer-copy{font-size:.8rem;color:var(--color-muted);margin-bottom:0}.card-grid{display:grid;grid-template-columns:1fr;grid-gap:1.2rem;gap:1.2rem;margin-top:25px}.card{background:var(--card-bg);padding:1.1rem 1.25rem;border-radius:18px;border:1px solid rgba(0,0,0,.06);box-shadow:0 4px 14px rgba(0,0,0,.05);position:relative}.card h2{font-size:1.05rem;font-weight:700;margin-bottom:4px}.card p{color:var(--color-muted);font-size:.9rem;line-height:1.5}.card-icon{width:70px;position:absolute;bottom:15px;left:15px;opacity:.95}.product-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:1.2rem}.product-grid,.search-grid{display:grid;gap:1.2rem;margin-top:10px}.search-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1.2rem}.vendor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.8rem;gap:.8rem;margin-top:10px}.vendor-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:12px}.vendor-avatar-wrapper{width:80px;height:80px;border-radius:50%;overflow:hidden;margin-bottom:8px;border:1px solid rgba(0,0,0,.08)}.vendor-avatar{width:100%;height:100%;object-fit:cover}.vendor-info h3.vendor-name{margin:0;font-size:1rem;line-height:1.2}.vendor-info .vendor-username{margin:4px 0 0;color:var(--color-muted);font-size:.9rem}.rating-dialog{max-width:320px;border-radius:16px;padding:16px 18px 14px;text-align:center}.rating-dialog-sub{font-size:.95rem;margin:8px 0 16px}.rating-dialog-actions{gap:10px;justify-content:center}.rating-cancel,.rating-confirm{flex:1 1;padding:10px 0}.product-card{background:transparent;border-radius:var(--radius-card);box-shadow:none;border:none;overflow:hidden;max-width:160px;display:flex;flex-direction:column;text-decoration:none;color:inherit}#profileProductsGrid .product-card{max-width:none;width:100%;border-radius:18px;position:relative}#profileProductsGrid .add-product-slot{display:flex;align-items:center;justify-content:center}#profileProductsGrid .profile-add-product-card{width:100%;height:100%;min-height:140px}.product-image-wrapper{padding:0 .5rem;text-align:center;flex:1 0 auto}.product-image-box{position:relative;background:transparent;border-radius:0;display:block;overflow:hidden;box-shadow:none}.product-image-box:before{content:none}.product-image-box .image-bg-extend{display:none}.product-image{position:relative;z-index:1;display:block;width:100%;height:130px;object-fit:cover;border-radius:12px;background:#fff}.product-info{padding:0 .5rem .1rem;flex:0 0 auto}.product-info h3{font-size:.95rem;font-weight:600;color:var(--color-text);margin:0 0 2px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card-actions{position:absolute;right:4px;bottom:4px;display:flex;gap:4px}.profile-card-btn{width:24px;height:24px;border-radius:999px;border:none;padding:0;background:hsla(0,0%,100%,.95);box-shadow:0 2px 6px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;cursor:pointer}.profile-card-btn-icon{width:14px;height:14px;object-fit:contain}.product-info .price{font-size:.95rem;font-weight:700;color:var(--color-primary);margin:3px 0;line-height:1.1}.product-info .details{font-size:.74rem;margin:3px 0;white-space:nowrap;text-overflow:ellipsis}.product-info .details,.product-info .details-vendor{color:var(--color-muted);line-height:1.2;overflow:hidden}.product-info .details-vendor{font-size:.82rem;font-weight:600;max-height:2.4em;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 2px}.product-info .rating{font-size:.82rem;color:var(--color-muted);line-height:1;margin:7px 0}.subcategory-rows{display:flex;flex-direction:column;gap:0;margin-top:10px}.subcategory-row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.subcategory-title{font-size:1rem;font-weight:700;color:var(--color-text)}.subcategory-see-all{font-size:.8rem;font-weight:600;border-radius:999px;border:1px solid rgba(0,0,0,.12);padding:.25rem .7rem;background:#fff;color:var(--color-muted);cursor:pointer;white-space:nowrap}.subcategory-row-scroll{display:flex;gap:.8rem;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory;scrollbar-width:none}.subcategory-row-scroll::-webkit-scrollbar{display:none}.subcategory-row-scroll .product-card{min-width:140px;scroll-snap-align:start}.auth-card{background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card);border:1px solid rgba(0,0,0,.08);padding:1.4rem 1.3rem 1.6rem;margin-top:90px}.auth-form{display:flex;flex-direction:column;gap:.9rem}.input-label{font-size:.85rem;font-weight:600;color:var(--color-text);margin-bottom:2px}.input-field{width:100%;padding:.7rem .8rem;border-radius:12px;border:1px solid rgba(0,0,0,.15);font-size:.95rem;font-family:var(--font-body);background:#fff;box-sizing:border-box}.input-field:focus{outline:none;border-color:rgba(13,59,102,.6);box-shadow:0 0 0 2px rgba(13,59,102,.1)}.auth-button{margin-top:.4rem}.auth-switch{margin-top:.9rem;font-size:.85rem;color:var(--color-muted);text-align:center}.auth-switch a{color:var(--color-primary);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;background:#fff;border-top:1px solid rgba(0,0,0,.1);padding:8px 0 6px;display:flex;justify-content:space-around;box-shadow:0 -2px 20px rgba(0,0,0,.06);z-index:999}.nav-item{display:flex;flex-direction:column;align-items:center;font-size:.75rem;color:var(--color-muted);text-decoration:none;width:33%;padding:4px 0;transition:transform .15s ease-out}.nav-item:active{transform:scale(.92)}.nav-icon{width:24px;height:24px;object-fit:contain;margin-bottom:3px;opacity:.85}.nav-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.nav-item.active{color:var(--nav-active-color);font-weight:700}.nav-item.active .nav-icon{opacity:1;filter:brightness(1.15)}.nav-item.active .nav-icon-wrapper:before{content:"";position:absolute;width:32px;height:32px;background:var(--nav-active-glow);border-radius:50%;box-shadow:0 2px 6px var(--nav-active-glow-strong);z-index:-1}.nav-item{-webkit-tap-highlight-color:transparent}.nav-item:active,.nav-item:focus{outline:none;background:transparent}.category-toggle{display:flex;gap:.6rem;margin:10px 0 18px}.category-pill{flex:1 1;display:flex;align-items:center;justify-content:center;gap:6px;padding:.45rem .7rem;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:#fff;font-size:.85rem;font-weight:600;color:var(--color-muted);cursor:pointer;transition:background .15s ease-out,color .15s ease-out,border-color .15s ease-out,transform .12s ease-out}.category-pill:active{transform:scale(.96)}.category-icon{width:18px;height:18px;opacity:.9}.category-pill.active{background:rgba(var(--active-rgb,13,59,102),.12);border-color:var(--color-primary);color:var(--color-primary)}.category-toggle-icons{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem;margin:10px 0 20px;text-align:center}.category-icon-btn{background:transparent;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;padding:8px 0;color:var(--color-muted);transition:transform .15s ease-out}.category-icon-btn:active{transform:scale(.94)}.category-icon-wrapper{width:78px;height:78px;position:relative;display:flex;align-items:center;justify-content:center}.category-icon-large{width:50px;height:50px;object-fit:contain;opacity:.9}.category-icon-btn.active .category-icon-wrapper:before{content:"";position:absolute;width:90px;height:90px;background:rgba(13,59,102,.12);border-radius:50%;z-index:-1;box-shadow:0 3px 10px rgba(0,0,0,.1)}.category-icon-btn.active .category-label{color:var(--color-primary)}.category-icon-btn.active .category-icon-large{opacity:1;filter:brightness(1.15)}.category-icon-wrapper:before{pointer-events:none!important}.category-icon-btn{border:none!important;-webkit-tap-highlight-color:transparent}.category-icon-btn,.category-icon-btn:focus{outline:none!important}.category-icon-btn:focus-visible{outline:none!important}.category-icon-btn:active{outline:none!important;border:none!important}.search-chips{gap:.45rem;margin-top:.9rem}.search-chip{padding:.38rem .85rem;border:1px solid rgba(0,0,0,.12);transition:transform .12s ease-out,background .15s ease-out,color .15s ease-out,border-color .15s ease-out}.search-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.search-form{margin:1rem 0 .6rem}.search-input{flex:1 1;padding:.75rem 1rem;border-radius:14px;font-size:.95rem;border:1.5px solid rgba(0,0,0,.15);background:#fff;color:var(--color-text);transition:border-color .15s ease-out,box-shadow .15s ease-out}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(0,0,0,.04)}.search-btn{padding:.75rem 1rem;border-radius:14px;background:var(--color-primary);color:#fff;font-weight:600;border:none;cursor:pointer;font-size:.95rem;transition:background .15s ease-out,transform .12s ease-out}.search-btn:active{transform:scale(.96)}.search-btn:hover{background:var(--color-primary-light)}.category-icon-btn:active,.category-icon-btn:focus,.category-icon-btn:focus-visible{outline:none!important;box-shadow:none!important}.feedback-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:1200;opacity:0;transition:opacity .18s ease-out}.feedback-overlay.is-open{display:flex;opacity:1}.feedback-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.28)}.feedback-modal{position:relative;z-index:1;width:100%;max-width:420px;margin:0 16px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.2rem 1.1rem 1.3rem;opacity:0;transform:translateY(16px) scale(.94);transform-origin:bottom center;transition:opacity .22s ease-out,transform .22s ease-out}.feedback-overlay.is-open .feedback-modal{opacity:1;transform:translateY(0) scale(1)}.feedback-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:1px solid rgba(0,0,0,.08);background:#fff;border-radius:50%;cursor:pointer;padding:6px;box-shadow:0 2px 6px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.feedback-close-icon{width:14px;height:14px;object-fit:contain;display:block}.feedback-title{font-size:1.2rem;font-weight:700;margin:0 0 4px}.feedback-subtitle{font-size:.9rem;color:var(--color-muted);margin:0 0 .9rem}.feedback-textarea{resize:vertical;min-height:90px}.feedback-submit{margin-top:.6rem}.footer-feedback-btn{margin:8px auto 4px;padding:.5rem 1rem;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:#fff;font-size:.85rem;font-weight:600;color:var(--color-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s ease-out,box-shadow .12s ease-out,background .15s ease-out}.footer-feedback-btn:hover{background:#f4f4f4}.footer-feedback-btn:active{transform:scale(.97);box-shadow:0 1px 4px rgba(0,0,0,.08)}.vendor-name-line{margin:0;font-size:.78rem;color:var(--color-muted);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-weight:600}.input-error{border:2px solid #b22222;box-shadow:0 0 0 2px rgba(178,34,34,.18)}.input-error-text{color:#b22222;font-size:.85rem;margin-top:4px}.crop-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:2000}.crop-dialog{background:#fff;border-radius:16px;padding:12px;width:min(480px,90vw);box-shadow:0 6px 18px rgba(0,0,0,.2)}.cropper-wrapper{position:relative;width:100%;height:300px;background:#111;border-radius:12px;overflow:hidden}.crop-actions{margin-top:10px;display:flex;flex-direction:column;gap:8px}.crop-buttons{display:flex;justify-content:flex-end;gap:8px}.hero-image-container{width:100%;height:180px;border-radius:16px;overflow:hidden;margin-bottom:15px}.hero-image{width:100%;height:100%;object-fit:cover;opacity:1;transition:opacity .35s ease-out,transform .35s ease-out;border-radius:inherit}body.scrolled .hero-image{opacity:.35;transform:scale(1.02)}.subcategory-page-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}.back-button{border:none;background:#fff;border-radius:999px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.08);cursor:pointer}.back-button .back-icon{width:24px;height:24px}.subcategory-page-header h1{font-size:1.4rem}.subcategory-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.5rem;gap:.5rem;justify-items:center;align-items:start}.subcategory-page-grid .product-card{width:100%;max-width:100%}.product-detail-page{padding-top:10px}.product-detail-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.product-detail-header h1{font-size:1.5rem}.product-detail-main{padding-bottom:.8rem}.product-detail-hero{margin-left:auto;margin-right:auto;border-radius:0;overflow:hidden;margin-bottom:.8rem;height:320px;background:#d8d8d8}.product-detail-hero,.product-detail-hero-inner{position:relative;width:100%;max-width:1100px;display:flex;align-items:center;justify-content:center}.product-detail-hero-inner{margin:0 auto;height:100%}.product-detail-slider{display:flex;width:100%;transition:transform .28s ease-out;height:100%;background:#d8d8d8;position:relative;z-index:1}.product-detail-slide{flex:0 0 100%;display:flex;align-items:center;justify-content:center;height:100%;background:#d8d8d8}.product-detail-slide img{width:100%;height:100%;object-fit:contain;display:block;background:#d8d8d8}.product-detail-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:1px solid rgba(0,0,0,.08);background:hsla(0,0%,100%,.95);color:#444;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:background .2s ease,transform .12s ease,box-shadow .2s ease;box-shadow:0 4px 12px rgba(0,0,0,.12)}.product-detail-nav:hover{background:#f2f2f2;box-shadow:0 4px 12px rgba(0,0,0,.12)}.product-detail-nav:active{transform:translateY(-50%) scale(.96);box-shadow:inset 0 2px 6px rgba(0,0,0,.12)}.product-detail-nav img{width:18px;height:18px;display:block}.product-detail-nav.prev{left:10px}.product-detail-nav.next{right:10px}.product-detail-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px;height:14px;align-items:center}.product-detail-dots-below{position:static;transform:none;margin:10px auto 6px;display:flex;justify-content:center;align-items:center;width:100%;max-width:1100px;gap:8px}.product-detail-dot{width:8px;height:8px;border-radius:999px;background:rgba(0,0,0,.25);transition:transform .18s ease,background .18s ease,opacity .18s ease;transform-origin:center}.product-detail-dot.is-active{background:rgba(0,0,0,.55);width:22px;height:8px;border-radius:999px}.product-detail-meta{margin-top:8px}.product-detail-meta .price{font-size:1.4rem;font-weight:700;color:var(--color-primary);margin:8px 0}.product-detail-meta .rating{margin-top:6px;font-size:1.05rem;font-weight:600}.rate-link{margin-left:6px;font-size:.8rem;color:var(--color-primary);background:transparent;border:none;padding:0;text-decoration:underline;cursor:pointer}.product-detail-vendor{margin-top:8px;font-size:1rem;color:var(--color-muted)}.product-detail-description{margin-top:12px;font-size:1rem;color:var(--color-muted);line-height:1.5}.product-detail-seller{display:flex;align-items:center;gap:.6rem;margin-top:14px}.product-detail-seller-avatar{width:54px;height:54px;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}.product-detail-seller-avatar img{width:100%;height:100%;object-fit:cover}.product-detail-seller-text{display:flex;flex-direction:column}.product-detail-seller-name{font-size:1.15rem;font-weight:700}.product-detail-seller-extra{font-size:1rem;color:var(--color-muted);display:flex;align-items:center;gap:4px}.product-detail-seller-rating{margin-top:2px;font-size:.95rem;font-weight:600;color:var(--color-primary)}.dot-separator{color:var(--color-muted);font-weight:800}.product-contact-actions{display:flex;gap:10px;margin:16px 0 0}.product-contact-actions .contact-btn{flex:1 1;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:var(--radius-pill);background:#e5e7eb;color:#1f2937;border:1px solid #e5e7eb;font-weight:600}.product-contact-actions .contact-btn:hover{background:#d1d5db;border-color:#d1d5db}.product-contact-actions .contact-btn:active{transform:scale(.98)}.product-contact-actions .contact-icon{width:18px;height:18px}.product-detail-location-icon{width:14px;height:14px;margin-top:2px}.product-detail-seller-rating-inline{font-size:.95rem;font-weight:600;color:var(--color-primary)}.rating-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease-out;z-index:999}.rating-overlay.is-visible{opacity:1;pointer-events:auto}.rating-dialog{width:90%;max-width:360px;background:#fff;border-radius:18px;padding:1.1rem 1rem 1rem;box-shadow:0 12px 30px rgba(0,0,0,.18)}.rating-dialog h2{font-size:1.1rem;margin-bottom:.3rem}.rating-dialog-sub{font-size:.85rem;color:var(--color-muted);margin-bottom:.8rem}.rating-buttons{display:flex;justify-content:space-between;gap:.4rem;margin-bottom:.9rem}.rating-value-btn{flex:1 1;padding:.5rem 0;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:#fafafa;font-size:.95rem;font-weight:600;cursor:pointer}.rating-value-btn.is-selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.rating-dialog-actions{display:flex;justify-content:flex-end;gap:.4rem}.rating-cancel,.rating-confirm{padding:.45rem .9rem;border-radius:999px;border:none;font-size:.85rem;font-weight:600;cursor:pointer}.rating-cancel{background:transparent;color:var(--color-muted)}.rating-confirm{background:var(--color-primary);color:#fff}.rating-confirm:disabled{opacity:.5;cursor:default}.rating-toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:rgba(0,0,0,.85);color:#fff;padding:.55rem .9rem;border-radius:999px;font-size:.85rem;opacity:0;pointer-events:none;transition:opacity .2s ease-out,transform .2s ease-out;z-index:1000}.logout-overlay{inset:0;background:rgba(0,0,0,.35);display:flex;pointer-events:none;transition:opacity .2s ease-out;z-index:999}.logout-overlay.is-open{opacity:1;pointer-events:auto}.logout-dialog{width:90%;max-width:360px;background:#fff;border-radius:18px;padding:1.1rem 1rem 1rem;box-shadow:0 12px 30px rgba(0,0,0,.18)}.rating-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(-4px)}.feedback-comment{width:100%;margin-top:.6rem;margin-bottom:.7rem;padding:.7rem .8rem;border-radius:12px;border:1px solid rgba(0,0,0,.15);font-size:.95rem;font-family:var(--font-body);resize:vertical;min-height:80px;box-sizing:border-box}.feedback-comment:focus{outline:none;border-color:rgba(13,59,102,.6);box-shadow:0 0 0 2px rgba(13,59,102,.1)}.search-hero{margin-bottom:14px}.search-hero h1{font-size:1.8rem}.search-hero p{font-size:.95rem;color:var(--color-muted)}.search-form{display:flex;flex-direction:column;gap:.6rem;margin-top:.6rem}.search-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}.search-chip{padding:.35rem .8rem;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#fff;font-size:.8rem;color:var(--color-muted);cursor:pointer}.search-chip:active{transform:scale(.96);box-shadow:0 1px 4px rgba(0,0,0,.08)}.profile-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:1.4rem}.profile-banner{width:100%;border-radius:18px;overflow:hidden}.profile-banner-image{width:100%;height:auto;display:block;object-fit:contain}.profile-info-row{display:flex;align-items:flex-start;justify-content:flex-start;gap:1rem;margin-top:15px}.profile-avatar-left{width:90px;height:90px;border-radius:50%;background:#fff;border:4px solid #fff;box-shadow:0 6px 18px rgba(0,0,0,.16);overflow:hidden;flex-shrink:0}.profile-avatar{width:100%;height:100%;object-fit:cover}.profile-info-text{display:flex;flex-direction:column}.profile-shop-name{font-size:1.3rem;font-weight:800;margin:0}.profile-shop-header-row{display:flex;align-items:center;gap:.4rem}.profile-shop-edit-btn{width:28px;height:28px;border-radius:999px;border:none;padding:0;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;cursor:pointer;margin-top:2px}.profile-shop-edit-icon{width:18px;height:18px;object-fit:contain}.profile-location,.profile-name{font-size:.9rem;color:var(--color-muted);margin:0}.profile-location{display:flex;align-items:center;gap:6px}.profile-location-icon{width:14px;height:14px;margin-top:1px}.profile-location span{margin-top:-1px}.profile-contact{font-size:.85rem;margin:2px 0;display:flex;gap:10px;flex-wrap:wrap}.profile-contact,.profile-contact a{color:var(--color-muted);align-items:center}.profile-contact a{display:inline-flex;gap:6px;text-decoration:none;font-weight:600}.profile-contact a span{margin-top:-1px}.profile-contact .contact-icon{width:16px;height:16px;object-fit:contain}.skeleton{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6 50%,#e5e7eb 75%);background-size:400% 100%;animation:skeleton-shimmer 1.6s ease-in-out infinite}.skeleton-rect{width:100%;height:140px}.skeleton-circle{width:110px;height:110px;border-radius:50%;margin:-55px auto 12px}.skeleton-line{height:14px;border-radius:8px;width:100%}.skeleton-line-row1{width:30%;height:12px}.skeleton-line-row2{width:45%;height:12px}.skeleton-line-row3{width:60%;height:14px}.skeleton-line-row4{width:75%;height:16px}.skeleton-card{height:140px;border-radius:14px}.skeleton-card-tall{height:170px}.skeleton-card-small{height:120px}.skeleton-slider-card .skeleton-card-small{height:140px}.skeleton-card-wrapper{display:flex;flex-direction:column;gap:6px}.skeleton-stack{display:flex;flex-direction:column;gap:14px;padding:0 12px 8px}.skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.skeleton-line-small{width:80%;height:10px}.skeleton-line-smaller{width:60%;height:10px}.product-skeleton-hero{width:100vw;height:320px;margin:46px calc(50% - 50vw) 14px}.product-skeleton-body{padding:0 1rem 1.4rem;display:flex;flex-direction:column;gap:10px}.product-skeleton-container{padding-top:16px;position:relative}.product-skeleton-back{width:32px;height:32px;border-radius:50%;flex-shrink:0}.product-skeleton-back-floating{position:absolute;top:12px;left:6px}.product-skeleton-seller{display:flex;align-items:center;gap:12px;margin-top:4px}.product-skeleton-avatar{width:54px;height:54px;border-radius:50%;flex-shrink:0}.product-skeleton-seller-lines{display:flex;flex-direction:column;gap:6px;flex:1 1}.product-skeleton-contacts{display:flex;gap:10px;margin-top:6px}.skeleton-contact-pill{flex:1 1;height:42px;border-radius:var(--radius-pill)}.product-skeleton-about{display:flex;flex-direction:column;gap:8px;margin-top:14px}.product-skeleton-similar{display:flex;flex-direction:column;gap:10px;margin-top:16px}.product-skeleton-slider{display:flex;gap:10px;overflow:hidden;padding:2px 0 4px}.skeleton-hero-shell,.skeleton-home-hero{background:#e5e7eb;border-radius:0 0 40px 40px;padding:32px 16px 40px;min-height:320px;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--color-text)}.skeleton-dots{display:flex;gap:6px}.skeleton-dot{width:10px;height:10px;border-radius:50%}.skeleton-hero-actions{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));grid-gap:10px;gap:10px;width:100%}.category-skeleton-wrapper{padding-top:16px}.skeleton-back-row{display:flex;align-items:center;gap:10px}.skeleton-back-btn{width:32px;height:32px;border-radius:50%}.skeleton-cat-title{width:50%;height:18px}.skeleton-category-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin:10px 0 28px;align-items:start}.skeleton-category-btn{display:flex;flex-direction:column;align-items:center;gap:8px}.skeleton-category-icon{width:84px;height:84px;border-radius:50%}.skeleton-row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.skeleton-pill-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:10px 0 14px}.skeleton-section-header{margin:8px 0 12px}.skeleton-slider-card{min-width:150px}.skeleton-banner{height:250px}.category-skeleton-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%}.skeleton-cat-card{height:130px}.category-skeleton-grid .skeleton-card-wrapper{width:100%}.skeleton-info-row{margin-top:16px;display:flex;align-items:flex-start;width:100%;gap:12px}.skeleton-info-row .skeleton-circle{margin-top:0}.skeleton-info-row .skeleton-stack{margin-top:6px;flex:1 1;width:100%}.skeleton-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:12px 0}.skeleton-pill{height:36px;border-radius:var(--radius-pill)}.skeleton-pill-wide{width:100%}.skeleton-chip-row{display:flex;gap:8px;margin-top:6px}.skeleton-chip{height:24px;border-radius:999px;flex:1 1;max-width:120px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}#profileProductsGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.5rem;gap:.5rem;justify-items:center}.profile-tabs{display:flex;gap:.4rem;background:transparent;margin-bottom:.8rem}.profile-tab{flex:1 1;padding:.55rem .8rem;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:#fff;font-size:.9rem;font-weight:600;color:var(--color-muted);cursor:pointer}.profile-tab.is-active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.profile-tab-panel{display:none}.profile-tab-panel.is-active{display:block}.profile-about{background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card);border:1px solid rgba(0,0,0,.08);padding:1.3rem 1.2rem 1.4rem}.profile-about h2{font-size:1.05rem;margin-bottom:.5rem}.profile-about p{font-size:.9rem;color:var(--color-muted);line-height:1.5;white-space:pre-line}.profile-add-product-card{display:flex;align-items:center;justify-content:center;border:none;background:transparent;padding:0;cursor:pointer;outline:none}.profile-add-product-card:active,.profile-add-product-card:focus{outline:none;box-shadow:none}.profile-add-product-circle{width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 6px 16px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;margin-top:.2rem;margin-left:auto;margin-right:auto}.profile-add-product-card-icon{width:24px;height:24px;object-fit:contain}.profile-logout-wrapper{display:flex;justify-content:center}.profile-logout-btn{display:inline-block;min-width:55%;margin-top:1.5rem;margin-bottom:1.5rem;padding:.7rem 1.1rem;background:transparent;border-radius:var(--radius-pill);border:2px solid #e53935;color:#e53935;font-weight:600;font-size:.95rem;text-align:center;cursor:pointer}.profile-logout-btn:active,.profile-logout-btn:focus{outline:none}.logout-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:none;align-items:center;justify-content:center;z-index:1200;opacity:0;transition:opacity .18s ease-out}.logout-overlay.is-open .logout-dialog{opacity:1;transform:translateY(0) scale(1)}.logout-dialog h2{font-size:1.1rem;margin-bottom:.3rem}.logout-dialog p{font-size:.85rem;color:var(--color-muted);margin-bottom:.9rem}.logout-actions{display:flex;gap:.6rem}.logout-actions .btn-primary,.logout-actions .btn-secondary{flex:1 1;width:auto}.logout-confirm-btn{background:#e53935}.profile-feedback{margin-top:1.1rem;padding-top:.9rem;border-top:1px solid rgba(0,0,0,.06)}.profile-feedback h2{font-size:1rem;margin-bottom:.3rem}.profile-feedback-empty{font-size:.85rem;color:var(--color-muted);margin-bottom:.7rem}.profile-feedback-list{list-style:none;padding:0;margin:0 0 .9rem;display:flex;flex-direction:column;gap:.55rem}.profile-feedback-item{font-size:.85rem;color:var(--color-muted);background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.04);padding:.55rem .7rem}.profile-feedback-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.profile-feedback-item-rating{font-weight:600}.profile-feedback-item-date{font-size:.75rem;color:#9ca3af}.profile-feedback-item-comment{margin:0;white-space:pre-line}.page-transition{opacity:0;transform:translateY(4px);animation:page-fade-in .22s ease-out forwards}@keyframes page-fade-in{to{opacity:1;transform:translateY(0)}}.page-transition.page-exit{opacity:0;transform:translateY(4px);transition:opacity .18s ease-out,transform .18s ease-out}.add-product-page{padding:1.25rem;width:100%;max-width:720px;margin:0 auto;box-sizing:border-box}.add-product-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.add-product-title{margin:0;line-height:1}.add-product-form{display:grid;grid-gap:.75rem;gap:.75rem;max-width:480px;width:100%;box-sizing:border-box}.add-product-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.add-product-form input,.add-product-form select,.add-product-form textarea{width:100%;padding:.6rem .75rem;border-radius:12px;border:1px solid #e0e0e0;font-size:.95rem;background:#fff;box-sizing:border-box;max-width:100%}.add-product-form input[type=file]{padding:0;border:none;border-radius:0;background:transparent}.file-list{list-style:none;padding:0;margin:.4rem 0 0;display:flex;flex-direction:column;gap:.3rem}.file-list li{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.file-list .file-remove-btn{width:28px;height:28px;border-radius:999px;border:none;padding:0;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.95);box-shadow:0 2px 6px rgba(0,0,0,.18);cursor:pointer}.file-actions-row .btn-secondary{padding:.45rem .8rem}.signup-image-preview{position:relative;width:160px;height:160px;border-radius:12px;overflow:hidden;margin:.5rem 0;box-shadow:0 4px 12px rgba(0,0,0,.12);background:#f8f8f8}.signup-image-preview.wide{width:220px;height:120px}.signup-image-preview img{width:100%;height:100%;object-fit:cover;display:block}.preview-delete-btn{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:999px;border:none;background:hsla(0,0%,100%,.95);box-shadow:0 2px 6px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.file-input-hidden{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.file-actions-row{display:flex;align-items:center;gap:.5rem;margin-top:.3rem;flex-wrap:wrap}.file-name{font-size:.9rem;color:var(--color-muted)}.add-product-form textarea{resize:vertical}.add-product-form button[type=submit]{padding:.8rem 1rem;border:none;border-radius:14px;background:var(--color-primary,#8a624a);color:#fff;font-weight:700;cursor:pointer;transition:background .2s ease,transform .1s ease,box-shadow .2s ease}.add-product-form button[type=submit]:hover{background:var(--color-primary-light)}.add-product-form button[type=submit]:active{transform:translateY(1px) scale(.99)}.form-status{font-size:.9rem;color:#4b5563;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:12px;padding:.6rem .75rem;display:inline-flex;align-items:center;gap:8px;font-weight:700}.form-status.is-error{color:#c62828;background:#fdecea;border-color:#f5c6c4}.form-status.is-error:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#c62828;color:#fff;font-size:.85rem;line-height:1;flex-shrink:0}.signup-page{padding:1.25rem;width:100%;max-width:720px;margin:0 auto;box-sizing:border-box}.signup-form{display:grid;grid-gap:.75rem;gap:.75rem;max-width:540px;width:100%}.signup-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.signup-form input,.signup-form textarea{width:100%;padding:.6rem .75rem;border-radius:12px;border:1px solid #e0e0e0;font-size:.95rem;background:#fff;box-sizing:border-box;max-width:100%}.signup-form textarea{resize:vertical}.signup-form button[type=submit]{padding:.8rem 1rem;border:none;border-radius:14px;background:var(--color-primary,#8a624a);color:#fff;font-weight:700;cursor:pointer;transition:background .2s ease,transform .1s ease,box-shadow .2s ease}.signup-form button[type=submit]:hover{background:var(--color-primary-light,#a98163)}.signup-form button[type=submit]:active{transform:translateY(1px) scale(.99)}.add-product-success-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:1200}.add-product-success-dialog{background:#fff;border-radius:18px;padding:1.3rem 1.1rem 1.1rem;width:90%;max-width:360px;text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.18)}.add-product-success-dialog h2{margin:.5rem 0 .35rem;font-size:1.2rem}.add-product-success-dialog p{margin:0 0 .9rem;color:var(--color-muted);font-size:.95rem}.success-icon{width:52px;height:52px;border-radius:50%;background:#daf5e3;color:#1f9d55;display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:1.4rem;font-weight:700}.success-actions{display:flex;gap:.6rem;margin-top:.6rem}.btn-primary,.btn-secondary{flex:1 1;padding:.65rem .9rem;border-radius:12px;border:none;font-weight:700;cursor:pointer}.btn-primary{background:var(--color-primary,#8a624a);color:#fff;transition:background .2s ease,transform .1s ease,box-shadow .2s ease}.btn-primary:hover{background:var(--color-primary-light,#a98163)}.btn-primary:active{transform:translateY(1px) scale(.99)}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.theme-food{--color-primary:#8a624a;--color-primary-light:#a98163;--page-bg:#f1f1f1;--nav-active-color:#8a624a;--nav-active-glow:rgba(138,98,74,.15);--nav-active-glow-strong:rgba(138,98,74,.25)}.theme-clothing{--color-primary:#0d3b66;--color-primary-light:#144a82;--page-bg:#f1f1f1;--nav-active-color:#0d3b66;--nav-active-glow:rgba(13,59,102,.15);--nav-active-glow-strong:rgba(13,59,102,.25)}