.xm-card-grid{width:min(100%,var(--xm-width));margin:0 auto;display:grid;grid-template-columns:repeat(var(--xm-cols),minmax(0,1fr));gap:var(--xm-gap);box-sizing:border-box;align-items:stretch}
.xm-card{background:var(--xm-background,#fff);border:1px solid #e5e7eb;border-radius:var(--xm-radius);overflow:hidden;box-shadow:var(--xm-shadow);display:flex;flex-direction:column;min-width:0;height:100%}
.xm-card-image{height:var(--xm-img-height);overflow:hidden;background:#f3f4f6;flex:0 0 var(--xm-img-height)}
.xm-card-image-link{display:block;width:100%;height:100%;text-decoration:none}.xm-card-image img{width:100%;height:100%;display:block;object-fit:cover}
.xm-card-body{padding:var(--xm-card-padding,26px);display:flex;flex-direction:column;flex:1;min-height:0}
.xm-card-grid .xm-card .xm-card-body h3,.xm-card-preview-card .xm-card-body h3{margin:0 0 26px;text-align:var(--xm-title-align,left);color:var(--xm-title-color,#222222)!important;font-size:var(--xm-title-size)!important;line-height:1.3;font-weight:700;min-height:calc(var(--xm-title-size) * 1.3 * 3)}
.xm-card-fields{display:flex;flex-direction:column}
.xm-card-info{display:flex;align-items:center;gap:8px;min-height:39px;border-bottom:1px solid #e7eaed;color:#344054;font-size:15px}
.xm-card-info>i{color:var(--xm-icon-color,var(--xm-accent));font-size:19px;flex:0 0 18px}
.xm-card-label{font-weight:700;color:var(--xm-label-color,#344054);white-space:nowrap}.xm-card-value{overflow:hidden;text-overflow:ellipsis}
.xm-card-badge{display:inline-flex;align-items:center;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:700;background:var(--xm-badge);white-space:nowrap}
.xm-card-grid .xm-card .xm-card-button,.xm-card-preview-card .xm-card-button{display:flex;align-items:center;justify-content:center;margin-top:18px;padding-top:0;min-height:44px;background:var(--xm-button);color:#fff!important;text-decoration:none!important;border-radius:var(--xm-button-radius)!important;font-size:14px!important;font-weight:700;letter-spacing:.2px;transition:opacity .2s}
.xm-card-button:hover{opacity:.9}.xm-card-grid .xm-card:has(.xm-card-button) .xm-card-body{padding-bottom:28px}
@media(max-width:1000px){.xm-card-grid{grid-template-columns:repeat(min(2,var(--xm-cols)),minmax(0,1fr))}}
@media(max-width:650px){.xm-card-grid{grid-template-columns:1fr}.xm-card-body{padding:20px 22px 25px}.xm-card-image{height:var(--xm-img-height);flex-basis:var(--xm-img-height)}.xm-card-body h3{min-height:0}}

.xm-card-fields{min-height:var(--xm-fields-height,0px)}

.xm-card-title-link{display:block;text-decoration:none}.xm-card-title-link a{color:inherit;text-decoration:none}.xm-card-title-link a:hover{text-decoration:none}.xm-card-preview-title-link{display:block;text-decoration:none;color:inherit}
.xm-card-grid .xm-card .xm-card-button,.xm-card-preview-card .xm-card-button{justify-content:var(--xm-button-align,center);}
.xm-card-grid .xm-card .xm-card-fields + .xm-card-button,.xm-card-preview-card .xm-card-fields + .xm-card-button{margin-top:18px;}

.xm-card-description{margin:0 0 22px;color:#344054;line-height:1.55}.xm-card-description p:first-child{margin-top:0}.xm-card-description p:last-child{margin-bottom:0}.xm-card-description a{color:inherit;text-decoration:underline}.xm-card-compact .xm-card-body{padding:var(--xm-card-padding,26px)}.xm-card-compact .xm-card-body h3{min-height:0!important;margin-bottom:0}.xm-card-compact .xm-card-description{margin-top:16px;margin-bottom:0}.xm-card-grid .xm-card:not(.xm-card-compact) .xm-card-body h3{min-height:calc(var(--xm-title-size) * 1.3 * 3)}

/* Card Icona - template 2.2 */
.xm-card-icon{position:relative;overflow:hidden;min-height:var(--xm-icon-card-height,340px);background:var(--xm-background,#fff);border:1px solid #e5e7eb;border-radius:var(--xm-radius);box-shadow:var(--xm-shadow);}
.xm-card-icon-body{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:var(--xm-title-align,center);width:100%;min-height:100%;box-sizing:border-box;padding:var(--xm-card-padding,26px);}
.xm-card-icon-circle{width:var(--xm-icon-circle-size,96px);height:var(--xm-icon-circle-size,96px);border-radius:50%;background:var(--xm-icon-circle-color,#dbeafe);display:flex;align-items:center;justify-content:center;flex:0 0 auto;margin:0 auto 18px;}
.xm-card-icon-circle i{font-size:var(--xm-icon-size,46px);line-height:1;color:var(--xm-icon-color,#1646a0);}
.xm-card-icon-title{width:100%;margin:0 0 10px!important;min-height:0!important;font-size:var(--xm-title-size,21px)!important;line-height:1.25!important;font-weight:700;color:var(--xm-title-color,#222)!important;text-align:var(--xm-title-align,center)!important;}
.xm-card-icon-title a{color:inherit!important;text-decoration:none!important;}
.xm-card-icon-description{width:100%;margin:0 auto 18px;color:#344054;font-size:15px;line-height:1.5;text-align:var(--xm-title-align,center);}
.xm-card-icon-description p:first-child{margin-top:0}.xm-card-icon-description p:last-child{margin-bottom:0}.xm-card-icon-description a{text-decoration:underline;color:inherit;}
.xm-card-icon-button{width:100%;margin-top:auto!important;min-height:44px;box-sizing:border-box;justify-content:var(--xm-button-align,center)!important;gap:12px;}
.xm-card-icon-arrow{font-size:19px;line-height:1;}
.xm-card-icon-decoration{position:absolute;z-index:1;border-radius:50%;background:var(--xm-decoration-color,#b9dcff);opacity:var(--xm-decoration-opacity,.55);width:var(--xm-decoration-size,105px);height:var(--xm-decoration-size,105px);pointer-events:none;}
.xm-card-icon-decoration-a{top:calc(var(--xm-decoration-size,105px) / -2);left:calc(var(--xm-decoration-size,105px) / -2);}
.xm-card-icon-decoration-b{right:calc(var(--xm-decoration-size,105px) / -2);bottom:calc(var(--xm-decoration-size,105px) / -2);}
@media(max-width:650px){.xm-card-icon{min-height:280px}.xm-card-icon-body{padding:22px}.xm-card-icon-title{font-size:calc(var(--xm-title-size,21px) * .95)!important;}}

/* Card Icona 2.2.2 - immagine di sfondo */
.xm-card-icon-background,.xm-card-icon-overlay{position:absolute;inset:0;pointer-events:none;border-radius:inherit;overflow:hidden}
.xm-card-icon-background{z-index:0;background-image:var(--xm-bg-image,none);background-position:var(--xm-bg-position,center);background-size:var(--xm-bg-size,cover);background-repeat:no-repeat;opacity:var(--xm-bg-opacity,0)}
.xm-card-icon-overlay{z-index:1;background:var(--xm-overlay-color,#fff);opacity:var(--xm-overlay-opacity,0)}

/* Card Banner - template 2.3 */
.xm-card-banner-list{width:100%;max-width:none;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:20px;box-sizing:border-box}
.xm-card-banner-list>.xm-card-banner{width:100%;max-width:100%;min-width:0;margin:0}
/* 2.3.18 — Banner compatto con foto a sinistra e testo a destra */
.xm-card-banner-list>.xm-card-banner-compact-photo{width:100%;max-width:100%;min-width:0;margin:0}
.xm-card-banner-compact-photo{min-height:0;background:var(--xm-banner-bg,#fff);border:1px solid #e2e2e2;border-radius:var(--xm-banner-radius,0px);padding:var(--xm-banner-padding,14px);overflow:hidden;box-sizing:border-box}
.xm-card-banner-compact-link{display:flex;align-items:flex-start;gap:20px;width:100%;min-width:0;color:inherit;text-decoration:none!important}
.xm-card-banner-compact-photo-frame{display:flex;flex:0 0 var(--xm-banner-photo-size,92px);width:var(--xm-banner-photo-size,92px);height:var(--xm-banner-photo-size,92px);align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box;border:1px solid #222;background:#f7f7f7}
.xm-card-banner-compact-photo-frame img{display:block;width:100%;height:100%;object-fit:cover}
.xm-card-banner-compact-copy{display:block;flex:1 1 auto;min-width:0;text-align:left}
.xm-card-banner-compact-title{display:block;margin:0 0 8px;color:var(--xm-banner-title-color,#111);font-size:var(--xm-banner-title-size,20px);font-weight:var(--xm-banner-title-weight,700);line-height:1.25;overflow-wrap:anywhere}
.xm-card-banner-compact-description{display:block;color:var(--xm-banner-desc-color,#111);font-size:var(--xm-banner-desc-size,15px);line-height:1.45;overflow-wrap:anywhere}
.xm-card-banner-compact-description p{margin:0 0 6px!important;padding:0!important}
.xm-card-banner-compact-description p:last-child{margin-bottom:0!important}
.xm-card-banner-compact-link:hover .xm-card-banner-compact-title{text-decoration:underline}
@media(max-width:650px){.xm-card-banner-compact-link{gap:12px}.xm-card-banner-compact-photo-frame{flex-basis:min(var(--xm-banner-photo-size,92px),76px);width:min(var(--xm-banner-photo-size,92px),76px);height:min(var(--xm-banner-photo-size,92px),76px)}.xm-card-banner-compact-photo{padding:12px}}

/* 2.3.6: adapt desktop columns to the actual number of selected banners */
.xm-card-banner-list.xm-card-banner-count-1{grid-template-columns:minmax(0,1fr)}
.xm-card-banner-list.xm-card-banner-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.xm-card-banner-list.xm-card-banner-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.xm-card-banner-list.xm-card-banner-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.xm-card-banner-list.xm-card-banner-count-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.xm-card-banner-list.xm-card-banner-count-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.xm-card-banner{position:relative;width:min(100%,var(--xm-banner-width,1200px));min-height:var(--xm-banner-height,100px);margin:0 auto;box-sizing:border-box;overflow:hidden;border-radius:var(--xm-banner-radius,8px);background:var(--xm-banner-bg,#eef7ff);border:1px solid rgba(22,70,160,.12)}
.xm-card-banner-background,.xm-card-banner-overlay{position:absolute;inset:0;pointer-events:none;border-radius:inherit}
.xm-card-banner-background{z-index:0;background-image:var(--xm-banner-bg-image,none);background-position:var(--xm-banner-bg-position,center);background-size:var(--xm-banner-bg-size,cover);background-repeat:no-repeat;opacity:var(--xm-banner-bg-opacity,1)}
.xm-card-banner-overlay{z-index:1;background:var(--xm-banner-overlay,#fff);opacity:var(--xm-banner-overlay-opacity,0)}
.xm-card-banner-inner{position:relative;z-index:2;min-height:inherit;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:var(--xm-banner-gap,20px);padding:var(--xm-banner-padding,18px)}
.xm-card-banner-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;align-self:var(--xm-banner-icon-align,center);transform:translateY(var(--xm-banner-icon-offset,0px))}
.xm-card-banner-icon-circle{width:var(--xm-banner-icon-circle,78px);height:var(--xm-banner-icon-circle,78px);border-radius:50%;background:var(--xm-banner-icon-circle-color,#dbeafe);display:flex;align-items:center;justify-content:center}
.xm-card-banner-icon-circle i{font-size:var(--xm-banner-icon-size,42px);line-height:1;color:var(--xm-banner-icon-color,#1646a0)}
.xm-card-banner-separator{display:block;flex:0 0 var(--xm-banner-separator-width,1px);width:var(--xm-banner-separator-width,1px);height:var(--xm-banner-separator-height,58px);background:var(--xm-banner-separator-color,#7aa8e8);opacity:.8}
.xm-card-banner-copy{flex:1 1 auto;min-width:0;text-align:var(--xm-banner-title-align,left)}
.xm-card-banner-copy h3{margin:0 0 5px!important;padding:0!important;font-size:var(--xm-banner-title-size,24px)!important;line-height:1.25!important;font-weight:var(--xm-banner-title-weight,700)!important;color:var(--xm-banner-title-color,#123b86)!important;text-align:var(--xm-banner-title-align,left)!important}
.xm-card-banner-description{max-width:var(--xm-banner-desc-width,760px);font-size:var(--xm-banner-desc-size,15px);line-height:1.45;color:var(--xm-banner-desc-color,#344054)}
/* 2.3.9: protezione del testo descrizione Banner dai reset CSS del tema */
.xm-card-banner .xm-card-banner-description{display:block!important;white-space:normal!important;overflow-wrap:anywhere}
.xm-card-banner .xm-card-banner-description p{display:block!important;width:auto!important;max-width:100%;margin:0 0 10px!important;padding:0!important;line-height:1.5!important;white-space:normal!important}
.xm-card-banner .xm-card-banner-description p:first-child{margin-top:0!important}
.xm-card-banner .xm-card-banner-description p:last-child{margin-bottom:0!important}
.xm-card-banner .xm-card-banner-description br{display:initial!important}
.xm-card-banner .xm-card-banner-description ul,.xm-card-banner .xm-card-banner-description ol{display:block!important;margin:0 0 10px!important;padding-left:1.5em!important}
.xm-card-banner .xm-card-banner-description li{display:list-item!important;margin:0 0 4px!important}
.xm-card-banner .xm-card-banner-description strong,.xm-card-banner .xm-card-banner-description b{font-weight:700!important}
.xm-card-banner-action{flex:0 0 auto;display:flex;justify-content:var(--xm-banner-button-align,right)}
.xm-card-banner-action a{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:11px 18px;min-height:44px;box-sizing:border-box;background:var(--xm-banner-button,#1646a0);color:var(--xm-banner-button-text,#fff)!important;text-decoration:none!important;border-radius:var(--xm-banner-button-radius,7px);font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap;transition:opacity .2s}
.xm-card-banner-action a:hover{opacity:.9}.xm-card-banner-arrow{font-size:20px;line-height:1;color:var(--xm-banner-arrow,#fff)}
@media(max-width:1000px){
  .xm-card-banner-list.xm-card-banner-count-3,
  .xm-card-banner-list.xm-card-banner-count-4,
  .xm-card-banner-list.xm-card-banner-count-5,
  .xm-card-banner-list.xm-card-banner-count-6{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){.xm-card-banner-list{grid-template-columns:1fr}}
/* 2.3.14: layout Banner adattivo su smartphone e contenitori stretti */
@media(max-width:700px){
  .xm-card-banner-list{grid-template-columns:minmax(0,1fr)!important;width:100%;gap:14px}
  .xm-card-banner-list>.xm-card-banner{width:100%;min-width:0}
  .xm-card-banner{width:100%;max-width:100%;min-width:0;min-height:0}
  .xm-card-banner-inner{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:clamp(14px,4vw,20px);min-height:0}
  .xm-card-banner-icon{width:100%;justify-content:center;align-self:center;transform:none}
  .xm-card-banner-icon-circle{max-width:100%}
  .xm-card-banner-separator{display:none}
  .xm-card-banner-copy{display:block;flex:1 1 auto;width:100%;max-width:100%;min-width:0;text-align:center!important;overflow-wrap:anywhere}
  .xm-card-banner-copy h3{font-size:min(var(--xm-banner-title-size,24px),22px)!important;line-height:1.25!important;text-align:center!important;overflow-wrap:anywhere}
  .xm-card-banner .xm-card-banner-description{width:100%;max-width:100%;text-align:center!important;overflow-wrap:anywhere;word-break:normal}
  .xm-card-banner-action{display:flex;flex:1 1 auto;width:100%;min-width:0;justify-content:center}
  .xm-card-banner-action a{display:flex;width:100%;max-width:100%;min-width:0;white-space:normal;flex-wrap:wrap;text-align:center;overflow-wrap:anywhere}
  .xm-card-banner-action a .xm-card-banner-arrow{flex:0 0 auto}
}
@media(max-width:380px){
  .xm-card-banner-inner{gap:12px;padding:14px}
  .xm-card-banner-icon-circle{width:min(var(--xm-banner-icon-circle,78px),64px);height:min(var(--xm-banner-icon-circle,78px),64px)}
  .xm-card-banner-icon-circle i{font-size:min(var(--xm-banner-icon-size,42px),34px)}
  .xm-card-banner-action a{gap:8px;padding:10px 12px;font-size:13px}
}

/* 2.3.3: link titolo Banner quando il pulsante è nascosto */
.xm-card-banner-title-link{color:inherit;text-decoration:none;}
.xm-card-banner-title-link:hover,.xm-card-banner-title-link:focus{text-decoration:underline;color:inherit;}


/* 2.3.12 — riduce lo spazio tra titolo e campi dinamici nelle Card Standard */
.xm-card-grid .xm-card:not(.xm-card-compact) .xm-card-body h3 {
    min-height: calc(var(--xm-title-size) * 1.3 * 2);
    margin-bottom: 16px;
}
.xm-card-preview-card .xm-card-body h3 {
    min-height: calc(var(--xm-title-size) * 1.3 * 2);
    margin-bottom: 16px;
}
@media (max-width: 650px) {
    .xm-card-grid .xm-card:not(.xm-card-compact) .xm-card-body h3 { min-height: 0; margin-bottom: 14px; }
}

/* 2.3.16: stile neutro per icona cliccabile. */
.xm-card-banner-icon-link{display:inline-flex;color:inherit;text-decoration:none;line-height:0}.xm-card-banner-icon-link:hover,.xm-card-banner-icon-link:focus{color:inherit;text-decoration:none}.xm-card-banner-icon-link:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:50%}
