/* ===============================
   Widget DP - Image + Texte + Icône
   =============================== */

/* Conteneur principal */
.dp-iti {
    position: relative;
    display: block;
    isolation: isolate;
    overflow: hidden;
    border-radius: var(--dp-iti-radius, var(--dp-radius-md, 12px));
    font-family: var(--dp-font-base, inherit);
    font-weight: var(--dp-font-base-weight, 400);
}

/* Zone media */
.dp-iti__media {
    position: absolute;
    inset: 0;
}

/* IMPORTANT : la zone image occupe 100% du bloc */
.dp-iti__image {
    position: absolute;
    inset: 0;
}

/* Image : cover par défaut, centrée via variables CSS */
.dp-iti__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;  /* recadrage par défaut */
    object-position: var(--dp-obj-x, center) var(--dp-obj-y, center);
    display: block;
}

/* Ajustements (choix utilisateur) */
.dp-iti.fit-cover   .dp-iti__image img { object-fit: cover; }
.dp-iti.fit-contain .dp-iti__image img { object-fit: contain; }
.dp-iti.fit-fill    .dp-iti__image img { object-fit: fill; }
.dp-iti.fit-none    .dp-iti__image img { object-fit: none; }

/* Mapping des positions horizontales */
.dp-iti.imgh-left   { --dp-obj-x: left; }
.dp-iti.imgh-center { --dp-obj-x: center; }
.dp-iti.imgh-right  { --dp-obj-x: right; }

/* Mapping des positions verticales */
.dp-iti.imgv-top    { --dp-obj-y: top; }
.dp-iti.imgv-center { --dp-obj-y: center; }
.dp-iti.imgv-bottom { --dp-obj-y: bottom; }

/* Compatibilité avec l’ancienne syntaxe */
.dp-iti.img-left   { --dp-obj-x: left; }
.dp-iti.img-center { --dp-obj-x: center; }
.dp-iti.img-right  { --dp-obj-x: right; }

/* Overlay (dégradé semi-transparent) */
.dp-iti__overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.35));
}

/* Zone contenu (texte + icône) */
.dp-iti__content {
    position: relative;
    z-index: 2;
    display: flex;
    gap: .6rem;
    align-items: center;
    padding: 28px;
}

/* Alignement horizontal du contenu */
.dp-iti.pos-left   .dp-iti__content { justify-content: flex-start; text-align: left; }
.dp-iti.pos-center .dp-iti__content { justify-content: center;     text-align: center; }
.dp-iti.pos-right  .dp-iti__content { justify-content: flex-end;   text-align: right; }

/* Icône + textes */
.dp-iti__icon { display: inline-flex; line-height: 1; }
.dp-iti__title { margin: 0; font-family: var(--dp-font-heading, inherit); font-weight: var(--dp-font-heading-weight, 700); }
.dp-iti__subtitle { margin-top: .35rem; opacity: .95; }

/* Lien cliquable couvrant tout le bloc */
.dp-iti__link {
    position: absolute;
    inset: 0;
    z-index: 3;
}
.dp-iti__cta-visually { position: absolute; left: -9999px; }
