.marketplace-container{max-width:1440px;margin:0 auto;padding:2rem}@media (max-width:640px){.marketplace-container{padding:1rem;overflow-x:hidden}}.marketplace-header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border)}.header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.logo-section{margin-top:1rem;display:flex;align-items:center;gap:.75rem}.marketplace-title{margin:0;font-size:2.25rem!important;font-weight:700;letter-spacing:-.04em}.marketplace-subtitle{margin:0;color:var(--color-text-muted)}.marketplace-filters{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;background:var(--color-surface);padding:1rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.search-box{flex:1 1;min-width:300px;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;color:var(--color-text-muted);pointer-events:none}.search-input{width:100%;padding:.75rem 1rem .75rem 3rem;background:var(--color-background);border:1px solid var(--color-border-solid);border-radius:var(--radius-md);color:var(--color-text);font-size:.9375rem;transition:all .2s}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(59,130,246,.1)}.filter-box{display:flex;align-items:center;gap:.75rem}.filter-box label{font-size:.875rem;font-weight:600;color:var(--color-text-muted)}.filter-select{padding:.75rem 2rem .75rem 1rem;background:var(--color-background);border:1px solid var(--color-border-solid);border-radius:var(--radius-md);color:var(--color-text);font-size:.9375rem;cursor:pointer;min-width:180px}.empty-state,.loading-state{text-align:center;padding:6rem 2rem;color:var(--color-text-muted);font-size:1.125rem;background:var(--color-surface);border-radius:var(--radius-xl);border:2px dashed var(--color-border)}@media (max-width:768px){.header-top{flex-direction:column;gap:1.5rem}.marketplace-title{font-size:1.75rem!important}.marketplace-filters{flex-direction:column;align-items:stretch}.search-box{min-width:0}.filter-select{flex:1 1}}.categories-container{width:100%;margin-top:2rem;padding-bottom:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.category-chips{display:flex;gap:.75rem;padding:.25rem;min-width:max-content}.category-chip{padding:.625rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);white-space:nowrap}.category-chip:hover{background:var(--color-surface-hover);border-color:var(--color-text-muted)}.category-chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-primary)}.results-count{margin-top:1.5rem;font-size:.875rem;color:var(--color-text-muted);font-weight:500}.marketplace-back-btn{background:transparent;border:1px solid var(--color-border-solid);padding:.5rem 1rem;color:var(--color-text-muted)}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:var(--space-8);gap:var(--space-8)}@media (min-width:1440px){.products-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:1024px){.products-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:640px){.products-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-4)}}@media (max-width:480px){.products-grid{grid-template-columns:1fr;gap:var(--space-4)}}.product-card{display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;transition:all .4s cubic-bezier(.16,1,.3,1);text-decoration:none;color:inherit;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);animation:fadeInStagger .6s cubic-bezier(.16,1,.3,1) backwards}.product-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg),0 0 15px var(--color-primary-soft);border-color:var(--color-primary)}.product-image-container{position:relative;padding-top:100%;background-color:var(--color-background);overflow:hidden}.product-image-container img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.product-card:hover .product-image-container img{transform:scale(1.03)}.nft-badge{position:absolute;top:1rem;right:1rem;background:var(--color-nft-badge-bg);backdrop-filter:var(--blur-md);-webkit-backdrop-filter:var(--blur-md);color:var(--color-text);padding:.375rem .75rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;box-shadow:var(--shadow-sm);border:1px solid var(--color-nft-badge-border)}.price-badge{position:absolute;bottom:.75rem;left:.75rem;background:rgba(0,0,0,.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;padding:.3rem .65rem;border-radius:var(--radius-pill);font-size:.8rem;font-weight:700;letter-spacing:.02em;box-shadow:0 2px 8px rgba(0,0,0,.3);pointer-events:none}.region-selector-wrapper{position:relative;display:inline-block;margin-top:.5rem}.marketplace-region-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--color-primary);background:var(--color-primary-soft);border:1px solid var(--color-primary);border-radius:var(--radius-pill);padding:.4rem .85rem;cursor:pointer;transition:all .2s ease}.marketplace-region-badge:hover{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-primary)}.region-chevron{transition:transform .2s ease}.marketplace-region-badge:hover .region-chevron{transform:translateY(2px)}.region-dropdown{position:absolute;top:calc(100% + .5rem);left:0;min-width:180px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:100;overflow:hidden;animation:slideUpModal .2s ease}.region-dropdown button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:none;border:none;color:var(--color-text);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s;text-align:left}.region-dropdown button:hover{background:var(--color-surface-hover)}.region-dropdown button.active{background:var(--color-primary-soft);color:var(--color-primary);font-weight:700}.region-dropdown button+button{border-top:1px solid var(--color-border)}.product-info{padding:var(--space-4);background:var(--color-surface)}.product-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.3;min-height:3.25rem}.product-meta{justify-content:space-between;color:var(--color-text-muted);font-size:.9375rem;font-weight:500}.product-likes,.product-meta{display:flex;align-items:center}.product-likes{gap:.375rem}.product-detail-container{max-width:1200px;margin:0 auto;padding:2rem;width:100%;box-sizing:border-box;overflow-x:hidden}@media (max-width:640px){.product-detail-container{padding:1rem}}.breadcrumb{margin-bottom:2rem;color:var(--color-text-muted);font-size:.9375rem;font-weight:500}.breadcrumb a{color:var(--color-primary)}.breadcrumb a:hover{text-decoration:underline}.breadcrumb span{margin:0 .5rem}.detail-layout{display:grid;grid-template-columns:1fr;grid-gap:2rem;gap:2rem}@media (min-width:900px){.detail-layout{grid-template-columns:3fr 2fr;gap:3rem}}.detail-visualizer{background-color:var(--color-background);border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--color-border);position:relative;box-shadow:var(--shadow-md);aspect-ratio:1/1}.visualizer-content{width:100%;height:100%;position:relative;background:var(--gradient-hero)}.visualizer-toggle-wrapper{position:absolute;top:1rem;left:1rem;z-index:10;padding:.25rem}.view-toggle-switch{position:relative;display:inline-flex;background-color:var(--color-surface);border-radius:var(--radius-pill);padding:.25rem;cursor:pointer;box-shadow:inset 0 2px 4px rgba(0,0,0,.05),var(--shadow-sm);align-items:center;border:1px solid var(--color-border);-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch-slider{position:absolute;top:.25rem;bottom:.25rem;left:.25rem;width:calc(50% - .25rem);background-color:var(--color-primary);border-radius:var(--radius-pill);transition:transform .35s cubic-bezier(.25,1,.5,1);box-shadow:0 2px 6px rgba(0,0,0,.25);z-index:1}.switch-slider.is-3d{transform:translateX(100%)}.view-toggle-switch span{position:relative;z-index:2;padding:.35rem 1.2rem;font-size:.85rem;font-weight:600;color:var(--color-text-muted);transition:color .3s ease;text-align:center;flex:1 1}.view-toggle-switch span.active{color:#fff}.detail-info{display:flex;flex-direction:column}.detail-title{font-size:2.5rem;font-weight:700;letter-spacing:-.04em;margin-bottom:.5rem}.detail-creator{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:2rem}.detail-description{font-size:1.0625rem;line-height:1.6;color:var(--color-text);margin-bottom:2.5rem;background:var(--color-surface);padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.fabric-info{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.action-buttons{display:flex;gap:var(--space-4);margin-bottom:var(--space-8)}@media (max-width:640px){.action-buttons{flex-direction:column}}.action-buttons .btn{padding:var(--space-4);font-size:1rem;flex:1 1;display:flex;justify-content:center;align-items:center;gap:var(--space-2)}.nft-details-box{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem}.nft-details-box h3{margin-bottom:1rem;font-size:1.125rem;border-bottom:1px solid var(--color-border);padding-bottom:.5rem}.detail-row{display:flex;justify-content:space-between;gap:.5rem}@media (max-width:640px){.detail-row{flex-direction:column;align-items:flex-start;gap:.25rem}}.detail-row-label{color:var(--color-text-muted)}.detail-row-value{font-weight:500}.detail-row-value.hash{font-size:.8rem;word-break:break-all}.detail-rows{display:flex;flex-direction:column;gap:.75rem}.nft-badge-inline{display:inline-block;margin-bottom:1rem}.region-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeInModal .3s ease-out}.region-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:2.5rem;max-width:450px;width:90%;text-align:center;box-shadow:var(--shadow-xl),0 0 40px rgba(59,130,246,.15);animation:slideUpModal .4s cubic-bezier(.16,1,.3,1)}.region-modal-icon{font-size:3.5rem;margin-bottom:1rem;filter:drop-shadow(0 0 10px rgba(59,130,246,.3))}.region-modal h2{font-size:1.5rem;margin-bottom:.5rem;color:var(--color-text)}.region-modal p{color:var(--color-text-muted);line-height:1.5;margin-bottom:2rem}.region-modal-actions button{width:100%;padding:1rem;font-size:1.1rem;font-weight:600}.region-modal-divider{margin:1.5rem 0;position:relative;color:var(--color-text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.region-modal-divider:after,.region-modal-divider:before{content:"";position:absolute;top:50%;width:30%;height:1px;background:var(--color-border)}.region-modal-divider:before{left:0}.region-modal-divider:after{right:0}.region-modal-options{display:flex;gap:.75rem;justify-content:center}.region-modal-options button{flex:1 1;padding:.75rem .5rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;transition:all .2s;font-weight:600}.region-modal-options button:hover{background:var(--color-surface-hover);border-color:var(--color-primary-soft)}.region-modal-options button.active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}@keyframes slideUpModal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.creator-link{transition:opacity .2s ease,transform .2s ease;display:inline-block}.creator-link:hover{opacity:.8;text-decoration:underline!important}