{"id":3212,"date":"2025-07-28T08:24:12","date_gmt":"2025-07-28T08:24:12","guid":{"rendered":"https:\/\/italy.winconsulting.gr\/?page_id=3212"},"modified":"2025-10-07T11:02:36","modified_gmt":"2025-10-07T11:02:36","slug":"italian-participants","status":"publish","type":"page","link":"https:\/\/italy.winconsulting.gr\/it\/italian-participants\/","title":{"rendered":"Partecipanti italiani"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"3212\" class=\"elementor elementor-3212\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ce9e401 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ce9e401\" data-element_type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;shape_divider_bottom&quot;:&quot;waves&quot;,&quot;shape_divider_bottom_negative&quot;:&quot;yes&quot;,&quot;background_background&quot;:&quot;classic&quot;,&quot;grandconference_ext_is_background_parallax&quot;:&quot;false&quot;,&quot;grandconference_ext_is_background_on_scroll&quot;:&quot;false&quot;,&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"elementor-shape elementor-shape-bottom\" aria-hidden=\"true\" data-negative=\"true\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 1000 100\" preserveaspectratio=\"none\">\n\t<path class=\"elementor-shape-fill\" d=\"M790.5,93.1c-59.3-5.3-116.8-18-192.6-50c-29.6-12.7-76.9-31-100.5-35.9c-23.6-4.9-52.6-7.8-75.5-5.3\tc-10.2,1.1-22.6,1.4-50.1,7.4c-27.2,6.3-58.2,16.6-79.4,24.7c-41.3,15.9-94.9,21.9-134,22.6C72,58.2,0,25.8,0,25.8V100h1000V65.3\tc0,0-51.5,19.4-106.2,25.7C839.5,97,814.1,95.2,790.5,93.1z\"\/>\n<\/svg>\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-169c7a5\" data-id=\"169c7a5\" data-element_type=\"column\" data-settings=\"{&quot;grandconference_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandconference_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandconference_ext_is_sticky&quot;:&quot;false&quot;,&quot;grandconference_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandconference_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandconference_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandconference_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandconference_ext_is_fadeout_animation&quot;:&quot;false&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-37040f6 elementor-widget elementor-widget-heading\" data-id=\"37040f6\" data-element_type=\"widget\" data-settings=\"{&quot;grandconference_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandconference_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandconference_ext_is_sticky&quot;:&quot;false&quot;,&quot;grandconference_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandconference_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandconference_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandconference_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandconference_ext_is_fadeout_animation&quot;:&quot;false&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Partecipante<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4675ef0 elementor-widget elementor-widget-heading\" data-id=\"4675ef0\" data-element_type=\"widget\" data-settings=\"{&quot;grandconference_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandconference_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandconference_ext_is_sticky&quot;:&quot;false&quot;,&quot;grandconference_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandconference_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandconference_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandconference_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandconference_ext_is_fadeout_animation&quot;:&quot;false&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Italiano<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bcbbe0c elementor-widget elementor-widget-heading\" data-id=\"bcbbe0c\" data-element_type=\"widget\" data-settings=\"{&quot;grandconference_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandconference_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandconference_ext_is_sticky&quot;:&quot;false&quot;,&quot;grandconference_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandconference_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandconference_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandconference_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandconference_ext_is_fadeout_animation&quot;:&quot;false&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Acquirenti<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-40a59e5 elementor-section-full_width elementor-section-stretched elementor-section-height-default elementor-section-height-default\" data-id=\"40a59e5\" data-element_type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;,&quot;grandconference_ext_is_background_parallax&quot;:&quot;false&quot;,&quot;grandconference_ext_is_background_on_scroll&quot;:&quot;false&quot;,&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9da4070\" data-id=\"9da4070\" data-element_type=\"column\" data-settings=\"{&quot;grandconference_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandconference_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandconference_ext_is_sticky&quot;:&quot;false&quot;,&quot;grandconference_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandconference_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandconference_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandconference_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandconference_ext_is_fadeout_animation&quot;:&quot;false&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8f15784 elementor-widget elementor-widget-html\" data-id=\"8f15784\" data-element_type=\"widget\" data-settings=\"{&quot;grandconference_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandconference_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandconference_ext_is_sticky&quot;:&quot;false&quot;,&quot;grandconference_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandconference_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandconference_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandconference_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandconference_ext_is_fadeout_animation&quot;:&quot;false&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\" \/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" \/>\n<title>Company Profiles \u2013 Italian Companies<\/title>\n<style>\n  :root{\n    --bg:#fafafa;           \/* light gray background *\/\n    --card:#ffffff;         \/* pure white card *\/\n    --muted:#6b7280;        \/* gray-500 *\/\n    --text:#1f2937;         \/* gray-800 *\/\n    --brand:#3b82f6;        \/* blue-500 *\/\n    --brand-2:#22c55e;      \/* green-500 *\/\n    --chip:#f3f4f6;         \/* gray-100 *\/\n    --chip-text:#374151;    \/* gray-700 *\/\n    --badge:#f9fafb;        \/* gray-50 *\/\n    --shadow: 0 4px 12px rgba(0,0,0,.1);\n    --shadow-hover: 0 8px 25px rgba(0,0,0,.15);\n    --radius: 18px;\n  }\n  \/* Scoped to Italian carousel widget only *\/\n  .wrap-italian{font:16px\/1.5 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;color:var(--text)}\n  body{overflow-x:hidden}\n  .wrap-italian{max-width:1200px;margin:auto;padding:28px;min-height:400px;position:relative;overflow:hidden} \/* Prevent horizontal overflow *\/\n  \n  \/* Configuration (hidden from view) *\/\n  .config-italian {\n    display: none;\n  }\n  \n  \/* Container *\/\n  .container-italian {\n    position: relative;\n    margin: 0 80px; \/* Much more space for navigation arrows *\/\n    overflow: hidden; \/* Hide overflow but allow arrows to show *\/\n  }\n  \n  \/* Position arrows outside the overflow-hidden container *\/\n  .wrap-italian {\n    position: relative; \/* Make sure wrapper can contain absolutely positioned arrows *\/\n  }\n  \n  .wrap-italian .carousel-nav-italian {\n    position: absolute;\n    top: 50%;\n    transform: translateY(-50%);\n  }\n  \n  \/* Grid mode *\/\n  .container-italian.grid-mode .company-grid-italian {\n    display: grid;\n    gap: 18px;\n    transition: all 0.3s ease;\n  }\n  \n  \/* Carousel mode *\/\n  .container-italian.carousel-mode {\n    position: relative;\n    overflow: hidden; \/* Contain carousel overflow *\/\n  }\n  \n  .container-italian.carousel-mode .company-grid-italian {\n    display: flex;\n    gap: 18px;\n    transition: transform 0.3s ease;\n    width: max-content; \/* Let it expand to fit all cards *\/\n  }\n  \n  .container-italian.carousel-mode .card-italian {\n    flex: none;\n    width: 280px;\n  }\n  \n  \/* Carousel navigation - hidden by default, only show in carousel mode *\/\n  .carousel-nav-italian {\n    position: absolute;\n    top: 50%;\n    transform: translateY(-50%);\n    width: 50px;\n    height: 50px;\n    background: rgba(255, 255, 255, 0.95);\n    border: 1px solid rgba(229, 231, 235, 0.8);\n    border-radius: 50%;\n    display: none; \/* Hidden by default *\/\n    align-items: center;\n    justify-content: center;\n    cursor: pointer;\n    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n    z-index: 9999;\n    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n    color: var(--muted);\n    backdrop-filter: blur(8px);\n  }\n  \n  \/* Only show arrows in carousel mode *\/\n  .container-italian.carousel-mode .carousel-nav-italian {\n    display: flex;\n  }\n  \n  .carousel-nav-italian:hover {\n    background: var(--brand);\n    border-color: var(--brand);\n    color: white;\n    transform: translateY(-50%) scale(1.05);\n    box-shadow: 0 8px 25px rgba(59, 130, 246, 0.3);\n  }\n  \n  .carousel-nav-italian.prev {\n    left: 20px; \/* Position within wrapper bounds *\/\n  }\n  \n  .carousel-nav-italian.next {\n    right: 20px; \/* Position within wrapper bounds *\/\n  }\n  \n  .carousel-nav-italian svg {\n    width: 20px;\n    height: 20px;\n  }\n  \/* Grid *\/\n  .company-grid-italian{display:grid;gap:18px}\n  .card-italian{\n    background: var(--card);\n    border: 1px solid rgba(229,231,235,0.6);\n    border-radius: var(--radius);\n    box-shadow: var(--shadow);\n    position: relative;\n    overflow: hidden;\n    cursor: pointer;\n    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n    min-height: 300px;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    align-items: center;\n    text-align: center;\n  }\n  .card-italian:hover {\n    box-shadow: 0 20px 40px rgba(0,0,0,0.12);\n    transform: translateY(-8px);\n    border-color: rgba(59,130,246,0.2);\n  }\n  \n  \/* Company image styling *\/\n  .company-image-italian {\n    max-width: 80%;\n    max-height: 60%;\n    width: auto;\n    height: auto;\n    object-fit: contain;\n    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n  }\n  .card-italian:hover .company-image-italian {\n    transform: scale(0.8) translateY(-20px);\n    opacity: 0.3;\n  }\n  \n  \/* Add padding to specific Italian company logos that need it *\/\n  .card-italian[data-company-id=\"i7\"] .company-image-italian,   \/* MILOS *\/\n  .card-italian[data-company-id=\"i8\"] .company-image-italian {  \/* HOLYCON *\/\n    padding: 20px;\n    max-width: calc(80% - 40px); \/* Adjust for the padding *\/\n    max-height: calc(60% - 40px); \/* Adjust for the padding *\/\n  }\n  \n  \/* Responsive padding for smaller screens - Italian companies *\/\n  @media (max-width: 768px) {\n    .card-italian[data-company-id=\"i7\"] .company-image-italian,   \/* MILOS *\/\n    .card-italian[data-company-id=\"i8\"] .company-image-italian {  \/* HOLYCON *\/\n      padding: 15px;\n      max-width: calc(80% - 30px); \/* Adjust for smaller padding *\/\n      max-height: calc(60% - 30px); \/* Adjust for smaller padding *\/\n    }\n  }\n  \n  @media (max-width: 480px) {\n    .card-italian[data-company-id=\"i7\"] .company-image-italian,   \/* MILOS *\/\n    .card-italian[data-company-id=\"i8\"] .company-image-italian {  \/* HOLYCON *\/\n      padding: 10px;\n      max-width: calc(80% - 20px); \/* Adjust for smallest padding *\/\n      max-height: calc(60% - 20px); \/* Adjust for smallest padding *\/\n    }\n  }\n  \n  \/* Hover indicator *\/\n  .hover-indicator-italian {\n    position: absolute;\n    top: 16px;\n    right: 16px;\n    width: 32px;\n    height: 32px;\n    background: rgba(255,255,255,0.9);\n    border: 1px solid rgba(229,231,235,0.8);\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    opacity: 1;\n    transform: scale(1);\n    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n    pointer-events: none;\n  }\n  .card-italian:hover .hover-indicator-italian {\n    opacity: 0;\n    transform: scale(0.8);\n  }\n  .hover-indicator-italian svg {\n    width: 16px;\n    height: 16px;\n    color: var(--muted);\n    transition: color 0.2s ease;\n  }\n  \n  \/* Company info that appears on hover *\/\n  .company-info-italian {\n    position: absolute;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    background: linear-gradient(to top, rgba(255,255,255,0.98) 60%, transparent);\n    backdrop-filter: blur(8px);\n    padding: 50px 24px 24px;\n    transform: translateY(100%);\n    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n  }\n  .card-italian:hover .company-info-italian {\n    transform: translateY(0);\n  }\n  \n  .company-name-italian {\n    font-size: 20px;\n    font-weight: 700;\n    margin: 0 0 6px;\n    color: var(--text);\n    letter-spacing: -0.025em;\n    line-height: 1.2;\n    text-align: center;\n  }\n  .company-alias-italian {\n    font-size: 14px;\n    color: var(--brand);\n    margin: 0 0 20px;\n    font-weight: 500;\n    text-align: center;\n    letter-spacing: 0.02em;\n  }\n  \n  \/* Hover buttons container *\/\n  .hover-buttons-italian {\n    display: flex;\n    gap: 12px;\n    justify-content: center;\n    margin-top: 16px;\n  }\n  \n  .hover-btn-italian {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    padding: 10px 16px;\n    border-radius: 12px;\n    font-size: 13px;\n    font-weight: 600;\n    text-decoration: none;\n    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n    border: none;\n    cursor: pointer;\n    background: none;\n  }\n  \n  .hover-btn-italian.profile {\n    background: linear-gradient(135deg, var(--brand), #2563eb);\n    color: white;\n    box-shadow: 0 4px 14px rgba(59,130,246,0.3);\n  }\n  .hover-btn-italian.profile:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 6px 20px rgba(59,130,246,0.4);\n  }\n  \n  .hover-btn-italian.website {\n    background: rgba(107,114,128,0.1);\n    color: var(--muted);\n    border: 1px solid rgba(107,114,128,0.2);\n  }\n  .hover-btn-italian.website:hover {\n    background: rgba(107,114,128,0.15);\n    color: var(--text);\n    transform: translateY(-1px);\n  }\n\n  \/* Modal - scoped to Italian widget *\/\n  .wrap-italian dialog{width:min(720px,92vw);border:1px solid #e5e7eb;border-radius:22px;background:var(--card);color:var(--text);box-shadow:0 40px 60px rgba(0,0,0,.15);padding:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}\n  .wrap-italian dialog::backdrop{background:rgba(0,0,0,.3)}\n  .wrap-italian .modal-head{display:flex;justify-content:space-between;align-items:start;padding:22px 22px 10px;border-bottom:1px solid #e5e7eb}\n  .wrap-italian .modal-head > div:first-child {\n    flex: 1;\n    min-width: 0; \/* Allow shrinking *\/\n    margin-right: 16px; \/* Space between title and close button *\/\n  }\n  .wrap-italian .modal-head h2 {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  .wrap-italian .x{background:none;border:0;color:var(--muted);font-size:18px;cursor:pointer;transition:color 0.2s ease;flex-shrink:0}\n  .wrap-italian .x:hover{color:var(--text)}\n  .wrap-italian .modal-body{padding:18px 22px 22px}\n  .wrap-italian .grid-2{display:grid;grid-template-columns: 1fr;gap:18px}\n  @media(min-width:700px){.wrap-italian .grid-2{grid-template-columns: 1.2fr .8fr}}\n  \n  \/* Modal mobile responsiveness - scoped to Italian widget *\/\n  @media (max-width: 768px) {\n    .wrap-italian dialog {\n      width: 95vw;\n      max-height: 90vh;\n      margin: auto;\n      border-radius: 16px;\n      top: 5vh; \/* Position closer to top on mobile *\/\n      transform: translate(-50%, 0); \/* Remove vertical centering *\/\n    }\n    \n    .wrap-italian .modal-head {\n      padding: 16px 16px 8px;\n    }\n    \n    .wrap-italian .modal-head > div:first-child {\n      margin-right: 12px; \/* Reduced space on mobile *\/\n    }\n    \n    .wrap-italian .modal-head h2 {\n      font-size: 18px !important;\n      line-height: 1.3;\n    }\n    \n    .wrap-italian .modal-body {\n      padding: 12px 16px 16px;\n      max-height: calc(85vh - 80px); \/* Adjust for new top positioning *\/\n      overflow-y: auto;\n    }\n    \n    .wrap-italian .grid-2 {\n      grid-template-columns: 1fr !important;\n      gap: 16px;\n    }\n    \n    .wrap-italian .x {\n      font-size: 20px;\n      padding: 4px;\n      min-width: 32px;\n      height: 32px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n    }\n  }\n  \n  @media (max-width: 480px) {\n    .wrap-italian dialog {\n      width: 98vw;\n      max-height: 95vh;\n      border-radius: 12px;\n      top: 2.5vh; \/* Position very close to top on small phones *\/\n      transform: translate(-50%, 0); \/* Remove vertical centering *\/\n    }\n    \n    .wrap-italian .modal-head {\n      padding: 12px 12px 6px;\n    }\n    \n    .wrap-italian .modal-head h2 {\n      font-size: 16px !important;\n    }\n    \n    .wrap-italian .modal-body {\n      padding: 8px 12px 12px;\n      max-height: calc(92.5vh - 60px); \/* Adjust for new top positioning *\/\n      overflow-y: auto;\n    }\n    \n    .wrap-italian .section-title {\n      font-size: 12px;\n    }\n    \n    .wrap-italian .chips {\n      gap: 6px;\n    }\n    \n    .wrap-italian .chip {\n      font-size: 11px;\n      padding: 4px 8px;\n    }\n    \n    .wrap-italian .interests {\n      gap: 6px;\n    }\n    \n    .wrap-italian .interest {\n      font-size: 11px;\n      padding: 4px 8px;\n    }\n    \n    .wrap-italian .badge {\n      padding: 6px 8px;\n      font-size: 12px;\n      flex-wrap: wrap;\n    }\n    \n    .wrap-italian .badge a {\n      word-break: break-all;\n    }\n  }\n  .wrap-italian .stack{display:grid;gap:8px}\n  .wrap-italian .badge{display:inline-flex;align-items:center;gap:8px;background:var(--badge);border:1px solid #e5e7eb;padding:8px 10px;border-radius:12px;font-size:13px}\n  .wrap-italian .badge a{color:inherit;text-decoration:none}\n  .wrap-italian .section-title{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin:8px 0 6px}\n  .wrap-italian .interests{display:flex;flex-wrap:wrap;gap:8px}\n  .wrap-italian .interest{background:rgba(59,130,246,.10);border:1px solid rgba(59,130,246,.25);color:#1e40af;padding:6px 10px;border-radius:10px;font-size:12px}\n\n  .wrap-italian .chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}\n  .wrap-italian .chip{background:var(--chip);color:var(--chip-text);border:1px solid #e5e7eb;padding:6px 10px;border-radius:999px;font-size:12px}\n  .wrap-italian .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}\n  .wrap-italian .btn{appearance:none;display:inline-flex;align-items:center;gap:8px;border-radius:12px;border:1px solid #e5e7eb;padding:10px 14px;background:var(--card);color:var(--text);cursor:pointer;font-weight:600;text-decoration:none;transition:all 0.2s ease}\n  .wrap-italian .btn:focus{outline:2px solid var(--brand)}\n  .wrap-italian .btn:hover{background:#f9fafb;border-color:#d1d5db}\n  .wrap-italian .btn.primary{background:linear-gradient(180deg,rgba(59,130,246,.15),rgba(59,130,246,.05));border-color:rgba(59,130,246,.35);color:var(--brand)}\n  .wrap-italian .btn.primary:hover{background:linear-gradient(180deg,rgba(59,130,246,.25),rgba(59,130,246,.15))}\n  .wrap-italian .btn.secondary{background:linear-gradient(180deg,rgba(34,197,94,.15),rgba(34,197,94,.05));border-color:rgba(34,197,94,.35);color:#16a34a}\n  .wrap-italian .btn.secondary:hover{background:linear-gradient(180deg,rgba(34,197,94,.25),rgba(34,197,94,.15))}\n  .wrap-italian .muted{color:var(--muted)}\n\n  \/* Small helper icon style - scoped to Italian widget *\/\n  .wrap-italian .ico{width:16px;height:16px;display:inline-block;vertical-align:middle}\n\n  \/* Mobile responsiveness *\/\n  @media (max-width: 768px) {\n    .wrap-italian {\n      padding: 16px;\n      margin: 0;\n    }\n    \n    .container-italian {\n      margin: 0 20px; \/* Reduce margin, position arrows inside *\/\n    }\n    \n    \/* Grid mode mobile adjustments *\/\n    .container-italian.grid-mode .company-grid-italian {\n      grid-template-columns: 1fr !important;\n      gap: 16px;\n    }\n    \n    \/* Carousel mode mobile adjustments *\/\n    .container-italian.carousel-mode {\n      overflow: visible;\n      width: 100%;\n    }\n    \n    .container-italian.carousel-mode .company-grid-italian {\n      overflow: visible;\n      width: max-content;\n    }\n    \n    .container-italian.carousel-mode .card-italian {\n      width: 260px;\n      min-width: 260px;\n    }\n    \n    \/* Navigation arrows positioned safely inside viewport - only in carousel mode *\/\n    .container-italian.carousel-mode .carousel-nav-italian.prev {\n      left: 10px; \/* Position inside container, not outside *\/\n      z-index: 10000;\n    }\n    \n    .container-italian.carousel-mode .carousel-nav-italian.next {\n      right: 10px; \/* Position inside container, not outside *\/\n      z-index: 10000;\n    }\n    \n    \/* Card adjustments for mobile *\/\n    .card-italian {\n      min-height: 280px;\n    }\n    \n    .company-info-italian {\n      padding: 40px 20px 20px;\n    }\n    \n    .company-name-italian {\n      font-size: 18px;\n    }\n    \n    .hover-buttons-italian {\n      flex-direction: column;\n      gap: 8px;\n    }\n    \n    .hover-btn-italian {\n      justify-content: center;\n      width: 100%;\n      padding: 12px 16px;\n    }\n  }\n  \n  @media (max-width: 480px) {\n    .wrap-italian {\n      padding: 12px;\n    }\n    \n    .container-italian {\n      margin: 0 10px; \/* Very small margin, arrows go inside *\/\n    }\n    \n    \/* Force single column on very small screens *\/\n    .container-italian.grid-mode .company-grid-italian {\n      grid-template-columns: 1fr !important;\n    }\n    \n    .container-italian.carousel-mode {\n      overflow: visible;\n    }\n    \n    .container-italian.carousel-mode .company-grid-italian {\n      width: max-content;\n    }\n    \n    .container-italian.carousel-mode .card-italian {\n      width: 240px;\n      min-width: 240px;\n    }\n    \n    \/* Navigation arrows positioned safely inside viewport - only in carousel mode *\/\n    .container-italian.carousel-mode .carousel-nav-italian.prev {\n      left: 5px; \/* Position inside container bounds *\/\n      z-index: 10000;\n    }\n    \n    .container-italian.carousel-mode .carousel-nav-italian.next {\n      right: 5px; \/* Position inside container bounds *\/\n      z-index: 10000;\n    }\n    \n    .container-italian.carousel-mode .carousel-nav-italian {\n      width: 40px;\n      height: 40px;\n    }\n    \n    .container-italian.carousel-mode .carousel-nav-italian svg {\n      width: 18px;\n      height: 18px;\n    }\n  }\n<\/style>\n<\/head>\n<body>\n  <div class=\"wrap-italian company-carousel-widget-italian\">\n    <!-- ======================================= -->\n    <!-- CONFIGURATION - EDIT YOUR DATA HERE    -->\n    <!-- ======================================= -->\n    <div class=\"config-italian\">\n      <!-- Display Mode: 'grid' or 'carousel' -->\n      <div data-config=\"mode\">griglia<\/div>\n      \n      <!-- Number of columns (grid) or cards per view (carousel) -->\n      <div data-config=\"count\">3<\/div>\n      \n      <!-- Company Data - Add\/Edit companies here -->\n      <div data-config=\"companies\">\n        <div data-company='{\"id\":\"i1\",\"name\":\"I.H.Q.F.&D. di Chipilidis C.\",\"alias\":\"GUSTO GRECIA\",\"image\":\"https:\/\/italy.winconsulting.gr\/wp-content\/uploads\/2025\/09\/GUSTO-GRECIA.png\",\"website\":\"https:\/\/www.gustogrecia.it\",\"contact\":\"Mr. Charis Chipilidis, Owner\",\"email\":\"i.q.foodsanddrinks@gmail.com\",\"phone\":\"+39 38021 94329\",\"activities\":[\"Imports\",\"Distribution\",\"Retail Sales\",\"Food Service\",\"Wholesale\",\"Premium Products\"],\"interests\":[\"Wine\",\"Dairy Products\",\"Fresh Fruits & Vegetables\",\"Olive Oil & Olives\",\"Legumes & Cereals\",\"Nuts & Dried Fruits\",\"Sweets & Confectionery\"]}'><\/div>\n        \n        <div data-company='{\"id\":\"i2\",\"name\":\"SPREAFICO S.P.A\",\"alias\":\"Spreafico\",\"image\":\"https:\/\/italy.winconsulting.gr\/wp-content\/uploads\/2025\/09\/Spreafico.jpg\",\"website\":\"https:\/\/spreafico.com\",\"contact\":\"Mr. Alberto Garbuglia, Business Development Director\",\"email\":\"alberto.garbuglia@spreafico.net\",\"phone\":\"+39 3356 075541\",\"activities\":[\"Fruits & Vegetables\",\"Imports\",\"Distribution\",\"Wholesale\"],\"interests\":[\"Fresh Fruits & Vegetables\"]}'><\/div>\n        \n        <div data-company='{\"id\":\"i3\",\"name\":\"PANEMBORIKI SRL\",\"alias\":\"PANEMBORIKI\",\"image\":\"https:\/\/italy.winconsulting.gr\/wp-content\/uploads\/2025\/09\/PANEMBORIKI.jpg\",\"website\":\"https:\/\/www.panemboriki.com\",\"contact\":\"Mr. Cristiano Mavroidis, Buyer and Sales Development Director\",\"email\":\"Cristiano@panemboriki.com\",\"phone\":\"+39 3480 907205\",\"activities\":[\"Imports\",\"Food Service (Hotels, Restaurants, Catering)\"],\"interests\":[\"Wine\",\"Beer\",\"Soft Drinks\",\"Dairy Products\",\"Olive Oil & Olives\",\"Tomato Products\",\"Legumes & Cereals\",\"Nuts & Dried Fruits\",\"Seafood\",\"Pasta & Bakery Products\",\"Sweets & Confectionery\"]}'><\/div>\n        \n        <div data-company='{\"id\":\"i4\",\"name\":\"Vasiliki Kantina & Gastronomia\",\"alias\":\"Vasiliki Kantina\",\"image\":\"https:\/\/italy.winconsulting.gr\/wp-content\/uploads\/2025\/09\/Vasiliki-Kantina-Gastronomia.png\",\"website\":\"\",\"contact\":\"Ms. Vasiliki Pierrakea, Owner, Vice President Fondazione Fiera Milano\",\"email\":\"vasilikipierr@hotmail.com\",\"phone\":\"+39 339 2478583\",\"activities\":[\"Food Service (Hotels, Restaurants, Catering)\"],\"interests\":[\"Greek Specialties\",\"Mediterranean Cuisine\",\"Premium Foods\"]}'><\/div>\n        \n        <div data-company='{\"id\":\"i5\",\"name\":\"ROSITA DORIGO - FOOD DESIGNER & CONSULTING\",\"alias\":\"ROSITA DORIGO\",\"image\":\"https:\/\/italy.winconsulting.gr\/wp-content\/uploads\/2025\/09\/ROSITA-DORIGO-FOOD-DESIGNER-CONSULTING.jpg\",\"website\":\"\",\"contact\":\"Ms. Rosita Dorigo, Owner\/Food Blogger\/Food Designer\/Writer\",\"email\":\"rosita.dorigo@gmail.com\",\"phone\":\"+39 335 6675994\",\"activities\":[\"Food Service (Hotels, Restaurants, Catering)\",\"Food Consulting\",\"Food Design\"],\"interests\":[\"Seafood\",\"Pasta & Bakery Products\",\"Dairy Products\",\"Olive Oil & Olives\",\"Nuts & Dried Fruits\",\"Sweets & Confectionery\"]}'><\/div>\n        \n        <div data-company='{\"id\":\"i6\",\"name\":\"AKROPOLIS SRL\",\"alias\":\"Akropolis - Taverna Greca\",\"image\":\"https:\/\/italy.winconsulting.gr\/wp-content\/uploads\/2025\/09\/Akropolis.png\",\"website\":\"https:\/\/akropolistavernagreca.com\",\"contact\":\"Mr. Antonios Militsis, Administrator\",\"email\":\"akropolis1999@gmail.com\",\"phone\":\"+39 333 477 1029\",\"activities\":[\"Food Service (Hotels, Restaurants, Catering)\",\"Imports\",\"Wholesale\"],\"interests\":[\"Dairy Products\",\"Olive Oil & Olives\",\"Wine\"]}'><\/div>\n        \n        <div data-company='{\"id\":\"i7\",\"name\":\"Milos Holding Srl\",\"alias\":\"Milos Greek Food\",\"image\":\"https:\/\/italy.winconsulting.gr\/wp-content\/uploads\/2025\/09\/Milos-Greek-Food.png\",\"website\":\"https:\/\/www.milosfood.com\",\"contact\":\"Mr. Yousef Sharafi, CEO\",\"email\":\"yousef@milosfood.com\",\"phone\":\"+39 3286 130516\",\"activities\":[\"Retail (Supermarkets, Grocery Stores)\",\"Food Service (Hotels, Restaurants, Catering)\"],\"interests\":[\"Gyros\",\"Dairy Products\",\"Olive Oil & Olives\",\"Pasta & Bakery Products\"]}'><\/div>\n        \n        <div data-company='{\"id\":\"i8\",\"name\":\"HOLYCON\",\"alias\":\"HOLYCON\",\"image\":\"https:\/\/italy.winconsulting.gr\/wp-content\/uploads\/2025\/10\/holycon.png\",\"website\":\"https:\/\/www.holycon.it\",\"contact\":\"Mr. Andrea Cutsiolas, Manager\",\"email\":\"andrea.cutsiolas@holycon.it\",\"phone\":\"+39 329 731 0132\",\"activities\":[\"Imports\",\"Distribution\",\"Retail (Supermarkets, Grocery Stores)\",\"Wholesale\",\"Food Service (Hotels, Restaurants, Catering)\"],\"interests\":[\"Dairy Products\",\"Olive Oil & Olives\",\"Nuts & Dried Fruits\",\"Seafood\",\"Pasta & Bakery Products\",\"Sweets & Confectionery\"]}'><\/div>\n      <\/div>\n    <\/div>\n    \n    <!-- ======================================= -->\n    <!-- AUTO-GENERATED CONTENT - DO NOT EDIT   -->\n    <!-- ======================================= -->\n    \n    <!-- Container -->\n    <div class=\"container-italian\" id=\"container-italian\">\n      <div class=\"company-grid-italian\" id=\"company-grid-italian\">\n        <!-- Cards will be auto-generated here -->\n      <\/div>\n\n      <!-- Carousel Navigation -->\n      <button class=\"carousel-nav-italian prev\" id=\"prev-btn-italian\">\n        <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n          <path d=\"M15 18l-6-6 6-6\"\/>\n        <\/svg>\n      <\/button>\n      <button class=\"carousel-nav-italian next\" id=\"next-btn-italian\">\n        <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n          <path d=\"M9 18l6-6-6-6\"\/>\n        <\/svg>\n      <\/button>\n    <\/div>\n    \n    <!-- Modals will be auto-generated here -->\n    <div id=\"modals-container-italian\"><\/div>\n  <\/div>\n\n  <script>\n    \/\/ Configuration reading - scope to Italian widget\n    const italianWidget = document.querySelector('.wrap-italian');\n    \n    const config = {\n      mode: italianWidget.querySelector('[data-config=\"mode\"]').textContent.trim(),\n      count: parseInt(italianWidget.querySelector('[data-config=\"count\"]').textContent.trim()),\n      companies: []\n    };\n    \n    \/\/ Parse company data - scope to Italian widget\n    const companyElements = italianWidget.querySelectorAll('[data-company]');\n    companyElements.forEach(el => {\n      const companyData = JSON.parse(el.getAttribute('data-company'));\n      config.companies.push(companyData);\n    });\n    \n    \/\/ State management\n    let currentMode = config.mode;\n    let currentCount = config.count;\n    let currentSlide = 0;\n    \n    \/\/ Elements\n    const container = document.getElementById('container-italian');\n    const grid = document.getElementById('company-grid-italian');\n    const prevBtn = document.getElementById('prev-btn-italian');\n    const nextBtn = document.getElementById('next-btn-italian');\n    const modalsContainer = document.getElementById('modals-container-italian');\n    \n    if (!container) throw new Error('Container element not found!');\n    if (!grid) throw new Error('Grid element not found!');\n    if (!prevBtn) throw new Error('Previous button not found!');\n    if (!nextBtn) throw new Error('Next button not found!');\n    if (!modalsContainer) throw new Error('Modals container not found!');\n    \n    \/\/ Generate cards and modals\n    function generateContent() {\n      \/\/ Clear existing content\n      grid.innerHTML = '';\n      modalsContainer.innerHTML = '';\n      \n      if (config.companies.length === 0) {\n        grid.innerHTML = '<div style=\"color: red; padding: 20px;\">ERROR: No company data found!<\/div>';\n        return;\n      }\n      \n      config.companies.forEach((company, index) => {\n        \n        \/\/ Generate card\n        const card = document.createElement('article');\n        card.className = 'card-italian';\n        card.setAttribute('data-company-id', company.id);\n        card.setAttribute('data-open', `#modal-italian-${company.id}`);\n        card.setAttribute('aria-haspopup', 'dialog');\n        card.setAttribute('aria-controls', `modal-italian-${company.id}`);\n        \n        card.innerHTML = `\n          <img decoding=\"async\" src=\"${company.image}\" alt=\"${company.alias}\" class=\"company-image-italian\">\n          <div class=\"hover-indicator-italian\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n              <path d=\"M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z\"\/>\n              <path d=\"M13 13l6 6\"\/>\n            <\/svg>\n          <\/div>\n          <div class=\"company-info-italian\">\n            <h2 class=\"company-name-italian\">${company.name}<\/h2>\n            <div class=\"company-alias-italian\">${company.alias}<\/div>\n            <div class=\"hover-buttons-italian\">\n              <button class=\"hover-btn-italian profile\" onclick=\"event.stopPropagation(); document.querySelector('#modal-italian-${company.id}').showModal();\">\n                <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                  <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"\/>\n                  <circle cx=\"12\" cy=\"7\" r=\"4\"\/>\n                <\/svg>\n                Profile\n              <\/button>\n              <a href=\"${company.website}\" target=\"_blank\" rel=\"noopener\" class=\"hover-btn-italian website\" onclick=\"event.stopPropagation()\">\n                <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                  <circle cx=\"12\" cy=\"12\" r=\"10\"\/>\n                  <path d=\"M2 12h20\"\/>\n                  <path d=\"M12 2a15.3 15.3 0 0 1 0 20\"\/>\n                  <path d=\"M12 2a15.3 15.3 0 0 0 0 20\"\/>\n                <\/svg>\n                Website\n              <\/a>\n            <\/div>\n          <\/div>\n        `;\n        \n        grid.appendChild(card);\n        \n        \/\/ Generate modal\n        const modal = document.createElement('dialog');\n        modal.id = `modal-italian-${company.id}`;\n        modal.setAttribute('aria-labelledby', `modal-italian-title-${company.id}`);\n        modal.setAttribute('aria-modal', 'true');\n        \n        const activitiesChips = company.activities.map(activity => `<span class=\"chip\">${activity}<\/span>`).join('');\n        const interestsChips = company.interests.map(interest => `<span class=\"interest\">${interest}<\/span>`).join('');\n        \n        modal.innerHTML = `\n          <div class=\"modal-head\">\n            <div>\n              <h2 id=\"modal-italian-title-${company.id}\" style=\"margin:0\">${company.name} <span class=\"muted\">\u2014 ${company.alias}<\/span><\/h2>\n              <div class=\"muted\" style=\"margin-top:6px\">${company.contact}<\/div>\n            <\/div>\n            <button class=\"x\" data-close aria-label=\"Close\">\u2715<\/button>\n          <\/div>\n          <div class=\"modal-body\">\n            <div class=\"grid-2\">\n              <div class=\"stack\">\n                <div>\n                  <div class=\"section-title\">Activity<\/div>\n                  <div class=\"chips\">\n                    ${activitiesChips}\n                  <\/div>\n                <\/div>\n                <div>\n                  <div class=\"section-title\">Interests<\/div>\n                  <div class=\"interests\">\n                    ${interestsChips}\n                  <\/div>\n                <\/div>\n              <\/div>\n              <aside class=\"stack\">\n                <div class=\"section-title\">Contact<\/div>\n                <div class=\"badge\">\n                  <svg class=\"ico\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"><path d=\"M4 6h16v12H4z\"\/><path d=\"M22 6l-10 7L2 6\"\/><\/svg>\n                  <a href=\"mailto:${company.email}\">${company.email}<\/a>\n                <\/div>\n                <div class=\"badge\">\n                  <svg class=\"ico\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.78 19.78 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.78 19.78 0 0 1 2.08 4.18 2 2 0 0 1 4.06 2h3a2 2 0 0 1 2 1.72c.12.9.3 1.77.55 2.62a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.46-1.06a2 2 0 0 1 2.11-.45c.85.25 1.72.43 2.62.55A2 2 0 0 1 22 16.92z\"\/><\/svg>\n                  <a href=\"tel:${company.phone}\">${company.phone}<\/a>\n                <\/div>\n                <div class=\"badge\">\n                  <svg class=\"ico\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"M2 12h20\"\/><path d=\"M12 2a15.3 15.3 0 0 1 0 20\"\/><path d=\"M12 2a15.3 15.3 0 0 0 0 20\"\/><\/svg>\n                  <a href=\"${company.website}\" target=\"_blank\" rel=\"noopener\">${company.website.replace('https:\/\/', '').replace('http:\/\/', '')}<\/a>\n                <\/div>\n              <\/aside>\n            <\/div>\n          <\/div>\n        `;\n        \n        modalsContainer.appendChild(modal);\n      });\n    }\n    \n    \/\/ Carousel navigation\n    prevBtn.addEventListener('click', () => {\n      if (currentSlide > 0) {\n        currentSlide--;\n        updateCarouselPosition();\n      }\n    });\n    \n    nextBtn.addEventListener('click', () => {\n      const maxSlide = Math.max(0, config.companies.length - currentCount);\n      if (currentSlide < maxSlide) {\n        currentSlide++;\n        updateCarouselPosition();\n      }\n    });\n    \n    \/\/ Touch\/swipe functionality for carousel\n    let startX = 0;\n    let startY = 0;\n    let currentX = 0;\n    let currentY = 0;\n    let isDragging = false;\n    let startTime = 0;\n    \n    \/\/ Touch start\n    grid.addEventListener('touchstart', (e) => {\n      if (currentMode !== 'carousel') return;\n      \n      startX = e.touches[0].clientX;\n      startY = e.touches[0].clientY;\n      currentX = startX;\n      currentY = startY;\n      isDragging = false;\n      startTime = Date.now();\n    });\n    \n    \/\/ Touch move\n    grid.addEventListener('touchmove', (e) => {\n      if (currentMode !== 'carousel') return;\n      \n      currentX = e.touches[0].clientX;\n      currentY = e.touches[0].clientY;\n      \n      const deltaX = Math.abs(currentX - startX);\n      const deltaY = Math.abs(currentY - startY);\n      \n      \/\/ If moving more horizontally than vertically, prevent scrolling and enable dragging\n      if (deltaX > deltaY && deltaX > 10) {\n        e.preventDefault();\n        isDragging = true;\n      }\n    });\n    \n    \/\/ Touch end\n    grid.addEventListener('touchend', (e) => {\n      if (currentMode !== 'carousel' || !isDragging) return;\n      \n      const deltaX = currentX - startX;\n      const deltaY = Math.abs(currentY - startY);\n      const deltaTime = Date.now() - startTime;\n      \n      \/\/ Only process horizontal swipes\n      if (Math.abs(deltaX) > deltaY) {\n        const minSwipeDistance = 50;\n        const maxSwipeTime = 300;\n        \n        \/\/ Swipe right (go to previous)\n        if (deltaX > minSwipeDistance && currentSlide > 0) {\n          currentSlide--;\n          updateCarouselPosition();\n        }\n        \/\/ Swipe left (go to next)\n        else if (deltaX < -minSwipeDistance) {\n          const maxSlide = Math.max(0, config.companies.length - currentCount);\n          if (currentSlide < maxSlide) {\n            currentSlide++;\n            updateCarouselPosition();\n          }\n        }\n      }\n      \n      isDragging = false;\n    });\n    \n    \/\/ Mouse drag functionality for desktop (including touchscreen laptops)\n    let mouseStartX = 0;\n    let mouseCurrentX = 0;\n    let isMouseDragging = false;\n    \n    grid.addEventListener('mousedown', (e) => {\n      if (currentMode !== 'carousel') return;\n      \n      mouseStartX = e.clientX;\n      mouseCurrentX = mouseStartX;\n      isMouseDragging = false;\n      e.preventDefault();\n    });\n    \n    grid.addEventListener('mousemove', (e) => {\n      if (currentMode !== 'carousel' || !mouseStartX) return;\n      \n      mouseCurrentX = e.clientX;\n      const deltaX = Math.abs(mouseCurrentX - mouseStartX);\n      \n      if (deltaX > 10) {\n        isMouseDragging = true;\n        grid.style.cursor = 'grabbing';\n      }\n    });\n    \n    grid.addEventListener('mouseup', (e) => {\n      if (currentMode !== 'carousel' || !isMouseDragging) {\n        grid.style.cursor = '';\n        mouseStartX = 0;\n        return;\n      }\n      \n      const deltaX = mouseCurrentX - mouseStartX;\n      const minSwipeDistance = 80;\n      \n      \/\/ Mouse drag right (go to previous)\n      if (deltaX > minSwipeDistance && currentSlide > 0) {\n        currentSlide--;\n        updateCarouselPosition();\n      }\n      \/\/ Mouse drag left (go to next)\n      else if (deltaX < -minSwipeDistance) {\n        const maxSlide = Math.max(0, config.companies.length - currentCount);\n        if (currentSlide < maxSlide) {\n          currentSlide++;\n          updateCarouselPosition();\n        }\n      }\n      \n      grid.style.cursor = '';\n      isMouseDragging = false;\n      mouseStartX = 0;\n    });\n    \n    \/\/ Mouse leave - reset dragging\n    grid.addEventListener('mouseleave', () => {\n      grid.style.cursor = '';\n      isMouseDragging = false;\n      mouseStartX = 0;\n    });\n    \n    \/\/ Add grab cursor for carousel mode\n    function updateCursor() {\n      if (currentMode === 'carousel') {\n        grid.style.cursor = 'grab';\n      } else {\n        grid.style.cursor = '';\n      }\n    }\n    \n    \/\/ Update display based on mode and count\n    function updateDisplay() {\n      console.log('Italian widget - UpdateDisplay called:', { currentMode, currentCount, companiesCount: config.companies.length });\n      \n      if (currentMode === 'grid') {\n        container.className = 'container-italian grid-mode';\n        \n        \/\/ Responsive grid columns based on screen width\n        const screenWidth = window.innerWidth;\n        let gridColumns;\n        \n        if (screenWidth <= 480) {\n          gridColumns = 1; \/\/ Single column on very small screens\n        } else if (screenWidth <= 768) {\n          gridColumns = Math.min(2, currentCount); \/\/ Max 2 columns on tablets\n        } else {\n          gridColumns = currentCount; \/\/ Use configured count on desktop\n        }\n        \n        grid.style.gridTemplateColumns = `repeat(${gridColumns}, 1fr)`;\n        grid.style.transform = 'none';\n        grid.style.cursor = ''; \/\/ Remove grab cursor in grid mode\n        \n        \/\/ Reset card styles\n        const cards = document.querySelectorAll('.card-italian');\n        cards.forEach(card => {\n          card.style.width = 'auto';\n        });\n        \n      } else {\n        console.log('Italian widget - Setting carousel mode');\n        container.className = 'container-italian carousel-mode';\n        \n        \/\/ Reset grid styles for carousel\n        grid.style.gridTemplateColumns = 'none';\n        \n        currentSlide = 0; \/\/ Reset slide position\n        \n        \/\/ Use setTimeout to ensure DOM is updated\n        setTimeout(() => {\n          updateCarouselPosition();\n          updateCursor();\n        }, 50);\n      }\n    }\n    \n    \/\/ Update carousel position\n    function updateCarouselPosition() {\n      const cardWidth = 280;\n      const gap = 18;\n      const translateX = -(currentSlide * (cardWidth + gap));\n      grid.style.transform = `translateX(${translateX}px)`;\n      \n      \/\/ Update navigation button states\n      prevBtn.style.opacity = currentSlide === 0 ? '0.5' : '1';\n      prevBtn.style.pointerEvents = currentSlide === 0 ? 'none' : 'auto';\n      \n      const maxSlide = Math.max(0, config.companies.length - currentCount);\n      nextBtn.style.opacity = currentSlide >= maxSlide ? '0.5' : '1';\n      nextBtn.style.pointerEvents = currentSlide >= maxSlide ? 'none' : 'auto';\n    }\n    \n    \/\/ Handle window resize for responsive behavior\n    window.addEventListener('resize', () => {\n      if (currentMode === 'grid') {\n        updateDisplay();\n      }\n    });\n    \n    \/\/ Initialize\n    generateContent();\n    updateDisplay();\n    updateCursor();\n\n    \/\/ Modal functionality - scope to Italian widget\n    setTimeout(() => {\n      const italianWidget = document.querySelector('.wrap-italian');\n      const openers = italianWidget.querySelectorAll('[data-open]');\n      \n      openers.forEach(btn => {\n        btn.addEventListener('click', e => {\n          const sel = btn.getAttribute('data-open');\n          const dlg = document.querySelector(sel);\n          if (dlg && typeof dlg.showModal === 'function') {\n            dlg.showModal();\n          } else if (dlg) {\n            dlg.setAttribute('open','');\n          }\n        });\n      });\n\n      italianWidget.querySelectorAll('.card-italian[data-open]').forEach(card => {\n        card.addEventListener('click', e => {\n          if (e.target.closest('.hover-btn-italian')) {\n            return;\n          }\n          \n          const sel = card.getAttribute('data-open');\n          const dlg = document.querySelector(sel);\n          if (dlg && typeof dlg.showModal === 'function') {\n            dlg.showModal();\n          } else if (dlg) {\n            dlg.setAttribute('open','');\n          }\n        });\n      });\n\n      document.addEventListener('click', e => {\n        const isCloseBtn = e.target.matches('[data-close]');\n        const dlg = e.target.closest('dialog');\n        if (isCloseBtn && dlg && dlg.id.startsWith('modal-italian-')) dlg.close();\n      });\n\n      \/\/ Close modal when clicking on backdrop (outside modal content)\n      document.addEventListener('click', e => {\n        if (e.target.tagName === 'DIALOG' && e.target.id.startsWith('modal-italian-')) {\n          const rect = e.target.getBoundingClientRect();\n          const isInDialog = (\n            e.clientX >= rect.left &&\n            e.clientX <= rect.right &&\n            e.clientY >= rect.top &&\n            e.clientY <= rect.bottom\n          );\n          \n          if (!isInDialog) {\n            e.target.close();\n          }\n        }\n      });\n    }, 100);\n  <\/script>\n<\/body>\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Participating Italian Buyers Company Profiles \u2013 Italian Companies grid 3<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":5,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3212","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/italy.winconsulting.gr\/it\/wp-json\/wp\/v2\/pages\/3212","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/italy.winconsulting.gr\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/italy.winconsulting.gr\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/italy.winconsulting.gr\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/italy.winconsulting.gr\/it\/wp-json\/wp\/v2\/comments?post=3212"}],"version-history":[{"count":46,"href":"https:\/\/italy.winconsulting.gr\/it\/wp-json\/wp\/v2\/pages\/3212\/revisions"}],"predecessor-version":[{"id":4642,"href":"https:\/\/italy.winconsulting.gr\/it\/wp-json\/wp\/v2\/pages\/3212\/revisions\/4642"}],"wp:attachment":[{"href":"https:\/\/italy.winconsulting.gr\/it\/wp-json\/wp\/v2\/media?parent=3212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}