body.lasso-press-has-no-items #section_presse {
    display: none !important;
}

#section_presse {
    margin-bottom: 100px;
    padding-bottom: 0;
}

#section_presse .et_pb_row {
    width: 100%;
    max-width: 1300px;
}

.lasso-press-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 42px 5.5%;
    width: 100%;
}

.lasso-press-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: stretch;
    color: #1d1d1b;
    text-align: left;
}

.lasso-press-card__visual {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: #f5f1eb;
}

.lasso-press-card__image {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
}

.lasso-press-card__placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(135deg, rgba(202, 158, 103, 0.2), rgba(202, 158, 103, 0.04)),
        #f5f1eb;
    color: #1d1d1b;
    font-size: clamp(18px, 2vw, 28px);
    font-weight: 700;
    letter-spacing: 0.14em;
}

.lasso-press-card__title {
    margin: 34px 0 0;
    padding: 0;
    color: #1d1d1b;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
    text-transform: uppercase;
}

.lasso-press-card__meta,
.lasso-press-card__excerpt {
    color: #1d1d1b;
    font-size: 17px;
    line-height: 1.4;
    text-align: left;
}

.lasso-press-card__meta {
    margin: 0 0 17px;
    padding: 0;
}

.lasso-press-card__source {
    font-weight: 500;
}

.lasso-press-card__separator {
    display: inline-block;
    padding: 0 0.35em;
    color: #ca9e67;
}

.lasso-press-card__excerpt {
    margin: 0 0 17px;
    padding: 0;
}

.lasso-press-card__button {
    display: inline-block;
    align-self: flex-start;
    min-height: 50px;
    margin: 0;
    padding: 5.7px 19px;
    border: 3px solid #ca9e67;
    border-radius: 0;
    background: #ca9e67;
    color: #fff;
    font-size: 19px;
    font-weight: 500;
    line-height: 32.3px;
    text-decoration: none;
    transition:
        border-color 180ms ease,
        color 180ms ease,
        background-color 180ms ease;
}

.lasso-press-card__button:hover,
.lasso-press-card__button:focus-visible {
    border-color: #1d1d1b;
    background: #1d1d1b;
    color: #fff;
    text-decoration: none;
}

.lasso-press-card__button:focus-visible {
    outline: 2px solid #ca9e67;
    outline-offset: 3px;
}

.lasso-press-empty {
    margin: 0;
    color: #1d1d1b;
    font-size: 17px;
    line-height: 1.6;
    text-align: center;
}

@media (max-width: 980px) {
    .lasso-press-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 48px;
    }
}

@media (max-width: 600px) {
    #section_presse {
        padding-right: 20px;
        padding-left: 20px;
    }

    .lasso-press-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .lasso-press-card__title {
        margin-top: 34px;
    }
}

/*
 * The legacy Divi overlay CSS targets generated module numbers such as
 * et_pb_divider_0 and et_pb_text_1. Those numbers no longer match the
 * residence modules, which lets the overlay content escape each square.
 * These selectors rely on the stable section, structure and custom class.
 */
#section_residences .colonneoverlayandrei {
    height: auto !important;
    aspect-ratio: 1 / 1;
}

#section_residences
    .colonneoverlayandrei
    > .et_pb_divider_hidden.et-overlay-item {
    position: absolute !important;
    z-index: 10;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

#section_residences
    .colonneoverlayandrei
    > .et_pb_divider_hidden.et-overlay-item
    + .et_pb_text.et-overlay-item {
    position: absolute !important;
    z-index: 20;
    inset: auto auto 60% 50% !important;
    width: 85% !important;
    max-width: 85% !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
}

#section_residences
    .colonneoverlayandrei
    > .et_pb_divider.et-overlay-item:not(.et_pb_divider_hidden) {
    position: absolute !important;
    z-index: 20;
    inset: 50% auto auto 50% !important;
    width: 100px !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
}

#section_residences .colonneoverlayandrei > .andrei_et_pb_text_2 {
    position: absolute !important;
    z-index: 20;
    inset: 60% auto auto 50% !important;
    width: 85% !important;
    max-width: 85% !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
}

#section_residences
    .colonneoverlayandrei
    > .andrei_et_pb_text_2
    + .et_pb_text.et-overlay-item {
    position: absolute !important;
    z-index: 20;
    inset: auto auto 10px 50% !important;
    width: 85% !important;
    max-width: 85% !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
}
