*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #1a4d7a;--color-secondary: #6b6b6b;--color-accent: #4997D0;--color-bg: #ffffff;--color-bg-secondary: #f8f8f8;--color-border: #e0e0e0;--color-text: #2c2c2c;--color-text-light: #6b6b6b;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;color:var(--color-text);background:var(--color-bg)}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:#fff;color:var(--color-primary);padding:var(--spacing-sm) 0;box-shadow:0 2px 8px #0000001a;border-bottom:3px solid var(--color-primary);position:fixed;top:0;left:0;right:0;z-index:100}.header-container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.logo{display:flex;align-items:center;gap:var(--spacing-md)}.logo-image{height:50px;width:auto;object-fit:contain}.logo-text{display:flex;flex-direction:column}.logo .location{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--color-primary);font-weight:600;text-transform:uppercase;letter-spacing:1px}.flag-icon{width:28px;height:20px;border:1px solid var(--color-border);border-radius:2px}.nav{display:flex;gap:var(--spacing-lg)}.nav-link{color:var(--color-primary);text-decoration:none;font-size:.9375rem;font-weight:500;transition:color .3s ease;position:relative;padding-bottom:.5rem}.nav-link:hover,.nav-link.active{color:var(--color-accent)}.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--color-accent)}.container{max-width:1400px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg);flex:1}@media (min-width: 769px){.container{padding-top:calc(80px + var(--spacing-xl))}}.content-wrapper{display:grid;grid-template-columns:280px 1fr;gap:var(--spacing-xl);position:relative}.sidebar{position:fixed;top:100px;left:0;width:280px;padding-left:var(--spacing-lg);height:calc(100vh - 180px);overflow-y:auto;padding-bottom:var(--spacing-lg)}@media (max-width: 1024px){.sidebar{position:static;width:100%;height:auto;padding-left:0;padding-bottom:0;margin-bottom:var(--spacing-lg)}.main-content{margin-left:0;padding-left:0}}.filter-section{margin-bottom:var(--spacing-xl)}.filter-title{font-size:1.125rem;font-weight:600;margin-bottom:var(--spacing-md);color:var(--color-primary);text-transform:uppercase;letter-spacing:1px;font-size:.875rem}.filter-options{display:flex;flex-direction:column;gap:var(--spacing-sm)}.filter-option{display:flex;align-items:center;cursor:pointer;transition:background .2s ease;padding:var(--spacing-xs);border-radius:4px}.filter-option:hover{background:var(--color-bg-secondary)}.filter-option input[type=radio]{width:18px;height:18px;margin-right:var(--spacing-sm);accent-color:var(--color-accent);cursor:pointer}.filter-label{font-size:.9375rem;color:var(--color-text);cursor:pointer}.main-content{min-height:400px}@media (min-width: 1025px){.main-content{margin-left:280px;padding-left:var(--spacing-xl)}}.loading,.empty-state{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.125rem;color:var(--color-text-light)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}.product-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.product-image-wrapper{width:100%;height:280px;overflow:hidden;background:var(--color-bg-secondary);position:relative;cursor:zoom-in}.product-image{width:100%;height:100%;object-fit:contain;transition:transform .5s ease}.product-card:hover .product-image{transform:scale(1.05)}.zoom-icon{position:absolute;bottom:var(--spacing-sm);right:var(--spacing-sm);background:#ffffffe6;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;opacity:0;transition:opacity .3s ease;pointer-events:none;box-shadow:0 2px 8px #00000026}.product-card:hover .zoom-icon{opacity:1}.product-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);color:var(--color-text-light)}.product-info{padding:var(--spacing-md)}.product-title{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-xs);color:var(--color-primary)}.product-line{display:inline-block;font-size:.75rem;background:var(--color-accent);color:#fff;padding:.25rem .625rem;border-radius:12px;margin-right:var(--spacing-xs);margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px}.product-discipline{display:inline-block;font-size:.75rem;background:var(--color-bg-secondary);color:var(--color-text);padding:.25rem .625rem;border-radius:12px;margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px}.product-price{font-size:1.5rem;font-weight:700;color:var(--color-primary);margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.product-details{display:flex;flex-direction:column;gap:.375rem;margin-top:var(--spacing-sm)}.detail-text{font-size:.875rem;color:var(--color-text);line-height:1.4}.product-link{display:inline-block;background:var(--color-primary);color:#fff;text-decoration:none;padding:.625rem 1.25rem;border-radius:4px;font-size:.875rem;font-weight:500;transition:background .3s ease,transform .2s ease;text-transform:uppercase;letter-spacing:.5px}.product-link:hover{background:var(--color-accent);transform:translateY(-2px)}@media (max-width: 1024px){.content-wrapper{grid-template-columns:1fr}.filter-section{margin-bottom:var(--spacing-md)}.sidebar{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}}@media (max-width: 768px){.header{position:relative}.header-container{flex-direction:column;gap:var(--spacing-sm);text-align:center;padding:0 var(--spacing-md)}.logo{flex-direction:column;gap:var(--spacing-xs)}.logo-image{height:40px}.logo .location{font-size:.875rem}.flag-icon{width:24px;height:18px}.nav{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:center}.nav-link{font-size:.875rem;padding-bottom:.25rem}.container{padding:var(--spacing-md)}.content-wrapper{display:flex;flex-direction:column}.main-content{margin-left:0;padding-left:0;width:100%}.product-grid,.sidebar{grid-template-columns:1fr;gap:var(--spacing-md)}.product-image-wrapper{height:240px}.product-info{padding:var(--spacing-sm)}.product-title{font-size:1.125rem}.product-price{font-size:1.25rem}}.footer{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--spacing-sm) 0;margin-top:auto}.footer-container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-md)}.footer-content{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-lg);justify-content:center}.footer-logo{height:70px;width:auto;object-fit:contain;flex-shrink:0}.footer-text{font-size:.875rem;color:var(--color-text);line-height:1.5;margin:0}.footer-text strong{color:var(--color-primary);font-weight:600}@media (max-width: 768px){.footer{padding:var(--spacing-xs) 0}.footer-content{flex-direction:column;gap:var(--spacing-xs)}.footer-logo{height:50px}.footer-text{font-size:.8125rem;text-align:center}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{position:relative;max-width:90vw;max-height:90vh;animation:zoomIn .3s ease}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-image{width:auto;height:auto;max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #00000080}.modal-close{position:absolute;top:-40px;right:0;background:#fff;border:none;width:36px;height:36px;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s ease,transform .2s ease;box-shadow:0 2px 8px #0000004d;color:var(--color-text)}.modal-close:hover{background:var(--color-accent);color:#fff;transform:rotate(90deg)}@media (max-width: 768px){.modal-close{top:var(--spacing-sm);right:var(--spacing-sm)}.modal-image{max-width:95vw;max-height:85vh}}
