/* Reviewed menu destinations only, FR + EN. Keep selector whitespace intact.
 * The original 1.0.5 shared CSS and JavaScript remain unchanged.
 * Main contact and blog layouts retain their dedicated geometry. */
body.asf-modern-shapes.asf-menu-photos {
    --asf-menu-photo-shadow: 0 12px 30px rgba(41, 40, 36, .09), 0 4px 12px rgba(var(--asf-red-rgb), .10);
}
body.asf-modern-shapes.asf-menu-page #jupiterx-main > .jupiterx-main-content > :is(.container, .container-fluid) {
    width: 100% !important;
    max-width: 1320px !important;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px !important;
    padding-right: 24px !important;
}
body.asf-modern-shapes.asf-menu-page #jupiterx-main > .jupiterx-main-content > :is(.container, .container-fluid) > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
body.asf-modern-shapes.asf-menu-page #jupiterx-primary {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.asf-modern-shapes.asf-menu-page #jupiterx-main .elementor-top-section > .elementor-container {
    max-width: 1272px !important;
}
body.asf-modern-shapes.asf-menu-page #jupiterx-main .elementor-top-section.elementor-section-stretched:not(.elementor-element-155a550):not(.elementor-element-ef68b54) {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
}
body.asf-modern-shapes.asf-menu-page #jupiterx-main .elementor-column {
    min-width: 0;
}
body.asf-modern-shapes.asf-menu-page #jupiterx-main .raven-heading-h2 .raven-heading-title {
    font-size: clamp(25px, 2.4vw, 32px) !important;
    line-height: 1.35 !important;
}
body.asf-modern-shapes.asf-menu-page #jupiterx-main .raven-heading-h1 .raven-heading-title {
    font-size: clamp(30px, 3vw, 40px) !important;
    line-height: 1.25 !important;
}
body.asf-modern-shapes.asf-menu-page #jupiterx-main :is(.raven-button-wrapper, .raven-button-link, a.raven-button, a.elementor-button, .raven-submit-button, .wpcf7-submit, .wpforms-submit) {
    height: auto !important;
    max-width: 100% !important;
    box-sizing: border-box;
}
body.asf-modern-shapes.asf-menu-page #jupiterx-main :is(a.raven-button, a.elementor-button) {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: min(160px, 100%);
    min-height: 52px;
    white-space: normal !important;
    text-align: center;
}
body.asf-modern-shapes.asf-menu-page #jupiterx-main :is(.raven-button-content, .raven-button-texts-wrapper, .button-text-container, .elementor-button-content-wrapper) {
    min-width: 0;
    max-width: 100%;
}
body.asf-modern-shapes.asf-menu-page #jupiterx-main .raven-submit-button {
    width: 100% !important;
    min-height: 54px;
    justify-content: center;
}

/* Native image widgets and existing lightbox links keep their original files. */
body.asf-modern-shapes.asf-menu-photos #jupiterx-main .elementor-widget-raven-image .raven-image,
body.asf-modern-shapes.asf-menu-photos #jupiterx-main .elementor-widget-image img,
body.asf-modern-shapes.asf-menu-photos #jupiterx-main .elementor-image-gallery .gallery-item img,
body.asf-modern-shapes.asf-menu-photos #jupiterx-main .jet-images-layout__image {
    border-radius: var(--asf-radius) !important;
    box-shadow: var(--asf-menu-photo-shadow);
}
body.asf-modern-shapes.asf-menu-photos #jupiterx-main .elementor-widget-raven-image .raven-image img {
    border-radius: inherit !important;
    box-shadow: none;
}
/* Elementor stores several prominent photos as column/section backgrounds.
 * The render hook marks actual photographs before the HTML is sent. */
body.asf-modern-shapes.asf-menu-photos #jupiterx-main .elementor-section.asf-menu-photo,
body.asf-modern-shapes.asf-menu-photos #jupiterx-main .e-con.asf-menu-photo,
body.asf-modern-shapes.asf-menu-photos #jupiterx-main .elementor-column.asf-menu-photo > .elementor-widget-wrap {
    border-radius: var(--asf-radius) !important;
    box-shadow: var(--asf-menu-photo-shadow);
    overflow: hidden;
}
body.asf-modern-shapes.asf-menu-photos #jupiterx-main .elementor-section.asf-menu-photo {
    border-radius: calc(var(--asf-radius) + 6px) !important;
}
body.asf-modern-shapes.asf-menu-photos #jupiterx-main .asf-menu-photo > .elementor-background-overlay,
body.asf-modern-shapes.asf-menu-photos #jupiterx-main .asf-menu-photo > .elementor-widget-wrap > .elementor-background-overlay,
body.asf-modern-shapes.asf-menu-photos #jupiterx-main .asf-menu-photo > .elementor-widget-wrap > .elementor-motion-effects-container {
    border-radius: inherit;
}

