:root{--saffron:#d4af37;--saffron-deep:#b8860b;--gold:#d4af37;--gold-deep:#9c7409;--gold-light:#e8c96b;--gold-foil:linear-gradient(115deg, #a86e0a 0%, #e8b84a 28%, #fff3c9 46%, #d69a1a 62%, #a86e0a 100%);--cream:#fdfbf7;--dark:#1f1a17;--muted:#6b5b53;--wine:#4a1521;--card-radius:8px;--gap:24px;--surface:#fff;--surface-warm:#fdfbf7;--line-soft:#0000000d;--shadow-soft:0 12px 32px #0000000a;--shadow-lift:0 24px 48px -12px #00000014;--ease-premium:cubic-bezier(.22, 1, .36, 1);--ease-out-soft:cubic-bezier(.16, 1, .3, 1)}.galleries-wrapper{background-color:var(--cream);background-image:radial-gradient(circle at 12% 8%,#e8650a0d,#0000 40%),radial-gradient(circle at 88% 14%,#c9960c0f,#0000 42%);max-width:1400px;min-height:100vh;margin:0 auto;padding:48px 24px 80px;font-family:Inter,sans-serif}.category-gallery{margin-bottom:72px}.category-title{color:var(--dark);letter-spacing:.03em;text-align:center;justify-content:center;align-items:center;gap:20px;margin:0 0 32px;font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:700;display:flex}.category-title:before,.category-title:after{content:"";background-image:radial-gradient(circle 2.5px at 50% 50%, var(--gold) 0 44%, #c9960c59 62%, transparent 72%), linear-gradient(90deg, transparent, #d4b896, transparent);background-position:50%;background-repeat:no-repeat;background-size:100% 100%,100% 100%;flex:1;max-width:160px;height:1px}.image-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-items:stretch;gap:clamp(16px,2vw,28px);display:grid}.empty-state{text-align:center;background:#fffdf8e6;border:1px dashed #7a563047;border-radius:12px;grid-column:1/-1;padding:44px 24px 36px;position:relative}.empty-state:before{content:"";background:var(--gold-foil);border-radius:2px;width:14px;height:14px;margin:0 auto 18px;display:block;transform:rotate(45deg);box-shadow:0 6px 14px #c9960c47}.empty-state__title{color:var(--wine);margin:0;font-size:20px;font-weight:800}.empty-state__body{color:var(--muted);margin:10px 0 0;max-width:46ch;margin-inline:auto;font-size:15px;line-height:1.6}.empty-state__button{margin-top:20px}@media (max-width:1100px){.image-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:768px){.image-grid{grid-template-columns:repeat(2,1fr);gap:14px}.galleries-wrapper{padding:32px 16px 60px}}@media (max-width:420px){.image-grid{grid-template-columns:1fr;gap:14px}}.image-card{border:1px solid var(--line-soft);border-radius:var(--card-radius);background:linear-gradient(180deg, #ffffffeb, #fff9f1f5), var(--surface);cursor:pointer;min-width:0;box-shadow:var(--shadow-soft);isolation:isolate;transition:border-color .4s var(--ease-premium), box-shadow .4s var(--ease-premium), transform .4s var(--ease-premium);flex-direction:column;display:flex;position:relative;overflow:clip}.image-card:before{content:"";border-radius:inherit;opacity:0;pointer-events:none;transition:opacity .4s var(--ease-premium);z-index:-1;background:linear-gradient(135deg,#e8650a29,#0000 34%),linear-gradient(315deg,#c9960c1f,#0000 38%);position:absolute;inset:0}.image-card:hover,.image-card:focus-within{border-color:#d4af3799;transform:translateY(-12px)scale(1.02);box-shadow:0 30px 60px -15px #4a152140,0 0 0 1px #d4af3759}.image-card:hover:before,.image-card:focus-within:before{opacity:1}.image-card-img-wrapper{aspect-ratio:1;background:radial-gradient(circle at 50% 42%, #ffffffeb 0 28%, #faeeded1 58%, #f4ddc0eb 100%), linear-gradient(135deg, var(--surface-warm), #fff8ed);flex-shrink:0;width:100%;padding:clamp(14px,5vw,24px);position:relative;overflow:hidden}.image-card-img-wrapper:before{content:"";opacity:0;pointer-events:none;z-index:2;transition:opacity .5s ease, background-position 1.2s var(--ease-premium);background-image:linear-gradient(115deg,#0000 20%,#ffffff8c 34%,#ffe8b4b3 40%,#0000 52%);background-position:-30% -30%;background-repeat:no-repeat;background-size:240% 240%;border-radius:6px;position:absolute;inset:12px;box-shadow:inset 0 0 0 1px #ffffffb8}.image-card-img-wrapper:after{content:"";pointer-events:none;filter:blur(12px);height:18px;transition:transform .5s var(--ease-premium), opacity .5s var(--ease-premium);background:#432a1429;border-radius:999px;position:absolute;bottom:16px;left:18%;right:18%;transform:scaleX(.85)}.image-card-img-wrapper.is-loading{background-image:linear-gradient(100deg, var(--surface-warm) 30%, #fff8ed 45%, var(--surface-warm) 60%);background-size:200% 100%;animation:1.6s ease-in-out infinite shimmer-load}.image-card-img-wrapper.is-loading img{opacity:0}@keyframes shimmer-load{0%{background-position:120% 0}to{background-position:-20% 0}}.image-card-img-wrapper img{object-fit:contain;object-position:center;z-index:1;filter:drop-shadow(0 14px 18px #39231129);width:100%;height:100%;transition:filter .45s var(--ease-premium), transform .45s var(--ease-premium), opacity .3s ease;display:block;position:relative}.image-card:hover .image-card-img-wrapper img{filter:drop-shadow(0 24px 32px #4a152140);transform:scale(1.1)translateY(-6px)}.image-card:hover .image-card-img-wrapper:after{opacity:.78;transform:scaleX(1)}.image-card:hover .image-card-img-wrapper:before,.image-card:focus-within .image-card-img-wrapper:before{opacity:1;background-position:130% 130%}.discount-badge{background:linear-gradient(135deg, var(--saffron), var(--gold));color:#fff;letter-spacing:.4px;z-index:2;border-radius:3px 8px 8px 3px;padding:5px 11px 5px 17px;font-size:11px;font-weight:700;position:absolute;top:14px;left:0;transform:rotate(-3deg);box-shadow:0 8px 18px #e8650a47,2px 2px #1a12080f;-webkit-mask-image:radial-gradient(2.5px at 8px,#0000 98%,#000 100%);mask-image:radial-gradient(2.5px at 8px,#0000 98%,#000 100%)}.new-badge{background:linear-gradient(135deg, var(--wine), #a12e42);color:#fff8ed;letter-spacing:.6px;z-index:2;border-radius:8px 3px 3px 8px;padding:5px 17px 5px 11px;font-size:11px;font-weight:700;position:absolute;top:14px;right:0;transform:rotate(3deg);box-shadow:0 8px 18px #7b1b2a42;-webkit-mask-image:radial-gradient(2.5px at calc(100% - 8px),#0000 98%,#000 100%);mask-image:radial-gradient(2.5px at calc(100% - 8px),#0000 98%,#000 100%)}.slide-btn{cursor:pointer;width:36px;height:36px;color:var(--dark);opacity:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .25s ease, opacity .25s ease, transform .25s var(--ease-premium), color .25s ease;z-index:3;background:#fffdf8e0;border:1px solid #7a563024;border-radius:50%;justify-content:center;align-items:center;font-family:Playfair Display,serif;font-size:22px;font-weight:600;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 8px 22px #3923111f}.image-card-img-wrapper:hover .slide-btn{opacity:1}.slide-btn:hover{color:var(--saffron-deep);background:#fff;transform:translateY(-50%)scale(1.1)}.slide-btn:active{transform:translateY(-50%)scale(.96)}.slide-btn:focus-visible{opacity:1;outline:2px solid var(--gold-deep);outline-offset:2px}.slide-btn--prev{left:8px}.slide-btn--next{right:8px}.slide-counter{color:#fff8ed;font-variant-numeric:tabular-nums;z-index:3;letter-spacing:.3px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a12089e;border-radius:20px;padding:4px 9px;font-family:Inter,sans-serif;font-size:11px;position:absolute;top:10px;right:10px}.slide-dots{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:3;background:#1a120829;border-radius:999px;align-items:center;gap:6px;padding:6px 8px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.slide-dot{cursor:pointer;width:6px;height:6px;transition:background .25s ease, transform .3s var(--ease-premium), width .3s var(--ease-premium);background:#ffffff9e;border:none;border-radius:50%;padding:0}.slide-dot:hover{background:#ffffffd9}.slide-dot--active{background:var(--gold-light);border-radius:999px;width:16px;transform:scale(1)}.image-card-info{text-align:left;flex-direction:column;flex:1;justify-content:space-between;gap:8px;padding:16px 16px 18px;display:flex}.item-title{color:var(--wine);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-height:2.5em;margin:0;font-size:16px;font-weight:800;line-height:1.25;display:-webkit-box;overflow:hidden}.item-description{color:var(--dark);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.9em;margin:0;font-size:14px;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.item-pricing{flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:8px;min-height:38px;margin-top:auto;padding-top:8px;display:flex;position:relative}.item-pricing:before{content:"";background:linear-gradient(90deg, var(--line-soft), transparent 70%);height:1px;position:absolute;top:0;left:0;right:0}.item-price{color:var(--wine);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.item-original-price{color:#b9a98f;font-variant-numeric:tabular-nums;font-family:Playfair Display,serif;font-size:13px;font-style:italic;text-decoration:line-through}.save-chip{color:#2f6b3f;letter-spacing:.2px;background:#2f6b3f1a;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.gallery-cart-btn{background:linear-gradient(135deg, var(--saffron) 0%, var(--gold) 100%);color:#fff8ed;letter-spacing:.2px;cursor:pointer;width:100%;max-width:none;transition:transform .2s var(--ease-out-soft), box-shadow .3s ease, filter .2s ease;border:none;border-radius:6px;align-self:stretch;margin-top:12px;padding-block:10px;font-family:Inter,sans-serif;font-size:14px;font-weight:700;position:relative;overflow:hidden;box-shadow:0 10px 24px #c9960c38}.gallery-cart-btn:after{content:"";transition:background-position .6s var(--ease-premium);background:linear-gradient(115deg,#0000 30%,#ffffff59 46%,#0000 62%) 130% 0/220% 100%;position:absolute;inset:0}.gallery-cart-btn:hover{filter:brightness(1.05);box-shadow:0 14px 30px #c9960c4d}.gallery-cart-btn:hover:after{background-position:-30% 0}.gallery-cart-btn:active{transform:scale(.98)}.gallery-cart-btn:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}.gallery-cart-btn:disabled{color:#9c917c;cursor:not-allowed;box-shadow:none;background:#e4dccb}.gallery-cart-btn:disabled:after{display:none}@media (max-width:768px){.image-card-img-wrapper{padding:16px}.slide-btn{opacity:1;width:32px;height:32px}}@media (prefers-reduced-motion:reduce){.image-card,.image-card:before,.image-card-img-wrapper:before,.image-card-img-wrapper:after,.image-card-img-wrapper img,.slide-btn,.slide-dot,.gallery-cart-btn,.gallery-cart-btn:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.image-card:hover{transform:none}}.quick-view-overlay{-webkit-backdrop-filter:blur(12px);z-index:9999;animation:fadeIn .4s var(--ease-premium);background:#1a120873;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0;-webkit-backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(12px)}}.quick-view-modal{-webkit-backdrop-filter:blur(20px);width:100%;max-width:900px;max-height:90vh;animation:slideUp .5s var(--ease-premium);background:#fffffff2;border:1px solid #fff6;border-radius:20px;display:flex;position:relative;overflow:hidden;box-shadow:0 40px 80px -20px #00000040,inset 0 0 0 1px #ffffff80}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.quick-view-close{width:36px;height:36px;color:var(--dark);cursor:pointer;z-index:10;background:#0000000d;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:24px;transition:background .2s,transform .2s;display:flex;position:absolute;top:16px;right:16px}.quick-view-close:hover{background:#0000001a;transform:scale(1.1)}.quick-view-image-panel{background:var(--surface-warm);flex:1;justify-content:center;align-items:center;min-height:300px;padding:24px;display:flex;position:relative}.quick-view-image-panel img{object-fit:contain;filter:drop-shadow(0 14px 18px #39231129);width:100%;height:100%;max-height:60vh}.quick-view-info-panel{flex-direction:column;flex:1;padding:40px;display:flex;overflow-y:auto}.quick-view-title{color:var(--wine);margin:0 0 16px;font-family:Playfair Display,serif;font-size:28px;font-weight:700;line-height:1.2}.quick-view-price-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;margin-bottom:24px;padding-bottom:24px;display:flex}.quick-view-price{color:var(--wine);font-size:24px;font-weight:800}.quick-view-original-price{color:#b9a98f;font-family:Playfair Display,serif;font-size:18px;text-decoration:line-through}.quick-view-discount{background:linear-gradient(135deg, var(--saffron), var(--gold));color:#fff;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:700}.quick-view-description{color:var(--dark);flex:1;margin-bottom:32px;font-size:16px;line-height:1.6}.quick-view-atc{margin-top:auto;padding:16px;font-size:16px}@media (max-width:768px){.quick-view-modal{flex-direction:column}.quick-view-image-panel{min-height:250px}.quick-view-image-panel img{max-height:35vh}.quick-view-info-panel{padding:24px}}.wishlist-toggle-btn{cursor:pointer;z-index:5;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:absolute;top:12px;right:12px;box-shadow:0 4px 12px #0000001a}.wishlist-toggle-btn svg{width:18px;height:18px;transition:transform .2s,fill .2s}.wishlist-toggle-btn:hover{background:#fff;transform:scale(1.1)}.wishlist-toggle-btn:active svg{transform:scale(.8)}.wishlist-toggle-btn.active svg{fill:var(--maroon,#6a1e2f);stroke:var(--maroon,#6a1e2f);animation:.4s heartPulse}@keyframes heartPulse{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}
.category-section{text-align:center;max-width:1320px;margin:0 auto;padding:72px 24px 56px}.category-grid{grid-template-columns:repeat(7,1fr);align-items:start;gap:clamp(12px,2vw,28px);margin-bottom:40px;display:grid}@media (max-width:1100px){.category-grid{grid-template-columns:repeat(5,1fr)}}@media (max-width:768px){.category-grid{grid-template-columns:repeat(4,1fr);gap:14px}}@media (max-width:480px){.category-grid{grid-template-columns:repeat(3,1fr);gap:10px}}.category-cell-wrap{flex-direction:column;align-items:center;display:flex;position:relative}.category-cell{cursor:pointer;appearance:none;text-align:center;background:0 0;border:none;flex-direction:column;align-items:center;gap:0;width:100%;min-width:0;padding:0 0 10px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.category-cell:hover{transform:translateY(-10px)scale(1.05)}.category-cell--active{transform:translateY(-4px)}.category-img-wrapper{aspect-ratio:1;background:radial-gradient(circle at 38% 35%,#fffffffa 0%,#fff8e6eb 45%,#f5e4c3e0 100%);border-radius:50%;outline:3px solid #0000;justify-content:center;align-items:center;width:100%;padding:clamp(12%,3vw,18%);transition:box-shadow .3s,transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 3px #c9960c8c,0 0 0 5.5px #ffffffe6,0 0 0 7px #c9960c2e,0 8px 28px #78460a24,0 2px 8px #78460a14}.category-img-wrapper:before{content:"";opacity:0;pointer-events:none;z-index:0;background:radial-gradient(circle,#c9960c2e 0%,#c9960c0f 55%,#0000 75%);border-radius:50%;transition:opacity .3s;position:absolute;inset:-10px}.category-img-wrapper:after{content:"";filter:blur(8px);pointer-events:none;z-index:0;background:#502d0a21;border-radius:50%;height:12px;position:absolute;bottom:-6px;left:15%;right:15%}.category-cell:hover .category-img-wrapper{box-shadow:0 0 0 3px #d4af37e6,0 0 0 5.5px #fffffff2,0 0 0 8px #d4af3780,0 0 40px 12px #d4af3773,0 20px 50px #78460a59}.category-cell:hover .category-img-wrapper:before{opacity:1}.category-cell--active .category-img-wrapper{box-shadow:0 0 0 3.5px #c9972a,0 0 0 6px #fffffff2,0 0 0 9px #c9960c66,0 0 28px 8px #c9960c47,0 12px 32px #78460a33}.category-cell--active .category-img-wrapper:before{opacity:1}.category-cell:hover .category-img-wrapper img{filter:drop-shadow(0 8px 16px #502d0a4d);transform:scale(1.15)}.category-img-wrapper img{z-index:1;object-fit:contain;object-position:center;filter:drop-shadow(0 4px 8px #502d0a24);transition:transform .35s cubic-bezier(.34,1.56,.64,1),filter .3s;position:relative;width:100%!important;height:100%!important}.category-emoji-fallback{z-index:1;filter:drop-shadow(0 2px 6px #502d0a2e);font-size:clamp(26px,4.5vw,38px);line-height:1;position:relative}.category-name{color:#2e1a0a;letter-spacing:.01em;overflow-wrap:anywhere;flex-direction:column;align-items:center;gap:3px;margin:10px 0 0;font-family:Inter,sans-serif;font-size:clamp(9px,1.1vw,12px);font-weight:600;line-height:1.3;transition:color .2s;display:flex}.category-cell:hover .category-name{color:#8b5a0a}.category-cell--active .category-name{color:#c9972a;font-weight:700}.category-emoji{margin-bottom:1px;font-size:clamp(11px,1.5vw,15px);line-height:1}.category-chevron{color:#8a6030;opacity:.85;z-index:10;background:#fff8ed;border:1.5px solid #c9960c80;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;line-height:1;transition:transform .22s,opacity .22s,background .22s,color .22s;display:flex;position:absolute;top:-4px;right:-4px}.category-cell:hover .category-chevron{opacity:1;color:#fff;background:#c9972a;border-color:#c9972a}.category-chevron--open{opacity:1;color:#fff;background:#c9972a;border-color:#c9972a;transform:rotate(-180deg)}.subcategory-list{z-index:300;background:#fffdf6;border:1.5px solid #c9960c52;border-radius:14px;width:max-content;min-width:170px;max-width:230px;margin:0;padding:8px 0;list-style:none;animation:.2s cubic-bezier(.34,1.56,.64,1) subcatFadeIn;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 20px 50px #39231133,0 4px 12px #39231114}@keyframes subcatFadeIn{0%{opacity:0;transform:translate(-50%)translateY(-10px)scale(.95)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.subcategory-list:before{content:"";border-bottom:8px solid #c9960c52;border-left:8px solid #0000;border-right:8px solid #0000;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.subcategory-list:after{content:"";border-bottom:7px solid #fffdf6;border-left:7px solid #0000;border-right:7px solid #0000;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.subcategory-item{text-align:left;color:#3d2410;cursor:pointer;white-space:normal;letter-spacing:.01em;background:0 0;border:none;width:100%;padding:9px 18px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;transition:background .15s,color .15s,padding-left .15s;display:block}.subcategory-item:hover{color:#8b5a0a;background:#c9960c17;padding-left:24px}.subcategory-item--all{text-transform:uppercase;letter-spacing:.8px;color:#c9972a;border-bottom:1px solid #c9960c2e;margin-bottom:2px;padding-bottom:10px;font-size:10px;font-weight:700}.subcategory-item--all:hover{color:#a07818;background:#c9960c12;padding-left:24px}.explore-btn{letter-spacing:2px;text-transform:uppercase;color:#4a2e10;cursor:pointer;background:0 0;border:1.5px solid #7a4f28;border-radius:999px;margin-top:12px;padding:12px 36px;font-family:Inter,sans-serif;font-size:11px;font-weight:700;transition:background .25s,color .25s,border-color .25s,box-shadow .25s,transform .2s}.explore-btn:hover{color:#fff;background:linear-gradient(135deg,#8b5a20,#c9972a);border-color:#0000;transform:translateY(-2px);box-shadow:0 6px 20px #8b5a2059}.explore-btn:active{transform:translateY(0)}.image-card-img-wrapper{position:relative;overflow:hidden}.slide-btn{cursor:pointer;color:#333;opacity:0;z-index:2;background:#ffffffd1;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:22px;transition:opacity .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.image-card-img-wrapper:hover .slide-btn,.slide-btn:focus-visible{opacity:1}.slide-btn--prev{left:6px}.slide-btn--next{right:6px}.slide-counter{color:#fff;z-index:2;background:#00000073;border-radius:20px;padding:2px 7px;font-size:12px;position:absolute;top:8px;right:10px}.slide-dots{z-index:2;gap:5px;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.slide-dot{cursor:pointer;background:#ffffff8c;border:none;border-radius:50%;width:7px;height:7px;padding:0;transition:background .2s,transform .2s}.slide-dot--active{background:#fff;transform:scale(1.3)}
