.cart-drawer-side{position:fixed;top:0;right:-450px;width:450px;height:100vh;background:#fff;z-index:3000;box-shadow:-10px 0 30px #0000001a;transition:.4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.cart-drawer-side.open{right:0}.cart-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2999;opacity:0;visibility:hidden;transition:.3s ease}.cart-overlay.open{opacity:1;visibility:visible}.cart-drawer-header{padding:25px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:12px}.header-left h3{font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.close-cart-btn{background:none;border:none;cursor:pointer;color:#000;transition:transform .3s ease}.close-cart-btn:hover{transform:rotate(90deg)}.cart-drawer-items{flex:1;overflow-y:auto;padding:25px}.empty-cart-msg{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#888}.cart-item-row{display:flex;gap:15px;margin-bottom:25px;position:relative;padding-bottom:20px;border-bottom:1px solid #f9f9f9}.cart-item-img{width:90px;height:90px;background:#f8f8f8;border-radius:8px;overflow:hidden;flex-shrink:0}.cart-item-img img{width:100%;height:100%;object-fit:contain}.cart-item-info{flex:1}.drawer-item-link{text-decoration:none;color:inherit;transition:color .2s}.drawer-item-link:hover h4{color:#000;text-decoration:underline}.cart-item-info h4{font-size:14px;margin-bottom:5px;font-weight:700}.item-variant{font-size:11px;color:#777;margin-bottom:15px;display:flex;flex-direction:column;gap:2px}.lens-summary{background:#f5f5f5;padding:4px 8px;border-radius:4px;margin-top:5px}.item-price-qty{display:flex;justify-content:space-between;align-items:center}.item-price-qty .price{font-weight:800;font-size:15px}.qty-ctrl-sm{display:flex;align-items:center;border:1px solid #eee;border-radius:20px;padding:4px 10px;gap:12px}.qty-ctrl-sm button{background:none;border:none;cursor:pointer;color:#777}.qty-ctrl-sm span{font-size:13px;font-weight:700;min-width:15px;text-align:center}.remove-item-btn{position:absolute;top:0;right:0;background:none;border:none;cursor:pointer;color:#ddd;transition:color .3s}.remove-item-btn:hover{color:#ff4d4d}.cart-drawer-footer{padding:25px;background:#fff;border-top:1px solid #f0f0f0;box-shadow:0 -5px 15px #00000005}.total-row{display:flex;justify-content:space-between;margin-bottom:10px}.total-row span{font-size:18px;font-weight:900}.shipping-info{font-size:12px;color:#888;margin-bottom:25px}.footer-btns{display:flex;flex-direction:column;gap:12px}.btn-main-full{background:#000;color:#fff;border:none;padding:18px;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:.3s ease}.btn-main-full:hover{background:#12908f;color:#fff}.btn-outline-full{background:transparent;border:1.5px solid #000;color:#000;padding:16px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:2px;cursor:pointer}@media (max-width: 500px){.cart-drawer-side{width:100%;right:-100%}}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat/Montserrat-VariableFont_wght.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat/Montserrat-Italic-VariableFont_wght.ttf) format("truetype");font-weight:100 900;font-style:italic;font-display:swap}:root{--primary-color: #12908f;--primary-hover: #16b1b0;--secondary-color: #f8f8f8;--accent-color: #16b1b0;--gold-accent: #c9a227;--text-main: #1a1a1a;--text-muted: #717171;--bg-main: #ffffff;--bg-dark: #121212;--transition-smooth: all .4s cubic-bezier(.23, 1, .32, 1);--shadow-premium: 0 20px 40px rgba(0, 0, 0, .08);--header-height: 80px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,sans-serif;color:var(--text-main);background-color:var(--bg-main);line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6,.luxury-font{font-family:Montserrat,sans-serif;font-weight:800;letter-spacing:-.5px}a{text-decoration:none;color:inherit;transition:var(--transition-smooth)}button{cursor:pointer;border:none;outline:none;font-family:Montserrat,sans-serif;transition:var(--transition-smooth)}.container{max-width:1440px;margin:0 auto;padding:0 40px}@media (max-width: 768px){.container{padding:0 20px}}.glass{background:#ffffffb3;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.2)}.glass-dark{background:#0006;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.1)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;background-color:var(--primary-color);color:#fff;padding:14px 32px;border-radius:4px;font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;position:relative;z-index:1}.btn-accent{background-color:var(--primary-color);color:#fff;padding:14px 32px;border-radius:4px;font-weight:800;font-size:13px;letter-spacing:1px;text-transform:uppercase;transition:all .3s ease}.btn-accent:hover{transform:translateY(-3px);background-color:var(--primary-hover);box-shadow:0 10px 20px #16b1b04d}.section-header{text-align:center;margin-bottom:50px}.section-header h2{font-size:36px;font-weight:900;margin-bottom:10px}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;width:100%;background-color:var(--bg-main);position:fixed;top:0;left:0;z-index:9999}.spinner{width:50px;height:50px;border:4px solid rgba(18,144,143,.1);border-left-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUpCSS{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUpCSS .5s cubic-bezier(.23,1,.32,1) forwards}.skeleton-shimmer{background:#f6f7f8;background-image:linear-gradient(to right,#f6f7f8,#edeef1,#f6f7f8 40%,#f6f7f8);background-repeat:no-repeat;background-size:800px 100%;display:inline-block;position:relative;animation:shimmer 1.5s linear infinite forwards}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}