/* Existing project thumbnails fit their rows without squeezed columns.
 * auto-fit keeps authored two/three-card rows and stacks them on phones. */
body.asf-modern-shapes.asf-menu-page #jupiterx-main .elementor-inner-section > .elementor-container:has(> .elementor-column > .asf-project-card) {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    gap: 24px;
    align-items: stretch;
}
body.asf-modern-shapes.asf-menu-page #jupiterx-main .elementor-inner-section > .elementor-container:has(> .elementor-column > .asf-project-card) > .elementor-column {
    width: 100% !important;
    min-width: 0;
}
body.asf-modern-shapes.asf-menu-page #jupiterx-main .asf-project-card {
    width: 100%;
    margin: 0 !important;
    box-sizing: border-box;
    box-shadow: var(--asf-menu-photo-shadow);
}
body.asf-modern-shapes.asf-menu-photos #jupiterx-main .asf-project-card .elementor-widget-image img {
    box-shadow: none;
}

/* Kitchen process: compact section title and five balanced photo/text rows. */
body.asf-modern-shapes.asf-kitchen-steps #jupiterx-main .elementor-element-179e27c {
    margin: 48px auto 24px !important;
    padding: 0 24px !important;
}
body.asf-modern-shapes.asf-kitchen-steps #jupiterx-main .elementor-element-2144720 > .elementor-widget-wrap {
    padding: 24px 0 !important;
    background-image: none !important;
    background-color: var(--asf-paper) !important;
}
body.asf-modern-shapes.asf-kitchen-steps #jupiterx-main .elementor-element-36fd004 .raven-heading-title {
    max-width: 44ch;
    margin: 0 auto !important;
    font-size: clamp(26px, 2.5vw, 34px) !important;
    line-height: 1.35 !important;
    text-align: center !important;
}
body.asf-modern-shapes.asf-kitchen-steps #jupiterx-main :is(.elementor-element-f3aa86b, .elementor-element-f707dc5, .elementor-element-a5c280e, .elementor-element-ebb300a, .elementor-element-76e21c4) {
    margin: 0 auto 32px !important;
    padding: 0 24px !important;
    border: 0 !important;
}
body.asf-modern-shapes.asf-kitchen-steps #jupiterx-main :is(.elementor-element-f3aa86b, .elementor-element-f707dc5, .elementor-element-a5c280e, .elementor-element-ebb300a, .elementor-element-76e21c4) > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: 32px;
    align-items: stretch;
}
body.asf-modern-shapes.asf-kitchen-steps #jupiterx-main :is(.elementor-element-f3aa86b, .elementor-element-f707dc5, .elementor-element-a5c280e, .elementor-element-ebb300a, .elementor-element-76e21c4) > .elementor-container > .elementor-column {
    width: 100% !important;
    min-width: 0;
}
body.asf-modern-shapes.asf-kitchen-steps #jupiterx-main :is(.elementor-element-3a6e4b4, .elementor-element-bfd7c25, .elementor-element-8579d01, .elementor-element-13104d0, .elementor-element-a564cbb) > .elementor-widget-wrap {
    min-height: 420px;
    padding: 24px !important;
    border-radius: var(--asf-radius) !important;
    box-shadow: var(--asf-menu-photo-shadow);
    overflow: hidden;
}
body.asf-modern-shapes.asf-kitchen-steps #jupiterx-main :is(.elementor-element-8697cc9, .elementor-element-92f8edf, .elementor-element-d77aa4f, .elementor-element-1a52352, .elementor-element-c0448a4) > .elementor-widget-wrap {
    padding: 32px !important;
    background-image: none !important;
    background-color: var(--asf-paper) !important;
    align-content: center;
}
body.asf-modern-shapes.asf-kitchen-steps #jupiterx-main :is(.elementor-element-8697cc9, .elementor-element-92f8edf, .elementor-element-d77aa4f, .elementor-element-1a52352, .elementor-element-c0448a4) .raven-heading-title {
    font-size: clamp(24px, 2.2vw, 30px) !important;
    line-height: 1.35 !important;
}
/* Force white numerals above the general heading and legacy-red overrides.
 * Preserve the original fadeInLeft animation and its data-settings. */
