{"id":5270,"date":"2026-04-30T19:47:05","date_gmt":"2026-04-30T17:47:05","guid":{"rendered":"https:\/\/ecoservicespa.com\/?page_id=5270"},"modified":"2026-05-04T18:11:02","modified_gmt":"2026-05-04T16:11:02","slug":"cassa-con-sponda","status":"publish","type":"page","link":"https:\/\/ecoservicespa.com\/pl\/cassa-con-sponda\/","title":{"rendered":"Pud\u0142o z burt\u0105"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5270\" class=\"elementor elementor-5270\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c681823 e-con-full e-flex e-con e-parent\" data-id=\"c681823\" data-element_type=\"container\" data-e-type=\"container\">\r\n\t\t\t\t<div class=\"elementor-element elementor-element-0f3d092 elementor-widget elementor-widget-html\" data-id=\"0f3d092\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ECOSERVICE \u2014 CASSE RIBALTABILI CON SPONDA \u2014 Standalone HTML (Elementor HTML widget) -->\n<style>\n  @import url('https:\/\/api.fontshare.com\/v2\/css?f[]=general-sans@500,600,700&f[]=satoshi@400,500,700&display=swap');\n\n  .crp, .crp *{ box-sizing:border-box; margin:0; padding:0; }\n  .crp{\n    --y:#FCED4F; --yd:#E6D63F;\n    --r:#CF2C29; --rd:#631312;\n    --bk:#0F0F0F; --tx:#111;\n    --mute:#6b6b6b; --line:rgba(0,0,0,.12);\n    font-family:'Satoshi',system-ui,sans-serif; color:var(--tx); background:#fff; line-height:1.55;\n  }\n  .crp h1,.crp h2,.crp h3{ font-family:'General Sans',sans-serif; font-weight:600; letter-spacing:.04em; }\n  .crp a{ text-decoration:none; color:inherit; }\n  .crp img{ display:block; max-width:100%; }\n  .crp .wrap{ max-width:1200px; margin:0 auto; padding:0 24px; }\n  .crp .kicker{ font-size:11px; font-weight:700; letter-spacing:.35em; text-transform:uppercase; }\n\n  \/* HERO *\/\n  .crp .hero{ position:relative; height:100vh; min-height:640px; overflow:hidden; display:flex; align-items:center; }\n  .crp .hero img.bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }\n  .crp .hero .ovl{ position:absolute; inset:0; background:rgba(0,0,0,.6); }\n  .crp .hero .inner{ position:relative; z-index:2; width:100%; }\n  .crp .hero .kicker{ color:var(--y); margin-bottom:18px; opacity:0; transform:translateY(8px); transition:all .6s .15s; }\n  .crp .hero h1{ color:#fff; font-size:clamp(38px,7vw,84px); line-height:1.05; text-transform:uppercase; opacity:0; transform:translateX(-30px); transition:all .8s cubic-bezier(.16,1,.3,1) .25s; }\n  .crp .hero .bar{ height:4px; border-radius:99px; background:linear-gradient(90deg,var(--y),var(--r)); width:0; margin:24px 0; transition:width .7s ease-out .55s; }\n  .crp .hero p.desc{ color:#ccc; max-width:720px; font-size:clamp(22px,2.4vw,34px); line-height:1.4; opacity:0; transition:opacity .6s .7s; }\n  .crp .hero .ctas{ display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; opacity:0; transform:translateY(16px); transition:all .6s .85s; }\n  .crp .hero.in .kicker,.crp .hero.in h1,.crp .hero.in p.desc,.crp .hero.in .ctas{ opacity:1; transform:none; }\n  .crp .hero.in .bar{ width:120px; }\n  .crp .btn{ display:inline-flex; align-items:center; gap:10px; padding:8px 24px; border-radius:8px; font-weight:700; font-size:13px; line-height:1.2; text-decoration:none; transition:transform .25s ease, background .2s; cursor:pointer; border:0; font-family:'Satoshi',sans-serif; }\n  .crp .btn:hover{ transform:scale(1.03); }\n  .crp .btn-y{ background:var(--y); color:#111; }\n  .crp .btn-r{ background:var(--r); color:#fff; }\n  .crp .btn-out{ border:1px solid rgba(255,255,255,.4); color:#fff; background:transparent; }\n  .crp .btn-out:hover{ background:rgba(255,255,255,.08); transform:none; }\n\n  \/* SHOWCASE *\/\n  .crp .showcase{ padding:128px 0 64px; background:#fff; }\n  .crp .showcase .head{ text-align:center; margin-bottom:56px; }\n  .crp .showcase .head .kicker{ color:var(--r); margin-bottom:14px; }\n  .crp .showcase h2{ font-size:clamp(28px,4vw,52px); }\n\n  .crp .grid2{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }\n  @media(max-width:900px){ .crp .grid2{ grid-template-columns:1fr; gap:32px; } }\n\n  \/* LEFT COL: card + dotazioni *\/\n  .crp .left-col{ display:flex; flex-direction:column; gap:40px; }\n  .crp .card-img{ position:relative; background:#fff; border-radius:28px; min-height:520px; overflow:hidden; box-shadow:0 20px 60px -20px rgba(0,0,0,.25); }\n  .crp .card-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:1; transition:opacity .35s; }\n  .crp .badge{ position:absolute; top:20px; left:20px; z-index:2; background:var(--y); color:#111; font-weight:700; font-size:12px; letter-spacing:.08em; padding:6px 14px; border-radius:99px; }\n\n  \/* DOTAZIONI sotto card immagine, 2 colonne (CSS columns per flow naturale) *\/\n  .crp .dot-wrap{ padding:0 4px; }\n  .crp .dot-wrap h4{ font-family:'General Sans',sans-serif; font-size:14px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--r); margin-bottom:22px; }\n  .crp .dot-grid{ column-count:2; column-gap:28px; padding:0; margin:0; }\n  @media(max-width:900px){ .crp .dot-grid{ column-count:1; } }\n  .crp .dot-grid li{ list-style:none; position:relative; padding-left:22px; font-size:14.5px; line-height:1.55; color:#222; margin-bottom:12px; break-inside:avoid; -webkit-column-break-inside:avoid; page-break-inside:avoid; }\n  .crp .dot-grid li::before{ content:\"\"; position:absolute; left:0; top:9px; width:12px; height:2px; background:linear-gradient(90deg,var(--y),var(--r)); border-radius:2px; }\n\n  \/* RIGHT COL *\/\n  .crp .right{ display:flex; flex-direction:column; justify-content:flex-start; padding-top:8px; }\n  .crp .right .lbl{ font-size:11px; font-weight:700; letter-spacing:.25em; text-transform:uppercase; color:rgba(0,0,0,.5); margin-bottom:10px; }\n\n  \/* CHIPS \u2014 compatte, 1 riga *\/\n  .crp .chips{ display:flex; flex-wrap:nowrap; gap:8px; margin-bottom:36px; overflow-x:auto; padding-bottom:4px; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }\n  .crp .chips::-webkit-scrollbar{ height:4px; }\n  .crp .chips::-webkit-scrollbar-thumb{ background:rgba(0,0,0,.15); border-radius:99px; }\n  .crp .chip{ flex:0 0 auto; padding:7px 12px; border-radius:8px; font-size:12px; font-weight:700; border:1px solid rgba(0,0,0,.15); background:#fff; color:rgba(0,0,0,.7); cursor:pointer; transition:all .25s; font-family:'Satoshi',sans-serif; white-space:nowrap; letter-spacing:.02em; }\n  .crp .chip:hover{ border-color:var(--r); color:var(--r); }\n  .crp .chip.active{ background:var(--r); color:#fff; border-color:var(--r); box-shadow:0 4px 12px rgba(207,44,41,.3); }\n\n  .crp .right h3{ font-size:clamp(22px,2.8vw,32px); margin-bottom:6px; line-height:1.15; }\n  .crp .sub{ color:var(--r); font-size:16px; margin-bottom:32px; }\n\n  \/* DESCRIZIONE inline *\/\n  .crp .descr-inline{ margin-bottom:36px; }\n  .crp .descr-inline p.txt{ font-size:16px; line-height:1.7; color:#222; }\n\n  .crp .spec{ font-family:'General Sans',sans-serif; font-size:clamp(22px,2.6vw,30px); font-weight:700; }\n  .crp .specbar{ height:4px; width:96px; background:linear-gradient(90deg,var(--y),var(--r)); border-radius:99px; margin:14px 0 36px; }\n  .crp .pdf{ display:inline-flex; align-items:center; gap:8px; color:rgba(0,0,0,.55); font-size:14px; text-decoration:none; margin-top:12px; transition:color .2s; }\n  .crp .pdf:hover{ color:var(--r); }\n\n  \/* DETAIL PHOTOS *\/\n  .crp .photos{ padding:48px 0 96px; background:#fff; }\n  .crp .pgrid-wrap{ max-width:1380px; margin:0 auto; padding:0 24px; position:relative; }\n  .crp .pgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; transition:opacity .35s; }\n  .crp .pgrid.two{ grid-template-columns:repeat(2,1fr); max-width:920px; margin:0 auto; }\n  .crp .pgrid.one{ grid-template-columns:1fr; max-width:600px; margin:0 auto; }\n  @media(max-width:900px){ .crp .pgrid, .crp .pgrid.two, .crp .pgrid.one{ grid-template-columns:1fr; gap:20px; } }\n  .crp .pgrid .ph{ position:relative; aspect-ratio:4\/3; border-radius:18px; overflow:hidden; box-shadow:0 10px 30px -10px rgba(0,0,0,.25); }\n  .crp .pgrid .ph img{ width:100%; height:100%; object-fit:cover; transition:transform .7s, opacity .35s; }\n  .crp .pgrid .ph:hover img{ transform:scale(1.05); }\n  .crp .pgrid .ph.hidden{ display:none; }\n\n  \/* ARROWS \u2014 perfettamente circolari *\/\n  .crp .ph-nav{ display:none; justify-content:center; gap:14px; margin-top:28px; align-items:center; }\n  .crp .ph-nav.show{ display:flex; }\n  .crp .ph-arr{ flex-shrink:0; width:46px; height:46px; min-width:46px; min-height:46px; max-width:46px; max-height:46px; border-radius:50%; border:1px solid rgba(0,0,0,.15); background:#fff; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; font-size:18px; color:#111; transition:all .25s; font-family:'Satoshi',sans-serif; padding:0; line-height:1; }\n  .crp .ph-arr:hover{ background:var(--r); color:#fff; border-color:var(--r); transform:scale(1.05); }\n  .crp .ph-arr:disabled{ opacity:.35; cursor:not-allowed; transform:none; background:#fff; color:#111; border-color:rgba(0,0,0,.15); }\n  .crp .ph-dots{ display:flex; align-items:center; gap:8px; }\n  .crp .ph-dot{ width:8px; height:8px; border-radius:50%; background:rgba(0,0,0,.2); transition:all .25s; }\n  .crp .ph-dot.active{ background:var(--r); width:24px; border-radius:99px; }\n\n  \/* APPLICAZIONI *\/\n  .crp .appl{ padding:0 0 160px; background:#fff; }\n  .crp .appl .kicker{ background:linear-gradient(90deg,var(--r),var(--rd)); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:14px; }\n  .crp .appl h2{ font-size:clamp(26px,3.4vw,40px); background:linear-gradient(90deg,var(--r),var(--rd)); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:64px; text-transform:uppercase; }\n  .crp .appgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }\n  @media(max-width:900px){ .crp .appgrid{ grid-template-columns:1fr; gap:48px; } }\n  .crp .appitem{ position:relative; padding-top:40px; }\n  .crp .appnum{ position:absolute; top:-24px; left:-8px; font-family:'General Sans',sans-serif; font-weight:700; font-size:120px; line-height:1; color:rgba(123,26,26,.08); pointer-events:none; user-select:none; }\n  .crp .appitem h3{ color:var(--r); font-size:18px; font-family:'Satoshi',sans-serif; font-weight:700; margin-bottom:12px; }\n  .crp .appitem p{ color:var(--mute); font-size:15px; }\n\n  \/* FINAL CTA *\/\n  .crp .final{ position:relative; padding:160px 0; background:#000; overflow:hidden; }\n  .crp .final canvas{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }\n  .crp .final .inner{ position:relative; z-index:2; max-width:720px; margin:0 auto; padding:0 24px; text-align:center; }\n  .crp .final h2{ color:var(--y); font-size:clamp(28px,3.6vw,42px); margin-bottom:16px; text-transform:uppercase; }\n  .crp .final p{ color:rgba(252,237,79,.6); margin:0 auto 40px; max-width:520px; }\n  .crp .final .ctas{ display:flex; flex-wrap:wrap; justify-content:center; gap:16px; }\n  .crp .final .btn-out{ border-color:rgba(252,237,79,.5); color:var(--y); }\n  .crp .final .btn-out:hover{ background:rgba(252,237,79,.08); }\n\n  \/* fade-in scroll *\/\n  .crp .reveal{ opacity:0; transform:translateY(24px); transition:all .7s cubic-bezier(.16,1,.3,1); }\n  .crp .reveal.in{ opacity:1; transform:none; }\n<\/style>\n\n<div class=\"crp\" id=\"crp-root\">\n\n  <!-- HERO -->\n  <section class=\"hero\" id=\"crp-hero\">\n    <img decoding=\"async\" class=\"bg\" src=\"https:\/\/ecoservicespa.com\/wp-content\/uploads\/2026\/04\/scarrabili.jpg\" alt=\"\">\n    <div class=\"ovl\"><\/div>\n    <div class=\"inner wrap\">\n      <p class=\"kicker\">GAMMA PRODOTTI<\/p>\n      <h1>Casse Ribaltabili con Sponda<\/h1>\n      <div class=\"bar\"><\/div>\n      <p class=\"desc\">Allestimenti scarrabili robusti e versatili, progettati per la raccolta e il trasporto efficiente dei rifiuti. Disponibili da 4 a 10 m\u00b3.<\/p>\n      <div class=\"ctas\">\n        <a href=\"#crp-modelli\" class=\"btn btn-y\">Esplora i modelli \u2193<\/a>\n        <a href=\"https:\/\/ecoservicespa.com\/contatti\" class=\"btn btn-out\">Richiedi preventivo<\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- SHOWCASE -->\n  <section class=\"showcase reveal\" id=\"crp-modelli\">\n    <div class=\"wrap\">\n      <div class=\"head\">\n        <p class=\"kicker\">I MODELLI<\/p>\n        <h2>Scegli il tuo modello.<\/h2>\n      <\/div>\n\n      <div class=\"grid2\">\n        <!-- LEFT: card + dotazioni sotto -->\n        <div class=\"left-col\">\n          <div class=\"card-img\">\n            <span class=\"badge\" id=\"crp-badge\"><\/span>\n            <img decoding=\"async\" id=\"crp-main\" src=\"\" alt=\"\">\n          <\/div>\n          <div class=\"dot-wrap\">\n            <h4>Dotazioni di serie<\/h4>\n            <ul class=\"dot-grid\" id=\"crp-dotazioni\"><\/ul>\n          <\/div>\n        <\/div>\n\n        <!-- RIGHT: chips, modello, descrizione, dato tecnico, CTA -->\n        <div class=\"right\">\n          <p class=\"lbl\">Seleziona il modello<\/p>\n          <div class=\"chips\" id=\"crp-chips\"><\/div>\n\n          <p class=\"lbl\">Modello<\/p>\n          <h3 id=\"crp-mname\"><\/h3>\n          <p class=\"sub\">Cassa ribaltabile con sponda<\/p>\n\n          <div class=\"descr-inline\">\n            <p class=\"lbl\">Descrizione allestimento<\/p>\n            <p class=\"txt\" id=\"crp-descr\"><\/p>\n          <\/div>\n\n          <p class=\"lbl\">Dato tecnico<\/p>\n          <p class=\"spec\" id=\"crp-spec\"><\/p>\n          <div class=\"specbar\"><\/div>\n\n          <a id=\"crp-cta\" href=\"https:\/\/ecoservicespa.com\/contatti\" class=\"btn btn-r\" style=\"align-self:flex-start;\">\n            <span>Richiedi preventivo per <span id=\"crp-cta-code\"><\/span><\/span> \u2192\n          <\/a>\n          <a href=\"#\" class=\"pdf\">\u2193 Scarica scheda tecnica PDF<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- DETAIL PHOTOS -->\n  <section class=\"photos reveal\">\n    <div class=\"pgrid-wrap\">\n      <div class=\"pgrid\" id=\"crp-photos\">\n        <div class=\"ph\" id=\"crp-ph1\"><img decoding=\"async\" id=\"crp-d1\" src=\"\" alt=\"\"><\/div>\n        <div class=\"ph\" id=\"crp-ph2\"><img decoding=\"async\" id=\"crp-d2\" src=\"\" alt=\"\"><\/div>\n        <div class=\"ph\" id=\"crp-ph3\"><img decoding=\"async\" id=\"crp-d3\" src=\"\" alt=\"\"><\/div>\n      <\/div>\n      <div class=\"ph-nav\" id=\"crp-phnav\">\n        <button class=\"ph-arr\" id=\"crp-prev\" aria-label=\"Precedente\">\u2190<\/button>\n        <div class=\"ph-dots\" id=\"crp-dots\"><\/div>\n        <button class=\"ph-arr\" id=\"crp-next\" aria-label=\"Successivo\">\u2192<\/button>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- APPLICAZIONI -->\n  <section class=\"appl reveal\">\n    <div class=\"wrap\">\n      <p class=\"kicker\">APPLICAZIONI<\/p>\n      <h2>Dove lavorano i nostri allestimenti.<\/h2>\n      <div class=\"appgrid\">\n        <div class=\"appitem\"><span class=\"appnum\">01<\/span><h3>RACCOLTA PORTA A PORTA<\/h3><p>Soluzioni dimensionate per il servizio capillare in centri urbani e periferie.<\/p><\/div>\n        <div class=\"appitem\"><span class=\"appnum\">02<\/span><h3>ISOLE ECOLOGICHE<\/h3><p>Allestimenti ideali per il trasferimento rifiuti da centri di raccolta e piattaforme.<\/p><\/div>\n        <div class=\"appitem\"><span class=\"appnum\">03<\/span><h3>RACCOLTA INDUSTRIALE<\/h3><p>Robustezza e capacit\u00e0 per la gestione di rifiuti speciali e industriali.<\/p><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- FINAL CTA -->\n  <section class=\"final reveal\">\n    <canvas id=\"crp-sparks\"><\/canvas>\n    <div class=\"inner\">\n      <h2>HAI TROVATO IL MODELLO GIUSTO?<\/h2>\n      <p>Il nostro team commerciale \u00e8 a disposizione per fornirti un preventivo dettagliato, tempi di consegna e supporto nella scelta della configurazione pi\u00f9 adatta.<\/p>\n      <div class=\"ctas\">\n        <a href=\"https:\/\/ecoservicespa.com\/contatti\" class=\"btn btn-y\">Richiedi preventivo<\/a>\n        <a href=\"https:\/\/ecoservicespa.com\/contatti\" class=\"btn btn-out\">Contattaci<\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n<\/div>\n\n<script>\n(function(){\n  const MAIN='https:\/\/ecoservicespa.com\/wp-content\/uploads\/2026\/04\/CRP100CS_EDIT-scaled.jpg';\n  const DETAILS=[\n    'https:\/\/ecoservicespa.com\/wp-content\/uploads\/2026\/04\/Shooting_HVH_762-scaled.jpg',\n    'https:\/\/ecoservicespa.com\/wp-content\/uploads\/2026\/04\/Shooting_HVH_475-scaled.jpg'\n  ];\n\n  const DESC = \"Pensato per essere utilizzato in molteplici contesti per consentire il trasporto di materiale ingombrante.\";\n\n  const DOTAZIONI = [\n    \"Pedana caricatrice posteriore a colonna da 500 kg a 1.000 kg\",\n    \"Cassone ribaltabile posteriore in acciaio\",\n    \"Avvisatore acustico\",\n    \"Girofaro lampeggiante\",\n    \"Cassetta porta attrezzi\",\n    \"Pulsantiera fissa ed estensibile per comando pedana\",\n    \"Pulsantiera estendibile in cabina per ribaltamento cassone\",\n    \"Centralina per ribaltamento cassone\"\n  ];\n\n  const MODELS=[\n    {code:'CRP 4-SC',  spec:'Capacit\u00e0 cassa 4 m\u00b3',  main:MAIN, details:DETAILS, descr:DESC, dotazioni:DOTAZIONI},\n    {code:'CRP 5-SC',  spec:'Capacit\u00e0 cassa 5 m\u00b3',  main:MAIN, details:DETAILS, descr:DESC, dotazioni:DOTAZIONI},\n    {code:'CRP 7-SC',  spec:'Capacit\u00e0 cassa 7 m\u00b3',  main:MAIN, details:DETAILS, descr:DESC, dotazioni:DOTAZIONI},\n    {code:'CRP 10-SC', spec:'Capacit\u00e0 cassa 10 m\u00b3', main:MAIN, details:DETAILS, descr:DESC, dotazioni:DOTAZIONI}\n  ];\n\n  let code=MODELS[0].code;\n  let photoOffset=0;\n\n  const elChips  = document.getElementById('crp-chips');\n  const elMain   = document.getElementById('crp-main');\n  const elBadge  = document.getElementById('crp-badge');\n  const elName   = document.getElementById('crp-mname');\n  const elSpec   = document.getElementById('crp-spec');\n  const elDescr  = document.getElementById('crp-descr');\n  const elDotEl  = document.getElementById('crp-dotazioni');\n  const elCtaCode= document.getElementById('crp-cta-code');\n  const pgrid    = document.getElementById('crp-photos');\n  const ph1      = document.getElementById('crp-ph1');\n  const ph2      = document.getElementById('crp-ph2');\n  const ph3      = document.getElementById('crp-ph3');\n  const d1       = document.getElementById('crp-d1');\n  const d2       = document.getElementById('crp-d2');\n  const d3       = document.getElementById('crp-d3');\n  const phnav    = document.getElementById('crp-phnav');\n  const prevBtn  = document.getElementById('crp-prev');\n  const nextBtn  = document.getElementById('crp-next');\n  const dotsEl   = document.getElementById('crp-dots');\n\n  function renderChips(){\n    elChips.innerHTML='';\n    MODELS.forEach(m=>{\n      const b=document.createElement('button');\n      b.className='chip'+(m.code===code?' active':'');\n      b.textContent=m.code;\n      b.onclick=()=>{ code=m.code; renderChips(); renderModel(); };\n      elChips.appendChild(b);\n    });\n  }\n\n  function distributeDotazioni(arr){\n    elDotEl.innerHTML='';\n    arr.forEach(d=>{\n      const li=document.createElement('li');\n      li.textContent=d;\n      elDotEl.appendChild(li);\n    });\n  }\n\n  function renderPhotos(m){\n    const total=m.details.length;\n    photoOffset=0;\n\n    pgrid.classList.remove('two','one');\n    ph1.classList.remove('hidden');\n    ph2.classList.remove('hidden');\n    ph3.classList.remove('hidden');\n    phnav.classList.remove('show');\n    dotsEl.innerHTML='';\n\n    if(total===0){\n      return;\n    }\n\n    if(total===1){\n      d1.src=m.details[0];\n      d2.src=''; d3.src='';\n      ph2.classList.add('hidden');\n      ph3.classList.add('hidden');\n      pgrid.classList.add('one');\n    } else if(total===2){\n      d1.src=m.details[0];\n      d2.src=m.details[1];\n      d3.src='';\n      ph3.classList.add('hidden');\n      pgrid.classList.add('two');\n    } else if(total===3){\n      d1.src=m.details[0];\n      d2.src=m.details[1];\n      d3.src=m.details[2];\n    } else if(total>=4){\n      d1.src=m.details[0];\n      d2.src=m.details[1];\n      d3.src=m.details[2];\n      phnav.classList.add('show');\n\n      const windows=total-2;\n      for(let i=0;i<windows;i++){\n        const dot=document.createElement('div');\n        dot.className='ph-dot'+(i===0?' active':'');\n        dotsEl.appendChild(dot);\n      }\n      updatePhotoNav(m);\n    }\n  }\n\n  function updatePhotoNav(m){\n    const total=m.details.length;\n    const windows=total-2;\n    prevBtn.disabled=photoOffset===0;\n    nextBtn.disabled=photoOffset>=windows-1;\n    [...dotsEl.children].forEach((dot,i)=>{\n      dot.classList.toggle('active', i===photoOffset);\n    });\n  }\n\n  function shiftPhotos(dir){\n    const m=MODELS.find(x=>x.code===code) || MODELS[0];\n    const total=m.details.length;\n    if(total<4) return;\n    const windows=total-2;\n    const next=Math.max(0, Math.min(windows-1, photoOffset+dir));\n    if(next===photoOffset) return;\n    photoOffset=next;\n\n    pgrid.style.opacity=0;\n    setTimeout(()=>{\n      d1.src=m.details[photoOffset];\n      d2.src=m.details[photoOffset+1];\n      d3.src=m.details[photoOffset+2];\n      pgrid.style.opacity=1;\n      updatePhotoNav(m);\n    },180);\n  }\n\n  prevBtn.addEventListener('click',()=>shiftPhotos(-1));\n  nextBtn.addEventListener('click',()=>shiftPhotos(1));\n\n  function renderModel(){\n    const m=MODELS.find(x=>x.code===code) || MODELS[0];\n    elMain.style.opacity=0;\n    [d1,d2,d3].forEach(d=>d.style.opacity=0);\n\n    setTimeout(()=>{\n      elMain.src=m.main; elMain.alt=m.code;\n      elBadge.textContent=m.code;\n      elName.textContent=m.code;\n      elSpec.textContent=m.spec;\n      elDescr.textContent=m.descr;\n      elCtaCode.textContent=m.code;\n\n      distributeDotazioni(m.dotazioni);\n      renderPhotos(m);\n\n      elMain.style.opacity=1;\n      [d1,d2,d3].forEach(d=>d.style.opacity=1);\n    },180);\n  }\n\n  renderChips(); renderModel();\n\n  \/\/ Hero reveal on load\n  requestAnimationFrame(()=>document.getElementById('crp-hero').classList.add('in'));\n\n  \/\/ Scroll reveals\n  const io=new IntersectionObserver((es)=>{\n    es.forEach(e=>{ if(e.isIntersecting){ e.target.classList.add('in'); io.unobserve(e.target); } });\n  },{threshold:.1});\n  document.querySelectorAll('.crp .reveal').forEach(el=>io.observe(el));\n\n  \/\/ Sparks canvas\n  const cv=document.getElementById('crp-sparks');\n  const ctx=cv.getContext('2d');\n  let raf, ps=[];\n  const dpr=window.devicePixelRatio||1;\n  function resize(){ cv.width=cv.offsetWidth*dpr; cv.height=cv.offsetHeight*dpr; ctx.setTransform(dpr,0,0,dpr,0,0); }\n  function W(){return cv.offsetWidth;} function H(){return cv.offsetHeight;}\n  function mk(){return{x:Math.random()*W(),y:H()*.8+Math.random()*H()*.2,r:1+Math.random()*2,vy:-(.3+Math.random()*.55),vx:(Math.random()-.5)*.35,o:.4+Math.random()*.6,life:0,max:220+Math.random()*280};}\n  function init(){ resize(); ps=Array.from({length:14},mk); }\n  function draw(){\n    ctx.clearRect(0,0,W(),H());\n    for(const p of ps){\n      p.x+=p.vx; p.y+=p.vy; p.life++;\n      const f=1-p.life\/p.max;\n      if(f<=0){ Object.assign(p,mk()); continue; }\n      ctx.beginPath(); ctx.arc(p.x,p.y,p.r,0,Math.PI*2);\n      ctx.fillStyle=`rgba(252,237,79,${(p.o*f).toFixed(2)})`;\n      ctx.shadowBlur=8; ctx.shadowColor=\"rgba(252,237,79,.5)\";\n      ctx.fill(); ctx.shadowBlur=0;\n    }\n    raf=requestAnimationFrame(draw);\n  }\n  init(); draw();\n  window.addEventListener('resize',init);\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\n\t\t\n    <div class=\"xs_social_share_widget xs_share_url after_content \t\tmain_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content\">\n\n\t\t\n        <ul>\n\t\t\t        <\/ul>\n    <\/div> \n","protected":false},"excerpt":{"rendered":"<p>GAMMA PRODOTTI Casse Ribaltabili con Sponda Allestimenti scarrabili robusti e versatili, progettati per la raccolta e il trasporto efficiente dei rifiuti. Disponibili da 4 a 10 m\u00b3. Esplora i modelli \u2193 Richiedi preventivo I MODELLI Scegli il tuo modello. Dotazioni di serie Seleziona il modello Modello Cassa ribaltabile con sponda Descrizione allestimento Dato tecnico Richiedi [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-5270","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Cassa con sponda - Ecoservice spa<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.ecoservicespa.com\/cassa-con-sponda\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cassa con sponda - Ecoservice spa\" \/>\n<meta property=\"og:description\" content=\"GAMMA PRODOTTI Casse Ribaltabili con Sponda Allestimenti scarrabili robusti e versatili, progettati per la raccolta e il trasporto efficiente dei rifi\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.ecoservicespa.com\/cassa-con-sponda\/\" \/>\n<meta property=\"og:site_name\" content=\"Ecoservice spa\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-04T16:11:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.ecoservicespa.com\/wp-content\/uploads\/2026\/04\/scarrabili.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.ecoservicespa.com\\\/cassa-con-sponda\\\/\",\"url\":\"https:\\\/\\\/www.ecoservicespa.com\\\/cassa-con-sponda\\\/\",\"name\":\"Cassa con sponda - Ecoservice spa\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ecoservicespa.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.ecoservicespa.com\\\/cassa-con-sponda\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.ecoservicespa.com\\\/cassa-con-sponda\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ecoservicespa.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/scarrabili.jpg\",\"datePublished\":\"2026-04-30T17:47:05+00:00\",\"dateModified\":\"2026-05-04T16:11:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.ecoservicespa.com\\\/cassa-con-sponda\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.ecoservicespa.com\\\/cassa-con-sponda\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.ecoservicespa.com\\\/cassa-con-sponda\\\/#primaryimage\",\"url\":\"https:\\\/\\\/ecoservicespa.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/scarrabili.jpg\",\"contentUrl\":\"https:\\\/\\\/ecoservicespa.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/scarrabili.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.ecoservicespa.com\\\/cassa-con-sponda\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.ecoservicespa.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cassa con sponda\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.ecoservicespa.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.ecoservicespa.com\\\/en\\\/\",\"name\":\"Ecoservice spa\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.ecoservicespa.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cassa con sponda - Ecoservice spa","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.ecoservicespa.com\/cassa-con-sponda\/","og_locale":"pl_PL","og_type":"article","og_title":"Cassa con sponda - Ecoservice spa","og_description":"GAMMA PRODOTTI Casse Ribaltabili con Sponda Allestimenti scarrabili robusti e versatili, progettati per la raccolta e il trasporto efficiente dei rifi","og_url":"https:\/\/www.ecoservicespa.com\/cassa-con-sponda\/","og_site_name":"Ecoservice spa","article_modified_time":"2026-05-04T16:11:02+00:00","og_image":[{"url":"https:\/\/www.ecoservicespa.com\/wp-content\/uploads\/2026\/04\/scarrabili.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Szacowany czas czytania":"3 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.ecoservicespa.com\/cassa-con-sponda\/","url":"https:\/\/www.ecoservicespa.com\/cassa-con-sponda\/","name":"Cassa con sponda - Ecoservice spa","isPartOf":{"@id":"https:\/\/www.ecoservicespa.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.ecoservicespa.com\/cassa-con-sponda\/#primaryimage"},"image":{"@id":"https:\/\/www.ecoservicespa.com\/cassa-con-sponda\/#primaryimage"},"thumbnailUrl":"https:\/\/ecoservicespa.com\/wp-content\/uploads\/2026\/04\/scarrabili.jpg","datePublished":"2026-04-30T17:47:05+00:00","dateModified":"2026-05-04T16:11:02+00:00","breadcrumb":{"@id":"https:\/\/www.ecoservicespa.com\/cassa-con-sponda\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.ecoservicespa.com\/cassa-con-sponda\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.ecoservicespa.com\/cassa-con-sponda\/#primaryimage","url":"https:\/\/ecoservicespa.com\/wp-content\/uploads\/2026\/04\/scarrabili.jpg","contentUrl":"https:\/\/ecoservicespa.com\/wp-content\/uploads\/2026\/04\/scarrabili.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.ecoservicespa.com\/cassa-con-sponda\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.ecoservicespa.com\/"},{"@type":"ListItem","position":2,"name":"Cassa con sponda"}]},{"@type":"WebSite","@id":"https:\/\/www.ecoservicespa.com\/en\/#website","url":"https:\/\/www.ecoservicespa.com\/en\/","name":"Ecoservice spa","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.ecoservicespa.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"}]}},"_links":{"self":[{"href":"https:\/\/ecoservicespa.com\/pl\/wp-json\/wp\/v2\/pages\/5270","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ecoservicespa.com\/pl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ecoservicespa.com\/pl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ecoservicespa.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ecoservicespa.com\/pl\/wp-json\/wp\/v2\/comments?post=5270"}],"version-history":[{"count":7,"href":"https:\/\/ecoservicespa.com\/pl\/wp-json\/wp\/v2\/pages\/5270\/revisions"}],"predecessor-version":[{"id":5417,"href":"https:\/\/ecoservicespa.com\/pl\/wp-json\/wp\/v2\/pages\/5270\/revisions\/5417"}],"wp:attachment":[{"href":"https:\/\/ecoservicespa.com\/pl\/wp-json\/wp\/v2\/media?parent=5270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}