:root{--font-script: "Dancing Script", cursive;--font-serif: "Cormorant Garamond", serif;--color-text: #1a1a1a;--color-text-light: #4a4a4a;--color-accent: #2c2c2c;--color-surface: #FFFAFA;--transition-smooth: cubic-bezier(.4, 0, .2, 1);--transition-bounce: cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;overscroll-behavior:none;-webkit-overflow-scrolling:auto}body{font-family:var(--font-serif);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;background-color:#faf9f6;touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;overscroll-behavior:none}input,textarea,select,button{font-size:16px!important;touch-action:manipulation}.background-corners{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;pointer-events:none}.background-corner{position:absolute;width:50%;height:50%;background-repeat:no-repeat}.background-corner.top-left{top:0;left:0;background-position:top left;background-size:200% 200%}.background-corner.top-right{top:0;right:0;background-position:top right;background-size:200% 200%}.background-corner.bottom-left{bottom:0;left:0;background-position:bottom left;background-size:200% 200%}.background-corner.bottom-right{bottom:0;right:0;background-position:bottom right;background-size:200% 200%}.scroll-container{position:relative;height:100vh;overflow:hidden;z-index:1}.pages-wrapper{will-change:transform}.scroll-container::-webkit-scrollbar{display:none}.page-section{height:100vh;width:100vw;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;position:relative}.content-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;max-width:600px;width:90%}.animate-in{animation:fadeSlideIn .8s var(--transition-smooth) forwards}.animate-out{animation:fadeSlideOut .5s var(--transition-smooth) forwards}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.animate-item{opacity:0;transform:translateY(30px)}.animate-item.visible{animation:fadeSlideIn .8s var(--transition-smooth) forwards}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.script-text{font-family:var(--font-script);font-weight:500}.serif-text{font-family:var(--font-serif);font-weight:300;letter-spacing:.02em}.heading-xl{font-size:clamp(2.5rem,8vw,5rem);line-height:1.1;margin-bottom:1rem}.heading-lg{font-size:clamp(1.8rem,5vw,3rem);line-height:1.2;margin-bottom:.75rem}.heading-md{font-size:clamp(1.3rem,3vw,2rem);line-height:1.3}.tagline{font-family:var(--font-script);font-size:clamp(1.2rem,3vw,1.8rem);color:var(--color-text-light);font-weight:400}.body-text{font-family:var(--font-serif);font-size:clamp(1rem,2vw,1.2rem);color:var(--color-text-light);max-width:450px;line-height:1.8}.logo{width:clamp(80px,20vw,150px);height:auto;margin-bottom:1.5rem}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);margin-left:2px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.1rem;padding-bottom:env(safe-area-inset-bottom,0)}@media(display-mode:standalone){.scroll-indicator{bottom:4.5rem}}.scroll-indicator.visible{animation:fadeSlideInCenter .8s var(--transition-smooth) forwards}@keyframes fadeSlideInCenter{0%{opacity:0;transform:translate(-50%,40px)}to{opacity:1;transform:translate(-50%)}}.scroll-indicator span{font-family:var(--font-serif);font-size:.9rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:purple}.page-indicator{position:fixed;right:2rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:1rem;z-index:100}.page-indicator .dot{width:10px;height:10px;border-radius:50%;background:#0003;transition:all .3s var(--transition-smooth);cursor:pointer}.page-indicator .dot.active{background:var(--color-text);transform:scale(1.3)}.page-indicator .dot:hover{background:var(--color-text-light)}.decorative-line{width:60px;height:1px;background:var(--color-text-light);margin:1.5rem 0}.sticky-logo{position:fixed;top:1.5rem;left:50%;transform:translate(-50%);z-index:90;opacity:0;transition:opacity .5s ease;pointer-events:none;cursor:pointer}.sticky-logo.visible{opacity:1;pointer-events:auto}.sticky-logo img{width:80px;height:auto}.btn{font-family:var(--font-serif);font-size:.9rem;letter-spacing:.15em;text-transform:uppercase;padding:1rem 2.5rem;border:1px solid var(--color-text);background:transparent;color:var(--color-text);cursor:pointer;transition:all .3s var(--transition-smooth)}.btn:hover{background:var(--color-text);color:#fff}.social-links{display:flex;gap:2rem;margin-top:2rem}.social-links a{color:var(--color-text-light);text-decoration:none;font-family:var(--font-serif);font-size:.85rem;letter-spacing:.1em;transition:color .3s ease}.social-links a:hover{color:var(--color-text)}.top-navigation{position:fixed;left:75%;top:2rem;transform:translate(-50%);display:flex;flex-direction:row;gap:2rem;z-index:100;align-items:center;opacity:0;transition:opacity .5s ease;pointer-events:none}.top-navigation.visible{opacity:1;pointer-events:auto}.nav-btn{font-family:var(--font-serif);font-size:.85rem;text-transform:uppercase;letter-spacing:.15em;background:none;border:none;cursor:pointer;color:var(--color-text-light);transition:all .3s ease;padding:.5rem 0;position:relative;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.nav-btn:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--color-text);transition:width .3s ease}.nav-btn:hover,.nav-btn.active{color:var(--color-text)}.nav-btn.active:after{width:100%}.nav-btn.nav-icon-btn{display:flex;align-items:center;gap:.3rem;padding:.5rem}.nav-btn.nav-icon-btn:after{display:none}.nav-btn.nav-icon-btn.pulse{animation:navIconPulse .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes navIconPulse{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.nav-badge{font-size:.7rem;font-weight:600;background:#e91e63;color:#fff;padding:.15rem .4rem;border-radius:10px;min-width:18px;text-align:center}@media(max-width:768px){.page-indicator{right:1rem}.top-navigation{display:flex;top:7rem;left:50%;transform:translate(-50%);width:100%;justify-content:center;gap:1.5rem}.nav-btn{font-size:.75rem;letter-spacing:.1em}.content-container{padding:1.5rem;padding-top:15vh}.scroll-indicator{bottom:5vh}}.hero-section .content-container{gap:.5rem}.hero-section .logo{filter:drop-shadow(0 2px 4px rgba(0,0,0,.05));margin-bottom:0}.hero-section h1{margin-top:0}.collection-section{position:relative;overflow:hidden}.gown-info{position:fixed;bottom:15%;left:15%;width:300px;text-align:left;z-index:20;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;pointer-events:auto}.gown-info.visible{opacity:1;transform:translateY(0);animation:fadeInUp .6s ease forwards}.gown-name{font-size:2.5rem;margin-bottom:.5rem;color:var(--color-text)}.gown-desc{font-size:.9rem;line-height:1.4;color:var(--color-text-light);margin-bottom:.5rem}.gown-price{font-size:1.2rem;font-weight:600;color:var(--color-text)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.collection-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:15;transition:transform 1s cubic-bezier(.645,.045,.355,1),opacity .8s ease;opacity:1}.collection-overlay.pre-enter{transform:translateY(100vh);opacity:1}.collection-overlay.active{transform:translateY(0);opacity:1}.collection-overlay.pushed-up{transform:translateY(-100vh);opacity:1}.collection-overlay.post-exit{transform:translateY(0);opacity:0}.gowns-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:15;transition:transform .8s cubic-bezier(.645,.045,.355,1)}.gowns-container.pushed-up{transform:translateY(-100%)}.gown-card{position:absolute;width:auto;height:75vh;max-height:calc(100vh - 150px);aspect-ratio:2/3;left:50%;top:50%;transform:translate(-50%,-50%);opacity:0;transition:all .8s cubic-bezier(.4,0,.2,1);z-index:0}.gown-card img{width:100%;height:100%;object-fit:contain}.gown-card.active{transform:translate(-50%,-50%) scale(1);opacity:1;z-index:10;pointer-events:auto}.gown-card.prev{transform:translate(35vw,-50%) scale(.65);opacity:.6;z-index:5;transition:all .8s cubic-bezier(.4,0,.2,1)}.gown-card.hidden-prev{transform:translate(75vw,-50%) scale(.5);opacity:.3;z-index:1;transition:all .8s cubic-bezier(.4,0,.2,1)}.gown-card.hidden-next{transform:translate(-50%,100vh) scale(.5);opacity:0;z-index:1;transition:none}.gown-card.next{transform:translate(-50%,25vh) scale(.65);opacity:.5;z-index:5;transition:all .8s cubic-bezier(.4,0,.2,1)}@media(max-width:768px){.gown-card{top:48%;height:50vh;max-height:calc(100vh - 140px)}.gown-card.next{transform:translate(-50%,33vh) scale(.65);opacity:.5}.gown-card.prev{transform:translate(10vw,-50%) scale(.5);opacity:.8}.gown-info{left:1.5rem;bottom:5%;width:60%}.gown-name{font-size:1.4rem;margin-bottom:.2rem}.gown-desc{font-size:.8rem;line-height:1.3}.gown-price{font-size:1rem}}.gown-card.hidden-next-no-peek{transform:translate(-50%,100vh) scale(.5);opacity:0;pointer-events:none}.cta-card{display:flex;align-items:center;justify-content:center;width:90vw;max-width:420px;height:auto;aspect-ratio:auto;background:transparent}.cta-card.active{transform:translate(-50%,-50%) scale(1);opacity:1;z-index:20}.cta-content{background:#fffffffa;padding:3rem 2rem;text-align:center;border:1px solid rgba(0,0,0,.1);box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:center;gap:1rem;position:relative}.cta-content:before{content:"";position:absolute;top:6px;left:6px;right:6px;bottom:6px;border:1px solid rgba(0,0,0,.05);pointer-events:none}.cta-content h3{margin-bottom:.5rem;font-size:2rem;color:var(--color-text)}.cta-content p{font-size:.95rem;line-height:1.6;color:var(--color-text-light);max-width:300px;margin:0 auto}.cta-content .italic{font-style:italic;font-family:var(--font-serif);margin-bottom:1.5rem}.btn.outline-btn{background:transparent;border:1px solid var(--color-text);color:var(--color-text);padding:.8rem 2.5rem;font-family:var(--font-header);letter-spacing:.05em;transition:all .3s ease}.btn.outline-btn:hover{background:var(--color-text);color:#fff}.gown-actions{position:fixed;bottom:15%;right:15%;display:flex;flex-direction:column;gap:1rem;z-index:20;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;align-items:flex-end}.action-btn{background:transparent;border:1px solid var(--color-text);color:var(--color-text);padding:.8rem 1.5rem;display:flex;align-items:center;gap:.5rem;font-family:var(--font-header);cursor:pointer;transition:all .3s ease;min-width:140px;justify-content:center}.action-btn:hover{background:var(--color-text);color:#fff;transform:translate(-5px)}.action-btn.buy-btn{background:var(--color-text);color:#fff;font-weight:600;margin-top:.5rem;border:1px solid var(--color-text)}@media(max-width:768px){.gown-actions{right:1.5rem;bottom:5%;width:auto;gap:.5rem;align-items:flex-end}.action-btn{padding:.6rem 1rem;min-width:unset;font-size:.9rem}.action-btn svg{width:18px;height:18px}}.gown-actions{position:fixed;bottom:15%;right:15%;display:flex;flex-direction:column;gap:1rem;z-index:20;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .8s cubic-bezier(.645,.045,.355,1);align-items:center;pointer-events:auto}.gown-actions.visible{opacity:1;transform:translateY(0);animation:fadeInUp .6s ease forwards .1s}.action-row{display:flex;gap:1.5rem;align-items:center;justify-content:center}.action-btn.icon-only{width:28px;height:28px;min-width:28px;border:none;background:transparent;padding:0;color:var(--color-text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.action-btn.icon-only:hover{transform:scale(1.1);background:transparent;color:var(--color-text)}.action-btn.icon-only:active{transform:scale(.9)}.action-btn.icon-only.liked{color:#e91e63;animation:likeBounce .4s cubic-bezier(.175,.885,.32,1.275)}.action-btn.icon-only.liked svg{fill:#e91e63}@keyframes likeBounce{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.action-btn.buy-btn{background:var(--color-text);color:#fff;border:1px solid var(--color-text);padding:.8rem 2rem;font-family:var(--font-header);font-weight:500;cursor:pointer;transition:all .3s ease;letter-spacing:.05em}.action-btn.buy-btn:hover{background:transparent;color:var(--color-text)}.pro-tip-popup{position:absolute;bottom:100%;right:0;margin-bottom:.8rem;background:#000000d9;color:#fff;padding:.5rem .8rem;border-radius:4px;font-size:.8rem;white-space:nowrap;animation:fadeInTip .3s ease-out;pointer-events:none}.pro-tip-popup:after{content:"";position:absolute;top:100%;right:18px;border-width:5px;border-style:solid;border-color:rgba(0,0,0,.85) transparent transparent transparent}@keyframes fadeInTip{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.heart-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;z-index:20;pointer-events:none;animation:heartPop .8s cubic-bezier(.175,.885,.32,1.275) forwards}.heart-overlay svg{width:100%;height:100%;filter:drop-shadow(0 4px 6px rgba(0,0,0,.2))}@keyframes heartPop{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}30%{transform:translate(-50%,-50%) scale(.95)}45%{transform:translate(-50%,-50%) scale(1.1)}80%{opacity:.9;transform:translate(-50%,-100%) scale(1) rotate(-5deg)}to{opacity:0;transform:translate(calc(-50% + 20px),-250%) scale(.9) rotate(5deg)}}@media(max-width:768px){.gown-actions{right:1.5rem;bottom:5%;gap:1rem}.action-row{gap:1rem}.action-btn.icon-only{width:40px;height:40px}.action-btn.buy-btn{padding:.6rem 1.5rem;font-size:.9rem}}.size-selector{display:flex;gap:.5rem;animation:fadeInScale .3s cubic-bezier(.34,1.56,.64,1)}.size-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--color-text);background:transparent;color:var(--color-text);font-family:var(--font-header);font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.size-btn:hover{background:var(--color-text);color:#fff;transform:scale(1.1)}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes heartPop{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}30%{transform:translate(-50%,-50%) scale(.95)}45%{transform:translate(-50%,-50%) scale(1.1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,calc(-50% - 150px)) scale(.8)}}@media(min-width:768px){.gown-info{left:5%;bottom:10%;width:300px}.gown-actions{right:5%;bottom:10%;align-items:center;gap:1rem}.action-row{gap:2rem;justify-content:center}}@media(min-width:1024px){.gown-info{left:5%;top:auto;bottom:15%;transform:none!important;width:350px;text-align:left}.gown-info.visible{transform:translateY(0);top:auto;bottom:15%}.gown-actions{right:5%;top:auto;bottom:15%;align-items:center;gap:1rem}.gown-actions.visible{top:auto;bottom:15%;transform:translateY(0)}.action-row{gap:2rem;justify-content:center}}.menu-overlay-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:200;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.menu-overlay-content{background:var(--color-surface);width:90%;max-width:500px;padding:3rem 2rem;position:relative;text-align:center;box-shadow:0 20px 50px #0000001a;animation:slideUp .4s ease;display:flex;flex-direction:column;gap:2rem;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.close-btn{position:absolute;top:1rem;right:1.5rem;background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-text);padding:.5rem;line-height:1}.menu-section{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.contact-buttons{display:flex;gap:1rem;margin-top:1rem}.contact-btn{padding:.8rem 1.5rem;border:1px solid var(--color-text);text-decoration:none;color:var(--color-text);font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;transition:all .3s ease}.contact-btn:hover{background:var(--color-text);color:#fff}.contact-btn.whatsapp:hover{background:#25d366;border-color:#25d366}.copyright{font-size:.7rem;margin-top:2rem;opacity:.6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.product-list{width:100%;display:flex;flex-direction:column;gap:1rem}.product-list::-webkit-scrollbar{width:6px}.product-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.product-list::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.product-list::-webkit-scrollbar-thumb:hover{background:#555}.product-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#f9f9f9;border-radius:8px;text-align:left}.product-thumb{width:60px;height:80px;object-fit:cover;border-radius:4px}.product-details{flex:1}.product-name{font-family:var(--font-header);font-size:1rem;margin:0 0 .25rem}.product-size{font-size:.8rem;color:#666;margin:0 0 .25rem}.product-price{font-family:var(--font-serif);font-size:.9rem;color:var(--color-text);margin:0}.remove-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;padding:.5rem;line-height:1;transition:color .2s}.remove-btn:hover{color:#e91e63}.empty-message{opacity:.6;font-style:italic}.cart-total{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-top:1px solid #eee;margin-top:1rem}.total-label{font-family:var(--font-serif);font-size:1rem}.total-amount{font-family:var(--font-header);font-size:1.5rem;font-weight:600}.checkout-btn{width:100%;padding:1rem;background:var(--color-text);color:#fff;border:none;font-family:var(--font-header);font-size:1rem;letter-spacing:.05em;cursor:pointer;transition:all .3s ease}.checkout-btn:hover{background:#333}.clear-all-btn{width:100%;padding:.8rem;background:transparent;color:var(--color-text);border:1px solid var(--color-text);font-family:var(--font-header);font-size:.9rem;letter-spacing:.05em;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.clear-all-btn:hover{background:var(--color-text);color:#fff}.shop-page{position:fixed;top:0;left:0;width:100%;height:100%;background:#faf9f6;z-index:100;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;transform:translateY(100%);overscroll-behavior:none}.shop-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;position:sticky;top:0;background:#faf9f6;z-index:10}.shop-logo-btn{background:transparent;border:none;cursor:pointer;padding:0;display:flex;align-items:center}.shop-cart-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:#1a1a1a;position:relative}.cart-badge{position:absolute;top:-2px;right:-2px;background:#ff3b30;color:#fff;font-size:.7rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:badgePop .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes badgePop{0%{transform:scale(0)}to{transform:scale(1)}}.shop-logo-btn:hover,.shop-cart-btn:hover{transform:scale(1.1)}.shop-logo{height:28px;width:auto;object-fit:contain}.shop-search-container{display:flex;gap:.75rem;padding:0 1.25rem;margin-bottom:1rem}.shop-search-bar{flex:1;display:flex;align-items:center;gap:.75rem;background:var(--color-surface);border:1px solid #e5e5e5;border-radius:12px;padding:.75rem 1rem}.shop-search-bar .search-icon{color:#999;flex-shrink:0}.shop-search-bar input{flex:1;border:none;outline:none;font-family:var(--font-serif);font-size:.95rem;color:#1a1a1a;background:transparent}.shop-search-bar input::placeholder{color:#aaa}.shop-filter-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid #e5e5e5;border-radius:12px;cursor:pointer;color:#1a1a1a;transition:all .2s ease}.shop-filter-btn:hover{background:#f5f5f5}.shop-categories{display:flex;gap:.5rem;padding:0 1.25rem;margin-bottom:1.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.shop-categories::-webkit-scrollbar{display:none}.category-tab{padding:.6rem 1.25rem;border-radius:25px;border:none;background:transparent;font-family:var(--font-serif);font-size:.85rem;color:#666;cursor:pointer;white-space:nowrap;transition:all .25s ease}.category-tab.active{background:#1a1a1a;color:#fff}.category-tab:hover:not(.active){background:#f0f0f0}.shop-products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:0 1.25rem 2rem}.shop-product-card{background:var(--color-surface);border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.shop-product-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000014}.product-image-wrapper{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:transparent}.product-image-blur{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;filter:blur(25px);transform:scale(1.2);opacity:.6;z-index:0}.product-image-main{position:relative;z-index:1;width:100%;height:100%;object-fit:contain}.product-badge{position:absolute;top:.75rem;right:.75rem;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#f5a623}.product-info{padding:.75rem}.product-name{font-family:var(--font-serif);font-size:.9rem;font-weight:500;color:#1a1a1a;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-price{font-family:var(--font-serif);font-size:.85rem;color:#1a1a1a;font-weight:600}@media(min-width:768px){.shop-page{width:100%;left:0;transform:translateY(100%);border-radius:0;box-shadow:none}.shop-page.active{transform:translateY(0)}.shop-header{padding:2rem 5%;max-width:1400px;margin:0 auto}.shop-search-container{padding:0 5%;max-width:1400px;margin:0 auto 1rem}.shop-categories{padding:0 5%;max-width:1400px;margin:0 auto 2rem;gap:1rem}.shop-products-grid{padding:0 5% 3rem;max-width:1400px;margin:0 auto;grid-template-columns:repeat(3,1fr);gap:2rem}.shop-product-card{border-radius:20px}.product-name{font-size:1rem}.product-price{font-size:.95rem}}@media(min-width:1200px){.shop-products-grid{grid-template-columns:repeat(4,1fr)}.shop-title{font-size:1.5rem}}.shop-sort-menu{position:absolute;top:100%;right:0;margin-top:10px;background:var(--color-surface);border-radius:12px;box-shadow:0 4px 24px #0000001f;padding:8px;min-width:180px;z-index:100;display:flex;flex-direction:column;gap:4px;border:1px solid rgba(0,0,0,.05)}.shop-sort-menu button{background:transparent;border:none;padding:10px 12px;text-align:left;font-size:14px;color:#666;border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:500}.shop-sort-menu button:hover{background:#f5f5f5;color:#1a1a1a}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-card{background:#f0f0f0;border-radius:16px;overflow:hidden;position:relative;aspect-ratio:3/4;display:flex;flex-direction:column}.skeleton-image{width:100%;aspect-ratio:3/4;background:linear-gradient(90deg,#f0f0f0 25%,#f8f8f8,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-info{padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.skeleton-text{height:1rem;background:linear-gradient(90deg,#f0f0f0 25%,#f8f8f8,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-text.short{width:60%}.product-detail-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#fff5f8f2;z-index:199;pointer-events:none}.hero-image-clone{position:fixed;z-index:300;overflow:hidden;will-change:transform,width,height,left,top;pointer-events:none}.product-detail-overlay{position:fixed;top:0;left:0;width:100%;height:100dvh;background:#faf9f6;z-index:200;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;touch-action:pan-y}.detail-content{opacity:0;transform:translateY(20px);transition:opacity .4s ease,transform .4s ease}.detail-content.visible{opacity:1;transform:translateY(0)}.detail-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;position:relative;background:#fff5f8;z-index:10;flex-shrink:0}.detail-back-btn,.detail-cart-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:#1a1a1a;transition:transform .2s ease}.detail-back-btn:hover,.detail-cart-btn:hover{transform:scale(1.1)}.detail-logo{height:28px;width:auto;object-fit:contain}.detail-image-container{position:relative;width:100%;aspect-ratio:4/5;max-height:55vh;margin:0 auto;background:#f0f0f0}.detail-image-container img{width:100%;height:100%;object-fit:contain}.image-dots{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem}.image-dots .dot{width:8px;height:8px;border-radius:50%;background:#ffffff80;transition:all .2s ease}.image-dots .dot.active{background:#1a1a1a;width:20px;border-radius:4px}.detail-content{padding:1.5rem 1.25rem 2rem;flex:1;display:flex;flex-direction:column}.detail-product-name{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;color:#1a1a1a;margin-bottom:.5rem}.detail-product-price{font-family:var(--font-serif);font-size:1.1rem;color:#1a1a1a;font-weight:600;margin-bottom:1rem}.detail-product-desc{font-family:var(--font-serif);font-size:.9rem;color:#666;line-height:1.6;margin-bottom:1.5rem}.detail-options{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem}.color-options{display:flex;gap:.5rem}.color-btn{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.color-btn.selected{border-color:#1a1a1a;transform:scale(1.1)}.color-btn:hover:not(.selected){transform:scale(1.05)}.size-dropdown{position:relative;min-width:120px}.size-dropdown select{width:100%;padding:.75rem 2rem .75rem 1rem;font-family:var(--font-serif);font-size:.9rem;color:#1a1a1a;background:#fff;border:1px solid #e0e0e0;border-radius:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.size-dropdown select:focus{border-color:#1a1a1a}.dropdown-arrow{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;color:#666}.add-to-bag-btn{width:100%;padding:1rem;background:#1a1a1a;color:#fff;border:none;border-radius:12px;font-family:var(--font-serif);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;margin-top:auto}.add-to-bag-btn:hover{background:#333;transform:translateY(-2px)}.add-to-bag-btn:active{transform:translateY(0)}@media(min-width:768px){.product-detail-overlay{width:100%;left:0;transform:translate(100%);border-radius:0;box-shadow:none;flex-direction:row}.product-detail-overlay.open{transform:translate(0)}.detail-header{position:fixed;top:0;left:0;right:0;padding:.75rem 3%;background:#fff5f8f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.detail-image-container{width:50%;height:100vh;position:fixed;left:0;top:0;aspect-ratio:auto;padding-top:140px;box-sizing:border-box}.detail-content{width:50%;margin-left:50%;padding:5rem 5% 3rem;min-height:100vh}.detail-product-name{font-size:2.5rem;margin-bottom:1rem}.detail-product-price{font-size:1.5rem;margin-bottom:1.5rem}.detail-product-desc{font-size:1rem;line-height:1.8;margin-bottom:2rem;max-width:500px}.detail-options{margin-bottom:2rem}.color-btn{width:40px;height:40px}.add-to-bag-btn{max-width:300px;padding:1.2rem 2rem;font-size:1.1rem}}@media(min-width:1200px){.detail-product-name{font-size:3rem}.detail-content{padding:6rem 8% 3rem}}.detail-image-blur{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;filter:blur(25px);transform:scale(1.2);opacity:.5;z-index:0}.detail-image-main{position:relative;z-index:2;width:100%;height:100%;object-fit:contain}.related-products{margin-top:3rem;padding-top:2rem;border-top:1px solid #eee}.related-title{font-family:var(--font-serif);font-size:1.2rem;color:#1a1a1a;margin-bottom:1rem;text-align:left}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.related-card{cursor:pointer;transition:transform .2s ease;background:var(--color-surface);border-radius:12px;padding:.75rem;border:1px solid rgba(0,0,0,.05)}.related-card:hover{transform:translateY(-4px)}.related-image{width:100%;aspect-ratio:4/5;background:#f0f0f0;margin-bottom:.5rem;overflow:hidden;border-radius:4px}.related-image img{width:100%;height:100%;object-fit:cover}.related-name{font-size:.9rem;font-weight:500;color:#1a1a1a;margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.related-price{font-size:.9rem;color:#1a1a1a;font-weight:600}.zoom-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;z-index:9999;display:flex;align-items:center;justify-content:center;touch-action:none}.zoom-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.zoom-image{max-width:100%;max-height:100%;object-fit:contain;will-change:transform}.zoom-close-btn{position:absolute;top:2rem;left:2rem;z-index:10000;width:44px;height:44px;border-radius:50%;background:#fff3;border:2px solid white;color:#fff;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .2s ease}.zoom-close-btn:hover{background:#fff6;transform:scale(1.1)}.zoom-controls-hint{position:absolute;bottom:2rem;color:#ffffff80;font-size:.8rem;pointer-events:none;background:#0000004d;padding:4px 12px;border-radius:20px}
