:root{--void:#09090b;--surface:#18181b;--surface-2:#1f1f23;--off:#fafafa;--link:#2563eb;--link-soft:rgba(37,99,235,.16);--link-line:rgba(37,99,235,.45);--ink:#050505;--iron:#2a2a2e;--slate:#3a3a3f;--ash:#6b6b70;--smoke:#98989d;--silver:#c4c4c8;--bone:#e7e5e0;--pure:#fff;--line-dark:hsla(0,0%,100%,.1);--line-mid:hsla(0,0%,100%,.18);--overlay-soft:hsla(0,0%,100%,.05);--overlay:hsla(0,0%,100%,.08);--overlay-strong:hsla(0,0%,100%,.18);--hairline:hsla(0,0%,100%,.1);--brand-primary:#2563eb;--brand-primary-light:#60a5fa;--brand-primary-dark:#1d4ed8;--brand-secondary:#60a5fa;--surface-bg:#09090b;--surface-card:#18181b;--surface-card-hover:#1f1f23;--surface-elevated:#1f1f23;--surface-glass:hsla(0,0%,100%,.03);--surface-glass-border:hsla(0,0%,100%,.1);--input-bg:#0e0e11;--text-primary:#fafafa;--text-secondary:#98989d;--text-muted:#6b6b70;--text-inverse:#050505;--success:#00d68f;--warning:#ffb347;--error:#ff6b6b;--info:#4ecdc4;--ok:var(--success);--warn:var(--warning);--err:var(--error);--ok-bg:rgba(0,214,143,.12);--warn-bg:rgba(255,179,71,.12);--err-bg:hsla(0,100%,71%,.12);--ok-line:rgba(0,214,143,.3);--warn-line:rgba(255,179,71,.3);--err-line:hsla(0,100%,71%,.3);--t-large-title:34px;--t-title1:28px;--t-title2:22px;--t-title3:20px;--t-headline:17px;--t-body:17px;--t-callout:16px;--t-subhead:15px;--t-footnote:13px;--t-caption:12px;--grouped-bg:var(--void);--grouped-cell:var(--surface);--separator:hsla(0,0%,100%,.1);--material-thick:rgba(24,24,27,.85);--material-regular:rgba(24,24,27,.72);--blur-material:saturate(180%) blur(20px);--touch:44px;--tabbar-h:49px;--sab:env(safe-area-inset-bottom,0px);--sat:env(safe-area-inset-top,0px);--spring:cubic-bezier(0.32,0.72,0,1);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--r-card:12px;--r-ctl:8px;--radius-sm:8px;--radius-md:12px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 2px 8px rgba(0,0,0,.3);--shadow-md:0 4px 16px rgba(0,0,0,.4);--shadow-lg:0 8px 32px rgba(0,0,0,.5);--shadow-glow:0 0 20px rgba(37,99,235,.12);--ease:cubic-bezier(.2,.7,.2,1);--ease-smooth:cubic-bezier(0.4,0,0.2,1);--duration-fast:150ms;--duration-normal:250ms;--duration-slow:400ms;--f-display:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--f-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--f-mono:ui-monospace,"SF Mono",Menlo,Monaco,"Cascadia Mono",monospace;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem}[data-theme=dark]{--void:#09090b;--surface:#18181b;--surface-2:#1f1f23;--off:#fafafa;--ink:#050505;--iron:#2a2a2e;--slate:#3a3a3f;--ash:#6b6b70;--smoke:#98989d;--silver:#c4c4c8;--bone:#e7e5e0;--pure:#fff;--line-dark:hsla(0,0%,100%,.1);--line-mid:hsla(0,0%,100%,.18);--overlay-soft:hsla(0,0%,100%,.05);--overlay:hsla(0,0%,100%,.08);--overlay-strong:hsla(0,0%,100%,.18);--hairline:hsla(0,0%,100%,.1);--surface-bg:#09090b;--surface-card:#18181b;--surface-card-hover:#1f1f23;--surface-elevated:#1f1f23;--surface-glass:hsla(0,0%,100%,.03);--surface-glass-border:hsla(0,0%,100%,.1);--input-bg:#0e0e11;--text-primary:#fafafa;--text-secondary:#98989d;--text-muted:#6b6b70;--text-inverse:#050505;--separator:hsla(0,0%,100%,.1);--grouped-cell:var(--surface);--material-thick:rgba(24,24,27,.85);--material-regular:rgba(24,24,27,.72)}[data-theme=light]{--void:#f4f4f6;--surface:#fff;--surface-2:#f5f5f7;--off:#1d1d1f;--link:#2563eb;--link-soft:rgba(37,99,235,.12);--link-line:rgba(37,99,235,.45);--ink:#fff;--iron:#d9d9de;--slate:#9a9aa0;--ash:#8a8a8f;--smoke:#6e6e73;--silver:#48484c;--bone:#2a2a2e;--pure:#050505;--line-dark:rgba(0,0,0,.1);--line-mid:rgba(0,0,0,.16);--overlay-soft:rgba(0,0,0,.04);--overlay:rgba(0,0,0,.06);--overlay-strong:rgba(0,0,0,.14);--hairline:rgba(0,0,0,.1);--surface-bg:#f4f4f6;--surface-card:#fff;--surface-card-hover:#f5f5f7;--surface-elevated:#fff;--surface-glass:rgba(0,0,0,.03);--surface-glass-border:rgba(0,0,0,.1);--input-bg:#fff;--text-primary:#1d1d1f;--text-secondary:#6e6e73;--text-muted:#8a8a8f;--text-inverse:#fafafa;--shadow-sm:0 2px 8px rgba(0,0,0,.08);--shadow-md:0 4px 16px rgba(0,0,0,.1);--shadow-lg:0 8px 32px rgba(0,0,0,.12);--grouped-cell:var(--surface);--separator:rgba(60,60,67,.29);--material-thick:hsla(0,0%,98%,.85);--material-regular:hsla(0,0%,98%,.72)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--f-sans);font-size:var(--font-size-base);color:var(--off);background:var(--void);line-height:1.6;min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;letter-spacing:-.011em}a{color:var(--brand-primary-light);text-decoration:none;transition:color var(--duration-fast) var(--ease-smooth)}a:hover{color:var(--brand-primary)}img{max-width:100%;display:block}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font-family:inherit;font-size:inherit}.glass{background:var(--surface-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--surface-glass-border)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-md)}@media (min-width:768px){.container{padding:0 var(--space-xl)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:500;letter-spacing:-.005em;border-radius:999px;padding:12px 22px;transition:transform .15s var(--ease),background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease),opacity .15s var(--ease),box-shadow .15s var(--ease);white-space:nowrap;cursor:pointer;border:none;font-family:inherit}.btn:active{transform:scale(.98)}.btn-primary{background:var(--pure);color:var(--ink)}.btn-primary:hover{background:var(--bone)}.btn-primary:disabled{opacity:.4;cursor:default}.btn-secondary{background:var(--surface-card);color:var(--text-primary);border:1px solid var(--surface-glass-border)}.btn-secondary:hover{background:var(--surface-card-hover);border-color:var(--link-line)}.btn-ghost{border:1px solid var(--line-mid);color:var(--silver);background:transparent}.btn-ghost:hover{border-color:var(--line-mid);color:var(--off)}.btn-accent{background:var(--link);color:#fff}.btn-accent:hover{filter:brightness(1.08)}.btn-whatsapp{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;box-shadow:0 4px 12px rgba(37,211,102,.3)}.btn-whatsapp:hover{box-shadow:0 6px 20px rgba(37,211,102,.4)}.btn-icon{width:38px;height:38px;border-radius:999px;border:1px solid var(--line-mid);display:inline-flex;align-items:center;justify-content:center;color:var(--smoke);transition:border-color .15s var(--ease),color .15s var(--ease);flex:none;cursor:pointer;background:transparent;font-family:inherit}.btn-icon:hover{border-color:var(--line-mid);color:var(--off)}.link-btn{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:500;color:var(--smoke);transition:color .15s var(--ease);background:none;border:none;cursor:pointer;font-family:inherit}.link-btn:hover{color:var(--off)}.link-btn.accent{color:var(--link)}.link-btn.accent:hover{filter:brightness(1.15)}.btn-block{width:100%}.btn-sm{padding:9px 16px;font-size:13px}.btn-lg{padding:var(--space-lg) var(--space-xl);font-size:var(--font-size-lg)}.card{background:var(--surface);border-radius:var(--r-card);border:1px solid var(--line-dark);overflow:hidden;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.card:hover{border-color:var(--line-mid);box-shadow:var(--shadow-glow)}.card-body{padding:var(--space-md)}@media (min-width:768px){.card-body{padding:var(--space-lg)}}.card-image{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--surface-2)}.input-group{display:flex;flex-direction:column;gap:var(--space-xs)}.input-label{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--smoke)}.input,.textarea{background:var(--input-bg);border:1px solid var(--line-dark);border-radius:var(--r-ctl);padding:12px 14px;font-size:14.5px;letter-spacing:-.005em;color:var(--off);outline:none;transition:border-color .15s var(--ease),box-shadow .15s var(--ease);width:100%;font-family:inherit}.input:focus,.textarea:focus{border-color:var(--link-line);box-shadow:0 0 0 3px var(--link-soft)}.input::placeholder,.textarea::placeholder{color:var(--slate)}.input.mono{font-family:var(--f-mono);font-size:13.5px}.textarea{resize:vertical;min-height:88px;line-height:1.5}.badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-success{background:rgba(0,214,143,.1);color:var(--success)}.badge-warning{background:rgba(255,179,71,.1);color:var(--warning)}.badge-error{background:hsla(0,100%,71%,.1);color:var(--error)}.badge-info{background:rgba(108,92,231,.1);color:var(--brand-primary-light)}.page-header{padding:var(--space-xl) 0 var(--space-lg)}.page-title{font-family:var(--f-display);font-weight:450;font-size:42px;line-height:1;letter-spacing:-.035em;color:var(--off)}@media (max-width:920px){.page-title{font-size:32px}}.page-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);margin-top:var(--space-sm)}.grid{display:grid;grid-gap:var(--space-md);gap:var(--space-md)}.grid-2{grid-template-columns:repeat(2,1fr)}@media (min-width:768px){.grid{gap:var(--space-lg)}.grid-desktop-2{grid-template-columns:repeat(2,1fr)}.grid-desktop-3{grid-template-columns:repeat(3,1fr)}.grid-desktop-4{grid-template-columns:repeat(4,1fr)}}.stack{display:flex;flex-direction:column}.stack-sm{gap:var(--space-sm)}.stack-md{gap:var(--space-md)}.stack-lg{gap:var(--space-lg)}.stack-xl{gap:var(--space-xl)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl) var(--space-lg);text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-md);opacity:.5}.empty-state-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-sm)}.empty-state-text{font-size:var(--font-size-sm);color:var(--text-muted)}.loading-spinner{display:inline-block;width:24px;height:24px;border:3px solid var(--surface-glass-border);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .8s linear infinite}.loading-page{display:flex;align-items:center;justify-content:center;min-height:60vh}@keyframes spin{to{transform:rotate(1turn)}}.error-banner{background:hsla(0,100%,71%,.1);border:1px solid hsla(0,100%,71%,.2);border-radius:var(--radius-md);color:var(--error)}.error-banner,.success-banner{padding:var(--space-md);font-size:var(--font-size-sm)}.success-banner{background:rgba(0,214,143,.1);border:1px solid rgba(0,214,143,.2);border-radius:var(--radius-md);color:var(--success)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-smooth)}.animate-slide-up{animation:slideUp var(--duration-slow) var(--ease-smooth)}.stagger-children>*{animation:fadeIn var(--duration-normal) var(--ease-smooth) both}.stagger-children>:first-child{animation-delay:0ms}.stagger-children>:nth-child(2){animation-delay:50ms}.stagger-children>:nth-child(3){animation-delay:.1s}.stagger-children>:nth-child(4){animation-delay:.15s}.stagger-children>:nth-child(5){animation-delay:.2s}.stagger-children>:nth-child(6){animation-delay:.25s}.stagger-children>:nth-child(7){animation-delay:.3s}.stagger-children>:nth-child(8){animation-delay:.35s}.quantity-control{display:flex;align-items:center;gap:var(--space-sm);background:var(--surface-elevated);border-radius:var(--radius-md);padding:var(--space-xs)}.quantity-btn{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary);transition:background var(--duration-fast) var(--ease-smooth)}.quantity-btn:hover{background:var(--surface-card-hover)}.quantity-value{min-width:32px;text-align:center;font-weight:600}.tenant-header{padding:calc(var(--space-md) + var(--sat)) 0 var(--space-md);border-bottom:1px solid var(--separator);position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--material-thick);backdrop-filter:var(--blur-material);-webkit-backdrop-filter:var(--blur-material)}.tenant-header-inner{display:flex;align-items:center;justify-content:space-between}.tenant-logo{display:flex;align-items:center;gap:var(--space-sm)}.tenant-logo-img{width:36px;height:36px;border-radius:var(--radius-sm);object-fit:cover}.tenant-name{font-size:16.5px;font-weight:500;letter-spacing:-.01em;color:var(--off);display:block}.tenant-nav{display:flex;gap:var(--space-xs)}.tenant-nav-link{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);transition:all var(--duration-fast) var(--ease-smooth)}.tenant-nav-link.active,.tenant-nav-link:hover{color:var(--text-primary);background:var(--surface-glass)}.cart-badge{position:relative}.cart-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:var(--radius-full);background:var(--brand-primary);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}.tenant-footer{padding:var(--space-xl) 0;margin-top:var(--space-3xl);border-top:1px solid var(--surface-glass-border);text-align:center;color:var(--text-muted);font-size:var(--font-size-xs)}.slot-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-sm);gap:var(--space-sm)}@media (min-width:768px){.slot-grid{grid-template-columns:repeat(3,1fr)}}.slot-card{padding:var(--space-md);background:var(--surface-card);border:2px solid var(--surface-glass-border);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth)}.slot-card:hover{border-color:var(--brand-primary);background:var(--surface-card-hover)}.slot-card.selected{border-color:var(--brand-primary);background:rgba(108,92,231,.1)}.slot-card.unavailable{opacity:.4;pointer-events:none}.slot-date{font-size:var(--font-size-sm);color:var(--text-secondary)}.slot-time{font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary);margin-top:var(--space-xs)}.checkout-summary{padding:var(--space-lg);background:var(--surface-card);border-radius:var(--radius-lg);border:1px solid var(--surface-glass-border)}.checkout-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--surface-glass-border)}.checkout-item:last-child{border-bottom:none}.checkout-total{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-md);margin-top:var(--space-md);border-top:2px solid var(--brand-primary);font-size:var(--font-size-xl);font-weight:700}.payment-info{padding:var(--space-lg);background:var(--surface-elevated);border-radius:var(--radius-lg);border:1px solid var(--surface-glass-border);white-space:pre-line;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.8}.product-image-fallback{background:linear-gradient(135deg,var(--surface-elevated),var(--surface-card))}.variant-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.variant-chip{padding:var(--space-sm) var(--space-md);border:2px solid var(--surface-glass-border);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth)}.variant-chip:hover{border-color:var(--brand-primary);color:var(--text-primary)}.variant-chip.selected{border-color:var(--brand-primary);background:rgba(108,92,231,.1);color:var(--brand-primary-light)}.variant-chip.out-of-stock{opacity:.4;pointer-events:none;text-decoration:line-through}.floating-cart-btn{position:fixed;bottom:calc(var(--space-xl) + var(--sab));right:var(--space-xl);width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-dark));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(108,92,231,.4);z-index:200;transition:all var(--duration-normal) var(--ease-smooth);animation:slideUp var(--duration-slow) var(--ease-smooth)}.floating-cart-btn:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(108,92,231,.5)}.floating-cart-btn:active{transform:scale(.95)}.floating-cart-icon{font-size:1.5rem}.floating-cart-count{position:absolute;top:-2px;right:-2px;min-width:22px;height:22px;border-radius:var(--radius-full);background:var(--error);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px;animation:pulse .3s var(--ease-smooth)}@keyframes pulse{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.quick-add-btn{width:40px;height:40px;min-width:40px;border-radius:50%;background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-dark));color:#fff;font-size:var(--font-size-lg);font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(108,92,231,.3);transition:all var(--duration-fast) var(--ease-smooth);flex-shrink:0}.quick-add-btn:hover{transform:scale(1.15);box-shadow:0 4px 14px rgba(108,92,231,.4)}.quick-add-btn:active{transform:scale(.9)}.quick-add-btn.added{background:linear-gradient(135deg,#25d366,#128c7e);box-shadow:0 2px 8px rgba(37,211,102,.3);animation:pulse .3s var(--ease-smooth)}.marketplace-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.marketplace-hero{padding:var(--space-3xl) 0 var(--space-2xl);text-align:center;position:relative;overflow:hidden}.marketplace-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0,rgba(108,92,231,.15) 0,transparent 70%);pointer-events:none}.marketplace-hero-content{position:relative;z-index:1}.marketplace-hero-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;letter-spacing:-.04em;margin-bottom:var(--space-md);line-height:1.1}.marketplace-brand-gradient{background:linear-gradient(135deg,#2563eb,#60a5fa 50%,#2563eb);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 6s ease infinite}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.marketplace-hero-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);max-width:400px;margin:0 auto;line-height:1.5}.marketplace-section{margin-top:var(--space-2xl)}.marketplace-section-title{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--space-lg);color:var(--text-primary)}.marketplace-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.marketplace-card{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--surface-glass-border);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:inherit;transition:all var(--duration-normal) var(--ease-smooth);position:relative}.marketplace-card:hover{transform:translateY(-4px);border-color:var(--card-accent,var(--brand-primary));box-shadow:0 8px 30px rgba(0,0,0,.4),0 0 0 1px var(--card-accent,var(--brand-primary))}.marketplace-card-featured{border-color:rgba(108,92,231,.3);box-shadow:0 0 20px rgba(108,92,231,.08)}.marketplace-card-featured:hover{box-shadow:0 8px 30px rgba(108,92,231,.15),0 0 0 1px var(--card-accent,var(--brand-primary))}.marketplace-card-header{position:relative;padding:var(--space-lg) var(--space-lg) 0;display:flex;align-items:center;gap:var(--space-md)}.marketplace-card-logo{object-fit:cover}.marketplace-card-logo,.marketplace-card-logo-placeholder{width:56px;height:56px;border-radius:var(--radius-md);flex-shrink:0}.marketplace-card-logo-placeholder{display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);font-weight:800;color:#fff}.marketplace-card-badge{position:absolute;top:var(--space-md);right:var(--space-md);background:rgba(108,92,231,.15);color:var(--brand-primary-light);font-size:var(--font-size-xs);font-weight:600;padding:2px var(--space-sm);border-radius:var(--radius-full);border:1px solid rgba(108,92,231,.2)}.marketplace-card-body{padding:var(--space-md) var(--space-lg);flex:1 1}.marketplace-card-name{font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xs)}.marketplace-card-desc{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.marketplace-card-modules{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-sm)}.marketplace-card-module-tag{font-size:var(--font-size-xs);color:var(--text-muted);background:var(--surface-elevated);padding:2px var(--space-sm);border-radius:var(--radius-sm)}.marketplace-card-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--surface-glass-border)}.marketplace-card-cta{font-size:var(--font-size-sm);font-weight:600;color:var(--card-accent,var(--brand-primary-light));transition:opacity var(--duration-fast) var(--ease-smooth)}.marketplace-card:hover .marketplace-card-cta{opacity:.8}.marketplace-footer{margin-top:auto;padding:var(--space-xl) 0;border-top:1px solid var(--surface-glass-border)}@media (max-width:640px){.marketplace-grid{grid-template-columns:1fr}.marketplace-hero{padding:var(--space-2xl) 0 var(--space-xl)}}.product-image-container{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--surface-elevated)}.product-image-container img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-normal) var(--ease-smooth)}.card:hover .product-image-container img{transform:scale(1.03)}.product-image-fallback{width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:var(--surface-elevated);font-size:3rem;color:var(--text-muted);border-bottom:1px solid var(--surface-glass-border)}.product-image-fallback--detail{border-radius:var(--radius-lg)}