:root{--color-burgundy: #8B0000;--color-gold: #D4AF37;--color-charcoal: #2C2C2C;--color-cream: #FFF8E7;--color-dark-bg: #1a1a1a;--font-heading: "Playfair Display", serif;--font-body: "Montserrat", sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 4rem;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .3);--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--font-body);background-color:var(--color-dark-bg);color:var(--color-cream);line-height:1.6;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--color-cream)}p{font-family:var(--font-body);line-height:1.6}button{font-family:var(--font-body);border:none;background:none;cursor:pointer;outline:none;padding:0;transition:all var(--transition-normal)}button:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}a{color:var(--color-gold);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:#d4af37cc}::selection{background-color:var(--color-gold);color:var(--color-charcoal)}::-moz-selection{background-color:var(--color-gold);color:var(--color-charcoal)}@media(hover:none)and (pointer:coarse){button,a{-webkit-tap-highlight-color:rgba(212,175,55,.2)}}.menu-toggle,.details-toggle,.wine-counter,.side-menu button{-webkit-user-select:none;user-select:none}@font-face{font-family:Playfair Display;font-display:swap}@font-face{font-family:Montserrat;font-display:swap}.wine-card{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;position:relative;will-change:transform;transform:translateZ(0);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.wine-card-inner{background:#2c2c2c;border-radius:24px;padding:3rem;max-width:1200px;width:100%;height:calc(100vh - 3rem);box-shadow:0 20px 60px #00000080;border:1px solid rgba(212,175,55,.2);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;will-change:transform;transform:translateZ(0)}.wine-card-logo{position:absolute;top:1.5rem;left:1.5rem;width:120px;height:auto;opacity:.8;z-index:10}.wine-image-container{display:flex;align-items:center;justify-content:center;margin-bottom:2rem;position:relative;min-height:400px}.wine-image{max-width:280px;max-height:400px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 10px 30px rgba(0,0,0,.5));will-change:transform;transform:translateZ(0)}@media(hover:hover){.wine-image{transition:transform .3s ease}.wine-image:hover{transform:scale(1.05) translateZ(0)}}.wine-info{text-align:center;margin-bottom:2rem}.wine-line{font-family:var(--font-body);font-size:.9rem;text-transform:uppercase;letter-spacing:3px;color:var(--color-gold);margin-bottom:.5rem;font-weight:500}.wine-name{font-family:var(--font-heading);font-size:2.5rem;color:var(--color-cream);margin:.5rem 0 0;font-weight:700;line-height:1.2}.wine-vintage{font-family:var(--font-heading);font-size:1.5rem;color:var(--color-gold);margin:.5rem 0 1rem;font-weight:600;font-style:italic}.wine-details-row{display:flex;justify-content:center;gap:2rem;margin:1rem 0;padding:.75rem 0;border-top:1px solid rgba(212,175,55,.2);border-bottom:1px solid rgba(212,175,55,.2)}.wine-color,.wine-alcohol,.wine-size{font-family:var(--font-body);font-size:.95rem;color:#fff8e7cc;font-weight:500;letter-spacing:1px;text-transform:capitalize}.wine-price{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-top:1rem}.price-amount{font-family:var(--font-heading);font-size:2rem;color:var(--color-gold);font-weight:700}.price-vat{font-family:var(--font-body);font-size:.75rem;color:#fff8e799;text-transform:uppercase;letter-spacing:1px}.wine-details{background:#0000004d;border-radius:16px;padding:1.5rem;margin-top:2rem;border:1px solid rgba(212,175,55,.1)}.detail-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.detail-row:last-child{border-bottom:none}.detail-label{font-family:var(--font-body);font-size:.9rem;color:#fff8e7b3;font-weight:500}.detail-value{font-family:var(--font-body);font-size:.9rem;color:var(--color-cream);font-weight:400}@media(max-width:500px){.wine-card{padding:1rem}.wine-card-inner{padding:2rem 1.5rem}.wine-card-logo{width:80px;top:1rem;left:1rem}.wine-image-container{min-height:250px;margin-bottom:1.5rem}.wine-image{max-height:300px;filter:drop-shadow(0 5px 15px rgba(0,0,0,.3))}.wine-name{font-size:1.8rem}.wine-vintage{font-size:1.2rem}.wine-details-row{gap:1.5rem;margin:.75rem 0}.wine-color,.wine-alcohol,.wine-size{font-size:.85rem}.price-amount{font-size:1.6rem}.wine-line{font-size:.8rem}}@media(min-width:768px)and (orientation:landscape){.wine-card-inner{max-width:900px;display:grid;grid-template-columns:1fr 1.5fr;gap:2rem}.wine-image-container{margin-bottom:0}.wine-info{text-align:left;display:flex;flex-direction:column;justify-content:center}.wine-price{align-items:flex-start}}@media(min-width:768px)and (orientation:portrait){.wine-name{font-size:3rem}.price-amount{font-size:2.5rem}}.letter-navigation{position:fixed;right:1rem;top:50%;transform:translateY(-50%);z-index:500;background:#2c2c2c99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50px;padding:1rem .5rem;border:1px solid rgba(212,175,55,.2);transition:opacity .3s ease}.letter-list{display:flex;flex-direction:column;gap:.5rem;align-items:center}.letter-item{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;font-family:var(--font-heading);font-size:1rem;color:var(--color-cream);cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.letter-item:hover{background:#d4af3733}.letter-item.active{background:#d4af374d;color:var(--color-gold);font-weight:700;box-shadow:0 0 10px #d4af374d}@media(hover:none)and (pointer:coarse){.letter-item{width:44px;height:44px;font-size:1.1rem}.letter-navigation{right:.5rem;padding:.75rem .4rem}}@media(max-width:500px){.letter-navigation{right:.5rem;padding:.5rem .3rem}.letter-item{width:28px;height:28px;font-size:.8rem}.letter-list{gap:.3rem}}@media(min-width:501px)and (max-width:767px){.letter-navigation{right:.5rem;padding:.75rem .4rem}.letter-item{width:32px;height:32px;font-size:.9rem}.letter-list{gap:.35rem}}.loader-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:linear-gradient(135deg,#1a1a1a,#2c2c2c,#1a1a1a);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:1;transition:opacity .3s ease-out}.loader-overlay.fade-out{opacity:0}.loader-overlay:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(139,0,0,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(212,175,55,.05) 0%,transparent 50%);pointer-events:none}.loader-content{position:relative;z-index:1}.loader-logo{width:200px;height:auto;filter:drop-shadow(0 0 20px rgba(212,175,55,.3))}.pulsate{animation:pulsate 2s ease-in-out infinite}@keyframes pulsate{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@media(max-width:500px){.loader-logo{width:150px}}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;backface-visibility:hidden;overflow:hidden}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}:is(.swiper-button-prev,.swiper-button-next).swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}:is(.swiper-button-prev,.swiper-button-next).swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled :is(.swiper-button-prev,.swiper-button-next){display:none!important}:is(.swiper-button-prev,.swiper-button-next) svg{width:100%;height:100%;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}:is(.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next) .swiper-navigation-icon{transform:rotate(180deg)}:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(0)}.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-prev,.swiper-vertical~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto}:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto}:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) .swiper-navigation-icon{transform:rotate(90deg)}#root{width:100%;height:100vh;margin:0;padding:0}.app{width:100%;height:100vh;background:linear-gradient(135deg,#1a1a1a,#2c2c2c,#1a1a1a);position:relative;overflow:hidden}.app:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(139,0,0,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(212,175,55,.05) 0%,transparent 50%);pointer-events:none;z-index:0}.wine-swiper{width:100%;height:100vh;z-index:1;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.swiper-slide{display:flex;align-items:center;justify-content:center;background:transparent;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.wine-counter{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:100;background:#0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--color-gold);border-radius:50px;padding:.75rem 2rem;font-family:var(--font-body);font-size:1rem;color:var(--color-cream);font-weight:600;letter-spacing:2px;box-shadow:0 4px 20px #00000080;opacity:.7}.swiper-3d .swiper-slide-shadow{background:#00000080}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0000004d}::-webkit-scrollbar-thumb{background:var(--color-gold);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#d4af37cc}@media(min-width:768px){.wine-counter{font-size:1.1rem;padding:1rem 2.5rem}}@media(max-width:767px){.wine-counter{font-size:.9rem;padding:.5rem 1.5rem}}@media(max-width:500px){.wine-counter{display:none}}.app.loading{opacity:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.wine-swiper{animation:fadeIn .8s ease-out}
