.app{display:flex;flex-direction:column;min-height:100vh}main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:20px}.status-banner{margin-bottom:20px;padding:12px 16px;border-radius:8px;background:#f4f0e8;color:#3f3629;border:1px solid #e0d3bf;font-size:14px}.header{background:linear-gradient(135deg,#07192b,#0b2642 52%,#12365f);color:#fff;padding:14px 0;box-shadow:0 8px 24px #0c4a8a2e}.header-content{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;gap:18px}.brand{display:inline-flex;align-items:center;border:none;background:transparent;color:inherit;cursor:pointer;padding:0}.brand-logo{width:84px;height:84px;object-fit:contain;border-radius:14px;background:#ffffff14;padding:4px}.header-search-desktop{flex:1;max-width:520px;margin:0 auto;position:relative}.search-input-shell{display:flex;align-items:center;background:#ffffff26;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:0 12px;min-height:44px}.search-input{width:100%;border:none;outline:none;background:transparent;color:#fff;font-size:14px;font-weight:500}.search-input::placeholder{color:#e7f2ffd9}.search-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:#e7f2ff;flex-shrink:0}.search-icon svg{width:100%;height:100%}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 12px 30px #00000038;padding:6px;z-index:50;max-height:340px;overflow-y:auto}.search-result-item{width:100%;border:none;background:transparent;padding:8px;border-radius:10px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.search-result-item:hover{background:#eff6ff}.search-result-thumb{width:44px;height:44px;border-radius:8px;overflow:hidden;background:#f3f4f6;display:flex;align-items:center;justify-content:center;flex-shrink:0}.search-result-thumb img{width:100%;height:100%;object-fit:contain}.search-result-fallback{font-size:10px;color:#6b7280}.search-result-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.search-result-name{font-size:14px;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-category{font-size:12px;color:#64748b;text-transform:capitalize}.search-empty{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 12px 30px #0003;padding:12px;z-index:50;color:#475569;font-size:13px}.nav{display:flex;align-items:center;gap:18px}.mobile-search{display:none;position:relative}.search-mobile-btn{display:inline-flex;align-items:center;gap:6px}.search-mobile-icon{width:16px;height:16px;display:inline-flex}.search-mobile-icon svg{width:100%;height:100%}.mobile-search-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;background:#fff;border-radius:12px;box-shadow:0 12px 30px #00000038;padding:10px;z-index:55}.mobile-input-shell{background:#f8fafc;border:1px solid #e2e8f0}.mobile-input-shell .search-input{color:#0f172a}.mobile-input-shell .search-input::placeholder{color:#64748b}.mobile-input-shell .search-icon{color:#475569}.mobile-results{position:static;box-shadow:none;max-height:280px;border:1px solid #e2e8f0;margin-top:8px}.mobile-search-panel .search-empty{position:static;box-shadow:none;margin-top:8px;border:1px solid #e2e8f0}.nav-btn{background:transparent;color:#fff;border:none;padding:8px 6px;cursor:pointer;transition:color .2s;font-size:14px;font-weight:600;letter-spacing:.02em}.nav-btn:hover{color:#d9ecff}.shop-dropdown{position:relative}.chevron{margin-left:6px;font-size:11px;transition:transform .2s;display:inline-block}.chevron.open{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:180px;background:#fff;border-radius:10px;box-shadow:0 12px 30px #0000002e;padding:6px;z-index:40}.dropdown-item{width:100%;border:none;background:transparent;color:#0f172a;text-align:left;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:14px}.dropdown-item:hover{background:#eff6ff;color:#1e3a8a}.dropdown-item.active{background:#dbeafe;color:#1e3a8a;font-weight:700}@media (max-width: 768px){.header-content{flex-direction:column;gap:10px}.header-search-desktop{display:none}.brand-logo{width:72px;height:72px}.nav{gap:12px;flex-wrap:wrap;justify-content:center}.mobile-search{display:block}.dropdown-menu,.mobile-search-panel{left:50%;transform:translate(-50%)}}.products-container{padding:20px 0;width:100%}.products-container h2{margin-bottom:0;font-size:28px}.products-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.filter-wrap{position:relative}.filter-button{display:inline-flex;align-items:center;gap:8px;border:1px solid #d1d5db;background:#fff;color:#1f2937;border-radius:8px;padding:8px 12px;font-size:14px;cursor:pointer}.filter-button:hover{border-color:#1e3a8a;color:#1e3a8a}.filter-dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 25px #0000001f;padding:12px;z-index:20}.filter-section-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6b7280;margin:8px 0 6px}.filter-section-label:first-child{margin-top:0}.filter-option{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;margin-bottom:6px}.clear-filters{margin-top:8px;width:100%;border:1px solid #d1d5db;background:#f9fafb;color:#374151;border-radius:6px;padding:7px 10px;font-size:13px;cursor:pointer}.clear-filters:hover{background:#eef2ff;border-color:#1e3a8a;color:#1e3a8a}.filter-summary{margin:0 0 14px;color:#4b5563;font-size:14px}.products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:40px;align-items:stretch;grid-auto-rows:1fr;width:100%}@media (max-width: 768px){.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 480px){.products-grid{grid-template-columns:1fr}}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin:20px 0 40px}.pagination button{padding:8px 14px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;color:#374151;transition:background .2s}.pagination button:hover:not(:disabled){background:#1e3a8a;color:#fff;border-color:#1e3a8a}.pagination button.active{background:#1e3a8a;color:#fff;border-color:#1e3a8a;font-weight:600}.pagination button:disabled{opacity:.4;cursor:not-allowed}.product-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;min-height:430px;height:100%;width:100%}.product-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.product-image{width:100%;height:180px;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-image img{max-width:82%;max-height:90%;width:auto;height:auto;object-fit:contain}.product-image .placeholder{color:#999;font-size:14px}.product-card h3{padding:12px 16px 0;font-size:16px;margin:0;line-height:1.25;min-height:40px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card p{padding:0 16px;margin:4px 0;color:#666;font-size:13px}.category{color:#999;text-transform:uppercase;font-weight:500;min-height:16px}.product-meta{color:#1d4ed8;font-weight:600;min-height:16px}.description{flex:1;padding-bottom:8px;color:#666;min-height:48px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.size-row{display:flex;align-items:center;justify-content:space-between;padding:0 16px 12px;gap:10px;min-height:34px}.size-row label{font-size:12px;color:#5f6b79;text-transform:uppercase;letter-spacing:.04em}.size-row select{min-width:96px;padding:6px 10px;font-size:13px}.product-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid #eee}.price{font-size:20px;font-weight:700;color:#333}.product-card button{padding:8px 16px;font-size:13px}.product-card button:disabled{opacity:.5;cursor:not-allowed}.no-products{text-align:center;padding:40px;color:#999}@media (max-width: 640px){.products-toolbar{flex-wrap:wrap}.filter-wrap{margin-left:auto}}.pd-page{max-width:1200px;margin:0 auto;padding:24px 20px 60px}.pd-back{background:none;border:none;color:#1e3a8a;font-size:14px;cursor:pointer;padding:0 0 20px;font-weight:500;display:flex;align-items:center;gap:4px}.pd-back:hover{text-decoration:underline}.pd-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}@media (max-width: 768px){.pd-layout{grid-template-columns:1fr;gap:30px}}.pd-image-col{position:sticky;top:20px}@media (max-width: 768px){.pd-image-col{position:static}}.pd-image-wrap{background:#f8f8f8;border-radius:12px;overflow:hidden;width:100%;max-width:420px;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;margin:0 auto}.pd-image-wrap img{width:100%;height:100%;object-fit:contain;padding:20px;animation:pdFloat 4.8s ease-in-out infinite;transform-origin:center;will-change:transform}@keyframes pdFloat{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.pd-image-wrap img{animation:none}}.pd-placeholder{color:#999;font-size:18px}.pd-brand{text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:#6b7280;margin:0 0 6px;font-weight:600}.pd-name{font-size:28px;font-weight:700;color:#111;margin:0 0 8px;line-height:1.2}.pd-headline{font-size:14px;color:#4b5563;margin:0 0 20px;font-style:italic}.pd-price-row{display:flex;align-items:center;gap:12px;margin-bottom:24px}.pd-price{font-size:28px;font-weight:700;color:#1e3a8a}.pd-size-tag{background:#eff6ff;color:#1e3a8a;padding:4px 10px;border-radius:20px;font-size:13px;font-weight:600}.pd-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#6b7280;font-weight:700;margin:0 0 8px}.pd-sizes{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.pd-size-btn{text-align:left;padding:12px 16px;border:1.5px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;color:#374151;transition:all .15s}.pd-size-btn:hover{border-color:#1e3a8a;color:#1e3a8a}.pd-size-btn.active{border-color:#1e3a8a;background:#eff6ff;color:#1e3a8a;font-weight:600}.pd-size-section{margin-bottom:24px}.pd-qty-row{margin-bottom:20px}.pd-qty{display:flex;align-items:center;gap:0;border:1.5px solid #e5e7eb;border-radius:8px;width:fit-content;overflow:hidden}.pd-qty button{background:#f9fafb;border:none;padding:10px 18px;font-size:18px;cursor:pointer;color:#374151;transition:background .15s}.pd-qty button:hover{background:#e5e7eb}.pd-qty span{padding:10px 20px;font-size:16px;font-weight:600;min-width:40px;text-align:center;border-left:1.5px solid #e5e7eb;border-right:1.5px solid #e5e7eb}.pd-add-btn{width:100%;padding:16px;background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;margin-bottom:32px;letter-spacing:.03em;transition:opacity .2s}.pd-add-btn:hover:not(:disabled){opacity:.9}.pd-add-btn:disabled{background:#9ca3af;cursor:not-allowed}.pd-desc{margin-bottom:28px;line-height:1.7;color:#374151;font-size:15px}.pd-desc p{margin:0 0 12px}.pd-notes{margin-bottom:28px}.pd-notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pd-note-block{background:#f9fafb;border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:#374151}.pd-note-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#1e3a8a}.pd-details{margin-bottom:28px}.pd-table{width:100%;border-collapse:collapse;font-size:14px}.pd-table tr{border-bottom:1px solid #f3f4f6}.pd-table td{padding:10px 0;color:#374151}.pd-table td:first-child{color:#6b7280;font-weight:500;width:40%}.pd-decant-info{background:#eff6ff;border-left:4px solid #3b82f6;border-radius:6px;padding:14px 16px;font-size:13px;color:#1e3a8a;line-height:1.6}.cart-container{max-width:900px;margin:0 auto}.cart-container h2{margin-bottom:20px;font-size:24px}.empty-cart{text-align:center;padding:60px 20px;color:#999;font-size:16px}.error{background-color:#fee;color:#c33;padding:12px;border-radius:4px;margin-bottom:20px}.cart-items{background:#fff;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 8px #0000000d}.cart-item{display:grid;grid-template-columns:1fr auto auto auto;gap:20px;align-items:center;padding:16px;border-bottom:1px solid #eee}.cart-item:last-child{border-bottom:none}.item-info h3{margin:0 0 4px;font-size:16px}.item-info p{margin:0;font-size:13px;color:#666}.category{text-transform:uppercase;color:#999}.size{color:#3f5f81;font-size:12px;margin-top:2px}.price{font-weight:700;margin-top:4px}.item-quantity{display:flex;gap:8px;align-items:center}.item-quantity button{padding:4px 8px;width:32px;height:32px;border:1px solid #ddd;background:#fff;color:#333;border-radius:4px;cursor:pointer}.item-quantity button:hover{background:#f5f5f5}.item-quantity input{width:50px;text-align:center;padding:4px;border:1px solid #ddd}.item-total{text-align:right;font-weight:700;font-size:16px;min-width:80px}.remove-btn{padding:6px 12px;font-size:12px;background:#fee;color:#c33;border:1px solid #ddd}.remove-btn:hover{background:#fdd}.cart-summary{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000000d;max-width:350px;margin-left:auto}.summary-row{display:flex;justify-content:space-between;margin-bottom:12px;font-size:14px}.summary-row.total{border-top:2px solid #eee;padding-top:12px;margin-top:12px;font-size:18px;font-weight:700}.checkout-btn{width:100%;padding:14px;margin-top:20px;font-size:16px}.checkout-btn:disabled{opacity:.6;cursor:not-allowed}.auth-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:40px 20px}.auth-box{background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px}.auth-box h2{margin-bottom:20px;text-align:center;font-size:24px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500}.form-group input{width:100%}.auth-box button[type=submit]{width:100%;padding:12px;font-size:16px}.auth-box button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.error{background-color:#fee;color:#c33;padding:10px;border-radius:4px;margin-bottom:16px;font-size:14px}.toggle{text-align:center;margin-top:20px;font-size:14px}.link-btn{background:none;border:none;color:#06c;cursor:pointer;padding:0;font-size:14px;text-decoration:underline}.link-btn:hover{color:#0052a3}.site-footer{margin-top:56px;color:#ecf5ff;background:linear-gradient(135deg,#07192b,#0b2642 52%,#12365f)}.footer-wrap{max-width:1200px;margin:0 auto;padding:40px 20px 24px}.footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.footer-brand{display:flex;flex-direction:column;align-items:flex-start}.footer-logo{width:64px;height:64px;object-fit:contain;border-radius:14px;background:#ffffff1f;margin-bottom:10px}.footer-grid h5,.footer-grid h6,.footer-social h6{margin:0 0 10px;font-weight:700}.footer-grid p{margin:0;color:#ecf5ffd9;line-height:1.5}.footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.footer-grid li,.footer-grid a,.footer-grid button{color:#ecf5ffe6;font-size:14px}.footer-grid button{padding:0;border:none;background:transparent;text-align:left;cursor:pointer}.footer-grid a,.footer-grid button{text-decoration:none}.footer-grid a:hover,.footer-grid button:hover{color:#fff}.footer-social{margin-top:24px;display:flex;align-items:center;gap:14px}.social-links{display:flex;gap:10px;flex-wrap:wrap}.social-links a{font-size:13px;color:#e7f2ff;text-decoration:none;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 10px}.social-links a:hover{background:#ffffff29}.footer-bottom{margin-top:20px;padding-top:14px;border-top:1px solid rgba(255,255,255,.22);font-size:13px;color:#ecf5ffd1}@media (max-width: 900px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.footer-grid{grid-template-columns:1fr}.footer-social{flex-direction:column;align-items:flex-start}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fafafa}.app{min-height:100vh}main{max-width:1200px;margin:0 auto;padding:20px}button{cursor:pointer;padding:10px 20px;border:none;border-radius:4px;background-color:#333;color:#fff;font-size:14px;transition:background-color .3s}button:hover{background-color:#555}input,textarea,select{padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}
