Massaggiatore Collo e Spalle
*,*::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:#2 4384c; --muted:#5e6e7f; --border:#d5e7f9; --bg:#fff; --surface:#ffffff; --surface-soft:#eef7ff; --radius:14px; --font:"DM Sans",sans-serif; --title-weight:700; --title-track:0; } 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{max-width:720px;margin:0 auto;padding:24px 16px 60px} .page,.page *{font-family:var(--font)} .price-item--sale, .price__sale .price-item--sale, .price__sale .price-item--last, .price__regular .price-item, .price .price-item--regular:not(.price-item--last), .product__info-container .price-item:not(.price-item--compare), .product__info-wrapper .price-item:not(.price-item--compare), .product-info .price-item:not(.price-item--compare){ color:var(--blue-dark)!important; } .price__sale .price-item--regular, .price-item--compare, s.price-item{ color:#8aa0b5!important; } .product__title, .product__title h1, .product__info-container h1, .product__info-wrapper h1, .product-form__title, .product-single__title{ margin-bottom:27px!important; } .product__info-container .price, .product__info-container .price__container, .product__info-wrapper .price, .product__info-wrapper .price__container, .product-info .price, .product-info .price__container, .main-product .price, .main-product .price__container{ margin-top:0!important; margin-bottom:27px!important; } .product__info-container .price-item--sale, .product__info-wrapper .price-item--sale, .product-info .price-item--sale, .main-product .price-item--sale, .price__sale .price-item--last, .product__info-container .price__sale .price-item--last, .product__info-wrapper .price__sale .price-item--last, .product-info .price__sale .price-item--last, .main-product .price__sale .price-item--last{ font-size:1.344em!important; color:var(--blue-dark)!important; font-weight:800!important; line-height:1!important; } .spr-badge, .jdgm-prev-badge, .jdgm-widget .jdgm-prev-badge, .stamped-product-reviews-badge, .stamped-badge, .okeReviews, .okeReviews-widget-holder, .product__info-container .rating, .product__info-wrapper .rating{ margin-top:0!important; font-size:1.155em!important; } .simple-photo-text{margin:0 0 18px} .simple-photo-text img{width:100%;height:auto;display:block;border-radius:18px} .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-banner::before{ content:none; } .hero-badge{ display:inline-block; background:rgba(255,255,255,.16); color:#fff; font-size:12px; font-weight:600; padding:6px 12px; border-radius:999px; letter-spacing:0; text-transform:none; margin-bottom:14px; border:1px solid rgba(255,255,255,.2); } .hero-title{ font-size:30px; font-weight:var(--title-weight); letter-spacing:var(--title-track); color:#fff; line-height:1.12; margin-bottom:12px; } .hero-sub{ font-size:15px; font-weight:400; color:rgba(255,255,255,.94)!important; line-height:1.68; max-width:560px; } .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{ display:block; font-family:var(--font); margin:0 0 18px; } .sq-card{ background:#fff; border:1.5px solid var(--border); border-radius:12px; padding:9px 14px; position:relative; overflow:hidden; } .sq-card::before{ content:''; position:absolute; top:0; left:0; width:4px; height:100%; background:var(--blue); border-radius:12px 0 0 12px; } .sq-row1{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;gap:10px} .sq-badge{ background:#eef7ff; color:var(--blue-text); font-size:12px; font-weight:800; padding:4px 8px; border-radius:99px; letter-spacing:0; text-transform:none; } .sq-pezzi{ font-size:13px; font-weight:700; color:var(--blue-dark); } .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); } .sq-row2{display:flex;align-items:center;gap:5px} .sq-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0} .sq-eye-icon{ width:18px; height:18px; color:var(--blue-dark); flex:0 0 18px; transform-origin:center; animation:sqEyeBlink 5s infinite; } .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)} @keyframes sqEyeBlink{ 0%,92%,100%{transform:scaleY(1)} 94%,96%{transform:scaleY(.12)} } .sqb-wrap{font-family:var(--font);margin:0 0 18px;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:8px} .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%; box-sizing:border-box; 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-left > span:last-child{display:block} .sqb-radio{ display:block; width:18px; height:18px; border:2px solid #d5e7f9; border-radius:50%; background:#fff; box-sizing:border-box; flex-shrink:0; position:relative; justify-self:center; align-self:center; transition:border-color .2s ease,background .2s ease; } .sqb-name{ font-size:15px; font-weight:700; letter-spacing:0; color:var(--text); line-height:1.22; } .sqb-right{text-align:right;flex-shrink:0} .sqb-price{ font-size:21px; font-weight:700; letter-spacing:0; color:var(--text); line-height:1; } .sqb-old{ margin-top:5px; font-size:13px; color:#8aa0b5; text-decoration:line-through; line-height:1; } .sqb-discount{ display:inline-flex; align-items:center; margin-left:8px; padding:5px 10px; border-radius:6px; background:var(--blue); color:var(--text); font-size:13px; font-weight:900; line-height:1; border:1px solid var(--blue); box-shadow:0 6px 14px rgba(15,25,35,.08); } .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); } .sqb-option.selected .sqb-radio::after, .sqb-option input:checked + .sqb-card .sqb-radio::after{ content:none; position:absolute; width:9px; height:9px; border-radius:50%; background:var(--blue); top:2px; left:2px; } .sq-atc-wrap{margin:0 0 12px} .sq-atc-btn{ width:100%; display:inline-flex; align-items:center; justify-content:center; background:var(--blue); color:#fff; border:0; border-radius:999px; min-height:58px; padding:16px 24px; font-family:var(--font); font-size:16px; font-weight:700; letter-spacing:0; cursor:pointer; box-shadow:0 6px 18px rgba(105,174,236,.18); transition:transform .18s,background .18s,box-shadow .18s; } .sq-atc-btn:hover{ background:var(--blue-dark); transform:translateY(-1px); box-shadow:0 8px 20px rgba(105,174,236,.22); } .sq-atc-btn:active{transform:translateY(0)} .sq_info_box{ --accent:#4d98dc; --bg:#f6f8fb; --text:#0f172a; --muted:#64748b; --border:#e5e7eb; display:flex; gap:10px; padding:10px 12px; border:1px solid var(--border); background:var(--bg); border-radius:12px; font-family:inherit; color:var(--text); margin-bottom:20px; } .sq_info_icon{ width:32px; height:32px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid var(--border); color:var(--accent); flex:0 0 auto; } .sq_info_grid{ display:grid; grid-template-columns:1fr; gap:10px; width:100%; min-width:0; } .sq_block{min-width:0} .sq_label{ font-size:12px; font-weight:600; color:var(--muted); line-height:1.2; margin-bottom:3px; } .sq_value{ font-size:16.15px; font-weight:700; letter-spacing:0; line-height:1.2; color:var(--text); } .sq_compact{ display:grid; grid-template-columns:1fr 1fr; gap:8px; align-items:start; } .sq_line{ display:flex; gap:8px; align-items:flex-start; min-width:0; } .sq_tag{ font-size:11px; font-weight:600; line-height:1; padding:5px 8px; border-radius:999px; background:#69AEEC; 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; } .sq_txt strong{font-weight:800} .section{margin:0 0 30px} .section-title{ font-size:26px; font-weight:var(--title-weight); letter-spacing:var(--title-track); line-height:1.18; margin:0 0 14px; color:var(--text); } .section p{ font-size:15px; font-weight:400; line-height:1.7; margin:0 0 12px; color:var(--text-soft); } .section p:last-child{margin-bottom:0} .sq-points{ background:#f1f4f7; border:1px solid #e3e8ee; border-radius:16px; padding:14px 16px; margin:0 0 14px;} .sq-points-list{ display:flex; flex-direction:column; gap:12px; } .sq-points-item{ display:flex; align-items:flex-start; gap:10px; font-size:15px; font-weight:600; line-height:1.45; color:var(--text); } .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; box-shadow:0 2px 6px rgba(15,25,35,.08); } .sq-points-icon svg{ width:11px; height:11px; display:block; } .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{width:24px;height:24px;border-radius:50%;background:var(--blue);color:#fff} .accordion-body{display:none;padding:0 16px 16px;font-size:14px;line-height:1.7;color:var(--text-soft)} .accordion-body p{margin:0 0 8px} .accordion-body p:last-child{margin-bottom:0} .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:#eef7ff; color:#fff; } .contact-btn-wa{ background:#16a34a; color:#fff; } .feature-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:10px 0 12px; } .feature-card{ background:var(--surface-soft); border:1px solid var(--border); border-radius:12px; padding:16px 14px; position:relative; overflow:hidden; min-height:88px; display:flex; align-items:center; } .feature-card::before{ content:none; } .feature-label{ font-size:14px; font-weight:700; letter-spacing:0; color:var(--text); line-height:1.4; margin:0; } .sq_science_link{ display:inline-block; font-size:18px; line-height:1.4; font-weight:700; letter-spacing:0; color:var(--blue); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; margin:0 0 22px; } .sq_science_link:hover{opacity:.85} .steps-wrap{margin:0 0 28px} .steps-title{ font-size:24px; font-weight:var(--title-weight); letter-spacing:var(--title-track); margin-bottom:12px; color:var(--text); line-height:1.18; } .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:#eef7ff; 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; letter-spacing:0; color:var(--text); margin-bottom:2px; line-height:1.3; } .step-content p{ font-size:13px; font-weight:400; color:#526476; line-height:1.58; margin:0; } .sq-video-slider-section, .sq-reviews-slider-section{ margin:0 0 28px; background:#fff; border:1px solid var(--border); border-radius:20px; padding:24px 0 20px; overflow:hidden; } .sq-video-slider-head, .sq-reviews-slider-head{ padding:0 20px; text-align:center; margin-bottom:16px; } .sq-video-slider-title, .sq-reviews-slider-title{ font-size:24px; font-weight:var(--title-weight); letter-spacing:var(--title-track); line-height:1.18; color:var(--text); margin-bottom:6px; } .sq-video-slider-sub, .sq-reviews-slider-sub{ font-size:14px; font-weight:400; 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; background:var(--surface-soft); border:1px solid var(--border); border-radius:18px; box-shadow:none; } .sq-video-slide{padding:14px} .sq-review-slide{padding:18px 16px} .sq-video-box{ position:relative; overflow:hidden; border-radius:16px; background:#000; aspect-ratio:9/16; } .sq-video-box img, .sq-video-box video{ width:100%; height:100%; object-fit:cover; background:#000; display:block; } .sq-video-poster{ position:absolute; inset:0; z-index:1; } .sq-video-box video{ position:absolute; inset:0; z-index:2; opacity:0; pointer-events:none; } .sq-video-box.is-playing video{ opacity:1; pointer-events:auto; } .sq-video-box.is-playing .sq-video-poster{ opacity:0; pointer-events:none; } .sq-video-trigger{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; border:0; background:linear-gradient(180deg,rgba(15,25,35,.08) 0%,rgba(15,25,35,.26) 100%); cursor:pointer; transition:opacity .2s ease; z-index:3; } .sq-video-trigger.is-hidden{ opacity:0; pointer-events:none; } .sq-video-play-icon{ width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,.94); color:#0f1923; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 22px rgba(15,25,35,.16); } .sq-video-play-icon svg{ width:22px; height:22px; transform:translateX(2px); } .sq-video-caption{ font-size:13px; font-weight:500; color:#334a60; line-height:1.55; margin-top:10px; text-align:center; } .sq-review-top{ display:flex; align-items:flex-start; gap:14px; margin-bottom:10px; } .sq-review-meta{display:flex;flex-direction:column;gap:2px} .sq-review-name{ font-size:15px; font-weight:700; letter-spacing:0; color:var(--text); line-height:1.1; } .sq-review-stars{ color:#f59e0b; font-size:15px; letter-spacing:0; } .sq-review-verified{ display:inline-flex; align-items:center; width:max-content; padding:4px 8px; border-radius:999px; background:#ebf9f0; border:1px solid #ccefd8; font-size:12px; color:#16a34a; font-weight:600; line-height:1; } .sq-review-quote{ font-size:14px; font-weight:400; line-height:1.7; color:var(--text-soft); } .sq-review-nav, .sq-video-nav{ position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; 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-review-nav:hover, .sq-video-nav:hover{ background:#eef7ff; color:var(--blue-text); border-color:#d5e7f9; } .sq-review-nav.prev, .sq-video-nav.prev{left:10px} .sq-review-nav.next, .sq-video-nav.next{right:10px} .sq-review-dots, .sq-video-dots{ display:flex; justify-content:center; gap:8px; margin-top:16px; } .sq-review-dot, .sq-video-dot{ width:8px; height:8px; border-radius:50%; background:#d5e7f9; transition:all .2s; cursor:pointer; } .sq-review-dot.active, .sq-video-dot.active{ width:26px; border-radius:999px; background:var(--blue); } .stats-section{ background:linear-gradient(135deg,#12395f,#12395f); border-radius:20px; padding:26px 20px; margin:0 0 30px; display:grid; grid-template-columns:1fr 1fr; gap:16px; } .stats-header{ grid-column:1/-1; text-align:center; } .stats-header h2{ font-size:24px; font-weight:var(--title-weight); letter-spacing:var(--title-track); line-height:1.18; color:#fff!important; margin-bottom:6px; } .stats-header p{ font-size:14px; font-weight:400; color:rgba(255,255,255,.82)!important; line-height:1.65; } .stat-item{ background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.15); border-radius:14px; padding:16px 14px; text-align:center; } .stat-pct{ font-size:24px; font-weight:700; letter-spacing:0; color:#fff; line-height:1; margin-bottom:6px; } .stat-bar{ height:4px; background:rgba(255,255,255,.2); border-radius:999px; margin-bottom:10px; overflow:hidden; } .stat-bar-fill{ height:100%; background:#eef7ff; border-radius:999px; } .stat-desc{ font-size:12px; font-weight:400; color:rgba(255,255,255,.86); line-height:1.5; } .compare-title{ font-size:26px; font-weight:var(--title-weight); letter-spacing:var(--title-track); line-height:1.18; margin-bottom:18px; color:var(--text); } .sq-photo-gap{display:block;margin:4px 0 12px;padding:1px 0;line-height:1;text-align:left} .sq-photo-gap-dot{display:inline-block;font-size:10px;color:#c7d7e6;padding:2px 0;cursor:pointer} .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; font-weight:400; text-align:left; border-bottom:1px solid var(--border); line-height:1.45; } .compare-table thead th{ font-weight:800; font-size:14px; background:#eef7ff; } .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:#eef7ff; text-align:center; } .compare-table td.col-other{ text-align:center; background:#fff; } .compare-table tr:last-child td{border-bottom:0} .compare-table tr:nth-child(even) td:first-child{background:#f4f9fe} .icon-yes{ width:20px; height:20px; fill:var(--blue-text); display:inline-block; vertical-align:middle; } .icon-no{ width:20px; height:20px; fill:#a8b4c1; display:inline-block; vertical-align:middle; } .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); letter-spacing:var(--title-track); line-height:1.2; color:var(--text); margin-bottom:6px; } .trust-section-sub{ font-size:14px; font-weight:400; color:var(--muted); margin-bottom:16px; line-height:1.65; } .trust-row{display:grid;grid-template-columns:1.2fr .8fr;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; font-weight:400; color:var(--text-soft); line-height:1.56; } .trust-badges{display:flex;justify-content:flex-end;align-items:center;align-self:center;margin-top:-6px;padding-bottom:0} .trust-help{margin-top:-2px;padding-top:0;border-top:0} .trust-help .contact-strip{margin:0;padding:0;background:transparent;border:0;border-radius:0} .trust-help .contact-strip-left{width:100%;align-items: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:0 0 28px;} .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; transition:transform .18s ease, box-shadow .18s ease; } .contact-strip-wa:hover{ transform:translateY(-2px); box-shadow:0 8px 18px rgba(37,211,102,.30); } .contact-strip-wa svg{width:28px;height:28px} .contact-strip-wa-label{ font-size:15px; font-weight:700; letter-spacing:0; color:var(--text); line-height:1.2; } .contact-strip-wa-sub{ font-size:12px; color:var(--muted); font-weight:400; 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); margin:0 0 28px; } .social-title{ font-size:13px; font-weight:600; letter-spacing:0; 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; text-decoration:none; background:#eef7ff; border:1px solid #e5eef6; box-shadow:0 1px 3px rgba(0,0,0,.06); transition:transform .18s ease, box-shadow .18s ease; flex:0 0 auto; } .social-link:hover{ transform:translateY(-2px); box-shadow:0 6px 14px rgba(0,0,0,.08); } .social-link.fb{color:#1877F2} .social-link.tt{color:#000} .social-link.ig svg{display:block} .guarantee-box{ background:var(--surface-soft); border:2px solid var(--border); border-radius:20px; padding:32px 24px; text-align:center; margin:0 0 30px; } .guarantee-icon{ font-size:56px; margin-bottom:12px; } .guarantee-title{ font-size:24px; font-weight:var(--title-weight); letter-spacing:var(--title-track); line-height:1.18; color:var(--text); margin-bottom:10px; } .guarantee-desc{ font-size:15px; font-weight:400; color:var(--text-soft); line-height:1.7; max-width:500px; margin:0 auto 18px; } .btn-primary,.btn-contrassegno{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:700;letter-spacing:0;padding:17px 32px;border-radius:var(--radius);text-decoration:none;transition:background .2s,transform .2s;border:0;cursor:pointer;font-family:var(--font);width:100%;margin-bottom:10px} .btn-primary{ background:var(--blue); color:#fff; } .btn-primary:hover{ background:var(--blue-dark); transform:translateY(-1px); } .btn-contrassegno{background:#16a34a;color:#fff;font-size:18.65px;} .btn-contrassegno:hover{ background:#15803d; transform:translateY(-1px); } .faq-section{margin:0 0 30px} .faq-title{ font-size:26px; font-weight:var(--title-weight); letter-spacing:var(--title-track); line-height:1.18; color:var(--text); text-align:center; margin-bottom:8px; } .faq-sub{ text-align:center; font-size:14px; font-weight:400; color:var(--muted); margin-bottom:24px; line-height:1.65; } .faq-cols{display:grid;grid-template-columns:1fr;gap:0} .faq-item{border:0;margin:0 0 8px;background:transparent} .faq-item summary{ list-style:none; cursor:pointer; position:relative; background:#fff; color:var(--text); border:1px solid var(--blue); padding:14px 18px 14px 42px; border-radius:10px; font-size:14px; line-height:1.45; font-weight:600; letter-spacing:0; user-select:none; transition:border-color .2s,background .2s; } .faq-item summary:hover{ background:#fff; border-color:var(--blue); } .faq-item summary::-webkit-details-marker{display:none} .faq-item summary::before{ content:""; position:absolute; left:16px; top:50%; width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-65%) rotate(45deg); transition:transform .2s; } .faq-item[open] summary::before{ transform:translateY(-35%) rotate(225deg); } .faq-content{ padding:14px 14px 6px; font-size:14px; font-weight:400; line-height:1.7; color:var(--text-soft); background:var(--surface-soft); border:1px solid var(--blue); border-top:0; border-radius:0 0 10px 10px; } .faq-wa-link{ display:inline-flex; align-items:center; gap:6px; color:#16a34a; font-weight:700; text-decoration:underline; text-underline-offset:3px; } /* identico al primo codice */ .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:grid!important; grid-template-columns:minmax(118px,30%) minmax(0,1fr)!important; gap:8px!important; width:100%!important; max-width:100%!important; align-items:center!important; margin:0!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:100%!important; margin:0!important; align-self:center!important; justify-self:start!important; } .sq-native-controls .sq-native-controls-qty > .product-form__quantity{ display:block!important; width:100%!important; max-width:100%!important; margin:0!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-extra-qty, .sq-native-controls .sq-native-controls-qty > .sq-extra-qty{display:none!important} .sq-native-controls .sq-native-controls-qty button, .sq-native-controls .sq-native-controls-qty input{ min-height:38px!important; border-radius:12px!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"], .sq-native-controls shopify-buy-it-now-button, .sq-native-controls shopify-accelerated-checkout-cart, .sq-native-controls shopify-accelerated-checkout-wallets{ width:100%!important; min-width:100%!important; max-width:100%!important; box-sizing:border-box!important; } .sq-native-controls #_rsi-buy-now-button{ display:flex!important; align-items:center!important; justify-content:center!important; gap:4px!important; min-height:52px!important; border-radius:12px!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"], .sq-native-controls shopify-buy-it-now-button, .sq-native-controls shopify-accelerated-checkout-cart, .sq-native-controls shopify-accelerated-checkout-wallets{ display:block!important; min-height:52px!important; 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-form{ display:block!important; width:100%!important; max-width:100%!important; } .sq-native-controls-dynamic, .sq-native-controls-cod{display:block!important;width:100%!important;max-width:100%!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; } .sq-payment-placeholder{ display:block; width:100%; text-align:center; line-height:1; margin:10px 0 18px; user-select:none; } .sq-payment-placeholder img{ width:100%; height:auto; display:block; border-radius:14px; } .sq-payment-placeholder-dot{ display:inline-block; font-size:10px; color:#c8dced; margin-top:6px; } .sq-payment-placeholder img + .sq-payment-placeholder-dot{display:none} .sq-native-controls-add{ display:block!important; width:100%!important; max-width:100%!important; min-width:0!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:38px!important; padding:0 12px!important; border:1.5px solid var(--blue)!important; border-radius:12px!important; background:#fff!important; color:var(--blue-dark)!important; font-family:var(--font)!important; font-size:13px!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; } @media (max-width: 749px){ .sq_info_grid{grid-template-columns:1fr} .sq_compact{ display:grid; grid-template-columns:1fr 1fr; gap:8px; padding-top:0; border-top:0; } } @media(max-width:620px){ .page{ max-width:none; width:calc(100% + 24px); margin-left:-12px; margin-right:-12px; padding:12px 8px 36px; } .feature-grid{grid-template-columns:1fr 1fr;gap:8px} .feature-card{padding:14px 10px;min-height:72px} .stats-section{grid-template-columns:1fr;padding:22px 14px} .stats-header{grid-column:unset} .hero-banner{padding:22px 14px;margin-bottom:20px} .hero-title{font-size:27px} .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} .sqb-name{font-size:15px} .sqb-price{font-size:19px} .section-title,.compare-title,.steps-title,.faq-title{font-size:22px} .sq-photo-gap{display:block;margin:4px 0 12px;padding:1px 0;line-height:1;text-align:left} .trust-items{grid-template-columns:1fr} .trust-row{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;align-items:center} .sq-atc-btn,.btn-primary,.btn-contrassegno{font-size:16px;min-height:56px;padding:16px 18px} .btn-contrassegno{background:#16a34a;color:#fff;font-size:18.65px;} .sq-video-slide{flex:0 0 88%} .sq-video-slider-track{padding:4px 5%} .sq-video-nav{width:38px;height:38px} .section{margin:0 0 24px} .steps-wrap,.sq-reviews-slider-section,.sq-video-slider-section,.faq-section,.guarantee-box,.stats-section,.contact-strip,.trust-section,.hero-banner,.social-box{margin-bottom:22px} .sq_science_link{font-size:19px} } Quando senti tensione su collo e spalle, vuoi qualcosa che lavori proprio li I contesti che vendono meglio qui sono sempre concreti: fine giornata al PC, collo carico dopo guida, trapezio duro e routine post allenamento. Quando il collo resta carico dopo ore al computer Quando senti tensione su trapezio e spalle Utile dopo guida o tragitti lunghi Per una sessione breve e controllata a casa SCEGLI LA TUA OFFERTA 1 Massaggiatore Collo e Spalle €67,90 2 Massaggiatori Collo e Spalle RISPARMI €27,16 €108,64 €135,80 . ⚡ Disponibilita limitata Solo 7 rimasti 11 persone stanno guardando questo prodotto ora Consegna stimata Calcolo in corso Garanzia Fino al Calcolo in corso Reso Calcolo in corso Assistenza clienti Se hai dubbi prima o dopo l ordine, puoi scriverci in modo semplice e diretto. Ti aiutiamo con informazioni sul prodotto, pagamento, spedizione e assistenza post vendita. Email: [email protected] WhatsApp: +39 351 497 2804 Scrivici via Email Scrivici su WhatsApp Spedizione e consegna Spedizione gratuita su ogni ordine. Spediamo in Italia e ricevi il tracciamento appena disponibile. Se disponibile nella tua zona, puoi scegliere anche il pagamento alla consegna. Specifiche prodotto Nome prodotto: Massaggiatore Collo e Spalle. Tipologia: massaggiatore elettrico per collo e spalle con azione mirata sulla parte alta del corpo. Funzioni principali: massaggio della zona trattata, calore integrato e pressione regolabile durante l uso. Zone d uso: collo, spalle, trapezio e parte alta della schiena. Regolazione: cinghie o maniglie per adattare meglio pressione e posizione del massaggio. Alimentazione: senza fili e ricaricabile. Uso consigliato: sessioni brevi a casa, dopo lavoro, guida o allenamento. 30 giorni soddisfatti o rimborsati Se il prodotto non ti soddisfa, contattaci entro 30 giorni dalla ricezione. La nostra assistenza ti aiutera a trovare la soluzione piu adatta nel modo piu semplice possibile. Shiatsu profondo - calore - pressione regolabile Quando collo e trapezio tirano, vuoi un massaggio che lavori davvero sulla zona. Il punto forte qui e sentire un massaggio deciso su collo e spalle, con calore e un uso semplice da fare a casa dopo lavoro, guida o allenamento. 6 nodi mirati Calore integrato Cinghie per regolare la pressione Uso a casa Come si usa 1 Appoggialo su collo e spalle La frizione deve essere zero: lo indossi e il prodotto e gia in posizione. 2 Scegli intensita e calore Il copy migliore qui fa capire che puoi adattare il massaggio alla giornata, non subirlo in modo fisso. 3 Regola la pressione con le cinghie Questo e uno dei differenziatori piu forti rispetto a soluzioni piu standard. . Guarda come lavora il prodotto Su un massaggiatore collo e spalle il video e decisivo: profondita, gesto e zona di lavoro vanno fatti vedere. Visuale reale di applicazione su collo e spalle. Come si usa il massaggiatore nella routine di fine giornata. . Seguici anche su: . Recensioni Qui si capisce subito se pressione, calore e comodita d uso fanno davvero al caso tuo. Laura - 4 ore fa ★★★★★ Cliente verificato "Si sente bene soprattutto su trapezio e parte alta della schiena. E il tipo di massaggio che cerco a fine giornata." Serena - 8 ore fa ★★★★★ Cliente verificato "Il calore lo rende piu piacevole da usare e mi viene naturale prenderlo quando torno a casa." Martina - 1 giorno fa ★★★☆☆ Cliente verificato "L idea mi piace e la pressione si sente, ma il mio e arrivato con un difetto e sto aspettando il ricambio. L assistenza pero e stata veloce." Elisa - 2 giorni fa ★★★★★ Cliente verificato "Mi piace perche lo prendo e lo uso subito sul divano senza preparare niente." Giulia - 3 giorni fa ★★★★☆ Cliente verificato "Le cinghie aiutano a gestire meglio la pressione e a trovare la posizione giusta." . Cosa ci dicono i nostri clienti Feedback raccolti dopo la prima settimana di utilizzo regolare. 89% dice che e facile inserirlo nella routine di fine giornata 83% apprezza la sensazione di comfort dopo sessioni brevi 87% lo usa soprattutto dopo lavoro, guida o giornate al PC 4 su 5 lo consiglierebbero a chi sente spesso collo e spalle carichi . Massaggiatore Collo e Spalle vs soluzioni piu scomode Sollievo Quotidiano Alternative comuni Massaggio mirato su collo e trapezio Calore integrato Pressione regolabile con cinghie Uso semplice a casa Sessione pronta in pochi minuti Piu adatto alla routine di fine giornata . Protezione Cliente Spedizione, reso e assistenza chiari aiutano a ordinare con meno dubbi e con piu tranquillita. Spedizione gratuita su ogni ordine. Pagamento alla consegna se disponibile. Assistenza clienti via email e WhatsApp. Tracciamento ordine appena disponibile. Scrivici su WhatsApp Se hai dubbi prima di ordinare . ✨ Se a fine giornata senti davvero collo e trapezio, questa e una delle scelte piu sensate Massaggio, calore e controllo della pressione nello stesso prodotto. Se e quello che cerchi, puoi ordinare ora. Ordina ora Paga alla consegna . Domande frequenti Le obiezioni da chiudere bene qui sono: quanto e profondo il massaggio, se e troppo forte, come funziona il calore e se si puo adattare davvero alla propria sensibilita. Che tipo di massaggio fa? Lavora su collo e spalle con nodi rotanti in stile shiatsu. La sensazione che cerca chi lo compra e un lavoro deciso sulla zona, non un contatto leggero. Posso regolare la pressione? Si, ed e una delle leve piu forti del prodotto. Con le cinghie decidi quanta pressione vuoi sentire in base a quanto hai la zona carica. Ha il calore? Si. Il calore e integrato e rende l esperienza piu piacevole, soprattutto la sera o dopo giornate lunghe. E troppo forte? Dipende da come lo usi. Proprio per questo la regolazione della pressione e cosi importante: puoi adattarlo invece di subirlo. Su quali zone si usa meglio? Nasce soprattutto per collo, trapezio e spalle, ma molte persone lo usano anche sulla parte alta della schiena. Quanto dura una sessione? Bastano pochi minuti. Il punto forte e proprio la sessione breve e facile da inserire a fine giornata. Posso pagare alla consegna? Si, se disponibile nella tua zona. Se ho dubbi prima di ordinare? Scrivici via email a [email protected] oppure su WhatsApp. (function () { const oreMinime = 48; const oraCutoff = 13; function prossimoGiornoLavorativo(d) { const x = new Date(d); do { x.setDate(x.getDate() + 1); } while (x.getDay() === 0 || x.getDay() === 6); x.setHours(9, 0, 0, 0); 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) => { let start = new Date(); if (start.getDay() === 0 || start.getDay() === 6) { start = prossimoGiornoLavorativo(start); } else if (start.getDay() === 5 && start.getHours() >= oraCutoff) { start = prossimoGiornoLavorativo(start); } else if (start.getHours() >= oraCutoff) { start = prossimoGiornoLavorativo(start); } let arrivo = new Date(start.getTime() + oreMinime * 60 * 60 * 1000); if (arrivo.getDay() === 6) arrivo.setDate(arrivo.getDate() + 2); if (arrivo.getDay() === 0) arrivo.setDate(arrivo.getDate() + 1); 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); } isSyncingQty = false; } 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); var variantId = getVariantId(); if (variantId) { 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) { e.preventDefault(); selectBundle(this); }); var radio = opt.querySelector('input'); if (radio) { radio.addEventListener('change', function() { selectBundle(opt); }); } }); syncQtyState(document.getElementById('sqSelectedQty')?.value || '1', true); 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() { var videoBoxes = document.querySelectorAll('[data-sq-inline-video]'); function ensureVideoSource(video) { if (!video || video.dataset.sqLoaded === '1') return; var source = document.createElement('source'); source.src = video.dataset.src || ''; source.type = video.dataset.type || 'video/mp4'; video.appendChild(source); video.load(); video.dataset.sqLoaded = '1'; } function primePreview(box) { var video = box.querySelector('video'); if (!video || video.dataset.sqPreviewPrimed === '1') return; video.setAttribute('playsinline', ''); video.setAttribute('webkit-playsinline', ''); video.setAttribute('preload', 'metadata'); video.muted = true; ensureVideoSource(video); video.dataset.sqPreviewPrimed = '1'; var setFirstFrame = function() { try { video.pause(); if (video.currentTime < 0.01) { video.currentTime = 0.01; } } catch (e) {} }; if (video.readyState >= 2) { setFirstFrame(); } else { video.addEventListener('loadeddata', setFirstFrame, { once: true }); } } function closeVideo(box, resetFrame) { var video = box.querySelector('video'); var trigger = box.querySelector('.sq-video-trigger'); if (!video || !trigger) return; box.classList.remove('is-playing'); trigger.classList.remove('is-hidden'); video.removeAttribute('controls'); video.pause(); if (resetFrame) { try { video.currentTime = 0.01; } catch (e) {} } } function closeOtherVideos(currentBox) { videoBoxes.forEach(function(box) { if (box !== currentBox) closeVideo(box, false); }); } videoBoxes.forEach(function(box) { var video = box.querySelector('video'); var trigger = box.querySelector('.sq-video-trigger'); if (!video || !trigger) return; video.setAttribute('playsinline', ''); video.setAttribute('webkit-playsinline', ''); video.setAttribute('preload', 'none'); trigger.addEventListener('click', function(e) { e.preventDefault(); closeOtherVideos(box); box.classList.add('is-playing'); trigger.classList.add('is-hidden'); video.setAttribute('controls', 'controls'); video.muted = false; ensureVideoSource(video); var playPromise = video.play(); if (playPromise && typeof playPromise.catch === 'function') { playPromise.catch(function() { closeVideo(box, false); }); } }); video.addEventListener('ended', function() { closeVideo(box, true); }); }); if ('IntersectionObserver' in window) { var observer = new IntersectionObserver(function(entries) { entries.forEach(function(entry) { if (!entry.isIntersecting) return; primePreview(entry.target); observer.unobserve(entry.target); }); }, { rootMargin: '120px 0px', threshold: 0.25 }); videoBoxes.forEach(function(box) { observer.observe(box); }); } else if (videoBoxes.length) { primePreview(videoBoxes[0]); } })(); (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 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= 35) return; setTimeout(function() { bootNativeControls(attempt + 1); }, 250); } 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() { var track = document.getElementById('sqVideoTrack'); var dots = document.querySelectorAll('#sqVideoDots .sq-video-dot'); var slides = track ? track.querySelectorAll('.sq-video-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('sqVideoPrev'); var next = document.getElementById('sqVideoNext'); 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(){ function findFirst(selectors,root){ var scope=root||document; for(var i=0;i0); }); 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 notifyCartChange(cart,variantId,addedQty,sections){ var qty=parseInt(addedQty,10); if(isNaN(qty)||qty
More you might like
Related
Massaggiatore Cervicale Shiatsu – Massaggiatore Collo e Spal
Related
Massaggiatore Elettrico Dita Wireless - Collo e Spalle
Related
Massaggiatore per Collo e Spalle a Quattro Teste
Related