.optique-homme-page,.optique-femme-page,.solaire-homme-page,.solaire-femme-page{opacity:1;-webkit-text-size-adjust:100%;background-color:#fff;margin:0;padding-top:5px;transition:opacity .8s;overflow-x:hidden}.optique-homme-page.visible,.optique-femme-page.visible,.solaire-homme-page.visible,.solaire-femme-page.visible{opacity:1}.filters{box-sizing:border-box;background-color:#fff;border-radius:0;flex-wrap:wrap;align-items:center;gap:10px;width:100%;margin:8px 0 10px;padding:8px;display:flex}.filters select{color:#333;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:none;border-bottom:1px solid #ddd;border-radius:0;outline:none;min-width:140px;padding:8px 2px;font-size:1rem}.filters select:focus{border-bottom-color:#000}.desktop-density{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.density-btn{color:#000;cursor:pointer;background:0 0;border:none;border-bottom:2px solid transparent;border-radius:0;padding:8px 6px;font-size:.95rem}.density-btn.active{border-bottom-color:#000}.glasses-grid{box-sizing:border-box;gap:max(4px,min(1.2vw,12px));width:100%;max-width:100%;margin:0 0 56px;padding:0 6px;display:grid}.glasses-grid.grid-d-3{grid-template-columns:repeat(3,minmax(0,1fr))}.glasses-grid.grid-d-5{grid-template-columns:repeat(5,minmax(0,1fr))}.glasses-grid.grid-m-2{grid-template-columns:repeat(2,minmax(0,1fr))}.glasses-grid.grid-m-3{grid-template-columns:repeat(3,minmax(0,1fr))}.glasses-item{box-sizing:border-box;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:#fff;border-radius:0;flex-direction:column;align-items:stretch;width:auto;max-width:100%;padding:0;display:flex;position:relative}.image-container{aspect-ratio:4/5;z-index:1;-webkit-tap-highlight-color:transparent;touch-action:pan-y;background-color:#f9f9f9;border-radius:0;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.carousel{width:100%;height:100%;position:relative}.carousel-image{object-fit:contain;pointer-events:none;-webkit-user-drag:none;border-radius:0;width:100%;height:100%;transition:transform .2s}.carousel-button{color:#000;cursor:pointer;z-index:2;opacity:0;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,.9);border:1px solid #ddd;border-radius:8px;padding:4px 6px;font-size:1.2rem;transition:opacity .2s,background .2s,transform .2s;position:absolute;top:50%;transform:translateY(-50%)}.carousel-button.left{left:6px}.carousel-button.right{right:6px}.image-container:hover .carousel-button,.image-container.actions-visible .carousel-button{opacity:1}.carousel-progress{z-index:2;background:rgba(0,0,0,.14);border-radius:1.5px;width:22%;height:1.5px;position:absolute;bottom:6px;left:50%;overflow:hidden;transform:translate(-50%)}.carousel-progress-fill{background:#000;width:0%;height:100%;transition:width .25s}.image-actions{z-index:3;pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:22px;left:8px;right:8px}.image-actions .color-dots,.image-actions .wishlist-button{opacity:0;pointer-events:auto;transition:opacity .18s;position:static!important}.image-container:hover .image-actions .color-dots,.image-container:hover .image-actions .wishlist-button,.image-container.actions-visible .image-actions .color-dots,.image-container.actions-visible .image-actions .wishlist-button{opacity:1}.color-dots{flex-direction:column;gap:6px;display:flex}.color-dot{cursor:pointer;border:1px solid #fff;border-radius:2px;width:16px;height:16px;box-shadow:0 0 0 1px rgba(0,0,0,.15)}.color-dot.selected{box-shadow:0 0 0 2px #000}.wishlist-button{cursor:pointer;background:rgba(255,255,255,.95);border:1px solid #ddd;border-radius:8px;padding:6px 8px;line-height:0}.wishlist-icon-img{filter:invert(20%);opacity:.95;width:24px;height:24px;transition:filter .16s,opacity .16s}.wishlist-button.active .wishlist-icon-img{filter:invert(0);opacity:1}.glasses-info{text-align:center;flex-direction:column;align-items:center;gap:2px;padding:10px 6px 12px;display:flex}.glasses-brand{color:#444;font-size:.95rem;font-weight:500}.glasses-name{color:#333;margin:0;font-family:Playfair Display,Garamond,serif;font-size:1.05rem;font-weight:600}.glasses-price{color:#666;margin:0;font-size:1rem}@media (max-width:768px){.optique-homme-page,.optique-femme-page,.solaire-homme-page,.solaire-femme-page{padding-bottom:calc(56px + env(safe-area-inset-bottom))}.glasses-info .glasses-brand{font-size:.85rem}.glasses-info .glasses-name{font-size:.95rem}.glasses-info .glasses-price{font-size:.9rem}.glasses-grid.grid-m-3 .glasses-info{display:none}.mobile-bottom-controls{height:50px;padding:8px max(10px,env(safe-area-inset-left))max(8px,env(safe-area-inset-bottom))max(10px,env(safe-area-inset-right));z-index:1200;-webkit-backdrop-filter:saturate(1.2)blur(6px);backdrop-filter:saturate(1.2)blur(6px);background:rgba(255,255,255,.96);border-top:1px solid #eaeaea;justify-content:space-between;align-items:center;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.mbc-btn{color:#000;text-align:center;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-bottom:1px solid #ddd;border-radius:0;flex:1 1 0;padding:8px 4px;font-size:.95rem}.filters.mobile-sheet{z-index:1250;background:#fff;border-top-left-radius:14px;border-top-right-radius:14px;grid-template-columns:1fr 1fr;gap:10px 12px;max-height:70vh;margin:0;padding:12px 16px 16px;transition:transform .25s;display:grid;position:fixed;bottom:0;left:0;right:0;transform:translateY(110%);box-shadow:0 -10px 30px rgba(0,0,0,.18)}.filters.mobile-sheet.open{transform:translateY(0)}.mobile-sheet-header{grid-column:1/-1;justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.mobile-sheet-close{cursor:pointer;background:0 0;border:none;font-size:1.2rem}.mobile-sheet-backdrop{z-index:1240;background:rgba(0,0,0,.35);position:fixed;top:0;bottom:0;left:0;right:0}.filters.mobile-sheet select{color:#333;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:none;border-bottom:1px solid #ddd;border-radius:0;outline:none;width:100%;min-width:0;max-width:none;padding:10px 2px}.carousel-progress{width:18%;height:1.5px;bottom:6px}.wishlist-button{padding:6px 8px;font-size:.85rem}}@media (max-width:360px){.glasses-grid.grid-m-3{grid-template-columns:repeat(3,minmax(0,1fr))}.glasses-grid.grid-m-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.glasses-item.out-of-stock,.glasses-item.out-of-stock .image-container{cursor:pointer}.glasses-item.out-of-stock:after,.glasses-item.out-of-stock .image-container:after{pointer-events:none}.wishlist-button{all:unset;cursor:pointer;border-radius:999px;place-items:center;width:36px;height:36px;transition:transform .12s,background-color .15s,box-shadow .2s;display:grid;box-shadow:0 0 transparent}.wishlist-button:hover{background-color:rgba(0,0,0,.05);transform:translateY(-1px)scale(1.04)}.wishlist-button:active{transform:scale(.96)}.heart-icon{display:block}.heart-icon .heart-outline{opacity:1}.heart-icon .heart-fill{fill:currentColor;opacity:0;transition:opacity .15s}.wishlist-button[data-active=true]{color:#111;background-color:rgba(0,0,0,.06)}.wishlist-button[data-active=true] .heart-icon .heart-fill{opacity:1}.wishlist-button[data-active=false]{color:#222}.wishlist-button[data-active=false] .heart-icon .heart-fill{opacity:0}.wishlist-button[data-active=true] .heart-icon{animation:.18s heart-pop}@keyframes heart-pop{0%{transform:scale(.9)}to{transform:scale(1)}}.category-hero-center{padding:max(10px,min(2vw,18px)) 6px;box-sizing:border-box;background-color:#fff;margin:2px 0 6px;padding-top:calc(max(10px,min(2vw,18px)) + 88px)}.hero-inner{text-align:center;max-width:980px;margin:0 auto}.hero-title{letter-spacing:-.005em;color:#0f1115;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 0 6px;font-family:Playfair Display,Garamond,serif;font-size:max(22px,min(3.4vw,34px));font-weight:400;line-height:1.15}.hero-subtitle{color:#3b3f45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-width:760px;margin:0 auto;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Arial,Liberation Sans,sans-serif;font-size:max(14px,min(1.4vw,16px));font-weight:400;line-height:1.55}@media (max-width:480px){.hero-title{letter-spacing:0}}
