/*
 * Shared homepage overrides.
 * Keep Elementor class names intact so layout matches the live site.
 */

img:is([sizes="auto" i], [sizes^="auto," i]) {
    contain-intrinsic-size: 3000px 1500px;
}

body {
    margin: 0;
}

/* Popup close icon must stay clean — no underline or border. */
.dialog-close-button,
.dialog-close-button:hover,
.dialog-close-button:focus,
#elementor-popup-modal-660 .dialog-close-button {
    text-decoration: none !important;
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

/* Hide background images until Elementor lazy-load marks the section ready. */
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * {
    background-image: none !important;
}

@media screen and (max-height: 1024px) {
    .e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload),
    .e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * {
        background-image: none !important;
    }
}

@media screen and (max-height: 640px) {
    .e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload),
    .e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * {
        background-image: none !important;
    }
}

/* Contact form field spacing. */
.elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper) {
    padding-left: 25px;
}

/* Popup menu CTA pill. */
#menu-item-279 a {
    color: white;
    background: #89302A;
    border-radius: 100px;
    padding: 8px 25px;
    display: inline-block !important;
    margin-left: 10px;
}

.elementor-portfolio__filters {
    justify-content: start;
}

.elementor-portfolio__filter.elementor-active {
    color: var(--e-global-color-primary);
    font-weight: 600 !important;
    border-bottom: 1px solid;
}

.work {
    padding: 20px 35px;
}

.work p {
    margin-bottom: 0;
    color: #5B4D3E;
    font-family: "Nunito", sans-serif;
    font-size: 18px;
}

.work-title {
    text-transform: uppercase;
    font-weight: 400 !important;
    font-size: 22px !important;
}

.elementskit-menu-overlay {
    background: #89302A;
}

::placeholder {
    opacity: 1 !important;
    padding-left: 0;
}

.page-id-148 ::placeholder,
.page-id-750 ::placeholder {
    opacity: 1 !important;
    padding-left: 0 !important;
}

.elementor-button-icon svg {
    font-size: 18px;
    position: relative;
    top: 5px;
}