body.asf-modern-design.asf-kitchen-steps #jupiterx-main :is(.elementor-element-4ee5ce8, .elementor-element-d220f26, .elementor-element-2c52321, .elementor-element-9afa52c, .elementor-element-40cc012) > .elementor-widget-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    padding: 0 !important;
    background-color: var(--asf-taupe) !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 18px !important;
    box-shadow: 0 5px 16px rgba(41, 40, 36, .16);
}
body.asf-modern-design.asf-kitchen-steps #jupiterx-main :is(.elementor-element-4ee5ce8, .elementor-element-d220f26, .elementor-element-2c52321, .elementor-element-9afa52c, .elementor-element-40cc012) .elementor-heading-title {
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--asf-white) !important;
    -webkit-text-fill-color: var(--asf-white) !important;
    font-family: "Poppins", "Roboto", system-ui, sans-serif !important;
    font-size: 32px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
}
@media (max-width: 1024px) {
    body.asf-modern-shapes.asf-kitchen-steps #jupiterx-main :is(.elementor-element-f3aa86b, .elementor-element-f707dc5, .elementor-element-a5c280e, .elementor-element-ebb300a, .elementor-element-76e21c4) > .elementor-container {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }
    body.asf-modern-shapes.asf-kitchen-steps #jupiterx-main :is(.elementor-element-3a6e4b4, .elementor-element-bfd7c25, .elementor-element-8579d01, .elementor-element-13104d0, .elementor-element-a564cbb) > .elementor-widget-wrap {
        min-height: 360px;
    }
}
@media (max-width: 767px) {
    body.asf-modern-shapes.asf-menu-page #jupiterx-main .raven-form .raven-field-group:not(.raven-field-type-hidden):not(.raven-field-type-recaptcha_v3) {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
    }
    body.asf-modern-shapes.asf-menu-page #jupiterx-main > .jupiterx-main-content > :is(.container, .container-fluid) {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    body.asf-modern-shapes.asf-menu-page #jupiterx-main .elementor-inner-section > .elementor-container:has(> .elementor-column > .asf-project-card) {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }
    body.asf-modern-shapes.asf-kitchen-steps #jupiterx-main .elementor-element-179e27c {
        margin: 32px auto 16px !important;
        padding: 0 20px !important;
    }
    body.asf-modern-shapes.asf-kitchen-steps #jupiterx-main :is(.elementor-element-f3aa86b, .elementor-element-f707dc5, .elementor-element-a5c280e, .elementor-element-ebb300a, .elementor-element-76e21c4) {
        padding: 0 20px !important;
        margin-bottom: 24px !important;
    }
    body.asf-modern-shapes.asf-kitchen-steps #jupiterx-main :is(.elementor-element-3a6e4b4, .elementor-element-bfd7c25, .elementor-element-8579d01, .elementor-element-13104d0, .elementor-element-a564cbb) > .elementor-widget-wrap {
        min-height: 300px;
        padding: 20px !important;
    }
    body.asf-modern-shapes.asf-kitchen-steps #jupiterx-main :is(.elementor-element-8697cc9, .elementor-element-92f8edf, .elementor-element-d77aa4f, .elementor-element-1a52352, .elementor-element-c0448a4) > .elementor-widget-wrap {
        padding: 16px 0 8px !important;
    }
    body.asf-modern-design.asf-kitchen-steps #jupiterx-main :is(.elementor-element-4ee5ce8, .elementor-element-d220f26, .elementor-element-2c52321, .elementor-element-9afa52c, .elementor-element-40cc012) > .elementor-widget-container {
        width: 64px;
        height: 64px;
    }
}

/* Continuous project galleries: the authored three/four-card groups share
 * one grid. Flatten layout boxes only; keep DOM nodes, links and lightboxes.
 * The four material-category cards keep their existing two-column layout. */
