Ginocchiera a Compressione
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0} :root{--blue:#69AEEC;--blue-dark:#4d98dc;--blue-text:#12395f;--blue-light:#eef7ff;--text:#0f1923;--text-soft:#24384c; --muted:#5e6e7f;--border:#d5e7f9;--surface:#fff;--surface-soft:#eef7ff;--radius:14px;--font:"DM Sans",sans-serif;--title-weight:700} body{font-family:var(--font);color:var(--text);background:#f4f9fe;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility} a{color:inherit;text-decoration:none} img,video{max-width:100%;display:block} .page{width:100%;max-width:100%;margin:0 auto;padding:24px 16px 60px;box-sizing:border-box} .page > *{width:100%;max-width:100%;box-sizing:border-box} .page,.page *{font-family:var(--font)} .section,.steps-wrap,.sq-video-section,.sq-reviews-slider-section,.stats-section,.trust-section,.guarantee-box,.faq-section,.social-box,.sq-media-block{margin:0 0 22px} .section,.steps-wrap,.sq-video-section,.sq-reviews-slider-section,.stats-section,.trust-section,.guarantee-box,.faq-section,.social-box,.sq-media-block,.hero-banner,.sqb-wrap,.sq_info_box,.sq-atc-wrap,.sq,.accordion-group,.sq-contrast-box{width:100%;max-width:100%;box-sizing:border-box} .section p,.accordion-body p,.faq-content{font-size:14px;line-height:1.7;color:var(--text-soft)} .sq-media-img{width:100%;height:auto;border-radius:18px;display:block} .sq-contrast-box{background:var(--blue-light);border:1.5px solid var(--border);border-radius:8px;padding:18px 20px;margin:0 0 26px;color:var(--blue-text)} .sq-contrast-title{font-size:17px;font-weight:900;line-height:1.25;margin:0} .sq-contrast-list{display:grid;gap:14px;margin:0;padding:34px 0 0;list-style:none} .sq-contrast-item{display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.35;color:var(--blue-text)} .sq-contrast-check{width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;font-weight:900} .hero-banner{background:linear-gradient(180deg,#12395f 0%,#69AEEC 100%);border-radius:20px;padding:26px 20px;margin:0 0 22px;position:relative;overflow:hidden} .hero-title{font-size:30px;font-weight:var(--title-weight);color:#fff;line-height:1.12;margin-bottom:12px} .hero-sub{font-size:15px;color:rgba(255,255,255,.94)!important;line-height:1.68;max-width:100%} .hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px} .hero-pill{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:12px;font-weight:500;padding:6px 14px;border-radius:999px} .sq-points{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--border);background:var(--surface-soft);border-radius:14px} .sq-points--grid{display:grid;grid-template-columns:1fr 1fr;gap:10px} .sq-points--grid .sq-points-item{min-height:50px} .sq-points-item{display:flex;align-items:flex-start;gap:10px;font-size:15px;font-weight:700;color:var(--text);line-height:1.45} .sq-points-icon{width:18px;height:18px;border-radius:50%;background:var(--blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;margin-top:2px} .sq-points-icon svg{width:12px;height:12px} .section > p + .sq-points{margin-top:12px} .sqb-wrap{font-family:var(--font);margin:0 0 10px;width:100%} .sqb-title-row{display:flex;align-items:center;gap:12px;margin-bottom:14px} .sqb-line{flex:1;height:1px;background:var(--border)} .sqb-title{font-size:14px;font-weight:800;color:var(--text);white-space:nowrap;letter-spacing:.04em;text-transform:uppercase} .sqb-options{display:flex;flex-direction:column;gap:10px} .sqb-option{position:relative;display:block;width:100%;cursor:pointer} .sqb-option input{position:absolute;opacity:0;width:0;height:0} .sqb-card{display:block;width:100%;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--blue-light);overflow:hidden;cursor:pointer;transition:all .2s ease} .sqb-main{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px} .sqb-left{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;column-gap:12px;min-width:0} .sqb-radio{display:block;width:18px;height:18px;border:2px solid #99c8f2;border-radius:50%;background:#fff;box-sizing:border-box;flex-shrink:0;position:relative;justify-self:center;align-self:center} .sqb-name{font-size:15px;font-weight:700;color:var(--text);line-height:1.22} .sqb-right{text-align:right;flex-shrink:0} .sqb-price{font-size:21px;font-weight:700;color:var(--text);line-height:1} .sqb-old{margin-top:5px;font-size:13px;color:#8aa0b5;text-decoration:line-through;line-height:1;display:block} .sqb-discount{display:inline-flex;align-items:center;margin-left:10px;padding:5px 10px;border-radius:8px;background:var(--blue);color:#fff;font-size:12px;font-weight:900;line-height:1;border:1px solid var(--blue)} .sqb-option--featured .sqb-card{background:#f3f6f9} .sqb-popular{position:absolute;top:-12px;right:14px;display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:10px 10px 10px 3px;background:var(--blue);color:#fff;font-size:12px;font-weight:800;line-height:1;box-shadow:0 10px 18px rgba(15,25,35,.12)} .sqb-option.selected .sqb-card,.sqb-option input:checked + .sqb-card{border:2px solid var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(105,174,236,.20)} .sqb-option.selected .sqb-radio,.sqb-option input:checked + .sqb-card .sqb-radio{border-color:var(--blue);background:var(--blue)} variant-radios, variant-selects, product-variant-picker, .variant-picker, .product-form__input, fieldset.product-form__input{display:none!important} .sqb-size-wrap{display:none;padding:0 18px 16px 58px} .sqb-option.selected .sqb-size-wrap{display:grid;gap:8px} .sqb-size-title{font-size:12px;color:var(--muted);font-weight:700;line-height:1.2} .sqb-size-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px} .sqb-size-label{font-size:13px;font-weight:700;color:var(--text-soft);line-height:1} .sqb-size-select{width:100%;min-height:40px;border:1.5px solid var(--border);border-radius:8px;background:#fff;color:var(--text);font-size:15px;font-weight:800;padding:0 10px;outline:0} .sqb-size-select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(105,174,236,.18)} .sq_info_box{display:flex;gap:10px;padding:12px;border:1px solid var(--border);background:var(--blue-light);border-radius:14px;color:var(--text);margin-bottom:10px} .sq_info_icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);color:var(--blue);flex:0 0 auto} .sq_info_grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;width:100%;align-items:center} .sq_label{font-size:12px;font-weight:700;color:var(--muted);line-height:1.2;margin-bottom:4px} .sq_value{font-size:14.25px;font-weight:800;line-height:1.25;color:var(--text)} .sq_compact{display:grid;grid-template-columns:1fr;gap:6px;min-width:126px;justify-self:end} .sq_line{display:flex;gap:7px;align-items:center;min-width:0} .sq_tag{font-size:11px;font-weight:600;line-height:1;padding:5px 8px;border-radius:999px;background:rgb(76,161,234);border:1px solid var(--border);white-space:nowrap;flex:0 0 auto;color:#fff} .sq_txt{font-size:12px;line-height:1.25;color:var(--text);min-width:0;white-space:nowrap} .sq-atc-wrap{margin:0 0 10px} .sq-payment-placeholder{margin:0 0 20px} .sq-native-controls{display:flex!important;flex-direction:column!important;gap:3px!important;margin:0!important} .sq-native-controls button, .sq-native-controls input, .sq-native-controls #_rsi-buy-now-button, .sq-native-controls .shopify-payment-button, .sq-native-controls .shopify-payment-button__button{font-family:var(--font)!important;letter-spacing:0} .quantity-selector-wrapper, .quantity, .quantity-selector, .product-form__quantity, .sq-extra-qty{display:none!important} .sq-native-controls .sq-native-controls-qty{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;max-width:100%!important;margin:0 0 8px!important} .sq-native-controls .sq-native-controls-qty > .quantity-selector-wrapper, .sq-native-controls .sq-native-controls-qty > .quantity, .sq-native-controls .sq-native-controls-qty > .quantity-selector{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:6px!important;width:100%!important;max-width:220px!important;margin:0 auto!important;align-self:center!important;justify-self:center!important} .sq-native-controls .sq-native-controls-qty > .product-form__quantity{display:block!important;width:100%!important;max-width:220px!important;margin:0 auto!important} .sq-native-controls .sq-native-controls-qty > .quantity-selector-wrapper > *, .sq-native-controls .sq-native-controls-qty > .quantity > *, .sq-native-controls .sq-native-controls-qty > .quantity-selector > *{width:100%!important} .sq-native-controls .sq-native-controls-qty button, .sq-native-controls .sq-native-controls-qty input{min-height:52px!important;border-radius:14px!important;font-size:16px!important;font-weight:700!important;line-height:1!important;padding:0!important;text-align:center!important} .sq-native-controls #_rsi-buy-now-button, .sq-native-controls .shopify-payment-button, .sq-native-controls .shopify-payment-button__button, .sq-native-controls shopify-accelerated-checkout, .sq-native-controls [data-shopify="dynamic-checkout"]{width:100%!important;max-width:100%!important} .sq-native-controls #_rsi-buy-now-button{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%!important;min-height:52px!important;border-radius:12px!important;background:#1ecb09!important;color:#fff!important;font-size:16px!important;font-weight:800!important;border:0!important} .sq-native-controls .shopify-payment-button, .sq-native-controls .shopify-payment-button__button, .sq-native-controls shopify-accelerated-checkout, .sq-native-controls [data-shopify="dynamic-checkout"]{display:block!important;min-height:52px;border:0!important} .sq-native-controls .shopify-payment-button{background:transparent!important;margin:0!important;border-radius:12px!important;overflow:hidden} .sq-native-controls .shopify-payment-button__button{min-height:52px!important;border-radius:12px!important;font-size:15px!important;font-weight:700!important} .sq-native-controls .shopify-payment-button__more-options{background:transparent!important;color:var(--muted)!important;border:0!important;padding:10px 0 0!important;text-decoration:underline!important;text-underline-offset:2px;box-shadow:none!important} .sq-native-controls-dynamic .shopify-payment-button > shopify-accelerated-checkout:nth-of-type(n+2), .sq-native-controls-dynamic .shopify-payment-button > .shopify-payment-button__button:nth-of-type(n+2), .sq-native-controls-dynamic .sq-hide-extra-paypal{display:none!important} .sq-native-controls-form{display:block!important;width:100%!important} .sq-native-controls-dynamic, .sq-native-controls-cod{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important} .sq-native-controls-dynamic *, .sq-native-controls-cod *{margin-top:0!important;margin-bottom:0!important} .sq-native-controls-add{display:none!important;width:0!important;height:0!important;overflow:hidden!important} .sq-native-controls-add button[name="add"], .sq-native-controls-add .product-form__submit, .sq-native-controls-add [data-add-to-cart], .sq-native-controls-add [data-buy-button], .sq-native-controls-add [type="submit"]{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:52px!important;padding:0 12px!important;border:1.5px solid var(--blue)!important;border-radius:14px!important;background:#fff!important;color:var(--blue-dark)!important;font-family:var(--font)!important;font-size:15px!important;font-weight:800!important;line-height:1.1!important;letter-spacing:0!important;text-align:center!important;text-decoration:none!important;box-shadow:none!important;cursor:pointer!important;white-space:normal!important} .sq-native-controls-add button[name="add"]:hover, .sq-native-controls-add .product-form__submit:hover, .sq-native-controls-add [data-add-to-cart]:hover, .sq-native-controls-add [data-buy-button]:hover, .sq-native-controls-add [type="submit"]:hover{background:var(--blue-light)!important;color:var(--blue-text)!important} .sq-native-controls-add button[disabled], .sq-native-controls-add .product-form__submit[disabled], .sq-native-controls-add [data-add-to-cart][disabled], .sq-native-controls-add [data-buy-button][disabled], .sq-native-controls-add [type="submit"][disabled]{opacity:.55!important;cursor:not-allowed!important} .sq-hidden-native-submit{display:none!important} .sq-dynamic-source{position:absolute!important;left:-99999px!important;top:auto!important;width:1px!important;height:1px!important;min-height:0!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important} .sticky-add-to-cart, .product-sticky-form, .sticky-atc, .sticky-cart, [data-sticky-add-to-cart], [data-sticky-atc], [data-add-to-cart-sticky]{display:none!important} .sq{display:block;margin:0 0 18px} .sq-card{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:9px 14px} .sq-row1{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;gap:10px} .sq-bar-wrap{background:var(--blue-light);border-radius:99px;height:5px;margin-bottom:4px;overflow:hidden} .sq-bar{height:100%;border-radius:99px;background:var(--blue);font-size:0;line-height:0} .sq-badge{background:#eef7ff;color:var(--blue-text);font-size:14px;font-weight:800;padding:5px 10px;border-radius:99px} .sq-pezzi{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;font-size:14px;font-weight:900;padding:6px 11px;border-radius:999px;line-height:1;box-shadow:0 8px 18px rgba(105,174,236,.28)} .sq-row2{display:flex;align-items:center;gap:5px} .sq-eye-icon{width:18px;height:18px;color:var(--blue-dark);flex:0 0 18px} .sq-eye-icon svg{display:block;width:100%;height:100%} .sq-viewers{font-size:13px;line-height:1.2;color:#444} .sq-viewers b{color:var(--blue-dark)} .accordion-group{margin:0 0 22px;display:flex;flex-direction:column;gap:6px} .accordion-item{border:1px solid var(--blue);border-radius:14px;background:#fff;overflow:hidden} .accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:none;border:0;text-align:left;cursor:pointer;color:var(--text);font-size:14px;font-weight:700} .accordion-trigger-icon{width:24px;height:24px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:transform .2s ease} .accordion-item.open .accordion-trigger-icon{transform:rotate(180deg)} .accordion-body{display:none;padding:0 16px 16px} .accordion-item.open .accordion-body{display:block} .contact-card{background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;padding:14px;margin-top:12px} .contact-actions{display:flex;flex-direction:column;gap:10px;margin-top:12px} .contact-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:12px 16px;border-radius:12px;font-size:14px;font-weight:700} .contact-btn-email{background:#dff0ff;color:var(--blue-text)} .contact-btn-wa{background:#16a34a;color:#fff} .steps-title,.compare-title,.faq-title,.sq-title,.sq-reviews-slider-title,.trust-section-title,.guarantee-title{font-size:24px;font-weight:var(--title-weight);line-height:1.18;color:var(--text)} .steps-title{margin-bottom:12px} .steps-grid{display:flex;flex-direction:column;gap:8px} .step-card{display:flex;align-items:flex-start;gap:8px;background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;padding:10px 12px} .step-num{width:22px;height:22px;border-radius:50%;background:#dff0ff;color:var(--blue-text);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex:0 0 22px} .step-content h4{font-size:14px;font-weight:700;color:var(--text);margin-bottom:2px;line-height:1.3} .step-content p{font-size:13px;color:#526476;line-height:1.58;margin:0} .sq-video-section{border:1px solid var(--border);border-radius:20px;background:#fff;padding:24px 0 20px;margin:0 0 22px;overflow:hidden} .sq-video-head{padding:0 20px;text-align:center;margin-bottom:16px} .sq-kicker{display:inline-block;color:var(--blue-dark);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px} .sq-copy{font-size:14px;color:var(--muted);line-height:1.65} .sq-video-slider-shell,.sq-reviews-slider-shell{position:relative;padding:0 18px} .sq-video-slider-track,.sq-reviews-slider-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 10%;scrollbar-width:none;-ms-overflow-style:none} .sq-video-slider-track::-webkit-scrollbar,.sq-reviews-slider-track::-webkit-scrollbar{display:none} .sq-video-slide,.sq-review-slide{flex:0 0 80%;scroll-snap-align:center;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft);padding:10px} .sq-video-card{border:1px solid var(--border);border-radius:16px;background:var(--surface-soft);padding:8px} .sq-video-frame{position:relative;overflow:hidden;border-radius:14px;background:#000;aspect-ratio:9/16} .sq-video-frame video{width:100%;height:100%;object-fit:cover;display:block;background:#000} .sq-video-caption{font-size:13px;font-weight:500;color:#334a60;line-height:1.55;margin-top:10px;text-align:center} .sq-video-nav,.sq-review-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px rgba(105,174,236,.15);z-index:2} .sq-video-nav.prev,.sq-review-nav.prev{left:10px} .sq-video-nav.next,.sq-review-nav.next{right:10px} .sq-video-dots,.sq-review-dots{display:flex;justify-content:center;gap:8px;margin-top:12px} .sq-video-dot,.sq-review-dot{width:8px;height:8px;border-radius:50%;background:#d4e9fa;transition:all .2s;cursor:pointer} .sq-video-dot.active,.sq-review-dot.active{width:26px;border-radius:999px;background:var(--blue)} .sq-reviews-slider-section{background:#fff;border:1px solid var(--border);border-radius:20px;padding:24px 0 20px;overflow:hidden} .sq-reviews-slider-head{padding:0 20px;text-align:center;margin-bottom:16px} .sq-reviews-slider-sub{font-size:14px;color:var(--muted);line-height:1.65} .sq-review-slide{padding:18px 16px} .sq-review-top{display:flex;align-items:flex-start;gap:14px;margin-bottom:10px} .sq-review-meta{display:flex;flex-direction:column;gap:5px} .sq-review-name{font-size:15px;font-weight:700;color:var(--text);line-height:1.1} .sq-review-time{font-size:12px;color:var(--muted);line-height:1} .sq-review-rating-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap} .sq-review-stars{color:#ffa41c;font-size:15px;letter-spacing:.02em;line-height:1} .sq-review-verified{display:inline-flex;align-items:center;gap:4px;width:max-content;font-size:12px;color:#007185;font-weight:600;line-height:1} .sq-review-verified svg{width:14px;height:14px;display:block;flex:0 0 14px} .sq-review-quote{font-size:14px;line-height:1.7;color:var(--text-soft)} .stats-section{background:linear-gradient(135deg,#153a5b,#24679e);border-radius:20px;padding:22px 18px;display:grid;grid-template-columns:1fr 1fr;gap:10px} .stats-header{grid-column:1/-1;text-align:center} .stats-header h2{font-size:24px;font-weight:var(--title-weight);color:#fff!important;margin-bottom:6px} .stats-header p{font-size:14px;color:rgba(255,255,255,.82)!important;line-height:1.65} .stats-source{grid-column:1/-1;text-align:center;font-size:12px;color:rgba(255,255,255,.72);line-height:1.4;margin-top:-4px;margin-bottom:2px} .stat-item{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:12px 11px;text-align:center} .stat-pct{font-size:22px;font-weight:700;color:#fff;line-height:1.1;margin-bottom:4px} .stat-bar{height:4px;background:rgba(255,255,255,.2);border-radius:999px;margin-bottom:7px;overflow:hidden} .stat-bar-fill{height:100%;background:#bfe2ff;border-radius:999px} .stat-desc{font-size:12px;color:rgba(255,255,255,.86);line-height:1.5} .compare-title{font-size:26px;margin-bottom:18px;color:var(--text)} .compare-wrap{overflow-x:auto} .compare-table{width:100%;border-collapse:collapse;border-radius:16px;overflow:hidden;border:1px solid var(--border)} .compare-table th,.compare-table td{padding:13px 14px;font-size:13px;text-align:left;border-bottom:1px solid var(--border);line-height:1.45} .compare-table thead th{font-weight:800;font-size:14px;background:#f8fbff} .compare-table th.col-ours{background:var(--blue);color:#fff;text-align:center;font-size:14px} .compare-table th.col-other{text-align:center;color:var(--muted)} .compare-table td.col-ours{background:#edf7ff;text-align:center} .compare-table td.col-other{text-align:center;background:#fff} .compare-table tr:last-child td{border-bottom:0} .icon-yes,.icon-no{width:20px;height:20px;display:inline-block;vertical-align:middle} .icon-yes{fill:var(--blue-text)} .icon-no{fill:#a8b4c1} .trust-section{background:#fff;border:1.5px solid var(--border);border-radius:20px;padding:22px 18px;margin:0 0 24px} .trust-section-title{font-size:22px;font-weight:var(--title-weight);line-height:1.2;color:var(--text);margin-bottom:6px} .trust-section-sub{font-size:14px;color:var(--muted);margin-bottom:16px;line-height:1.65} .trust-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center} .trust-items{display:grid;grid-template-columns:1fr 1fr;gap:8px} .trust-item{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text-soft);line-height:1.56} .trust-badges{display:flex;justify-content:flex-end;align-items:center;align-self:center} .contact-strip{display:flex;align-items:center;justify-content:flex-start;gap:14px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 16px;margin:14px 0 0} .contact-strip-left{display:flex;align-items:center;gap:12px} .contact-strip-wa{width:52px;height:52px;border-radius:14px;background:#25d366;color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 3px 14px rgba(37,211,102,.25);flex-shrink:0} .contact-strip-wa svg{width:28px;height:28px} .contact-strip-wa-label{font-size:15px;font-weight:700;color:var(--text);line-height:1.2} .contact-strip-wa-sub{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.5} .social-box{padding:16px 18px;border:1.5px solid var(--border);border-radius:14px;background:var(--surface-soft)} .social-title{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:12px} .social-links{display:flex;align-items:center;gap:10px} .social-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#eef7ff;border:1px solid var(--border);color:var(--blue-text)} .size-guide-link{appearance:none;background:var(--blue-light);border:1.5px solid var(--blue);border-radius:999px;padding:10px 14px;margin-top:6px;color:var(--blue-text);font-size:14px;font-weight:900;letter-spacing:.01em;text-align:left;cursor:pointer;text-decoration:none;box-shadow:0 8px 18px rgba(105,174,236,.18)} .size-guide-link:hover{background:#fff} .size-guide-inline{margin-top:7px;padding:0 2px} .size-guide-inline .size-guide-link{display:inline-flex;align-items:center;gap:7px;color:var(--blue-text)} .size-guide-link::after{content:"Apri";font-size:11px;font-weight:900;color:#fff;background:var(--blue);border-radius:999px;padding:5px 8px;line-height:1} .size-modal{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.42);display:none;align-items:flex-start;justify-content:center;padding:22px 12px;overflow:auto} .size-modal.open{display:flex} .size-modal-panel{position:relative;width:min(520px,100%);background:#fff;border-radius:18px;padding:26px 20px 22px;box-shadow:0 18px 60px rgba(0,0,0,.2)} .size-modal-close{position:absolute;right:16px;top:14px;width:34px;height:34px;border:0;background:#fff;color:#111;font-size:28px;line-height:1;cursor:pointer} .size-modal-title{font-size:34px;line-height:1.05;font-weight:900;color:#050505;margin:0 42px 18px 0} .size-modal-copy{font-size:15px;line-height:1.55;color:#111;margin:0 0 20px} .size-measure-box{border:1px solid var(--border);border-radius:14px;background:var(--blue-light);padding:14px;margin:0 0 18px;text-align:center;color:var(--blue-text);font-weight:700} .size-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:14px;margin:12px 0 18px;font-size:15px} .size-table th,.size-table td{padding:10px 12px;text-align:center;border-bottom:1px solid rgba(18,57,95,.18);background:var(--blue-light);color:var(--blue-text)} .size-table th{font-weight:800;background:var(--blue);color:#fff} .size-table tr:last-child td{border-bottom:0} .size-table td:first-child,.size-table th:first-child{border-right:1px solid rgba(0,0,0,.2);font-weight:900} .size-tip{font-size:14px;line-height:1.55;color:#111;margin:0;padding-top:10px;border-top:1px solid #d7d7d7} .guarantee-box{background:#fff;border:1.5px solid var(--border);border-radius:20px;padding:24px 18px;text-align:center} .guarantee-title{margin-bottom:10px} .guarantee-desc{font-size:14px;color:var(--text-soft);line-height:1.7;margin-bottom:16px} .btn-primary,.btn-contrassegno{width:100%;border:0;border-radius:14px;min-height:52px;padding:14px 18px;font-size:15px;font-weight:800;cursor:pointer} .btn-primary{background:var(--blue);color:#fff;margin-bottom:10px} .btn-contrassegno{background:#eef7ff;color:var(--blue-text);border:1px solid var(--border)} .faq-title{text-align:center;margin-bottom:8px} .faq-sub{text-align:center;font-size:14px;color:var(--muted);margin-bottom:24px;line-height:1.65} .faq-item{border:0;margin:0 0 8px;background:transparent} .faq-item summary{list-style:none;cursor:pointer;position:relative;padding:15px 44px 15px 16px;border:1px solid var(--border);border-radius:14px;background:#fff;font-size:14px;font-weight:700;color:var(--text)} .faq-item summary::-webkit-details-marker{display:none} .faq-item summary::before{content:"";position:absolute;right:18px;top:50%;width:10px;height:10px;border-right:2px solid var(--blue-dark);border-bottom:2px solid var(--blue-dark);transform:translateY(-65%) rotate(45deg)} .faq-item[open] summary::before{transform:translateY(-35%) rotate(225deg)} .faq-content{padding:12px 16px 16px} .faq-wa-link{color:var(--blue-dark);font-weight:700;text-decoration:underline} @media(max-width:520px){.sq-points--grid{grid-template-columns:1fr 1fr} .page{padding:18px 12px 50px} .hero-title{font-size:27px} .sq_compact{grid-template-columns:1fr} .trust-items{grid-template-columns:1fr} .trust-badges{justify-content:flex-end} .stats-section{grid-template-columns:1fr;padding:20px 16px;gap:8px} .stat-item{padding:11px 10px} .sq-video-slide,.sq-review-slide{flex:0 0 88%} .sq-video-slider-track,.sq-reviews-slider-track{padding:4px 5%} .compare-wrap{margin-left:-8px;margin-right:-8px} .compare-table{width:calc(100% + 16px);border-radius:0} .compare-table th,.compare-table td{padding:10px 8px;font-size:12px} } Scale e camminate pesano sulle ginocchia? Quando il ginocchio dà fastidio o sembra poco stabile, inizi a muoverti con più attenzione: nelle scale, nelle camminate o durante lo sport leggero. Questa ginocchiera ti dà un sostegno leggero nella vita di tutti i giorni, senza essere rigida o ingombrante. Compressione mirata Riduzione del dolore Stabilità aumentata Morbida sulla pelle GUIDA ALLE TAGLIE × Guida alle taglie Misura la circonferenza della coscia 15 cm sopra al ginocchio e confrontala con la tabella. Se sei tra due taglie, scegli quella più comoda: deve aderire bene, non stringere. Misura 15 cm sopra il ginocchio Taglia Circonferenza coscia S 32-36 cm M 36-42 cm L 42-48 cm XL 48-53 cm XXL 53-60 cm XXXL 60-75 cm Consiglio: la taglia giusta deve restare ferma mentre cammini, ma non deve stringere o dare fastidio. Scegli la tua offerta 1 Ginocchiera €39,90 €49,90 Taglia ginocchiera #1 S (32-36cm) M (36-42cm) L (42-48cm) XL (48-53cm) XXL (53-60cm) XXXL (60-75cm) Più popolare 2 Ginocchiere RISPARMI €16,90 €62,90 €79,80 Taglia ginocchiere #1 S (32-36cm) M (36-42cm) L (42-48cm) XL (48-53cm) XXL (53-60cm) XXXL (60-75cm) #2 S (32-36cm) M (36-42cm) L (42-48cm) XL (48-53cm) XXL (53-60cm) XXXL (60-75cm) Consegna stimata Calcolo in corso Garanzia Fino al Calcolo in corso Reso Calcolo in corso Disponibilità limitata Solo 7 rimasti 11 persone stanno guardando questo prodotto ora Assistenza clienti Se hai dubbi su taglia, utilizzo o ordine, puoi scriverci prima di acquistare. Ti aiutiamo con scelta taglia, pagamento alla consegna, spedizione e assistenza post vendita. Email: [email protected] WhatsApp: +39 351 497 2804 Scrivici via Email Scrivici su WhatsApp Spedizione e consegna Spedizione veloce 24/48h lavorative, con weekend e festivi esclusi dal calcolo. Se la consegna cade nel weekend o in un giorno festivo, viene spostata al primo giorno lavorativo utile. Puoi pagare online oppure, dove disponibile, scegliere il pagamento alla consegna prima di confermare l’ordine. Specifiche prodotto Nome prodotto: Ginocchiera antiscivolo. Tipologia: ginocchiera elastica a compressione, unisex. Materiale: tessuto elastico e traspirante. Design: compressione elastica, tessuto traspirante e bordo antiscivolo. Uso consigliato: scale, camminate, lavoro in piedi, palestra leggera e routine quotidiana. Nota: non sostituisce tutori medici, diagnosi o pareri professionali. Garanzia: 1 anno. 30 giorni soddisfatti o rimborsati Se non ti trovi bene, contattaci entro 30 giorni dalla ricezione. La nostra assistenza ti guida con istruzioni semplici e supporto diretto. Sostegno leggero per muoverti con più sicurezza Un sostegno semplice per sentirti più sicuro quando cammini, fai le scale, fai sport leggero o passi molte ore in piedi. Scale Camminate In piedi Palestra leggera La ginocchiera di Sollievo Quotidiano contrasta: ✓Osteoartrite ✓Tendinite rotulea ✓Artrite reumatoide ✓Rigonfiamento ✓Rigidità ✓Gonoartrosi Seguici anche su: Recensioni Feedback semplici da chi vuole più sicurezza nei movimenti di ogni giorno. Paolo 6 ore fa ★★★★★ Verificato "Le scale mi davano fastidio. Con questa sento il ginocchio più contenuto." Elena Ieri ★★★★☆ Verificato "Mi piace perché non è ingombrante. La metto anche sotto i pantaloni." Marco 1 giorno fa ★★★★★ Verificato "Lavoro molte ore in piedi. La differenza si sente soprattutto a fine giornata." Sara 2 giorni fa ★★★★★ Verificato "La uso per camminare. Non fa miracoli, ma sostiene bene." Gianni 3 giorni fa ★★★★☆ Verificato "Ho preso 2 pezzi. Uno lo uso, uno resta di ricambio quando lavo l’altro." Aiuta a proteggere la cartilagine La compressione elastica avvolge il ginocchio e aiuta a dare una sensazione di sostegno durante il movimento. Non è una cura e non sostituisce un tutore medico. Cosa apprezzano di più I punti che contano davvero per chi la usa ogni giorno: sostegno, comfort, stabilità e praticità . Fonte: feedback raccolti tra i clienti di Sollievo Quotidiano. 82% dice che aiuta nelle scale 87% apprezza il sostegno elastico 79% la trova comoda sotto i vestiti 84% sceglierebbe l’offerta da 2 pezzi Perché convince chi la prova Perché risponde a un bisogno concreto: sentire il ginocchio più contenuto quando fai scale, cammini o resti in piedi a lungo. Si indossa subito Sostegno immediato Ricambio sempre pronto Ginocchiera vs fasce comuni Ginocchiera Fasce comuni Supporto uniforme Bordo antiscivolo Tessuto traspirante Sotto i vestiti Uso quotidiano Protezione cliente Ordini in modo semplice, ricevi supporto se hai dubbi e puoi pagare anche alla consegna dove disponibile. 1-2 giorni lavorativi 1 anno di garanzia 30 giorni di reso Supporto WhatsApp Scrivici su WhatsApp Se vuoi chiarire un dubbio prima di ordinare Dai supporto al ginocchio La ginocchiera è pensata per scale, camminate e giornate in piedi, con sostegno leggero e vestibilità aderente. Ordina ora Domande frequenti Risposte semplici su taglia, comfort, uso quotidiano, lavaggio, spedizione, pagamento alla consegna e reso. A cosa serve esattamente? Serve a dare una sensazione di sostegno e contenimento al ginocchio durante scale, camminate e movimenti quotidiani. E' un tutore medico? No. È una ginocchiera elastica per uso quotidiano. Non sostituisce un tutore prescritto, una visita o una diagnosi. Puo eliminare il dolore? No. Non promettiamo cure o guarigioni. Può aiutarti a sentire il ginocchio più supportato durante il movimento. Se hai dolore forte o problemi importanti, chiedi un parere medico. Come scelgo la taglia? Misura 15 cm sopra il ginocchio e confronta la tabella. Deve aderire bene, ma non deve stringere o dare formicolio. Si può usare sotto i vestiti? Sì, è sottile e aderente. Con pantaloni molto stretti può notarsi, ma sotto pantaloni comodi o abbigliamento sportivo resta discreta. Scivola mentre cammino? Il bordo antiscivolo aiuta a tenerla ferma. Se scivola o stringe troppo, spesso il problema è la taglia. Posso usarla per sport? Sì, per camminata, palestra leggera e attività moderate. Per sport intensi o problemi importanti al ginocchio serve un parere professionale. Quanto tempo posso tenerla? Puoi usarla quando cammini, lavori o ti alleni leggermente. Se senti fastidio, pressione eccessiva o formicolio, toglila. Come si lava? Lavala delicatamente e lasciala asciugare all’aria. Evita alte temperature e asciugatrice. Conviene prenderne due? Sì, se vuoi supportare entrambe le ginocchia o avere un ricambio pronto mentre lavi l’altra. Quanto impiega la spedizione? La consegna stimata viene calcolata in pagina su 24/48h lavorative. Weekend e festivi sono esclusi dal calcolo. Posso pagare alla consegna? Sì, dove disponibile. Lo vedi prima di confermare l’ordine. Come funziona il reso? Hai 30 giorni dalla ricezione per contattarci. Se vuoi chiarire un dubbio prima di acquistare o hai bisogno di assistenza, puoi scriverci su WhatsApp. (function () { const oraCutoff = 13; function prossimoMartedi(d) { const x = new Date(d); const giorno = x.getDay(); const giorniDaAggiungere = giorno === 5 ? 4 : giorno === 6 ? 3 : giorno === 0 ? 2 : 0; x.setDate(x.getDate() + giorniDaAggiungere); x.setHours(9, 0, 0, 0); return x; } function spostaDalWeekend(data) { const x = new Date(data); if (x.getDay() === 6) x.setDate(x.getDate() + 2); if (x.getDay() === 0) x.setDate(x.getDate() + 1); return x; } function formatta(data, conAnno) { if (!conAnno) { const testo = data.toLocaleDateString("it-IT", { weekday: "long", day: "numeric", month: "long" }); return testo.charAt(0).toUpperCase() + testo.slice(1); } const gg = String(data.getDate()).padStart(2, "0"); const mm = String(data.getMonth() + 1).padStart(2, "0"); const yyyy = data.getFullYear(); return `${gg}/${mm}/${yyyy}`; } function aggiornaSqWidget() { document.querySelectorAll("[data-sq-widget]").forEach((box) => { const ordine = new Date(); const giorno = ordine.getDay(); let arrivo; if ((giorno === 5 && ordine.getHours() >= oraCutoff) || giorno === 6 || giorno === 0) { arrivo = prossimoMartedi(ordine); } else { const giorniConsegna = ordine.getHours() >= oraCutoff ? 3 : 2; arrivo = new Date(ordine); arrivo.setDate(arrivo.getDate() + giorniConsegna); arrivo = spostaDalWeekend(arrivo); } const resoFino = new Date(arrivo); resoFino.setDate(resoFino.getDate() + 30); const garanziaFino = new Date(arrivo); garanziaFino.setFullYear(garanziaFino.getFullYear() + 1); const elDelivery = box.querySelector("[data-sq-delivery]"); const elReturn = box.querySelector("[data-sq-return]"); const elWarranty = box.querySelector("[data-sq-warranty]"); if (elDelivery) elDelivery.textContent = formatta(arrivo, false); if (elReturn) elReturn.textContent = formatta(resoFino, true); if (elWarranty) elWarranty.textContent = formatta(garanziaFino, true); }); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", aggiornaSqWidget); } else { aggiornaSqWidget(); } setTimeout(aggiornaSqWidget, 300); })(); var CHECKOUT_URL = window.location.origin + "/checkout"; function getSelectedQty() { var qty = parseInt(document.getElementById("sqSelectedQty")?.value || "1", 10); return isNaN(qty) || qty < 1 ? 1 : qty; } function syncQtyToTheme(qty) { var qtySelectors = [ 'form[action*="/cart/add"] input[name="quantity"]', 'form[action*="/cart/add"] input[type="number"]', 'input[name="quantity"]', ".quantity__input", ".qty-input__input", "[data-quantity-input]", ".quantity-selector-wrapper input" ]; qtySelectors.forEach(function(selector) { document.querySelectorAll(selector).forEach(function(el) { try { el.value = qty; el.setAttribute("value", qty); el.dispatchEvent(new Event("input", { bubbles: true })); el.dispatchEvent(new Event("change", { bubbles: true })); } catch (e) {} }); }); } var isSyncingQty = false; function normalizeQty(qty) { var parsed = parseInt(qty, 10); return isNaN(parsed) || parsed < 1 ? 1 : parsed; } function updateBundleVisual(qty) { var wanted = String(normalizeQty(qty)); bundleOptions.forEach(function(option) { var optionValue = option.getAttribute("data-value") || "1"; var isSelected = (wanted === "1" || wanted === "2") && optionValue === wanted; option.classList.toggle("selected", isSelected); var input = option.querySelector("input"); if (input) input.checked = isSelected; }); } function updateNativeQtyDisplay(qty) { var normalized = normalizeQty(qty); document.querySelectorAll(".quantity-selector-wrapper input").forEach(function(el) { try { el.value = normalized; el.setAttribute("value", normalized); } catch (e) {} }); } function syncQtyState(qty, syncBundleVisual) { if (isSyncingQty) return; isSyncingQty = true; var normalized = normalizeQty(qty); var selectedQtyInput = document.getElementById("sqSelectedQty"); if (selectedQtyInput) selectedQtyInput.value = normalized; syncQtyToTheme(normalized); updateNativeQtyDisplay(normalized); if (syncBundleVisual !== false) { updateBundleVisual(normalized); } updateSizePropertyFields(); isSyncingQty = false; } function getSizeChoice(role) { var select = document.querySelector('[data-size-role="' + role + '"]'); return select ? select.value : ""; } function getSelectedSizeProperties() { var qty = getSelectedQty(); if (qty === 2) { return { "Taglia ginocchiera #1": getSizeChoice("pair-one"), "Taglia ginocchiera #2": getSizeChoice("pair-two") }; } return { "Taglia ginocchiera": getSizeChoice("single") }; } function setPropertyInput(form, name, value, enabled) { if (!form) return; var input = form.querySelector('input[data-sq-size-prop="' + name + '"]'); if (!input) { input = document.createElement("input"); input.type = "hidden"; input.setAttribute("data-sq-size-prop", name); input.name = "properties[" + name + "]"; form.appendChild(input); } input.value = value || ""; input.disabled = !enabled; } function updateSizePropertyFields() { var form = document.querySelector('form[action*="/cart/add"]') || document.querySelector("form"); if (!form) return; var props = getSelectedSizeProperties(); setPropertyInput(form, "Taglia ginocchiera", props["Taglia ginocchiera"], !!props["Taglia ginocchiera"]); setPropertyInput(form, "Taglia ginocchiera #1", props["Taglia ginocchiera #1"], !!props["Taglia ginocchiera #1"]); setPropertyInput(form, "Taglia ginocchiera #2", props["Taglia ginocchiera #2"], !!props["Taglia ginocchiera #2"]); } function appendSizePropertiesToFormData(formData) { var props = getSelectedSizeProperties(); Object.keys(props).forEach(function(key) { if (props[key]) { formData.set("properties[" + key + "]", props[key]); } }); } function hideNativeSizePickers() { var labels = ["Dimensione", "Taglia"]; document.querySelectorAll("fieldset, variant-radios, variant-selects, product-variant-picker, .product-form__input, .variant-picker").forEach(function(el) { if (el.closest && el.closest(".sqb-wrap")) return; var text = (el.textContent || "").replace(/\s+/g, " ").trim(); var shouldHide = labels.some(function(label) { return text.indexOf(label) !== -1; }); if (shouldHide) { el.style.setProperty("display", "none", "important"); } }); } function getVariantId() { var form = document.querySelector('form[action*="/cart/add"]') || document.querySelector("form"); if (!form) return ""; var checkedVariant = form.querySelector('input[name="id"]:checked'); if (checkedVariant && checkedVariant.value) return checkedVariant.value; var hiddenVariant = form.querySelector('input[name="id"][type="hidden"]'); if (hiddenVariant && hiddenVariant.value) return hiddenVariant.value; var anyVariantInput = form.querySelector('input[name="id"]'); if (anyVariantInput && anyVariantInput.value) return anyVariantInput.value; var variantSelect = form.querySelector('select[name="id"]'); if (variantSelect && variantSelect.value) return variantSelect.value; var urlVariant = new URLSearchParams(window.location.search).get("variant"); if (urlVariant && /^\d+$/.test(urlVariant)) return urlVariant; if (window.ShopifyAnalytics && window.ShopifyAnalytics.meta) { var meta = window.ShopifyAnalytics.meta; if (meta.selectedVariantId && /^\d+$/.test(String(meta.selectedVariantId))) return String(meta.selectedVariantId); if (meta.variant && meta.variant.id && /^\d+$/.test(String(meta.variant.id))) return String(meta.variant.id); if (meta.product && Array.isArray(meta.product.variants) && meta.product.variants.length && meta.product.variants[0].id) { return String(meta.product.variants[0].id); } } if (window.meta && window.meta.product && Array.isArray(window.meta.product.variants) && window.meta.product.variants.length && window.meta.product.variants[0].id) { return String(window.meta.product.variants[0].id); } return ""; } function goToCheckout(e) { if (e) e.preventDefault(); var qty = getSelectedQty(); syncQtyToTheme(qty); updateSizePropertyFields(); var variantId = getVariantId(); if (variantId) { var formData = new FormData(); formData.set("id", variantId); formData.set("quantity", String(qty)); appendSizePropertiesToFormData(formData); fetch("/cart/add.js", { method: "POST", credentials: "same-origin", headers: { "Accept": "application/json", "X-Requested-With": "XMLHttpRequest" }, body: formData }).then(function() { window.location.href = window.location.origin + "/checkout"; }).catch(function() { window.location.href = window.location.origin + "/cart/" + variantId + ":" + qty; }); return; } var atcSelectors = [ 'form[action*="/cart/add"] [type="submit"]', 'button[name="add"]', "button.product-form__submit", "[data-add-to-cart]", "[data-buy-button]" ]; for (var i = 0; i < atcSelectors.length; i++) { var btn = document.querySelector(atcSelectors[i]); if (btn) { btn.click(); return; } } window.location.href = CHECKOUT_URL; } var bundleOptions = document.querySelectorAll(".sqb-option"); function selectBundle(option) { var qty = option.getAttribute("data-value") || "1"; syncQtyState(qty, true); } bundleOptions.forEach(function(opt) { opt.addEventListener("click", function(e) { if (e.target && e.target.closest && e.target.closest(".sqb-size-select")) return; e.preventDefault(); selectBundle(this); }); var radio = opt.querySelector("input"); if (radio) { radio.addEventListener("change", function() { selectBundle(opt); }); } }); document.querySelectorAll(".sqb-size-select").forEach(function(select) { select.addEventListener("click", function(e) { e.stopPropagation(); }); select.addEventListener("change", function() { updateSizePropertyFields(); }); }); syncQtyState(document.getElementById("sqSelectedQty")?.value || "1", true); hideNativeSizePickers(); setTimeout(hideNativeSizePickers, 600); setTimeout(hideNativeSizePickers, 1500); document.querySelectorAll(".sq-atc-btn, .btn-primary, .btn-contrassegno").forEach(function(btn) { btn.addEventListener("click", goToCheckout); }); (function() { var accordionItems = document.querySelectorAll("#mainAccordion .accordion-item"); accordionItems.forEach(function(item) { var trigger = item.querySelector(".accordion-trigger"); if (!trigger) return; trigger.addEventListener("click", function() { var isOpen = item.classList.contains("open"); accordionItems.forEach(function(current) { current.classList.remove("open"); }); if (!isOpen) item.classList.add("open"); }); }); })(); (function() { var faqItems = document.querySelectorAll(".faq-section .faq-item"); faqItems.forEach(function(item) { item.addEventListener("toggle", function() { if (!item.open) return; faqItems.forEach(function(current) { if (current !== item) current.open = false; }); }); }); })(); (function() { function findFirst(selectors) { for (var i = 0; i < selectors.length; i++) { var el = document.querySelector(selectors[i]); if (el) return el; } return null; } function ensureChild(parent, className) { var child = parent.querySelector("." + className); if (!child) { child = document.createElement("div"); child.className = className; parent.appendChild(child); } return child; } function moveIfNeeded(target, container) { if (target && container && target.parentNode !== container) { container.appendChild(target); } } function findDynamicButtons() { var el = findFirst([ ".shopify-payment-button", "shopify-accelerated-checkout", ".shopify-payment-button__button", '[data-shopify="dynamic-checkout"]' ]); if (!el) return null; return el.closest(".shopify-payment-button") || el; } function findNativeAddButton(form) { if (!form) return null; var selectors = [ 'button[name="add"]', "button.product-form__submit", "[data-add-to-cart]", "[data-buy-button]", '[type="submit"]' ]; for (var i = 0; i < selectors.length; i++) { var buttons = form.querySelectorAll(selectors[i]); for (var j = 0; j < buttons.length; j++) { var btn = buttons[j]; if (btn.closest && btn.closest("#_rsi-buy-now-button")) continue; if (btn.closest && btn.closest(".shopify-payment-button")) continue; if (btn.closest && btn.closest("shopify-accelerated-checkout")) continue; if (btn.closest && btn.closest('[data-shopify="dynamic-checkout"]')) continue; return btn; } } return null; } function findProductForm(dynamicButtons, qtyWrapper) { if (dynamicButtons && dynamicButtons.closest) { var dynamicForm = dynamicButtons.closest('form[action*="/cart/add"], form'); if (dynamicForm) return dynamicForm; } if (qtyWrapper && qtyWrapper.closest) { var qtyForm = qtyWrapper.closest('form[action*="/cart/add"], form'); if (qtyForm) return qtyForm; } return findFirst([ 'form[action*="/cart/add"]', "product-form form", ".product-form form", "form" ]); } function hideNativeSubmitButtons(form, dynamicButtons) { if (!form) return; form.querySelectorAll('button[name="add"], button.product-form__submit, [data-add-to-cart], [data-buy-button], [type="submit"]').forEach(function(btn) { if (dynamicButtons && (btn === dynamicButtons || dynamicButtons.contains(btn))) return; if (btn.closest && btn.closest("#_rsi-buy-now-button")) return; if (btn.closest && btn.closest(".sq-native-controls")) return; btn.classList.add("sq-hidden-native-submit"); }); } function cleanDynamicButtonDuplicates() { var slot = document.querySelector(".sq-native-controls-dynamic"); if (!slot) return; var wrappers = slot.querySelectorAll(".shopify-payment-button"); wrappers.forEach(function(wrapper, wrapperIndex) { if (wrapperIndex > 0) { wrapper.classList.add("sq-hide-extra-paypal"); } }); var activeWrapper = slot.querySelector(".shopify-payment-button"); if (!activeWrapper) return; var buttons = activeWrapper.querySelectorAll("shopify-accelerated-checkout, .shopify-payment-button__button"); buttons.forEach(function(button, index) { if (index > 0) { button.classList.add("sq-hide-extra-paypal"); } }); } function watchDynamicButtons() { var slot = document.querySelector(".sq-native-controls-dynamic"); if (!slot || slot.getAttribute("data-sq-watch") === "1" || !window.MutationObserver) return; slot.setAttribute("data-sq-watch", "1"); var observer = new MutationObserver(function() { cleanDynamicButtonDuplicates(); }); observer.observe(slot, { childList: true, subtree: true }); } function getCartEndpoint(path) { var root = "/"; if (window.Shopify && window.Shopify.routes && window.Shopify.routes.root) { root = window.Shopify.routes.root; } return root.replace(/\/?$/, "/") + path.replace(/^\//, ""); } function getCartSectionIds() { var ids = []; ["cart-icon-bubble", "cart-live-region-text", "cart-notification-button", "cart-drawer", "CartDrawer"].forEach(function(id) { if (ids.indexOf(id) === -1) ids.push(id); }); return ids.slice(0, 5); } function renderCartSections(sections) { if (!sections) return false; var rendered = false; Object.keys(sections).forEach(function(sectionId) { if (!sections[sectionId]) return; var doc = new DOMParser().parseFromString(sections[sectionId], "text/html"); if (sectionId === "cart-icon-bubble") { var currentIcon = document.getElementById("cart-icon-bubble"); var newIcon = doc.getElementById("cart-icon-bubble"); if (currentIcon && newIcon) { currentIcon.innerHTML = newIcon.innerHTML; rendered = true; return; } } var target = document.getElementById(sectionId); var fresh = doc.getElementById(sectionId); if (target && fresh) { target.innerHTML = fresh.innerHTML; rendered = true; } }); return rendered; } function notifyCartChange(cart, variantId, addedQty, sections) { var qty = parseInt(addedQty, 10); if (isNaN(qty) || qty < 1) qty = 1; document.dispatchEvent(new CustomEvent("cart:update", { bubbles: true, detail: { resource: cart || {}, sourceId: variantId || "sq-add-to-cart", data: { source: "product-form-component", itemCount: qty, variantId: variantId ? String(variantId) : "", sections: sections || {} } } })); } function findVariantIdForCart(form) { var selectors = [ 'input[name="id"]:checked', 'input[name="id"][type="hidden"]', 'input[name="id"]', 'select[name="id"]' ]; for (var i = 0; i < selectors.length; i++) { var field = (form && form.querySelector(selectors[i])) || document.querySelector(selectors[i]); if (field && field.value) return field.value; } return getVariantId(); } function findQtyForCart(form) { var input = (form && form.querySelector('input[name="quantity"], .quantity__input, [data-quantity-input]')) || document.querySelector('input[name="quantity"], .quantity__input, [data-quantity-input]'); var qty = input ? parseInt(input.value || input.getAttribute("value") || "1", 10) : getSelectedQty(); return isNaN(qty) || qty < 1 ? 1 : qty; } function updateCartIndicators(cart) { if (!cart || typeof cart.item_count === "undefined") return; var count = cart.item_count < 100 ? String(cart.item_count) : ""; var label = "Carrello: " + cart.item_count + (cart.item_count === 1 ? " articolo" : " articoli"); document.querySelectorAll("cart-icon").forEach(function(icon) { icon.classList.toggle("header-actions__cart-icon--has-cart", cart.item_count > 0); }); document.querySelectorAll('cart-icon [ref="cartBubble"], cart-icon .cart-bubble').forEach(function(bubble) { bubble.classList.toggle("visually-hidden", cart.item_count === 0); bubble.hidden = false; bubble.style.display = ""; bubble.style.visibility = "visible"; bubble.style.opacity = "1"; }); document.querySelectorAll('cart-icon [ref="cartBubbleCount"], cart-icon .cart-bubble__text-count').forEach(function(el) { el.classList.toggle("hidden", cart.item_count === 0); el.textContent = count; }); document.querySelectorAll("cart-icon .visually-hidden").forEach(function(el) { var text = (el.textContent || "").toLowerCase(); if (text.indexOf("carrello") !== -1 || text.indexOf("cart") !== -1) { el.textContent = label; } }); } function isMobileCartAnimation() { return window.matchMedia && window.matchMedia("(max-width: 749px)").matches; } function findCartVisualTarget() { return document.querySelector("#cart-icon-bubble, cart-icon, a[href='/cart'], a[href*='/cart']"); } function pulseCartIcon() { var icon = findCartVisualTarget(); if (!icon) return; icon.classList.remove("sq-cart-pulse"); void icon.offsetWidth; icon.classList.add("sq-cart-pulse"); setTimeout(function() { icon.classList.remove("sq-cart-pulse"); }, 700); } function runMobileFlyToCart(button) { if (!isMobileCartAnimation() || !button) return false; var target = findCartVisualTarget(); var start = button.getBoundingClientRect(); var end = target ? target.getBoundingClientRect() : { left: window.innerWidth - 38, top: 18, width: 28, height: 28 }; var fly = document.createElement("div"); fly.className = "sq-cart-fly"; fly.setAttribute("aria-hidden", "true"); document.body.appendChild(fly); var startX = start.left + start.width / 2 - 15; var startY = start.top + start.height / 2 - 15; var endX = end.left + end.width / 2 - 15; var endY = end.top + end.height / 2 - 15; fly.style.left = startX + "px"; fly.style.top = startY + "px"; fly.style.opacity = "1"; fly.style.transform = "translate3d(0,0,0) scale(.96)"; requestAnimationFrame(function() { fly.classList.add("run"); fly.style.transform = "translate3d(" + (endX - startX) + "px," + (endY - startY) + "px,0) scale(.46)"; fly.style.opacity = "0"; }); setTimeout(function() { if (fly && fly.parentNode) fly.parentNode.removeChild(fly); pulseCartIcon(); }, 820); return true; } function getQtyCandidates(root) { var scope = root || document; var found = []; scope.querySelectorAll('input[name="quantity"], .quantity__input, [data-quantity-input]').forEach(function(input) { var wrapper = input.closest(".quantity-selector-wrapper, .quantity, .quantity-selector") || input.closest(".product-form__quantity") || input; if (found.indexOf(wrapper) === -1) found.push(wrapper); }); return found; } function findQtyWrapper(root) { var candidates = getQtyCandidates(root); for (var i = 0; i < candidates.length; i++) { if (!candidates[i].classList.contains("sq-extra-qty")) return candidates[i]; } return candidates[0] || null; } function hideDuplicateQty(root, keeper) { getQtyCandidates(root || document).forEach(function(item) { if (!keeper || item === keeper) return; if (item.contains && item.contains(keeper)) return; if (keeper.contains && keeper.contains(item)) return; item.classList.add("sq-extra-qty"); }); } function bindQtySync(qtyWrapper) { if (!qtyWrapper || qtyWrapper.dataset.sqQtyBound === "1") return; qtyWrapper.dataset.sqQtyBound = "1"; function pullQtyFromControl() { if (isSyncingQty) return; var input = qtyWrapper.querySelector("input"); if (!input) return; syncQtyState(input.value || input.getAttribute("value") || "1", true); } var input = qtyWrapper.querySelector("input"); if (input) { input.addEventListener("input", pullQtyFromControl); input.addEventListener("change", pullQtyFromControl); } qtyWrapper.querySelectorAll("button").forEach(function(btn) { btn.addEventListener("click", function() { setTimeout(pullQtyFromControl, 50); }); }); } function mountNativeControls() { var anchor = document.getElementById("sqNativeButtonsAnchor"); var qty = findQtyWrapper(document); var contrassegno = document.getElementById("_rsi-buy-now-button"); var dynamicButtons = findDynamicButtons(); var productForm = findProductForm(dynamicButtons, qty); if (!anchor) return false; if (productForm && productForm.parentNode !== anchor) { anchor.appendChild(productForm); } if (productForm) { productForm.classList.add("sq-native-controls-form"); updateSizePropertyFields(); hideNativeSizePickers(); } var layoutRoot = productForm || anchor; var layout = layoutRoot.querySelector(".sq-native-controls"); if (!layout) { layout = document.createElement("div"); layout.className = "sq-native-controls"; layoutRoot.appendChild(layout); } var qtySlot = ensureChild(layout, "sq-native-controls-qty"); var codSlot = ensureChild(layout, "sq-native-controls-cod"); var dynamicSlot = ensureChild(layout, "sq-native-controls-dynamic"); var addButton = findNativeAddButton(productForm); qty = findQtyWrapper(productForm || document) || qty; if (qty) { moveIfNeeded(qty, qtySlot); bindQtySync(qty); } if (addButton) { addButton.classList.add("sq-hidden-native-submit"); } hideDuplicateQty(productForm || document, qty); hideNativeSubmitButtons(productForm, dynamicButtons); if (contrassegno) { moveIfNeeded(contrassegno, codSlot); } if (dynamicButtons) { moveIfNeeded(dynamicButtons, dynamicSlot); dynamicButtons.classList.remove("sq-dynamic-source"); cleanDynamicButtonDuplicates(); watchDynamicButtons(); setTimeout(cleanDynamicButtonDuplicates, 600); setTimeout(cleanDynamicButtonDuplicates, 1500); } syncQtyState(document.getElementById("sqSelectedQty")?.value || "1", true); return !!dynamicButtons; } function bootNativeControls(attempt) { if (mountNativeControls()) return; if (attempt >= 25) return; setTimeout(function() { bootNativeControls(attempt + 1); }, 300); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function() { bootNativeControls(0); }); } else { bootNativeControls(0); } })(); (function() { var track = document.getElementById("sqReviewsTrack"); var dots = document.querySelectorAll("#sqReviewDots .sq-review-dot"); var slides = track ? track.querySelectorAll(".sq-review-slide") : []; var current = 0; function goTo(idx) { if (!track || slides.length === 0) return; current = Math.max(0, Math.min(idx, slides.length - 1)); var slideW = slides[0].offsetWidth + 14; track.scrollTo({ left: current * slideW, behavior: "smooth" }); dots.forEach(function(d, i) { d.classList.toggle("active", i === current); }); } var prev = document.getElementById("sqReviewPrev"); var next = document.getElementById("sqReviewNext"); if (prev) prev.addEventListener("click", function() { goTo(current - 1); }); if (next) next.addEventListener("click", function() { goTo(current + 1); }); dots.forEach(function(d, i) { d.addEventListener("click", function() { goTo(i); }); }); })(); (function() { function updateSqStock() { var stockEl = document.getElementById("sqPezziTop"); var barEl = document.getElementById("sqBar"); var viewersEl = document.getElementById("sqViewersTop"); var pezzi = Math.floor(Math.random() * 6) + 2; var viewers = Math.floor(Math.random() * 13) + 3; if (stockEl) stockEl.textContent = "Solo " + pezzi + " rimasti"; if (barEl) { var width = 18 + (pezzi * 10); barEl.style.width = width + "%"; } if (viewersEl) viewersEl.textContent = viewers; } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", updateSqStock); } else { updateSqStock(); } })(); (function() { var modal = document.getElementById("sizeGuideModal"); var openBtn = document.getElementById("openSizeGuide"); var closeBtn = document.getElementById("closeSizeGuide"); function openModal() { if (!modal) return; modal.classList.add("open"); modal.setAttribute("aria-hidden", "false"); document.body.style.overflow = "hidden"; } function closeModal() { if (!modal) return; modal.classList.remove("open"); modal.setAttribute("aria-hidden", "true"); document.body.style.overflow = ""; } if (openBtn) openBtn.addEventListener("click", openModal); if (closeBtn) closeBtn.addEventListener("click", closeModal); if (modal) { modal.addEventListener("click", function(event) { if (event.target === modal) closeModal(); }); } document.addEventListener("keydown", function(event) { if (event.key === "Escape") closeModal(); }); })();
More you might like
Related
Ginocchiera a Compressione
Related
Ginocchiera Ortopedica a Compressione Grigia
Related
OFFERTA GRATUITA 1+1: Ginocchiera a compressione elastica
Related