@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:0.3s;animation-timing-function:ease-in-out}::view-transition-old(root){animation-name:fade-out}::view-transition-new(root){animation-name:fade-in}@keyframes fade-out{from{opacity:1}to{opacity:0}}@keyframes fade-in{from{opacity:0}to{opacity:1}}::view-transition-group(root){animation-duration:0.3s}.search-bar-container{position:fixed;top:0;left:0;right:0;z-index:var(--z-index-fixed);background-color:var(--color-background);transition:transform 0.3s ease-in-out,box-shadow var(--transition-base);will-change:transform}.search-bar-container.search-bar-hidden{transform:translateY(-100%) !important;transition:transform 0.3s ease-in-out;pointer-events:none}.search-bar-input{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);margin:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-surface-variant);border-radius:var(--radius-full);transition:box-shadow var(--transition-base)}.search-bar-shadow{box-shadow:var(--shadow-md)}.search-icon{font-size:var(--font-size-title-medium);color:var(--color-on-surface-variant);flex-shrink:0}.search-input{flex:1;border:none;background:transparent;font-size:var(--font-size-body-large);color:var(--color-on-surface);font-family:var(--font-family-base);outline:none;min-width:0}.search-input::placeholder{color:var(--color-on-surface-variant)}.search-input:focus{outline:none}.search-clear-btn{background:none;border:none;font-size:var(--font-size-title-small);color:var(--color-on-surface-variant);cursor:pointer;padding:var(--spacing-xs);border-radius:50%;transition:background-color var(--transition-fast);flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.search-clear-btn:hover{background-color:var(--color-surface-variant)}.search-clear-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.search-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:var(--z-index-modal-backdrop);cursor:pointer;animation:fadeIn 0.3s ease-in-out}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.search-results-overlay{position:fixed;top:72px;left:var(--spacing-lg);right:var(--spacing-lg);max-width:calc(1200px - 32px);margin:0 auto;background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:400px;overflow-y:auto;z-index:var(--z-index-modal);animation:slideDown 0.3s ease-in-out}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-result-item{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-outline-variant);cursor:pointer;transition:background-color var(--transition-fast)}.search-result-item:hover{background-color:var(--color-surface-variant)}.search-result-item:last-child{border-bottom:none}.search-result-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.search-result-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.search-result-title{font-size:var(--font-size-body-large);font-weight:var(--font-weight-medium);color:var(--color-on-surface);margin:0}.search-result-price{font-size:var(--font-size-body-medium);color:var(--color-primary);margin:0}.search-loading,.search-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-on-surface-variant)}.search-loading p,.search-empty p{margin:0;font-size:var(--font-size-body-large)}@media (max-width:767px){.search-bar-input{margin:var(--spacing-xs) var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.search-results-overlay{left:var(--spacing-md);right:var(--spacing-md);max-width:calc(100% - 32px)}.search-result-item{padding:var(--spacing-sm) var(--spacing-md)}}@media (min-width:768px){.search-bar-container{position:static;flex:1;max-width:600px;z-index:auto;background-color:transparent;transform:none !important}.search-bar-input{margin:0;padding:var(--spacing-sm) var(--spacing-md)}.search-bar-container.search-bar-hidden{display:flex;visibility:hidden;pointer-events:none}}.search-results-overlay::-webkit-scrollbar{width:8px}.search-results-overlay::-webkit-scrollbar-track{background:var(--color-surface-variant);border-radius:var(--radius-sm)}.search-results-overlay::-webkit-scrollbar-thumb{background:var(--color-outline);border-radius:var(--radius-sm)}.search-results-overlay::-webkit-scrollbar-thumb:hover{background:var(--color-outline-variant)}.search-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media print{.search-bar-container,.search-backdrop,.search-results-overlay{display:none}}.product-list-container{padding:20px}.categories-container{display:flex;flex-direction:column;gap:40px}.category-section{display:flex;flex-direction:column;gap:16px}.category-title{font-size:24px;font-weight:600;margin:0}.products-row{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.products-row::-webkit-scrollbar{height:8px}.products-row::-webkit-scrollbar-thumb{background:var(--color-outline);border-radius:4px}.product-card{background-color:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);transition:all var(--transition-base);cursor:pointer;display:flex;flex-direction:column;height:100%;min-width:280px;flex-shrink:0;scroll-snap-align:start}.product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.product-image-container{width:100%;height:200px;overflow:hidden;background-color:var(--color-surface-variant);position:relative;border-radius:8px}.product-image{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow);border-radius:8px}.product-card:hover .product-image{transform:scale(1.05)}.product-info{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.product-category{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-secondary-container);color:var(--color-on-secondary-container);border-radius:var(--radius-xs);font-size:var(--font-size-label-small);font-weight:var(--font-weight-medium);letter-spacing:0.5px;text-transform:uppercase;width:fit-content}.product-name{font-size:var(--font-size-title-medium);font-weight:var(--font-weight-semibold);color:var(--color-on-surface);line-height:var(--line-height-normal);margin:var(--spacing-xs) 0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.product-price{font-size:var(--font-size-title-large);font-weight:var(--font-weight-bold);color:var(--color-primary);margin-top:auto}.loading-view,.error-view{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:16px}.error-message{color:var(--color-error);font-weight:500}@media (min-width:769px) and (max-width:1024px){.product-card{min-width:220px}.product-image-container{height:180px}}@media (max-width:768px){.product-list-container{padding:12px}.categories-container{gap:24px}.category-title{font-size:20px;padding:0 4px;margin-bottom:16px}.products-row-wrapper{position:relative}.products-row{gap:12px;padding:0 4px;scrollbar-width:none;-ms-overflow-style:none}.products-row::-webkit-scrollbar{display:none}.show-left-shadow::before{content:'';position:absolute;left:0;top:0;bottom:0;width:60px;background:linear-gradient(to left,transparent,var(--color-background));pointer-events:none;z-index:1}.show-right-shadow::after{content:'';position:absolute;right:0;top:0;bottom:0;width:60px;background:linear-gradient(to right,transparent,var(--color-background));pointer-events:none;z-index:1}.product-card{min-width:160px;max-width:160px}.product-image-container{height:160px}.product-info{padding:var(--spacing-sm)}.product-name{font-size:var(--font-size-body-large)}.product-price{font-size:var(--font-size-title-medium)}}@media (max-width:480px){.product-list-container{padding:8px}.category-title{font-size:18px}.product-card{min-width:140px;max-width:140px}.product-image-container{height:140px}.show-left-shadow::before,.show-right-shadow::after{width:40px}}