/* Unified responsive layout for the #stock offer cards. */

html body #stock > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: 26px !important;
    row-gap: 24px !important;
    align-items: stretch !important;
    width: calc(100% - 40px) !important;
    max-width: 1140px !important;
    margin-inline: auto !important;
}

html body #stock > .e-con-inner > .elementor-widget-heading:first-child {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 40px !important;
}

html body #stock > .e-con-inner > .elementor-widget-heading:first-child .elementor-heading-title {
    font-size: 34px !important;
    line-height: 1.3 !important;
}

html body #stock > .e-con-inner > .elementor-widget-heading:first-child > .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

html body #stock > .e-con-inner > a.e-con {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 34px !important;
    grid-template-rows: 60px auto auto !important;
    column-gap: 0 !important;
    row-gap: 16px !important;
    align-content: start !important;
    align-self: stretch !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 274px !important;
    height: auto !important;
    padding: 18px !important;
    margin: 0 !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

html body #stock > .e-con-inner > a.e-con > * {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    align-self: start !important;
}

html body #stock > .e-con-inner > a.e-con > :nth-child(1) {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    margin: 0 !important;
}

html body #stock > .e-con-inner > a.e-con > :nth-child(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
}

html body #stock > .e-con-inner > a.e-con > :nth-child(3) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    margin: 0 !important;
}

html body #stock > .e-con-inner > a.e-con > :nth-child(4) {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    width: 100% !important;
    margin: 0 !important;
}

html body #stock > .e-con-inner > a.e-con > :is(:nth-child(1), :nth-child(2), :nth-child(3), :nth-child(4)) > .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    min-height: 0 !important;
}

html body #stock > .e-con-inner > a.e-con > :nth-child(2) .elementor-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    font-size: 34px !important;
}

html body #stock > .e-con-inner > a.e-con > :nth-child(2) .elementor-icon svg {
    width: 34px !important;
    height: 34px !important;
}

html body #stock > .e-con-inner > a.e-con > :nth-child(3) .elementor-heading-title {
    font-size: 20px !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere !important;
}

html body #stock > .e-con-inner > a.e-con > :nth-child(4) .elementor-heading-title {
    font-size: 14px !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
    html body #stock > .e-con-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-width: 900px !important;
        column-gap: 24px !important;
        row-gap: 24px !important;
    }

    html body #stock > .e-con-inner > .elementor-widget-heading:first-child {
        margin-bottom: 20px !important;
    }
}

/* Preserve Elementor's original wide-desktop geometry: the first card and
   heading text sit on the common content line, while all four cards use the
   full 1440px design container with the original proportional gaps. */
@media (min-width: 1200px) {
    html body #stock > .e-con-inner {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        column-gap: 0 !important;
        row-gap: 24px !important;
        width: 100% !important;
        max-width: min(100%, 1440px) !important;
        margin-inline: auto !important;
    }

    html body #stock > .e-con-inner > .elementor-widget-heading:first-child {
        flex: 0 0 100% !important;
        width: 100% !important;
    }

    html body #stock > .e-con-inner > .elementor-widget-heading:first-child > .elementor-widget-container {
        padding-left: 2.7% !important;
    }

    html body #stock > .e-con-inner > a.e-con {
        flex: 0 0 20.833333% !important;
        width: 20.833333% !important;
        margin-left: 2% !important;
    }

    html body #stock > .e-con-inner > .elementor-widget-heading:first-child + a.e-con {
        margin-left: 2.7% !important;
    }
}

@media (max-width: 767px) {
    html body #stock > .e-con-inner {
        grid-template-columns: minmax(0, 1fr) !important;
        width: calc(100% - 30px) !important;
        max-width: 330px !important;
        padding-inline: 10px !important;
        box-sizing: border-box !important;
        column-gap: 0 !important;
        row-gap: 26px !important;
    }

    html body #stock > .e-con-inner > .elementor-widget-heading:first-child {
        margin: 0 !important;
    }

    html body #stock > .e-con-inner > .elementor-widget-heading:first-child .elementor-heading-title {
        font-size: 22px !important;
        line-height: 1.3 !important;
    }
}
