/* ========================================================
   Card Hover Effects & Animated Background SVG Shapes
   ======================================================== */

/* Card Container Base */
.card-modulistica, .elementor-element-card_item_modulistica, #card_item_modulistica,
.card-informative, .elementor-element-card_item_informative, #card_item_informative,
.card-download, .elementor-element-card_item_download, #card_item_download {
    position: relative !important;
    overflow: hidden !important;
    transition: transform 0.45s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.45s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

/* Card Container Content Stacking */
.card-modulistica > *, .elementor-element-card_item_modulistica > *, #card_item_modulistica > *,
.card-informative > *, .elementor-element-card_item_informative > *, #card_item_informative > *,
.card-download > *, .elementor-element-card_item_download > *, #card_item_download > * {
    position: relative !important;
    z-index: 2 !important;
}

/* Card Hover State */
.card-modulistica:hover, .elementor-element-card_item_modulistica:hover, #card_item_modulistica:hover,
.card-informative:hover, .elementor-element-card_item_informative:hover, #card_item_informative:hover,
.card-download:hover, .elementor-element-card_item_download:hover, #card_item_download:hover {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15) !important;
    transform: translateY(-15px) scale(1.02) !important;
    z-index: 10 !important;
}

/* Background SVGs placed in top-right of cards via ::before */
.card-modulistica::before, .elementor-element-card_item_modulistica::before, #card_item_modulistica::before,
.card-informative::before, .elementor-element-card_item_informative::before, #card_item_informative::before,
.card-download::before, .elementor-element-card_item_download::before, #card_item_download::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: -10px !important;
	left: unset !important;
    right: -10px !important;
    width: 180px !important;
    height: 180px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    opacity: 1 !important;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* Specific SVG shapes for each card */
.card-modulistica::before, .elementor-element-card_item_modulistica::before, #card_item_modulistica::before {
    background-image: url('https://odcec.lo.w3b.it/wp-content/uploads/2026/09/shape-modulistica.svg') !important;
}

.card-informative::before, .elementor-element-card_item_informative::before, #card_item_informative::before {
    background-image: url('https://odcec.lo.w3b.it/wp-content/uploads/2026/09/shape-informative.svg') !important;
}

.card-download::before, .elementor-element-card_item_download::before, #card_item_download::before {
    background-image: url('https://odcec.lo.w3b.it/wp-content/uploads/2026/09/shape-download-1.svg') !important;
}

/* Hover State: Opacity 0.35 + Scale(1.1) + Rotate(5deg) */
.card-modulistica:hover::before, .elementor-element-card_item_modulistica:hover::before, #card_item_modulistica:hover::before,
.card-informative:hover::before, .elementor-element-card_item_informative:hover::before, #card_item_informative:hover::before,
.card-download:hover::before, .elementor-element-card_item_download:hover::before, #card_item_download:hover::before {
    opacity: 0.35 !important;
    transform: scale(1.1) rotate(5deg) !important;
}
