/* Casa Macondo - Especiales. Aislado del componente casa_hero. */

.cm-specials {
    width: 100%!important;
    margin: 0!important;
    padding: 0!important;
}
.cm-special {
    background: var(--cms-bg)!important;
    color: var(--cms-text)!important;
    width: 100%!important;
    overflow: hidden!important;
}
.cm-special__inner {
    max-width: 1440px!important;
    margin: auto!important;
    display: grid!important;
    grid-template-columns: 50% 50%!important;
    min-height: 390px!important;
    align-items: stretch!important;
}
.cm-special__content {
    padding: 48px clamp(25px, 5vw, 78px)!important;
    display: flex!important;
    flex-direction: column!important;
    align-items: flex-start!important;
    justify-content: center!important;
    min-width: 0!important;
}
.cm-special__label {
    font: 400 14px/1.5 'Poppins', sans-serif!important;
    border-bottom: 1px solid currentColor!important;
    opacity: .9!important;
    padding-bottom: 12px!important;
    margin-bottom: 20px!important;
    width: 100%!important;
    max-width: 410px!important;
}
.cm-special__title {
    font-family: 'Merriweather', Georgia, serif!important;
    font-size: clamp(27px, 3vw, 43px)!important;
    line-height: 1.13!important;
    letter-spacing: -.02em!important;
    color: inherit!important;
    margin: 0 0 22px!important;
    font-weight: 700!important;
}
.cm-special__description,
.cm-special__extra {
    font: italic 400 15px/1.55 Georgia, serif!important;
    color: inherit!important;
    max-width: 460px!important;
    margin: 0 0 12px!important;
}
.cm-special__description p,
.cm-special__extra p {
    margin: 0 0 10px!important;
    color: inherit!important;
}
.cm-special__button {
    background: var(--cms-button)!important;
    color: var(--cms-button-text)!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 12px!important;
    padding: 11px 25px!important;
    border-radius: 30px!important;
    font: 600 13px/1.3 'Poppins', sans-serif!important;
    text-decoration: none!important;
    margin-top: 13px!important;
    min-width: 175px!important;
    transition: transform .2s ease, filter .2s ease!important;
}
.cm-special__button:hover,
.cm-special__button:focus-visible {
    transform: translateY(-2px)!important;
    filter: brightness(1.1)!important;
    color: var(--cms-button-text)!important;
}
.cm-special__button:focus-visible {
    outline: 3px solid currentColor!important;
    outline-offset: 4px!important;
}
.cm-special__media {
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    min-width: 0!important;
    padding: 25px 24px!important;
    text-decoration: none!important;
    overflow: hidden!important;
}
.cm-special__img {
    display: block!important;
    max-width: 100%!important;
    width: 100%!important;
    height: auto!important;
    max-height: 450px!important;
    object-fit: contain!important;
}
.cm-special--reverse .cm-special__media {
    order: -1!important;
}
@media(max-width:850px) {
    .cm-special__inner {
        grid-template-columns: 1fr!important;
        min-height: 0!important;
    }
    .cm-special__content {
        padding: 36px 25px 18px!important;
    }
    .cm-special__media {
        padding: 15px 25px 35px!important;
        order: 2!important;
    }
    .cm-special__img {
        max-height: 360px!important;
    }
    .cm-special__title {
        font-size: clamp(26px, 6vw, 35px)!important;
    }
}
@media(prefers-reduced-motion:reduce) {
    .cm-special__button {
        transition: none!important;
    }
}