/*
 * Category Image Manager — stili card pubblica.
 * Tutte le regole sono scoperte sotto il prefisso .cim- per non interferire
 * con gli stili globali del tema (vedi punto 24 della specifica).
 *
 * Le proprieta' visive chiave usano !important: alcuni temi applicano reset
 * globali molto aggressivi (box, colori, line-height, text-decoration) che
 * altrimenti sovrascriverebbero la card anche a parita' di specificita'.
 */

.cim-card,
.cim-card * {
    box-sizing: border-box;
}

.cim-card {
    --cim-accent: #1f4d3f;
    --cim-accent-hover: #16382e;
    --cim-radius: 16px;

    display: flex !important;
    flex-direction: column !important;
    max-width: 420px;
    width: 100%;
    background: #ffffff !important;
    border-radius: var(--cim-radius) !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    margin: 0 0 24px;
}

.cim-card-media {
    position: relative !important;
    display: block !important;
    line-height: 0 !important;
}

.cim-card-media a {
    display: block !important;
    text-decoration: none !important;
}

.cim-card-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

.cim-card-badge {
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    display: inline-block !important;
    background: var(--cim-accent) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    padding: 6px 14px !important;
    border-radius: 999px !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
}

.cim-card-body {
    padding: 20px 24px 24px !important;
}

.cim-card-eyebrow {
    display: block !important;
    color: var(--cim-accent) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin: 0 0 8px !important;
    line-height: 1.4 !important;
}

.cim-card-title {
    margin: 0 0 10px !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
}

.cim-card-subtitle {
    margin: 0 0 20px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #6b6b6b !important;
}

.cim-card-button {
    display: block !important;
    text-align: center !important;
    background: var(--cim-accent) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    padding: 14px 20px !important;
    border-radius: 999px !important;
    line-height: 1.4 !important;
    transition: background-color 0.2s ease;
}

.cim-card-button:hover,
.cim-card-button:focus {
    background: var(--cim-accent-hover) !important;
    color: #ffffff !important;
}

.cim-elementor-placeholder {
    padding: 16px;
    border: 1px dashed #ccc;
    border-radius: 8px;
    color: #666;
    font-size: 13px;
    text-align: center;
}