body.asf-modern-shapes.asf-menu-page #jupiterx-main :is(.elementor-element-a3a8166, .elementor-element-f09b1e0, .elementor-element-4d35c29, .elementor-element-56609f5, .elementor-element-8344c22, .elementor-element-7fddda0, .elementor-element-ce28929, .elementor-element-c563253, .elementor-element-c9da60a, .elementor-element-884d43e, .elementor-element-7b8a865, .elementor-element-b77349c, .elementor-element-e767c3a, .elementor-element-afdce48) > .elementor-widget-wrap:has(> .elementor-inner-section) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}
body.asf-modern-shapes.asf-menu-page #jupiterx-main :is(.elementor-element-a3a8166, .elementor-element-f09b1e0, .elementor-element-4d35c29, .elementor-element-56609f5, .elementor-element-8344c22, .elementor-element-7fddda0, .elementor-element-ce28929, .elementor-element-c563253, .elementor-element-c9da60a, .elementor-element-884d43e, .elementor-element-7b8a865, .elementor-element-b77349c, .elementor-element-e767c3a, .elementor-element-afdce48) > .elementor-widget-wrap:has(> .elementor-inner-section) > .elementor-widget {
    grid-column: 1 / -1;
    width: 100% !important;
    min-width: 0;
}
body.asf-modern-shapes.asf-menu-page #jupiterx-main :is(.elementor-element-a3a8166, .elementor-element-f09b1e0, .elementor-element-4d35c29, .elementor-element-56609f5, .elementor-element-8344c22, .elementor-element-7fddda0, .elementor-element-ce28929, .elementor-element-c563253, .elementor-element-c9da60a, .elementor-element-884d43e, .elementor-element-7b8a865, .elementor-element-b77349c, .elementor-element-e767c3a, .elementor-element-afdce48) > .elementor-widget-wrap:has(> .elementor-inner-section) > .elementor-inner-section,
body.asf-modern-shapes.asf-menu-page #jupiterx-main :is(.elementor-element-a3a8166, .elementor-element-f09b1e0, .elementor-element-4d35c29, .elementor-element-56609f5, .elementor-element-8344c22, .elementor-element-7fddda0, .elementor-element-ce28929, .elementor-element-c563253, .elementor-element-c9da60a, .elementor-element-884d43e, .elementor-element-7b8a865, .elementor-element-b77349c, .elementor-element-e767c3a, .elementor-element-afdce48) > .elementor-widget-wrap:has(> .elementor-inner-section) > .elementor-inner-section > .elementor-container,
body.asf-modern-shapes.asf-menu-page #jupiterx-main :is(.elementor-element-a3a8166, .elementor-element-f09b1e0, .elementor-element-4d35c29, .elementor-element-56609f5, .elementor-element-8344c22, .elementor-element-7fddda0, .elementor-element-ce28929, .elementor-element-c563253, .elementor-element-c9da60a, .elementor-element-884d43e, .elementor-element-7b8a865, .elementor-element-b77349c, .elementor-element-e767c3a, .elementor-element-afdce48) > .elementor-widget-wrap:has(> .elementor-inner-section) > .elementor-inner-section > .elementor-container > .elementor-column {
    display: contents !important;
}
body.asf-modern-shapes.asf-menu-page #jupiterx-main :is(.elementor-element-a3a8166, .elementor-element-f09b1e0, .elementor-element-4d35c29, .elementor-element-56609f5, .elementor-element-8344c22, .elementor-element-7fddda0, .elementor-element-ce28929, .elementor-element-c563253, .elementor-element-c9da60a, .elementor-element-884d43e, .elementor-element-7b8a865, .elementor-element-b77349c, .elementor-element-e767c3a, .elementor-element-afdce48) > .elementor-widget-wrap:has(> .elementor-inner-section) > .elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
    width: 100% !important;
    min-width: 0;
    height: 100%;
    margin: 0 !important;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    padding: 14px !important;
    background-color: var(--asf-white) !important;
    border: 1px solid var(--asf-line) !important;
    border-radius: var(--asf-radius) !important;
    box-shadow: var(--asf-menu-photo-shadow);
    overflow: hidden;
}
@media (max-width: 1024px) {
    body.asf-modern-shapes.asf-menu-page #jupiterx-main :is(.elementor-element-a3a8166, .elementor-element-f09b1e0, .elementor-element-4d35c29, .elementor-element-56609f5, .elementor-element-8344c22, .elementor-element-7fddda0, .elementor-element-ce28929, .elementor-element-c563253, .elementor-element-c9da60a, .elementor-element-884d43e, .elementor-element-7b8a865, .elementor-element-b77349c, .elementor-element-e767c3a, .elementor-element-afdce48) > .elementor-widget-wrap:has(> .elementor-inner-section) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
    body.asf-modern-shapes.asf-menu-page #jupiterx-main :is(.elementor-element-a3a8166, .elementor-element-f09b1e0, .elementor-element-4d35c29, .elementor-element-56609f5, .elementor-element-8344c22, .elementor-element-7fddda0, .elementor-element-ce28929, .elementor-element-c563253, .elementor-element-c9da60a, .elementor-element-884d43e, .elementor-element-7b8a865, .elementor-element-b77349c, .elementor-element-e767c3a, .elementor-element-afdce48) > .elementor-widget-wrap:has(> .elementor-inner-section) {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }
}
