.cards-ew2-card{
    position:relative;
    box-sizing:border-box;
    width:100%;
    background:#fff;
    color:#374151;
}
.cards-ew2-card *,
.cards-ew2-card *::before,
.cards-ew2-card *::after{box-sizing:border-box}
.cards-ew2-media-link{display:block;text-decoration:none}
.cards-ew2-media{
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    margin-left:auto;
    margin-right:auto;
}
.cards-ew2-media img{
    display:block;
    width:100%;
    height:100%;
}
.cards-ew2-media svg{display:block}
.cards-ew2-number-wrap{
    position:relative;
    z-index:2;
    display:flex;
    justify-content:center;
}
.cards-ew2-number-shape{
    --ew2-number-size:64px;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    width:var(--ew2-number-size);
    height:var(--ew2-number-size);
    line-height:1;
}
.cards-ew2-number-value{position:relative;z-index:2}
.cards-ew2-number-shape.shape-circle{border-radius:50%}
.cards-ew2-number-shape.shape-square{border-radius:0}
.cards-ew2-number-shape.shape-rounded{border-radius:18%}
.cards-ew2-number-shape.shape-pill{width:calc(var(--ew2-number-size) * 1.45);border-radius:999px}
.cards-ew2-number-shape.shape-diamond{transform:rotate(45deg);border-radius:8%}
.cards-ew2-number-shape.shape-diamond .cards-ew2-number-value{transform:rotate(-45deg)}
.cards-ew2-number-shape.shape-hexagon{
    clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%);
    border-radius:0;
}
.cards-ew2-title{box-sizing:border-box}
.cards-ew2-text{box-sizing:border-box}
.cards-ew2-text p:first-child{margin-top:0}
.cards-ew2-text p:last-child{margin-bottom:0}
.cards-ew2-bottom-icon-wrap{display:flex;justify-content:center}
.cards-ew2-bottom-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
}
.cards-ew2-bottom-icon svg{display:block}
.cards-ew2-button-wrap{display:flex;justify-content:center}
.cards-ew2-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    text-decoration:none;
    cursor:pointer;
    transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease;
    transform-origin:center;
}
.cards-ew2-button:hover{text-decoration:none}
.cards-ew2-button-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.cards-ew2-button-icon svg{width:1em;height:1em}
@media (prefers-reduced-motion: reduce){.cards-ew2-button{transition:none}}
.cards-ew2-bottom-icon img{
    display:block;
    max-width:100%;
}

/* v1.2.1 - păstrează în frontend aceeași înălțime a imaginii ca în editorul Elementor.
 * Elementor/tema pot aplica `height:auto` pe img după CSS-ul widgetului. Selectorul
 * mai specific de mai jos împiedică imaginea să revină la raportul natural. */
.elementor .cards-ew2-card .cards-ew2-media > img.cards-ew2-media-image,
.cards-ew2-card .cards-ew2-media > img.cards-ew2-media-image{
    display:block;
    width:100%;
    height:100%;
    max-width:none;
}


/* v1.2.2 - protecție frontend pentru teme/optimizatoare care forțează height:auto pe imagini.
 * Dimensiunile exacte ale containerului sunt injectate per-widget la randare. */
.elementor .elementor-widget-cards-ew-2 .cards-ew2-media > img.cards-ew2-media-image,
.elementor-widget-cards-ew-2 .cards-ew2-media > img.cards-ew2-media-image,
.cards-ew2-card .cards-ew2-media > img.cards-ew2-media-image{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
}


/* v1.2.3 - dimensiunea imaginii este controlată de valorile salvate în Elementor,
 * inclusiv când tema, Elementor sau un optimizator încearcă să impună height:auto. */
.cards-ew2-media{
    width:var(--cards-ew2-media-width,100%) !important;
    height:var(--cards-ew2-media-height,180px) !important;
}
.cards-ew2-media > img.cards-ew2-media-image{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:var(--cards-ew2-media-fit,cover) !important;
    object-position:center center !important;
}

/* v1.2.4 - compatibilitate cu optimizatoarele care înlocuiesc <img> cu <picture>.
 * Super Image Optimizer PRO livrează imaginile AVIF/WebP într-un <picture class="sio-picture">.
 * În editor Elementor filtrul nu rulează, dar pe frontend da; fără aceste reguli,
 * picture-ul rămânea cu înălțime auto, iar imaginea nu mai umplea containerul setat. */
.cards-ew2-media > picture,
.cards-ew2-media > picture.sio-picture,
.cards-ew2-media picture.sio-picture{
    display:block !important;
    position:relative !important;
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:inherit !important;
    overflow:hidden !important;
    line-height:0 !important;
    flex:0 0 100% !important;
}
.cards-ew2-media > picture > img.cards-ew2-media-image,
.cards-ew2-media > picture.sio-picture > img.cards-ew2-media-image,
.cards-ew2-media picture.sio-picture > img.cards-ew2-media-image{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:var(--cards-ew2-media-fit,cover) !important;
    object-position:center center !important;
    margin:0 !important;
    padding:0 !important;
}
