*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto Mono,monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}body,input,textarea,button,select,*{font-family:Roboto Mono,monospace}.product-grid-container{padding:2rem;max-width:1200px;margin:0 auto}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4rem 3rem;margin-bottom:2rem}.product-card{cursor:pointer;transition:transform .3s ease;background:transparent}.product-image{width:100%;height:auto;object-fit:contain;display:block;margin-bottom:1rem}.product-card-info{text-align:center;padding:0 .5rem}.product-title{font-size:1.2rem;font-weight:600;margin-bottom:.5rem;color:#333}.product-price{font-size:1.1rem;font-weight:700;color:#2c5aa0}.variant-selector,.quantity-selector{margin-bottom:1rem}.variant-selector label,.quantity-selector label{display:block;margin-bottom:.5rem;font-weight:500}.variant-selector select,.quantity-selector input{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.add-to-cart-btn{width:100%;background:#2c5aa0;color:#fff;border:none;padding:.75rem;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.add-to-cart-btn:hover:not(:disabled){background:#1e3d6f}.add-to-cart-btn:disabled{background:#ccc;cursor:not-allowed}.out-of-stock{color:#f44;font-weight:500;margin-top:.5rem}.cart-toggle{position:fixed;top:90px;right:20px;background:#2c5aa0;color:#fff;border:none;padding:.75rem 1rem;border-radius:25px;font-size:1rem;cursor:pointer;z-index:1000;box-shadow:0 2px 10px #0000001a}.cart-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1001;display:flex;align-items:center;justify-content:flex-end}.cart-sidebar{background:#fff;height:100vh;width:400px;max-width:90vw;overflow-y:auto;box-shadow:-2px 0 10px #0000001a}.cart-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #eee}.cart-header h2{margin:0;color:#333}.cart-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999}.cart-content{padding:1rem}.cart-items{margin-bottom:2rem}.cart-item{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid #eee}.cart-item-image{width:60px;height:60px;object-fit:cover;border-radius:4px}.cart-item-details{flex:1}.cart-item-details h4{margin:0 0 .5rem;font-size:.9rem}.cart-item-details p{margin:0 0 .5rem;font-size:.8rem;color:#666}.cart-item-price{font-weight:600;color:#2c5aa0}.cart-item-controls{display:flex;flex-direction:column;gap:.5rem}.quantity-controls{display:flex;align-items:center;gap:.5rem}.quantity-controls button{background:#f0f0f0;border:none;width:25px;height:25px;border-radius:50%;cursor:pointer;font-size:.9rem}.remove-item{background:#f44;color:#fff;border:none;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;cursor:pointer}.discount-section{margin-bottom:2rem;padding:1rem;background:#f9f9f9;border-radius:4px}.discount-input{display:flex;gap:.5rem;margin-bottom:.5rem}.discount-input input{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px}.discount-input button{background:#2c5aa0;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.discount-applied{color:#28a745;font-size:.9rem;font-weight:500}.cart-summary{border-top:1px solid #eee;padding-top:1rem}.cart-total{margin-bottom:1rem}.subtotal,.tax,.total{display:flex;justify-content:space-between;margin-bottom:.5rem}.total{font-weight:700;font-size:1.1rem;border-top:1px solid #eee;padding-top:.5rem}.checkout-btn{width:100%;background:#28a745;color:#fff;border:none;padding:1rem;border-radius:4px;font-size:1.1rem;font-weight:600;cursor:pointer}.checkout-btn:hover:not(:disabled){background:#218838}.empty-cart{text-align:center;color:#666;padding:2rem}.loading-spinner{text-align:center;padding:2rem;color:#666}.error-message{text-align:center;padding:2rem;color:#f44}.error-message button{background:#f44;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;margin-top:1rem}.load-more-container{text-align:center;margin-top:2rem}.load-more-btn{background:#2c5aa0;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer}.no-products{text-align:center;color:#666;padding:2rem}@media (max-width: 768px){.product-grid-container{padding:1rem}.product-grid{grid-template-columns:1fr;gap:3rem 2rem}.cart-sidebar{width:100%}.cart-item{flex-direction:column}.cart-item-controls{flex-direction:row;justify-content:space-between;align-items:center}}@media (max-width: 480px){.product-grid{gap:2rem 1rem}}*{font-family:Roboto Mono,monospace}.navbar{background:#fff;border-bottom:2px solid #e0e0e0;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #0000001a}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;height:70px}.nav-logo{display:flex;align-items:center;text-decoration:none;gap:.75rem}.logo-image{height:40px;width:auto}.logo-text{font-size:1.5rem;font-weight:700;color:#2c5aa0}.nav-menu{display:flex;list-style:none;margin:0;padding:0;gap:2rem}.nav-item{margin:0}.nav-link{text-decoration:none;color:#333;font-weight:500;font-size:1rem;padding:.5rem 1rem;border-radius:4px;transition:all .3s ease}.nav-link:hover{background:#f0f0f0;color:#2c5aa0}.nav-link.active{background:#2c5aa0;color:#fff}.page-header{text-align:center;padding:3rem 2rem 2rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);margin-bottom:2rem}.page-header h1{font-size:2.5rem;color:#2c5aa0;margin-bottom:1rem;font-weight:700}.page-header p{font-size:1.1rem;color:#666;max-width:600px;margin:0 auto}.home-page{min-height:100vh}.hero-section{background:linear-gradient(135deg,#2c5aa0,#1e3d6f);color:#fff;padding:4rem 2rem;text-align:center}.hero-content{max-width:800px;margin:0 auto}.hero-title{font-size:3rem;font-weight:700;margin-bottom:1.5rem}.hero-description{font-size:1.2rem;line-height:1.6;opacity:.9}.home-info{padding:4rem 2rem;background:#f8f9fa}.info-section{max-width:1200px;margin:0 auto;text-align:center}.info-section h2{font-size:2.2rem;color:#2c5aa0;margin-bottom:3rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.feature{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;transition:transform .3s ease}.feature:hover{transform:translateY(-5px)}.feature h3{color:#2c5aa0;margin-bottom:1rem;font-size:1.3rem}.feature p{color:#666;line-height:1.6}.product-gallery{padding:2rem 0;width:100%}.gallery-container{display:flex;flex-direction:column;align-items:center;gap:3rem;width:100%;padding:0 2rem}.gallery-item{border-radius:6px;overflow:hidden;box-shadow:0 4px 20px #0000001a}.gallery-item-large{width:90vw;max-width:1200px;aspect-ratio:1/1}.gallery-item-paired{width:40vw;max-width:500px;aspect-ratio:1/1}.gallery-pair{display:flex;justify-content:center;gap:2rem;width:100%;flex-wrap:wrap}.gallery-image{width:100%;height:100%;object-fit:cover;display:block}.gallery-loading,.no-gallery-images{text-align:center;padding:3rem;color:#666}.about-page{max-width:800px;margin:0 auto;padding:0 2rem 4rem}.about-content{line-height:1.8}.about-section{margin-bottom:3rem}.about-section h2{color:#2c5aa0;font-size:1.8rem;margin-bottom:1rem;border-bottom:2px solid #e0e0e0;padding-bottom:.5rem}.about-section p{color:#666;font-size:1.1rem}.about-placeholder{background:#f8f9fa;border:2px solid #ddd;border-radius:8px;padding:2rem;text-align:center;margin-top:3rem}.placeholder-note h3{color:#2c5aa0;margin-bottom:1rem}.placeholder-note code{background:#e9ecef;padding:.2rem .4rem;border-radius:4px;font-family:Courier New,monospace}.controller-page{min-height:100vh}@media (max-width: 768px){.nav-container{padding:0 1rem;height:60px}.nav-menu{gap:1rem}.nav-link{padding:.4rem .8rem;font-size:.9rem}.logo-text{font-size:1.3rem}.logo-image{height:35px}.hero-title{font-size:2.2rem}.hero-description{font-size:1.1rem}.page-header h1{font-size:2rem}.gallery-item-large{width:95vw}.gallery-item-paired{width:45vw;max-width:300px}.gallery-pair{gap:1rem}.features-grid{grid-template-columns:1fr}}@media (max-width: 480px){.nav-menu{gap:.5rem}.nav-link{padding:.3rem .6rem;font-size:.8rem}.hero-section{padding:2rem 1rem}.hero-title{font-size:1.8rem}.gallery-item-large{width:98vw;aspect-ratio:1/1}.gallery-item-paired{width:90vw;max-width:none}.gallery-pair{flex-direction:column;align-items:center;gap:1rem}.logo-text{display:none}}.product-detail-page{padding:2rem;min-height:100vh;background:#f8f9fa}.product-detail-container{max-width:1400px;margin:0 auto}.back-button{background:#2c5aa0;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;margin-bottom:2rem;transition:background .3s ease}.back-button:hover{background:#1e3d6f}.product-detail-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;background:#fff;padding:3rem;border-radius:12px;box-shadow:0 4px 20px #0000001a}.product-images{display:flex;flex-direction:column;gap:1rem}.main-image{width:100%;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:#f5f5f5}.main-image img{width:100%;height:100%;object-fit:cover}.thumbnail-gallery{display:flex;gap:1rem;flex-wrap:wrap}.thumbnail{width:80px;height:80px;border-radius:4px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .3s ease}.thumbnail:hover,.thumbnail.active{border-color:#2c5aa0}.thumbnail img{width:100%;height:100%;object-fit:cover}.product-info-detail{display:flex;flex-direction:column;gap:1.5rem}.product-title-detail{font-size:2.5rem;color:#333;font-weight:700;margin:0}.product-price-detail{font-size:2rem;color:#2c5aa0;font-weight:700}.variant-selector-detail{display:flex;flex-direction:column;gap:.5rem}.variant-selector-detail label{font-weight:600;color:#333}.variant-selector-detail select{padding:.75rem;border:2px solid #e0e0e0;border-radius:4px;font-size:1rem;background:#fff;cursor:pointer}.quantity-selector-detail{display:flex;flex-direction:column;gap:.5rem}.quantity-selector-detail label{font-weight:600;color:#333}.quantity-controls{display:flex;align-items:center;gap:1rem}.quantity-controls button{width:40px;height:40px;border:2px solid #2c5aa0;background:#fff;color:#2c5aa0;border-radius:4px;font-size:1.2rem;cursor:pointer;transition:all .3s ease}.quantity-controls button:hover:not(:disabled){background:#2c5aa0;color:#fff}.quantity-controls button:disabled{opacity:.5;cursor:not-allowed}.quantity-controls input{width:80px;height:40px;text-align:center;border:2px solid #e0e0e0;border-radius:4px;font-size:1rem}.add-to-cart-btn-detail{width:100%;background:#2c5aa0;color:#fff;border:none;padding:1.25rem;border-radius:4px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:background .3s ease;margin-top:1rem}.add-to-cart-btn-detail:hover:not(:disabled){background:#1e3d6f}.add-to-cart-btn-detail:disabled{background:#ccc;cursor:not-allowed}.product-description-detail{margin-top:2rem;padding-top:2rem;border-top:1px solid #e0e0e0}.product-description-detail h2{font-size:1.5rem;color:#2c5aa0;margin-bottom:1rem}.product-description-detail p,.product-description-detail ul,.product-description-detail ol{color:#666;line-height:1.8;margin-bottom:1rem}.product-detail-loading,.product-not-found{text-align:center;padding:4rem 2rem}.product-not-found h2{font-size:2rem;color:#333;margin-bottom:1rem}.product-not-found p{font-size:1.1rem;color:#666;margin-bottom:2rem}.gallery-item{cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.product-card-clickable{cursor:pointer}@media (max-width: 1024px){.product-detail-content{grid-template-columns:1fr;gap:2rem}}@media (max-width: 768px){.product-detail-page{padding:1rem}.product-detail-content{padding:2rem 1.5rem}.product-title-detail{font-size:2rem}.product-price-detail{font-size:1.5rem}.thumbnail{width:60px;height:60px}}@media (max-width: 480px){.product-title-detail{font-size:1.5rem}.product-detail-content{padding:1.5rem 1rem}.quantity-controls{justify-content:center}}.mailing-list-signup{background:#f8f8f8;padding:3rem 2rem;border-radius:8px;margin:2rem 0;text-align:center}.signup-content h3{font-family:Roboto Mono,monospace;font-size:1.5rem;margin-bottom:.5rem;color:#333}.signup-content p{font-family:Roboto Mono,monospace;color:#666;margin-bottom:2rem;font-size:.9rem}.signup-form{max-width:400px;margin:0 auto}.form-group{display:flex;gap:1rem;margin-bottom:1rem}.email-input{flex:1;padding:.75rem 1rem;border:2px solid #ddd;border-radius:4px;font-family:Roboto Mono,monospace;font-size:.9rem;transition:border-color .3s ease}.email-input:focus{outline:none;border-color:#333}.email-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.signup-button{padding:.75rem 1.5rem;background-color:#333;color:#fff;border:none;border-radius:4px;font-family:Roboto Mono,monospace;font-size:.9rem;cursor:pointer;transition:background-color .3s ease;white-space:nowrap}.signup-button:hover:not(:disabled){background-color:#555}.signup-button:disabled{background-color:#ccc;cursor:not-allowed}.signup-message{margin-top:1rem;padding:.75rem;border-radius:4px;font-family:Roboto Mono,monospace;font-size:.85rem}.signup-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.signup-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@media (max-width: 768px){.mailing-list-signup{padding:2rem 1rem}.form-group{flex-direction:column;gap:.75rem}.signup-button{width:100%}}
