.wine-card{text-align:center;background:#fff;border-radius:8px;flex-direction:column;height:100%;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:visible}.wine-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.wine-image{background-color:#f7f7f7;justify-content:center;align-items:center;height:300px;display:flex;position:relative;overflow:visible}.wine-image>img:not(.sale-badge-img){object-fit:contain;width:auto;height:100%;transition:transform .5s}.wine-card:hover .wine-image img{transform:scale(1.05)}.placeholder-bottle{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.add-to-cart-btn{background-color:var(--color-white);width:40px;height:40px;color:var(--color-burgundy);opacity:0;z-index:5;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:absolute;bottom:1rem;right:1rem;transform:translateY(10px);box-shadow:0 2px 8px #00000026}.add-to-cart-btn:hover{background-color:var(--color-burgundy);color:var(--color-white)}.add-to-cart-btn.is-added{color:#fff;cursor:default;background-color:#2e7d32;border-radius:20px;width:auto;min-width:100px;padding:0 .75rem;opacity:1!important;transform:translateY(0)!important}.added-text{letter-spacing:.5px;margin-left:.25rem;font-size:.75rem;font-weight:700}.wine-card:hover .add-to-cart-btn{opacity:1;transform:translateY(0)}.wine-info{flex-direction:column;flex-grow:1;justify-content:center;min-height:135px;padding:1.5rem;display:flex}.wine-info h3{font-family:var(--font-serif);color:var(--color-text-main);margin-bottom:.25rem;font-size:1.25rem}.wine-type{color:var(--color-text-muted);letter-spacing:1px;margin-bottom:.5rem;font-size:.9rem}.wine-price{color:var(--color-burgundy);font-size:1.1rem;font-weight:600}.fan-favorite-badge{color:#fff;z-index:10;letter-spacing:.5px;background-color:#c19a6b;border-radius:4px;padding:.25rem .75rem;font-size:.75rem;font-weight:700;position:absolute;top:10px;left:10px;box-shadow:0 2px 4px #0003}.sold-out-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0}.sold-out-modal{text-align:center;background:#fff;border:1px solid #c19a6b4d;border-radius:12px;width:100%;max-width:450px;padding:3rem 2rem;position:relative;box-shadow:0 25px 50px -12px #00000040}.sold-out-modal h2{font-family:var(--font-serif);color:var(--color-burgundy);margin-bottom:1.5rem;font-size:2rem}.sold-out-modal p{color:var(--color-text-main);margin-bottom:2rem;font-size:1.1rem;line-height:1.6}.sold-out-modal .close-btn{background:var(--color-burgundy);color:#fff;cursor:pointer;letter-spacing:.5px;border:none;border-radius:4px;padding:.8rem 2rem;font-weight:600;transition:all .2s}.sold-out-modal .close-btn:hover{background:#5d0e1a;transform:translateY(-2px)}.modal-close-x{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:5px;transition:color .2s,transform .2s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.modal-close-x:hover{color:var(--color-burgundy);transform:scale(1.1)}@media (max-width:768px){.add-to-cart-btn{opacity:1;width:44px;height:44px;bottom:.75rem;right:.75rem;transform:translateY(0)}}.sale-badge-img{z-index:20;filter:drop-shadow(0 4px 8px #0003);pointer-events:none;position:absolute;top:-15px;right:-15px;transform:rotate(12deg);width:85px!important;height:auto!important}.price-display{justify-content:center;align-items:center;gap:.75rem;display:flex}.regular-price{color:var(--color-text-muted);font-size:.9rem;text-decoration:line-through}.sale-price{color:var(--color-burgundy);font-size:1.1rem;font-weight:700}.case-discount-tag{color:#2e7d32;letter-spacing:.5px;margin-top:.5rem;font-size:.75rem;font-weight:700}
.page-container{min-height:80vh;padding-top:76px}@media (max-width:768px){.page-container{padding-top:56px}}.shop-header{background-color:var(--color-burgundy);color:var(--color-white);padding:var(--spacing-md)0;text-align:center;margin-bottom:var(--spacing-md)}.shop-header h1{color:var(--color-white);font-family:var(--font-serif);margin-bottom:.5rem}.shop-subtitle{opacity:.8;margin-top:5px;font-size:.8rem}.shop-content{padding-bottom:var(--spacing-xl)}.shop-controls{justify-content:center;gap:1rem;max-width:600px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;display:flex}.search-wrapper{flex:1;position:relative}.search-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.search-input{width:100%;color:var(--color-text);border:1px solid #e0e0e0;border-radius:30px;outline:none;padding:10px 2.8rem 10px 1.2rem;font-size:1rem;transition:all .2s}.search-input:focus{border-color:var(--color-burgundy);box-shadow:0 0 0 3px #53161d1a}.filter-toggle-btn{color:var(--color-text);cursor:pointer;background-color:#fff;border:1px solid #e0e0e0;border-radius:30px;align-items:center;gap:.5rem;padding:0 1.5rem;font-weight:500;transition:all .2s;display:flex}.filter-toggle-btn:hover{background-color:#f8f8f8;border-color:#ccc}.filter-toggle-btn.active{background-color:var(--color-burgundy);color:#fff;border-color:var(--color-burgundy)}.filters-container{opacity:0;max-height:0;margin-bottom:0;transition:max-height .4s cubic-bezier(.4,0,.2,1),margin-bottom .4s;overflow:hidden}.filters-container.open{opacity:1;max-height:200px;margin-bottom:2rem;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s .1s,margin-bottom .4s}.filters{flex-wrap:wrap;justify-content:center;gap:.75rem;padding:.5rem;display:flex}.filter-btn{color:var(--color-text-muted,#666);cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:20px;padding:8px 20px;font-size:.9rem;font-weight:500;transition:all .2s}.filter-btn:hover,.filter-btn.active{background:var(--color-burgundy);border-color:var(--color-burgundy);color:var(--color-white)}.wine-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:stretch;gap:2rem;display:grid}.wine-card-link{color:inherit;flex-direction:column;height:100%;text-decoration:none;display:flex}.no-results{text-align:center;color:var(--color-text-muted);grid-column:1/-1;padding:4rem 0}.btn-text{color:var(--color-burgundy);cursor:pointer;background:0 0;border:none;margin-top:1rem;font-weight:600;text-decoration:underline}
