{"id":8618,"date":"2026-08-04T09:25:59","date_gmt":"2026-08-04T09:25:59","guid":{"rendered":"https:\/\/www.reda1865.com\/formalwear\/"},"modified":"2026-10-08T08:11:46","modified_gmt":"2026-10-08T08:11:46","slug":"formalwear","status":"publish","type":"page","link":"https:\/\/www.reda1865.com\/it\/formalwear\/","title":{"rendered":"Formalwear"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"8618\" class=\"elementor elementor-8618 elementor-3910\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-32fff4f e-con-full e-flex e-con e-parent\" data-id=\"32fff4f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0f32636 elementor-widget elementor-widget-jet-engine-component-683\" data-id=\"0f32636\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"jet-engine-component-683.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>.elementor-683 .elementor-element.elementor-element-d9bef01{--display:flex;--min-height:900px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--overlay-opacity:0.35;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-683 .elementor-element.elementor-element-d9bef01:not(.elementor-motion-effects-element-type-background), .elementor-683 .elementor-element.elementor-element-d9bef01 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-683 .elementor-element.elementor-element-d9bef01::before, .elementor-683 .elementor-element.elementor-element-d9bef01 > .elementor-background-video-container::before, .elementor-683 .elementor-element.elementor-element-d9bef01 > .e-con-inner > .elementor-background-video-container::before, .elementor-683 .elementor-element.elementor-element-d9bef01 > .elementor-background-slideshow::before, .elementor-683 .elementor-element.elementor-element-d9bef01 > .e-con-inner > .elementor-background-slideshow::before, .elementor-683 .elementor-element.elementor-element-d9bef01 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';background-color:transparent;background-image:linear-gradient(0deg, #765627 0%, #765627 100%);}.elementor-683 .elementor-element.elementor-element-f6a86af{--display:flex;--padding-top:0px;--padding-bottom:50px;--padding-left:80px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-683 .elementor-element.elementor-element-323e202 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:#FFFFFF;}.elementor-683 .elementor-element.elementor-element-323e202{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );background-color:var( --e-global-color-accent );}.elementor-683 .elementor-element.elementor-element-af8e8b2 .elementor-button{fill:var( --e-global-color-secondary );color:var( --e-global-color-secondary );background-color:#FFFFFF00;}.elementor-683 .elementor-element.elementor-element-af8e8b2{padding:0px 0px 0px 0px;}@media(max-width:1399px){.elementor-683 .elementor-element.elementor-element-f6a86af{--padding-top:0px;--padding-bottom:50px;--padding-left:80px;--padding-right:80px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-683 .elementor-element.elementor-element-323e202 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}@media(min-width:768px){.elementor-683 .elementor-element.elementor-element-f6a86af{--width:1080px;}}@media(max-width:1399px) and (min-width:768px){.elementor-683 .elementor-element.elementor-element-f6a86af{--width:100%;}}@media(max-width:1024px){.elementor-683 .elementor-element.elementor-element-d9bef01{--min-height:800px;}.elementor-683 .elementor-element.elementor-element-f6a86af{--padding-top:0px;--padding-bottom:50px;--padding-left:80px;--padding-right:80px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-683 .elementor-element.elementor-element-323e202 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}@media(max-width:767px){.elementor-683 .elementor-element.elementor-element-d9bef01{--min-height:700px;}.elementor-683 .elementor-element.elementor-element-f6a86af{--padding-top:0px;--padding-bottom:80px;--padding-left:40px;--padding-right:40px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-683 .elementor-element.elementor-element-323e202 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}<\/style><style type=\"text\/css\">.jet-component-instance-3523.jet-listing-grid--683 .elementor-element.elementor-element-d9bef01:not(.elementor-motion-effects-element-type-background), .jet-component-instance-3523.jet-listing-grid--683 .elementor-element.elementor-element-d9bef01 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url(\"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/cover-formalwear.jpg\");}<\/style>\t\t<div data-elementor-type=\"jet-engine-component\" data-elementor-id=\"683\" class=\"elementor elementor-683 jet-listing-grid--683 jet-component-instance-3523\" data-elementor-post-type=\"jet-engine\" style=\"\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d9bef01 video-box e-con-full e-flex e-con e-parent\" data-id=\"d9bef01\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-f6a86af e-con-full e-flex e-con e-child\" data-id=\"f6a86af\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-323e202 elementor-widget elementor-widget-heading\" data-id=\"323e202\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Formalwear. <br> L\u2019arte della sartorialit\u00e0 contemporanea.\n<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a118ba9 e-flex e-con-boxed e-con e-parent\" data-id=\"a118ba9\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b2f74a4 elementor-widget elementor-widget-jet-engine-component-695\" data-id=\"b2f74a4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"jet-engine-component-695.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>.elementor-695 .elementor-element.elementor-element-67c2fdf{--display:flex;--justify-content:center;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:120px;--padding-bottom:120px;--padding-left:200px;--padding-right:200px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-695 .elementor-element.elementor-element-e359f5a{text-align:start;}.elementor-695 .elementor-element.elementor-element-e359f5a .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:#000000;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-695 .elementor-element.elementor-element-40745c4{text-align:start;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:#000000;}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );background-color:var( --e-global-color-accent );}.elementor-695 .elementor-element.elementor-element-8206943 .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );background-color:#FFFFFF00;}.elementor-695 .elementor-element.elementor-element-8206943{padding:10px 0px 0px 0px;}@media(max-width:1399px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-695 .elementor-element.elementor-element-e359f5a .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-695 .elementor-element.elementor-element-40745c4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-695 .elementor-element.elementor-element-8206943 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}@media(max-width:1024px){.elementor-695 .elementor-element.elementor-element-67c2fdf{--padding-top:120px;--padding-bottom:120px;--padding-left:80px;--padding-right:80px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-695 .elementor-element.elementor-element-e359f5a .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-695 .elementor-element.elementor-element-40745c4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-695 .elementor-element.elementor-element-8206943 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}@media(max-width:767px){.elementor-695 .elementor-element.elementor-element-67c2fdf{--padding-top:60px;--padding-bottom:60px;--padding-left:40px;--padding-right:40px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-695 .elementor-element.elementor-element-e359f5a .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-695 .elementor-element.elementor-element-40745c4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-695 .elementor-element.elementor-element-8206943 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}@media(min-width:768px){.elementor-695 .elementor-element.elementor-element-67c2fdf{--content-width:840px;}}<\/style><style type=\"text\/css\">.jet-component-instance-9985.jet-listing-grid--695 .elementor-element.elementor-element-67c2fdf:not(.elementor-motion-effects-element-type-background), .jet-component-instance-9985.jet-listing-grid--695 .elementor-element.elementor-element-67c2fdf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var(--jet-component-colore_sfondo);}<\/style>\t\t<div data-elementor-type=\"jet-engine-component\" data-elementor-id=\"695\" class=\"elementor elementor-695 jet-listing-grid--695 jet-component-instance-9985\" data-elementor-post-type=\"jet-engine\" style=\"--jet-component-colore_sfondo:var( --e-global-color-secondary );\">\n\t\t\t\t<div class=\"elementor-element elementor-element-67c2fdf e-flex e-con-boxed e-con e-parent\" data-id=\"67c2fdf\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e359f5a tag-h2 elementor-widget elementor-widget-heading\" data-id=\"e359f5a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">L\u2019espressione pi\u00f9 autentica del patrimonio Reda, dove la pi\u00f9 fine lana Merino e altre materie prime d\u2019eccellenza prendono forma attraverso generazioni di sapere tessile.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-40745c4 elementor-widget elementor-widget-text-editor\" data-id=\"40745c4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Ogni tessuto nasce da un\u2019attenzione meticolosa alla costruzione, alla texture e alle prestazioni, traducendo generazioni di esperienza manifatturiera in una visione contemporanea dell\u2019eleganza. Qualit\u00e0 ricercate, strutture sofisticate e finissaggi sviluppati con cura danno vita a tessuti capaci di unire un aspetto impeccabile a comfort, versatilit\u00e0 e libert\u00e0 di movimento.<\/p><p>Una collezione concepita per la sartorialit\u00e0 contemporanea, in cui la ricerca sulla materia e la precisione costruttiva conferiscono a ogni tessuto un\u2019espressione distintiva di stile.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3f364a1 e-con-full e-flex e-con e-parent\" data-id=\"3f364a1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-9f5f950 e-flex e-con-boxed e-con e-child\" data-id=\"9f5f950\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-42f3f19 e-con-full e-flex e-con e-child\" data-id=\"42f3f19\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-e84c49a e-grid e-con-full e-con e-child\" data-id=\"e84c49a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ec5c05c elementor-widget elementor-widget-image\" data-id=\"ec5c05c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Formalwear_02-web.jpg\" class=\"attachment-full size-full wp-image-8620\" alt=\"Primo piano di tessuto in lana grigio scuro con sottile motivo a quadri bordeaux e chiari, morbidamente drappeggiato\" srcset=\"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Formalwear_02-web.jpg 300w, https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Formalwear_02-web-150x150.jpg 150w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1624d99 elementor-widget elementor-widget-image\" data-id=\"1624d99\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Formalwear_03-web.jpg\" class=\"attachment-full size-full wp-image-8621\" alt=\"Primo piano di tessuto in lana grigio antracite con morbide pieghe e una fine trama diagonale\" srcset=\"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Formalwear_03-web.jpg 300w, https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Formalwear_03-web-150x150.jpg 150w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0747f2b elementor-widget elementor-widget-image\" data-id=\"0747f2b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Formalwear_04-web.jpg\" class=\"attachment-full size-full wp-image-8622\" alt=\"Primo piano di tessuto marrone scuro con fine trama a canestro, illuminato in modo soffuso con pieghe in ombra\" srcset=\"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Formalwear_04-web.jpg 300w, https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Formalwear_04-web-150x150.jpg 150w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-84175fd e-con-full e-flex e-con e-parent\" data-id=\"84175fd\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3257991 elementor-widget elementor-widget-carousel_circolare\" data-id=\"3257991\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"carousel_circolare.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<div class=\"carousel-container\" id=\"carousel-circolare-1\">\n    <div class=\"carousel-wrapper\">\n        <div class=\"carousel-track\" data-carousel-track>\n            <div class=\"carousel-spacer\"><\/div>\n                        <div class=\"carousel-slide\">\n                                <a href=\"https:\/\/www.reda1865.com\/it\/formalwear\/cosmopolitan\/\" class=\"carousel-slide-link\"\n                   aria-label=\"Discover Cosmopolitan.\"\n                                      ><\/a>\n                                <picture class=\"carousel-slide-picture\">\n                    \t\t\t\t\t<img\n\t\t\t\t\tsrc=\"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Carosello_01_Cosmopolitan-def.jpg\"\n\t\t\t\t\talt=\"Primo piano di tessuto in lana blu scuro con sottili righe bianche, drappeggiato in morbide pieghe\"\n\t\t\t\t\tdraggable=\"false\"\n\t\t\t\t>\n                <\/picture>\n                <div class=\"carousel-slide-overlay\">\n                    <h3>Cosmopolitan.<br> La versatilit\u00e0 della sartorialit\u00e0 contemporanea.<\/h3>\n                    <p>La lana Merino da Super 110\u2019s a Super 130\u2019s unisce leggerezza e una mano raffinata. Costruzioni versatili danno vita a tessuti ricercati, capaci di accompagnare con naturalezza la sartorialit\u00e0 quotidiana e le occasioni formali.<\/p>\n                <\/div>\n            <\/div>\n                        <div class=\"carousel-slide\">\n                                <a href=\"https:\/\/www.reda1865.com\/it\/formalwear\/maior\/\" class=\"carousel-slide-link\"\n                   aria-label=\"Discover Maior.\"\n                                      ><\/a>\n                                <picture class=\"carousel-slide-picture\">\n                    \t\t\t\t\t<img\n\t\t\t\t\tsrc=\"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Carosello_02_Maior-web.jpg\"\n\t\t\t\t\talt=\"Primo piano di un tessuto di lana grigio chiaro con morbide pieghe e trama fine ben visibile\"\n\t\t\t\t\tdraggable=\"false\"\n\t\t\t\t>\n                <\/picture>\n                <div class=\"carousel-slide-overlay\">\n                    <h3>Maior.<br \/>Il pregio di fibre eccezionali.<\/h3>\n                    <p>Lane finissime da Super 150\u2019s in su e preziose mischie con cashmere e seta definiscono una collezione esclusiva per l\u2019alta sartoria, caratterizzata da straordinaria leggerezza e una mano raffinata.<\/p>\n                <\/div>\n            <\/div>\n                        <div class=\"carousel-slide\">\n                                <a href=\"https:\/\/www.reda1865.com\/it\/formalwear\/blazer\/\" class=\"carousel-slide-link\"\n                   aria-label=\"Discover Blazers.\"\n                                      ><\/a>\n                                <picture class=\"carousel-slide-picture\">\n                    \t\t\t\t\t<img\n\t\t\t\t\tsrc=\"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Carosello_03_Blazer-web.jpg\"\n\t\t\t\t\talt=\"Primo piano di tessuto in lana grigio scuro con trama a canestro ben visibile, piegato in luce soffusa\"\n\t\t\t\t\tdraggable=\"false\"\n\t\t\t\t>\n                <\/picture>\n                <div class=\"carousel-slide-overlay\">\n                    <h3>Blazers.<br \/>Il carattere intramontabile della sartorialit\u00e0.<\/h3>\n                    <p>Tessuti uniti in pura lana e costruzioni elasticizzate esplorano il carattere senza tempo del blazer. Texture ricercate coniugano comfort e libert\u00e0 di movimento con una versatilit\u00e0 che attraversa stagioni e occasioni.<\/p>\n                <\/div>\n            <\/div>\n                        <div class=\"carousel-slide\">\n                                <a href=\"https:\/\/www.reda1865.com\/it\/formalwear\/fancy-jacket\/\" class=\"carousel-slide-link\"\n                   aria-label=\"Discover Fancy Jackets.\"\n                                      ><\/a>\n                                <picture class=\"carousel-slide-picture\">\n                    \t\t\t\t\t<img\n\t\t\t\t\tsrc=\"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Carosello_04_Fancy-jacket-web.jpg\"\n\t\t\t\t\talt=\"Primo piano di tessuto in lana blu navy con sottile motivo a quadri blu e grigio, piegato morbidamente\"\n\t\t\t\t\tdraggable=\"false\"\n\t\t\t\t>\n                <\/picture>\n                <div class=\"carousel-slide-overlay\">\n                    <h3>Fancy Jackets.<br \/>Una sartorialit\u00e0 dal carattere distintivo.<\/h3>\n                    <p>I classici pied de poule e Principe di Galles incontrano raffinate mischie con cashmere, seta e lino. Una collezione che esplora disegno, texture e materia per conferire a ogni giacca un carattere riconoscibile.<\/p>\n                <\/div>\n            <\/div>\n                        <div class=\"carousel-slide\">\n                                <a href=\"https:\/\/www.reda1865.com\/it\/formalwear\/air-flannel\/\" class=\"carousel-slide-link\"\n                   aria-label=\"Discover Air Flannel.\"\n                                      ><\/a>\n                                <picture class=\"carousel-slide-picture\">\n                    \t\t\t\t\t<img\n\t\t\t\t\tsrc=\"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Carosello_05_Air-flannel-web.jpg\"\n\t\t\t\t\talt=\"Primo piano di tessuto di lana blu-grigio scuro dalla trama fine, drappeggiato in morbide pieghe\"\n\t\t\t\t\tdraggable=\"false\"\n\t\t\t\t>\n                <\/picture>\n                <div class=\"carousel-slide-overlay\">\n                    <h3>Air Flannel.<br>La leggerezza della flanella.<\/h3>\n                    <p>La lana Merino finissima dona leggerezza alla flanella classica, preservandone la mano morbida e avvolgente. Tessuti raffinati dalle grammature pi\u00f9 leggere offrono maggiore versatilit\u00e0 nei passaggi di stagione e nel guardaroba contemporaneo.<\/p>\n                <\/div>\n            <\/div>\n                        <div class=\"carousel-slide\">\n                                <a href=\"https:\/\/www.reda1865.com\/it\/formalwear\/legacy-flannel\/\" class=\"carousel-slide-link\"\n                   aria-label=\"Discover Legacy Flannel.\"\n                                      ><\/a>\n                                <picture class=\"carousel-slide-picture\">\n                    \t\t\t\t\t<img\n\t\t\t\t\tsrc=\"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Carosello_06_legacy-flannel-web.jpg\"\n\t\t\t\t\talt=\"Primo piano di tessuto in flanella di lana blu navy con sottile motivo principe di Galles e filo chiaro\"\n\t\t\t\t\tdraggable=\"false\"\n\t\t\t\t>\n                <\/picture>\n                <div class=\"carousel-slide-overlay\">\n                    <h3>Legacy Flannel.<br \/>Il carattere autentico della flanella.<\/h3>\n                    <p>Texture ricche e una mano corposa esprimono la competenza Reda nella flanella classica. Qualit\u00e0 in pura lana ed elasticizzate conferiscono comfort e profondit\u00e0 a tessuti concepiti per la sartorialit\u00e0 invernale.<\/p>\n                <\/div>\n            <\/div>\n                        <div class=\"carousel-slide\">\n                                <a href=\"https:\/\/www.reda1865.com\/it\/formalwear\/ceremony\/\" class=\"carousel-slide-link\"\n                   aria-label=\"Discover Ceremony.\"\n                                      ><\/a>\n                                <picture class=\"carousel-slide-picture\">\n                    \t\t\t\t\t<img\n\t\t\t\t\tsrc=\"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Carosello_07_cerimonia-web.jpg\"\n\t\t\t\t\talt=\"Primo piano di tessuto di lana nero con un sottile motivo geometrico a rombi e morbide pieghe\"\n\t\t\t\t\tdraggable=\"false\"\n\t\t\t\t>\n                <\/picture>\n                <div class=\"carousel-slide-overlay\">\n                    <h3>Ceremony.<br \/>Eleganza per le occasioni speciali.<\/h3>\n                    <p>Raffinati effetti jacquard, intrecci sofisticati e tonalit\u00e0 profonde definiscono tessuti dedicati alle occasioni speciali. Costruzioni sviluppate con cura uniscono comfort, elasticit\u00e0 e una mano raffinata in un\u2019interpretazione contemporanea dell\u2019abito da cerimonia.<\/p>\n                <\/div>\n            <\/div>\n                        <div class=\"carousel-slide\">\n                                <a href=\"https:\/\/www.reda1865.com\/it\/formalwear\/the-new-edit\/\" class=\"carousel-slide-link\"\n                   aria-label=\"Discover The New Edit.\"\n                                      ><\/a>\n                                <picture class=\"carousel-slide-picture\">\n                    \t\t\t\t\t<img\n\t\t\t\t\tsrc=\"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Carosello_08_the-new-edit-web.jpg\"\n\t\t\t\t\talt=\"Primo piano di tessuto in lana blu scuro con trama fine e sottili righe pi\u00f9 chiare\"\n\t\t\t\t\tdraggable=\"false\"\n\t\t\t\t>\n                <\/picture>\n                <div class=\"carousel-slide-overlay\">\n                    <h3>The New Edit.<br \/> L\u2019essenza della ricerca Reda.<\/h3>\n                    <p>Una selezione in continua evoluzione di tessuti contemporanei in lana Merino, che uniscono elasticit\u00e0 naturale, resistenza alle pieghe, comfort ed estetica ricercata. Pensata per uno stile di vita dinamico, The New Edit introduce un nuovo modo di vivere la sartorialit\u00e0 contemporanea.<\/p>\n                <\/div>\n            <\/div>\n                    <\/div>\n    <\/div>\n    <div class=\"carousel-controls\">\n        <button type=\"button\" class=\"carousel-arrow prev\" data-carousel-prev aria-label=\"Prev\">\n            <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\">\n                <path d=\"M16.6667 13.333L10 19.9997M10 19.9997L16.6667 26.6663M10 19.9997H30\" stroke=\"white\"\/>\n            <\/svg>\n        <\/button>\n        <div class=\"carousel-progress-bar\" data-carousel-progress-bar><div class=\"carousel-progress-thumb\"><\/div><\/div>\n        <button type=\"button\" class=\"carousel-arrow next\" data-carousel-next aria-label=\"Next\">\n            <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\">\n                <path d=\"M23.3333 13.333L30 19.9997M30 19.9997L23.3333 26.6663M30 19.9997H10\" stroke=\"white\"\/>\n            <\/svg>\n        <\/button>\n    <\/div>\n<\/div>\n\n<script>\n(function() {\n    var root = document.getElementById(\"carousel-circolare-1\");\n    if (!root || root._carouselInit) return;\n    root._carouselInit = true;\n\n    class AppleCarousel {\n        constructor(root, speed = 600) {\n            this.root     = root;\n            this.speed    = speed;\n            this.track    = root.querySelector('[data-carousel-track]');\n            this.wrapper  = this.track.parentElement;\n            this.prev     = root.querySelector('[data-carousel-prev]');\n            this.next     = root.querySelector('[data-carousel-next]');\n            this.progress = root.querySelector('[data-carousel-progress-bar]');\n            this.progressThumb = this.progress.querySelector('.carousel-progress-thumb');\n            this.total    = this.track.querySelectorAll('.carousel-slide').length;\n            this.index    = 0;\n\n            this.isDragging         = false;\n            this.isProgressDragging = false;\n            this.directionLocked    = null;\n            this.startX             = 0;\n            this.startY             = 0;\n            this.currentTranslate   = 0;\n            this.dragStartTranslate = 0;\n            this.dragDistance       = 0;\n\n            \/\/ Finestra scorrevole degli ultimi campioni (clientX + timestamp) per la velocit\u00e0 del flick\n            this._velocitySamples = [];\n            this._metrics = null;\n\n            this.init();\n        }\n\n        \/\/ Soglia velocit\u00e0 (px\/ms) oltre la quale il gesto \u00e8 un flick\n        static get FLICK_THRESHOLD()      { return 0.3; }\n        \/\/ Finestra temporale (ms) per il calcolo della velocit\u00e0\n        static get VELOCITY_WINDOW_MS()   { return 100; }\n        static get MAX_VELOCITY_SAMPLES() { return 10; }\n        \/\/ Oltre questi px di trascinamento il rilascio NON \u00e8 un click sul link\n        static get CLICK_TOLERANCE()      { return 6; }\n\n        \/\/ \u2500\u2500\u2500 INIT \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n        init() {\n            this.bind();\n            this.recalcMetrics();\n            this.snapToIndex(true);\n\n            let resizeTimer;\n            window.addEventListener('resize', () => {\n                clearTimeout(resizeTimer);\n                resizeTimer = setTimeout(() => {\n                    this.recalcMetrics();\n                    this.snapToIndex(true);\n                }, 100);\n            });\n            window.addEventListener('load', () => {\n                this.recalcMetrics();\n                this.snapToIndex(true);\n            });\n        }\n\n        \/\/ \u2500\u2500\u2500 METRICS CACHE \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n        recalcMetrics() {\n            const slides = this.track.querySelectorAll('.carousel-slide');\n            if (!slides.length) {\n                this._metrics = { w: 0, visible: 1, maxIndex: 0, minTranslate: 0, maxTranslate: 0 };\n                return;\n            }\n\n            const slide  = slides.length > 1 ? slides[1] : slides[0];\n            const margin = parseInt(window.getComputedStyle(slide).marginLeft) || 0;\n            const w      = slide.offsetWidth + margin;\n\n            const visible  = Math.floor(this.wrapper.offsetWidth \/ w) || 1;\n            const maxIndex = Math.max(0, this.total - visible);\n\n            this._metrics = { w, visible, maxIndex, minTranslate: -maxIndex * w, maxTranslate: 0 };\n        }\n\n        getMetrics() {\n            return this._metrics || (this.recalcMetrics(), this._metrics);\n        }\n\n        \/\/ \u2500\u2500\u2500 SNAP TO INDEX \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n        snapToIndex(instant = false) {\n            const { w, maxIndex, minTranslate } = this.getMetrics();\n\n            this.index = Math.max(0, Math.min(Math.round(this.index), maxIndex));\n\n            const target = Math.max(minTranslate, Math.min(0, -this.index * w));\n            this.currentTranslate = target;\n\n            const transition = instant ? 'none' : `transform ${this.speed}ms cubic-bezier(0.25,0.1,0.25,1)`;\n            this.track.style.transition = transition;\n            this.track.style.transform  = `translate3d(${target}px, 0, 0)`;\n\n            \/\/ La barra scorre insieme alle slide (prima saltava di colpo)\n            this.updateProgress(transition);\n            this.updateArrows();\n        }\n\n        applyTranslate(px) {\n            this.currentTranslate = px;\n            this.track.style.transform = `translate3d(${px}px, 0, 0)`;\n        }\n\n        \/\/ Posizione reale del track, anche se interrotto a met\u00e0 animazione\n        readTranslate() {\n            const tr = window.getComputedStyle(this.track).transform;\n            if (!tr || tr === 'none') return this.currentTranslate;\n            const M = window.DOMMatrix || window.WebKitCSSMatrix;\n            return M ? new M(tr).m41 : this.currentTranslate;\n        }\n\n        updateProgress(transition = 'none') {\n            const { w, visible } = this.getMetrics();\n            if (!this.progressThumb || this.total === 0) return;\n\n            const thumbRatio         = Math.min(1, visible \/ this.total);\n            const currentSlideOffset = w > 0 ? -this.currentTranslate \/ w : 0;\n            const maxOffset          = this.total - visible;\n            const posRatio           = maxOffset > 0\n                ? Math.max(0, Math.min(1, currentSlideOffset \/ maxOffset))\n                : 0;\n\n            const maxTranslatePercent = (1 - thumbRatio) * 100;\n\n            this.progressThumb.style.transition = transition;\n            this.progressThumb.style.transform =\n                `translateX(${posRatio * maxTranslatePercent}%) scaleX(${thumbRatio})`;\n        }\n\n        updateArrows() {\n            const { minTranslate } = this.getMetrics();\n            const atStart = this.currentTranslate >= 0;\n            const atEnd   = this.currentTranslate <= minTranslate;\n            this.prev.disabled = atStart;\n            this.next.disabled = atEnd;\n            this.prev.classList.toggle('disabled', atStart);\n            this.next.classList.toggle('disabled', atEnd);\n        }\n\n        \/\/ \u2500\u2500\u2500 BIND \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n        bind() {\n            this.next.addEventListener('click', () => { this.index += 1; this.snapToIndex(); });\n            this.prev.addEventListener('click', () => { this.index -= 1; this.snapToIndex(); });\n\n            \/\/ Mouse\n            this.track.addEventListener('mousedown', e => this.startDrag(e));\n            window.addEventListener('mousemove',     e => this.onDrag(e));\n            window.addEventListener('mouseup',      () => this.endDrag());\n\n            \/\/ Touch \u2014 touchmove NON passive: serve preventDefault per bloccare lo scroll verticale\n            this.track.addEventListener('touchstart', e => this.startDrag(e), { passive: true });\n            this.track.addEventListener('touchmove',  e => this.onDrag(e),    { passive: false });\n            this.track.addEventListener('touchend',  () => this.endDrag());\n\n            \/\/ Dopo un trascinamento non apre il link della slide\n            this.track.addEventListener('click', e => {\n                if (this.dragDistance > AppleCarousel.CLICK_TOLERANCE) {\n                    e.preventDefault();\n                    e.stopPropagation();\n                }\n            }, true);\n            \/\/ Evita il \"drag fantasma\" nativo di link e immagini\n            this.track.addEventListener('dragstart', e => e.preventDefault());\n\n            \/\/ Progress bar (il trascinamento gestisce anche il semplice click)\n            this.progress.addEventListener('mousedown',  e => this.startProgressDrag(e));\n            this.progress.addEventListener('touchstart', e => this.startProgressDrag(e), { passive: false });\n        }\n\n        \/\/ \u2500\u2500\u2500 DRAG SLIDE \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n        startDrag(e) {\n            this.isDragging       = true;\n            this.directionLocked  = null;\n            this.dragDistance     = 0;\n            this._velocitySamples = [];\n\n            const touch = e.type.indexOf('touch') === 0 ? e.touches[0] : e;\n            this.startX = touch.clientX;\n            this.startY = touch.clientY;\n\n            this.dragStartTranslate = this.readTranslate();\n            this.currentTranslate   = this.dragStartTranslate;\n\n            this.track.style.transition = 'none';\n            this.track.style.transform  = `translate3d(${this.currentTranslate}px, 0, 0)`;\n            this.updateProgress();\n        }\n\n        onDrag(e) {\n            if (!this.isDragging) return;\n\n            const touch  = e.type.indexOf('touch') === 0 ? e.touches[0] : e;\n            const deltaX = touch.clientX - this.startX;\n            const deltaY = touch.clientY - this.startY;\n\n            \/\/ Rilevamento direzione (soglia 4px)\n            if (!this.directionLocked) {\n                if (Math.abs(deltaX) < 4 && Math.abs(deltaY) < 4) return;\n\n                if (Math.abs(deltaX) >= Math.abs(deltaY)) {\n                    this.directionLocked = 'horizontal';\n                } else {\n                    this.directionLocked = 'vertical';\n                    this.isDragging      = false;\n                    return;\n                }\n            }\n\n            if (this.directionLocked !== 'horizontal') return;\n            if (e.cancelable) e.preventDefault();\n\n            this.dragDistance = Math.max(this.dragDistance, Math.abs(deltaX));\n\n            this._velocitySamples.push({ x: touch.clientX, t: Date.now() });\n            if (this._velocitySamples.length > AppleCarousel.MAX_VELOCITY_SAMPLES) {\n                this._velocitySamples.shift();\n            }\n\n            const { minTranslate, maxTranslate } = this.getMetrics();\n            let target = this.dragStartTranslate + deltaX;\n\n            \/\/ Resistenza elastica ai bordi\n            if (target > maxTranslate) {\n                target = maxTranslate + (target - maxTranslate) * 0.18;\n            } else if (target < minTranslate) {\n                target = minTranslate + (target - minTranslate) * 0.18;\n            }\n\n            this.applyTranslate(target);\n            this.updateProgress();\n            this.updateArrows();\n        }\n\n        endDrag() {\n            if (!this.isDragging) return;\n            this.isDragging      = false;\n            this.directionLocked = null;\n\n            const { w, maxIndex } = this.getMetrics();\n\n            const now    = Date.now();\n            const recent = this._velocitySamples.filter(p => now - p.t <= AppleCarousel.VELOCITY_WINDOW_MS);\n\n            let velocity = 0; \/\/ px\/ms\n            if (recent.length >= 2) {\n                const first = recent[0];\n                const last  = recent[recent.length - 1];\n                const dt    = last.t - first.t;\n                if (dt > 0) velocity = (last.x - first.x) \/ dt;\n            }\n\n            if (w > 0 && Math.abs(velocity) >= AppleCarousel.FLICK_THRESHOLD) {\n                this.index = velocity < 0\n                    ? Math.min(Math.floor(-this.currentTranslate \/ w) + 1, maxIndex)\n                    : Math.max(Math.ceil(-this.currentTranslate \/ w) - 1, 0);\n            } else if (w > 0) {\n                this.index = Math.max(0, Math.min(Math.round(-this.currentTranslate \/ w), maxIndex));\n            }\n\n            this.snapToIndex();\n        }\n\n        \/\/ \u2500\u2500\u2500 DRAG PROGRESS BAR \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n        startProgressDrag(e) {\n            if (e.cancelable) e.preventDefault();\n            this.isProgressDragging   = true;\n            this.track.style.transition = 'none';\n            this.onProgressDragBound  = ev => this.onProgressDrag(ev);\n            this.endProgressDragBound = ()  => this.endProgressDrag();\n\n            this.updateFromProgress(e);\n\n            window.addEventListener('mousemove', this.onProgressDragBound);\n            window.addEventListener('mouseup',   this.endProgressDragBound);\n            window.addEventListener('touchmove', this.onProgressDragBound, { passive: false });\n            window.addEventListener('touchend',  this.endProgressDragBound);\n        }\n\n        onProgressDrag(e) {\n            if (!this.isProgressDragging) return;\n            if (e.cancelable) e.preventDefault();\n            this.updateFromProgress(e);\n        }\n\n        endProgressDrag() {\n            this.isProgressDragging = false;\n            window.removeEventListener('mousemove', this.onProgressDragBound);\n            window.removeEventListener('mouseup',   this.endProgressDragBound);\n            window.removeEventListener('touchmove', this.onProgressDragBound);\n            window.removeEventListener('touchend',  this.endProgressDragBound);\n            const { w, maxIndex } = this.getMetrics();\n            if (w > 0) this.index = Math.max(0, Math.min(Math.round(-this.currentTranslate \/ w), maxIndex));\n            this.snapToIndex();\n        }\n\n        updateFromProgress(e) {\n            const rect    = this.progress.getBoundingClientRect();\n            const clientX = e.type.indexOf('touch') === 0 ? e.touches[0].clientX : e.clientX;\n            const ratio   = rect.width > 0 ? Math.max(0, Math.min(1, (clientX - rect.left) \/ rect.width)) : 0;\n\n            this.applyTranslate(ratio * this.getMetrics().minTranslate);\n            this.updateProgress();\n            this.updateArrows();\n        }\n    }\n\n    new AppleCarousel(root, 800);\n})();\n<\/script>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6f35254 e-con-full e-flex e-con e-parent\" data-id=\"6f35254\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d47aea3 elementor-widget elementor-widget-jet-engine-component-1158\" data-id=\"d47aea3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"jet-engine-component-1158.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>.elementor-1158 .elementor-element.elementor-element-67c2fdf{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:80px;--padding-bottom:40px;--padding-left:120px;--padding-right:120px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-1158 .elementor-element.elementor-element-e359f5a{text-align:center;}.elementor-1158 .elementor-element.elementor-element-e359f5a .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:#000000;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1158 .elementor-element.elementor-element-40745c4{text-align:center;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:#000000;}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );background-color:var( --e-global-color-accent );}.elementor-1158 .elementor-element.elementor-element-8206943 .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );background-color:#FFFFFF00;}.elementor-1158 .elementor-element.elementor-element-8206943{padding:10px 0px 0px 0px;}@media(max-width:1399px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-1158 .elementor-element.elementor-element-e359f5a .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1158 .elementor-element.elementor-element-40745c4{text-align:center;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-1158 .elementor-element.elementor-element-8206943 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}@media(max-width:1024px){.elementor-1158 .elementor-element.elementor-element-67c2fdf{--padding-top:120px;--padding-bottom:120px;--padding-left:80px;--padding-right:80px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-1158 .elementor-element.elementor-element-e359f5a .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1158 .elementor-element.elementor-element-40745c4{text-align:center;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-1158 .elementor-element.elementor-element-8206943 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}@media(max-width:767px){.elementor-1158 .elementor-element.elementor-element-67c2fdf{--padding-top:60px;--padding-bottom:60px;--padding-left:40px;--padding-right:40px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-1158 .elementor-element.elementor-element-e359f5a .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1158 .elementor-element.elementor-element-40745c4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-1158 .elementor-element.elementor-element-8206943 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}@media(min-width:768px){.elementor-1158 .elementor-element.elementor-element-67c2fdf{--content-width:800px;}}<\/style><style type=\"text\/css\">.jet-component-instance-1920.jet-listing-grid--1158 .elementor-element.elementor-element-67c2fdf:not(.elementor-motion-effects-element-type-background), .jet-component-instance-1920.jet-listing-grid--1158 .elementor-element.elementor-element-67c2fdf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var(--jet-component-colore_sfondo);}<\/style>\t\t<div data-elementor-type=\"jet-engine-component\" data-elementor-id=\"1158\" class=\"elementor elementor-1158 jet-listing-grid--1158 jet-component-instance-1920\" data-elementor-post-type=\"jet-engine\" style=\"\">\n\t\t\t\t<div class=\"elementor-element elementor-element-67c2fdf e-flex e-con-boxed e-con e-parent\" data-id=\"67c2fdf\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e359f5a tag-h3 elementor-widget elementor-widget-heading\" data-id=\"e359f5a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">L\u2019evoluzione della lana:<br \/> nuove prospettive per l\u2019Autunno\/Inverno 2027\/28.<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-40745c4 elementor-widget elementor-widget-text-editor\" data-id=\"40745c4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Materia, colore e ricerca ridefiniscono il ruolo della lana nel guardaroba contemporaneo. La collezione Autunno\/Inverno 2027\/28 presenta una visione che supera i confini tra formalwear e leisure, mettendo al centro qualit\u00e0, funzionalit\u00e0 e durata.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4c5caeb elementor-widget elementor-widget-carousel_one\" data-id=\"4c5caeb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"carousel_one.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<div class=\"carousel-container carousel-one\">\n    <div class=\"carousel-wrapper\">\n        <div class=\"carousel-track\" data-carousel-track><\/div>\n    <\/div>\n\n    <div class=\"carousel-controls\">\n        <button class=\"carousel-arrow prev\" data-carousel-prev aria-label=\"Prev\">\n            <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\">\n                <path d=\"M16.6667 13.333L10 19.9997M10 19.9997L16.6667 26.6663M10 19.9997H30\" stroke=\"white\"\/>\n            <\/svg>\n        <\/button>\n        <div class=\"carousel-progress-bar\" data-carousel-progress-bar><\/div>\n        <button class=\"carousel-arrow next\" data-carousel-next aria-label=\"Next\">\n            <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\">\n                <path d=\"M23.3333 13.333L30 19.9997M30 19.9997L23.3333 26.6663M30 19.9997H10\" stroke=\"white\"\/>\n            <\/svg>\n        <\/button>\n    <\/div>\n\n    <div class=\"carousel-indicators\" data-carousel-indicators><\/div>\n<\/div>\n\n<style>\n.carousel-one .carousel-wrapper {\n    overflow: hidden;\n}\n\n.carousel-one .carousel-track {\n    display: flex;\n}\n\n.carousel-one .carousel-slide {\n    flex: 0 0 100%;\n    width: 100%;\n    margin-left: 0 !important;\n}\n\n.carousel-one .carousel-arrow.disabled {\n    opacity: 0.3;\n    pointer-events: none;\n}\n<\/style>\n\n<script>\n(function() {\n    const data_one = [{\"slide_title_one\":\"\",\"slide_description_one\":\"\",\"_id\":\"693a703\",\"slide_image_one\":{\"url\":\"https:\\\/\\\/www.reda1865.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Carosello-FW27-28_1.jpg\",\"id\":5536,\"size\":\"\",\"alt\":\"Uomo e donna in lunghi cappotti di lana blu sono dietro un corrimano in ottone in un atrio d\\u00e9co di marmo verde\",\"source\":\"library\"},\"slide_link_one\":{\"url\":\"\",\"is_external\":\"\",\"nofollow\":\"\",\"custom_attributes\":\"\"},\"slide_image_mobile_one\":{\"url\":\"\",\"id\":\"\",\"size\":\"\"}},{\"slide_title_one\":\"\",\"slide_description_one\":\"\",\"slide_image_one\":{\"url\":\"https:\\\/\\\/www.reda1865.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Carosello-FW27-28_2.jpg\",\"id\":5537,\"size\":\"\",\"alt\":\"Uomo in abito di lana blu navy con camicia e cravatta azzurre, di profilo vicino a una parete verde e a un corrimano d'ottone.\",\"source\":\"library\"},\"slide_link_one\":{\"url\":\"\",\"is_external\":\"\",\"nofollow\":\"\",\"custom_attributes\":\"\"},\"_id\":\"5d64eaf\",\"slide_image_mobile_one\":{\"url\":\"\",\"id\":\"\",\"size\":\"\"}},{\"slide_title_one\":\"\",\"slide_description_one\":\"\",\"slide_image_one\":{\"url\":\"https:\\\/\\\/www.reda1865.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Carosello-FW27-28_3.jpg\",\"id\":5538,\"size\":\"\",\"alt\":\"Donna in completo grigio di lana scende una scala curva con ringhiera verde, accanto a una statua di marmo su una sfera\",\"source\":\"library\"},\"slide_link_one\":{\"url\":\"\",\"is_external\":\"\",\"nofollow\":\"\",\"custom_attributes\":\"\"},\"_id\":\"b5c6db7\",\"slide_image_mobile_one\":{\"url\":\"\",\"id\":\"\",\"size\":\"\"}},{\"slide_title_one\":\"\",\"slide_description_one\":\"\",\"slide_image_one\":{\"url\":\"https:\\\/\\\/www.reda1865.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Carosello-FW27-28_4.jpg\",\"id\":5539,\"size\":\"\",\"alt\":\"Uomo in completo doppiopetto marrone e occhiali da sole seduto su una bici nera con un giornale, davanti a un cancello verde\",\"source\":\"library\"},\"slide_link_one\":{\"url\":\"\",\"is_external\":\"\",\"nofollow\":\"\",\"custom_attributes\":\"\"},\"_id\":\"c14a9ac\",\"slide_image_mobile_one\":{\"url\":\"\",\"id\":\"\",\"size\":\"\"}},{\"slide_title_one\":\"\",\"slide_description_one\":\"\",\"slide_image_one\":{\"url\":\"https:\\\/\\\/www.reda1865.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Carosello-FW27-28_5.jpg\",\"id\":5540,\"size\":\"\",\"alt\":\"Persona con occhiali da sole piccoli, blazer blu e dolcevita bianco appoggiata a un corrimano in ottone\",\"source\":\"library\"},\"slide_link_one\":{\"url\":\"\",\"is_external\":\"\",\"nofollow\":\"\",\"custom_attributes\":\"\"},\"_id\":\"67f5eb4\",\"slide_image_mobile_one\":{\"url\":\"\",\"id\":\"\",\"size\":\"\"}}].map(slide_one => ({\n        image: slide_one.slide_image_one.url,\n        alt: (slide_one.slide_image_one && slide_one.slide_image_one.alt) || '',\n        imageMobile: (slide_one.slide_image_mobile_one && slide_one.slide_image_mobile_one.url) || '',\n        title: slide_one.slide_title_one,\n        description: slide_one.slide_description_one,\n        link: (slide_one.slide_link_one && slide_one.slide_link_one.url) || ''\n    }));\n\n    class AppleCarouselOne {\n        constructor(data_one, speed = 600) {\n            this.data_one = data_one;\n            this.total    = data_one.length;\n            this.index    = 0;\n            this.speed    = speed;\n\n            this.track    = document.querySelector('.carousel-one [data-carousel-track]');\n            this.wrapper  = this.track.parentElement;\n            this.prev     = document.querySelector('.carousel-one [data-carousel-prev]');\n            this.next     = document.querySelector('.carousel-one [data-carousel-next]');\n            this.progress = document.querySelector('.carousel-one [data-carousel-progress-bar]');\n\n            this.isDragging         = false;\n            this.isProgressDragging = false;\n            this.directionLocked    = null;\n\n            this.startX           = 0;\n            this.startY           = 0;\n            this.currentTranslate = 0;\n            this.dragStartTranslate = 0;\n\n            \/\/ \u2500\u2500 Velocity tracking \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n            this._velocitySamples = [];\n\n            this.init();\n        }\n\n        \/\/ Soglia flick (px\/ms): oltre questa velocit\u00e0 al rilascio si avanza di una slide\n        static get FLICK_THRESHOLD()      { return 0.3; }\n        static get VELOCITY_WINDOW_MS()   { return 100; }\n        static get MAX_VELOCITY_SAMPLES() { return 10;  }\n\n        \/\/ \u2500\u2500\u2500 UTILITY \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n        escapeAttr(str) {\n            return String(str || '')\n                .replace(\/&\/g, '&amp;')\n                .replace(\/\"\/g, '&quot;')\n                .replace(\/<\/g, '&lt;')\n                .replace(\/>\/g, '&gt;');\n        }\n\n        \/\/ \u2500\u2500\u2500 INIT \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n        init() {\n            this.render();\n            this.bind();\n            this.snapToIndex(true);\n            window.addEventListener('resize', () => this.snapToIndex(true));\n        }\n\n        render() {\n            this.track.innerHTML = '';\n\n            this.data_one.forEach(item => {\n                const slide = document.createElement('div');\n                slide.className = 'carousel-one carousel-slide';\n\n                const linkHtml = item.link\n                    ? `<a href=\"${item.link}\" class=\"carousel-slide-link\"><\/a>`\n                    : '';\n\n                const titleHtml = item.title && item.title.trim()\n                    ? `<h3>${item.title}<\/h3>`\n                    : '';\n\n                const descriptionHtml = item.description && item.description.trim()\n                    ? `<p>${item.description}<\/p>`\n                    : '';\n\n                const altAttr = this.escapeAttr(item.alt);\n\n                slide.innerHTML = `\n                    ${linkHtml}\n                    <picture class=\"carousel-slide-picture\">\n                        ${item.imageMobile ? `<source media=\"(max-width: 767px)\" srcset=\"${item.imageMobile}\">` : ''}\n                        <img decoding=\"async\" src=\"${item.image}\" alt=\"${altAttr}\" draggable=\"false\">\n                    <\/picture>\n                    <div class=\"carousel-slide-overlay\">\n                        ${titleHtml}\n                        ${descriptionHtml}\n                    <\/div>\n                `;\n\n                this.track.appendChild(slide);\n            });\n\n            this.progress.innerHTML = '';\n            this.progressFill = document.createElement('div');\n            this.progressFill.className = 'carousel-progress-fill';\n            this.progress.appendChild(this.progressFill);\n        }\n\n        getSlideWidth() {\n            return this.wrapper.offsetWidth;\n        }\n\n        \/\/ \u2500\u2500\u2500 SNAP TO INDEX (azioni discrete: frecce, endDrag, resize) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n        snapToIndex(instant = false) {\n            const maxIndex = this.total - 1;\n            this.index = Math.max(0, Math.min(Math.round(this.index), maxIndex));\n\n            const target = -(this.index * this.getSlideWidth());\n            this.currentTranslate = target;\n\n            this.track.style.transition = instant\n                ? 'none'\n                : `transform ${this.speed}ms cubic-bezier(0.25,0.1,0.25,1)`;\n\n            this.track.style.transform = `translate3d(${target}px, 0, 0)`;\n\n            this.updateProgress();\n            this.updateArrows();\n        }\n\n        \/\/ Applica un translate grezzo senza animazione (usato durante il drag)\n        applyTranslate(px) {\n            this.currentTranslate = px;\n            this.track.style.transform = `translate3d(${px}px, 0, 0)`;\n        }\n\n        updateProgress() {\n            if (!this.progressFill || this.total === 0) return;\n\n            \/\/ Carousel One: 1 slide visibile \u2192 il fill occupa 1\/total della barra\n            const thumbRatio = 1 \/ this.total;\n\n            \/\/ Posizione ricavata dal translate pixel (non dall'indice intero)\n            \/\/ cos\u00ec la barra scorre fluidamente anche durante il drag\n            const w        = this.getSlideWidth();\n            const current  = w > 0 ? -this.currentTranslate \/ w : 0;\n            const maxIndex = this.total - 1;\n            const posRatio = maxIndex > 0\n                ? Math.max(0, Math.min(1, current \/ maxIndex))\n                : 0;\n\n            \/\/ Stesso calcolo GPU del Carousel Circolare: nessun layout-thrashing\n            const maxTranslatePercent = (1 - thumbRatio) * 100;\n            this.progressFill.style.transform =\n                `translateX(${posRatio * maxTranslatePercent}%) scaleX(${thumbRatio})`;\n        }\n\n        updateArrows() {\n            const maxIndex = this.total - 1;\n            const atStart  = this.currentTranslate >= 0;\n            const atEnd    = this.currentTranslate <= -(maxIndex * this.getSlideWidth());\n            this.prev.disabled = atStart;\n            this.next.disabled = atEnd;\n            this.prev.classList.toggle('disabled', atStart);\n            this.next.classList.toggle('disabled', atEnd);\n        }\n\n        \/\/ \u2500\u2500\u2500 BIND \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n        bind() {\n            this.next.addEventListener('click', () => { this.index += 1; this.snapToIndex(); });\n            this.prev.addEventListener('click', () => { this.index -= 1; this.snapToIndex(); });\n\n            \/\/ Mouse\n            this.track.addEventListener('mousedown',  e => this.startDrag(e));\n            window.addEventListener('mousemove',      e => this.onDrag(e));\n            window.addEventListener('mouseup',            () => this.endDrag());\n\n            \/\/ Touch \u2014 touchmove non-passive per poter bloccare lo scroll verticale\n            this.track.addEventListener('touchstart', e => this.startDrag(e), { passive: true });\n            this.track.addEventListener('touchmove',  e => this.onDrag(e),    { passive: false });\n            this.track.addEventListener('touchend',       () => this.endDrag());\n\n            \/\/ Progress bar\n            this.progress.addEventListener('mousedown',  e => this.startProgressDrag(e));\n            this.progress.addEventListener('touchstart', e => this.startProgressDrag(e), { passive: false });\n            this.progress.addEventListener('click', e => {\n                if (this.isProgressDragging) return;\n                this.jumpToProgress(e);\n            });\n        }\n\n        \/\/ \u2500\u2500\u2500 DRAG SLIDE \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n        startDrag(e) {\n            this.isDragging      = true;\n            this.directionLocked = null;\n            this._velocitySamples = [];\n\n            const touch = e.type.includes('touch') ? e.touches[0] : e;\n            this.startX = touch.clientX;\n            this.startY = touch.clientY;\n\n            \/\/ Legge il translate reale dalla matrice GPU: se l'animazione precedente\n            \/\/ \u00e8 stata interrotta a met\u00e0, il punto di partenza \u00e8 sempre corretto.\n            const matrix = new WebKitCSSMatrix(this.track.style.transform);\n            this.dragStartTranslate = matrix.m41 || this.currentTranslate;\n            this.currentTranslate   = this.dragStartTranslate;\n\n            this.track.style.transition = 'none';\n        }\n\n        onDrag(e) {\n            if (!this.isDragging) return;\n\n            const touch  = e.type.includes('touch') ? e.touches[0] : e;\n            const deltaX = touch.clientX - this.startX;\n            const deltaY = touch.clientY - this.startY;\n\n            \/\/ \u2500\u2500 Rilevamento direzione \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n            if (!this.directionLocked) {\n                if (Math.abs(deltaX) < 4 && Math.abs(deltaY) < 4) return;\n\n                if (Math.abs(deltaX) >= Math.abs(deltaY)) {\n                    this.directionLocked = 'horizontal';\n                } else {\n                    this.directionLocked = 'vertical';\n                    this.isDragging      = false;\n                    return;\n                }\n            }\n\n            if (this.directionLocked !== 'horizontal') return;\n            if (e.cancelable) e.preventDefault();\n\n            \/\/ \u2500\u2500 Campionamento velocit\u00e0 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n            const now = Date.now();\n            this._velocitySamples.push({ x: touch.clientX, t: now });\n            if (this._velocitySamples.length > AppleCarouselOne.MAX_VELOCITY_SAMPLES) {\n                this._velocitySamples.shift();\n            }\n\n            \/\/ \u2500\u2500 Applica translate DIRETTAMENTE (zero latenza) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n            const w        = this.getSlideWidth();\n            const maxIndex = this.total - 1;\n            const minT     = -(maxIndex * w);\n            const maxT     = 0;\n\n            let target = this.dragStartTranslate + deltaX;\n\n            \/\/ Resistenza elastica ai bordi\n            if (target > maxT) {\n                target = maxT + (target - maxT) * 0.18;\n            } else if (target < minT) {\n                target = minT + (target - minT) * 0.18;\n            }\n\n            this.applyTranslate(target);\n            this.updateProgress();\n            this.updateArrows();\n        }\n\n        endDrag() {\n            if (!this.isDragging) return;\n            this.isDragging      = false;\n            this.directionLocked = null;\n\n            const w        = this.getSlideWidth();\n            const maxIndex = this.total - 1;\n\n            \/\/ \u2500\u2500 Calcolo velocit\u00e0 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n            const now    = Date.now();\n            const recent = this._velocitySamples.filter(\n                p => now - p.t <= AppleCarouselOne.VELOCITY_WINDOW_MS\n            );\n\n            let velocity = 0;\n            if (recent.length >= 2) {\n                const first = recent[0];\n                const last  = recent[recent.length - 1];\n                const dt    = last.t - first.t;\n                if (dt > 0) velocity = (last.x - first.x) \/ dt; \/\/ px\/ms\n            }\n\n            \/\/ \u2500\u2500 Flick o snap \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n            if (Math.abs(velocity) >= AppleCarouselOne.FLICK_THRESHOLD) {\n                if (velocity < 0) {\n                    \/\/ Swipe sinistra \u2192 slide successiva\n                    this.index = Math.min(Math.floor(-this.currentTranslate \/ w) + 1, maxIndex);\n                } else {\n                    \/\/ Swipe destra \u2192 slide precedente\n                    this.index = Math.max(Math.ceil(-this.currentTranslate \/ w) - 1, 0);\n                }\n            } else {\n                \/\/ Snap alla slide pi\u00f9 vicina per posizione\n                this.index = Math.max(0, Math.min(Math.round(-this.currentTranslate \/ w), maxIndex));\n            }\n\n            this.snapToIndex();\n        }\n\n        \/\/ \u2500\u2500\u2500 DRAG PROGRESS BAR \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n        startProgressDrag(e) {\n            this.isProgressDragging = true;\n            this.updateFromProgress(e);\n\n            this.onProgressDragBound  = e => this.onProgressDrag(e);\n            this.endProgressDragBound = ()  => this.endProgressDrag();\n\n            window.addEventListener('mousemove', this.onProgressDragBound);\n            window.addEventListener('mouseup',   this.endProgressDragBound);\n            window.addEventListener('touchmove', this.onProgressDragBound, { passive: false });\n            window.addEventListener('touchend',  this.endProgressDragBound);\n        }\n\n        onProgressDrag(e) {\n            if (!this.isProgressDragging) return;\n            e.preventDefault();\n            this.updateFromProgress(e);\n        }\n\n        endProgressDrag() {\n            this.isProgressDragging = false;\n            window.removeEventListener('mousemove', this.onProgressDragBound);\n            window.removeEventListener('mouseup',   this.endProgressDragBound);\n            window.removeEventListener('touchmove', this.onProgressDragBound);\n            window.removeEventListener('touchend',  this.endProgressDragBound);\n\n            const w        = this.getSlideWidth();\n            const maxIndex = this.total - 1;\n            this.index = Math.max(0, Math.min(Math.round(-this.currentTranslate \/ w), maxIndex));\n            this.snapToIndex();\n        }\n\n        updateFromProgress(e) {\n            const rect    = this.progress.getBoundingClientRect();\n            const clientX = e.type.includes('touch') ? e.touches[0].clientX : e.clientX;\n            let ratio     = (clientX - rect.left) \/ rect.width;\n            ratio = Math.max(0, Math.min(1, ratio));\n\n            const w        = this.getSlideWidth();\n            const maxIndex = this.total - 1;\n            const target   = -(ratio * maxIndex * w);\n\n            this.applyTranslate(target);\n            this.updateProgress();\n            this.updateArrows();\n        }\n\n        jumpToProgress(e) {\n            const rect  = this.progress.getBoundingClientRect();\n            let ratio   = (e.clientX - rect.left) \/ rect.width;\n            ratio = Math.max(0, Math.min(1, ratio));\n\n            this.index = Math.round(ratio * (this.total - 1));\n            this.snapToIndex();\n        }\n    }\n\n    new AppleCarouselOne(data_one, 600);\n})();\n<\/script>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dad4ffa elementor-align-center elementor-widget elementor-widget-button\" data-id=\"dad4ffa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/www.reda1865.com\/it\/l-evoluzione-della-lana-nuove-prospettive-per-la-fw27-28\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Scopri di pi\u00f9<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Cosmopolitan. La versatilit\u00e0 della sartorialit\u00e0 contemporanea. La lana Merino da Super 110\u2019s a Super 130\u2019s unisce leggerezza e una mano raffinata. Costruzioni versatili danno vita a tessuti ricercati, capaci di accompagnare con naturalezza la sartorialit\u00e0 quotidiana e le occasioni formali. Maior.Il pregio di fibre eccezionali. Lane finissime da Super 150\u2019s in su e preziose mischie [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-8618","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Formalwear: l&#039;arte della sartorialit\u00e0 contemporanea | Reda 1865<\/title>\n<meta name=\"description\" content=\"L&#039;espressione pi\u00f9 autentica del patrimonio Reda, dove la pi\u00f9 fine lana Merino e altre materie prime d&#039;eccellenza prendono forma attraverso generazioni di sapere tessile.\" \/>\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.reda1865.com\/it\/formalwear\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Formalwear: l&#039;arte della sartorialit\u00e0 contemporanea | Reda 1865\" \/>\n<meta property=\"og:description\" content=\"L&#039;espressione pi\u00f9 autentica del patrimonio Reda, dove la pi\u00f9 fine lana Merino e altre materie prime d&#039;eccellenza prendono forma attraverso generazioni di sapere tessile.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.reda1865.com\/it\/formalwear\/\" \/>\n<meta property=\"og:site_name\" content=\"Reda 1865\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Reda.since.1865\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-08T08:11:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Formalwear_02-web.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/formalwear\\\/\",\"url\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/formalwear\\\/\",\"name\":\"Formalwear: l'arte della sartorialit\u00e0 contemporanea | Reda 1865\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/formalwear\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/formalwear\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.reda1865.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/Formalwear_02-web.jpg\",\"datePublished\":\"2026-08-04T09:25:59+00:00\",\"dateModified\":\"2026-10-08T08:11:46+00:00\",\"description\":\"L'espressione pi\u00f9 autentica del patrimonio Reda, dove la pi\u00f9 fine lana Merino e altre materie prime d'eccellenza prendono forma attraverso generazioni di sapere tessile.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/formalwear\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.reda1865.com\\\/it\\\/formalwear\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/formalwear\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.reda1865.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/Formalwear_02-web.jpg\",\"contentUrl\":\"https:\\\/\\\/www.reda1865.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/Formalwear_02-web.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/formalwear\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Formalwear\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/\",\"name\":\"Reda 1865\",\"description\":\"The art of creating textiles, the experience of more than 150 years of history.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/#organization\"},\"alternateName\":\"Reda 1865\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/#organization\",\"name\":\"Reda 1865\",\"url\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.reda1865.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/Logo_Corporate-Black-Reda.svg\",\"contentUrl\":\"https:\\\/\\\/www.reda1865.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/Logo_Corporate-Black-Reda.svg\",\"width\":117,\"height\":60,\"caption\":\"Reda 1865\"},\"image\":{\"@id\":\"https:\\\/\\\/www.reda1865.com\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Reda.since.1865\\\/\",\"https:\\\/\\\/www.instagram.com\\\/reda1865\\\/?hl=it\",\"https:\\\/\\\/it.linkedin.com\\\/company\\\/successori-reda\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCuOy8ptPdTh86QzHNt2x4Hw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Formalwear: l'arte della sartorialit\u00e0 contemporanea | Reda 1865","description":"L'espressione pi\u00f9 autentica del patrimonio Reda, dove la pi\u00f9 fine lana Merino e altre materie prime d'eccellenza prendono forma attraverso generazioni di sapere tessile.","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.reda1865.com\/it\/formalwear\/","og_locale":"it_IT","og_type":"article","og_title":"Formalwear: l'arte della sartorialit\u00e0 contemporanea | Reda 1865","og_description":"L'espressione pi\u00f9 autentica del patrimonio Reda, dove la pi\u00f9 fine lana Merino e altre materie prime d'eccellenza prendono forma attraverso generazioni di sapere tessile.","og_url":"https:\/\/www.reda1865.com\/it\/formalwear\/","og_site_name":"Reda 1865","article_publisher":"https:\/\/www.facebook.com\/Reda.since.1865\/","article_modified_time":"2026-10-08T08:11:46+00:00","og_image":[{"width":300,"height":300,"url":"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Formalwear_02-web.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Tempo di lettura stimato":"6 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.reda1865.com\/it\/formalwear\/","url":"https:\/\/www.reda1865.com\/it\/formalwear\/","name":"Formalwear: l'arte della sartorialit\u00e0 contemporanea | Reda 1865","isPartOf":{"@id":"https:\/\/www.reda1865.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.reda1865.com\/it\/formalwear\/#primaryimage"},"image":{"@id":"https:\/\/www.reda1865.com\/it\/formalwear\/#primaryimage"},"thumbnailUrl":"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Formalwear_02-web.jpg","datePublished":"2026-08-04T09:25:59+00:00","dateModified":"2026-10-08T08:11:46+00:00","description":"L'espressione pi\u00f9 autentica del patrimonio Reda, dove la pi\u00f9 fine lana Merino e altre materie prime d'eccellenza prendono forma attraverso generazioni di sapere tessile.","breadcrumb":{"@id":"https:\/\/www.reda1865.com\/it\/formalwear\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.reda1865.com\/it\/formalwear\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.reda1865.com\/it\/formalwear\/#primaryimage","url":"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Formalwear_02-web.jpg","contentUrl":"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/08\/Formalwear_02-web.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.reda1865.com\/it\/formalwear\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.reda1865.com\/it\/"},{"@type":"ListItem","position":2,"name":"Formalwear"}]},{"@type":"WebSite","@id":"https:\/\/www.reda1865.com\/it\/#website","url":"https:\/\/www.reda1865.com\/it\/","name":"Reda 1865","description":"The art of creating textiles, the experience of more than 150 years of history.","publisher":{"@id":"https:\/\/www.reda1865.com\/it\/#organization"},"alternateName":"Reda 1865","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.reda1865.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.reda1865.com\/it\/#organization","name":"Reda 1865","url":"https:\/\/www.reda1865.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.reda1865.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/02\/Logo_Corporate-Black-Reda.svg","contentUrl":"https:\/\/www.reda1865.com\/wp-content\/uploads\/2026\/02\/Logo_Corporate-Black-Reda.svg","width":117,"height":60,"caption":"Reda 1865"},"image":{"@id":"https:\/\/www.reda1865.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Reda.since.1865\/","https:\/\/www.instagram.com\/reda1865\/?hl=it","https:\/\/it.linkedin.com\/company\/successori-reda","https:\/\/www.youtube.com\/channel\/UCuOy8ptPdTh86QzHNt2x4Hw"]}]}},"_links":{"self":[{"href":"https:\/\/www.reda1865.com\/it\/wp-json\/wp\/v2\/pages\/8618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.reda1865.com\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.reda1865.com\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.reda1865.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.reda1865.com\/it\/wp-json\/wp\/v2\/comments?post=8618"}],"version-history":[{"count":5,"href":"https:\/\/www.reda1865.com\/it\/wp-json\/wp\/v2\/pages\/8618\/revisions"}],"predecessor-version":[{"id":10642,"href":"https:\/\/www.reda1865.com\/it\/wp-json\/wp\/v2\/pages\/8618\/revisions\/10642"}],"wp:attachment":[{"href":"https:\/\/www.reda1865.com\/it\/wp-json\/wp\/v2\/media?parent=8618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}