/*
 * Shared "HAVE AN IDEA in mind?" contact CTA section.
 * Rules decoupled from per-page Elementor wrappers and scoped under .jolivin-contact-cta.
 * Deco image is per-page via the --contact-deco-image custom property (set inline on the section).
 */

/* Section shell */
.jolivin-contact-cta .elementor-element.elementor-element-79e43ca > .elementor-container > .elementor-column > .elementor-widget-wrap {
    align-content: center;
    align-items: center;
}
.jolivin-contact-cta .elementor-element.elementor-element-79e43ca:not(.elementor-motion-effects-element-type-background),
.jolivin-contact-cta .elementor-element.elementor-element-79e43ca > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: #5D4C3F;
    background-image: url("/assets/web/images/home/contact-deco.jpg");
    background-position: top right;
    background-repeat: no-repeat;
    background-size: 340px auto;
}
.jolivin-contact-cta .elementor-element.elementor-element-79e43ca > .elementor-container {
    max-width: 1400px;
}
.jolivin-contact-cta .elementor-element.elementor-element-79e43ca {
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    padding: 100px 0px 100px 0px;
}
.jolivin-contact-cta .elementor-element.elementor-element-79e43ca > .elementor-background-overlay {
    transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
}

/* Heading: HAVE AN IDEA */
.jolivin-contact-cta .elementor-element.elementor-element-5bf833e > .elementor-widget-container {
    margin: 0px 0px 0px 0px;
}
.jolivin-contact-cta .elementor-element.elementor-element-5bf833e {
    text-align: start;
}
.jolivin-contact-cta .elementor-element.elementor-element-5bf833e .elementor-heading-title {
    font-family: "ivy Presto", Sans-serif;
    font-size: 65px;
    font-weight: 100;
    color: #FFFFFF;
}

/* Heading: in mind? */
.jolivin-contact-cta .elementor-element.elementor-element-1ff5b52 > .elementor-widget-container {
    margin: 0px 0px 100px 0px;
}
.jolivin-contact-cta .elementor-element.elementor-element-1ff5b52 {
    text-align: start;
}
.jolivin-contact-cta .elementor-element.elementor-element-1ff5b52 .elementor-heading-title {
    font-family: "ivy", Sans-serif;
    font-size: 65px;
    font-weight: 100;
    color: #FFFFFF;
}

/* Facebook button */
.jolivin-contact-cta .elementor-element.elementor-element-8336398 .elementor-button {
    background-color: #89302A00;
    font-family: "ivy Presto", Sans-serif;
    font-size: 40px;
    font-weight: 100;
    padding: 0px 0px 0px 0px;
}
.jolivin-contact-cta .elementor-element.elementor-element-8336398 {
    width: auto;
    max-width: auto;
}
.jolivin-contact-cta .elementor-element.elementor-element-8336398 > .elementor-widget-container {
    margin: 0px 75px 0px 0px;
}
.jolivin-contact-cta .elementor-element.elementor-element-8336398 .elementor-button-content-wrapper {
    flex-direction: row-reverse;
}
.jolivin-contact-cta .elementor-element.elementor-element-8336398 .elementor-button .elementor-button-content-wrapper {
    gap: 24px;
}

/* Instagram button */
.jolivin-contact-cta .elementor-element.elementor-element-90a4141 .elementor-button {
    background-color: #89302A00;
    font-family: "ivy Presto", Sans-serif;
    font-size: 40px;
    font-weight: 100;
    padding: 0px 0px 0px 0px;
}
.jolivin-contact-cta .elementor-element.elementor-element-90a4141 {
    width: auto;
    max-width: auto;
}
.jolivin-contact-cta .elementor-element.elementor-element-90a4141 .elementor-button-content-wrapper {
    flex-direction: row-reverse;
}
.jolivin-contact-cta .elementor-element.elementor-element-90a4141 .elementor-button .elementor-button-content-wrapper {
    gap: 24px;
}

/* Contact info icon list */
.jolivin-contact-cta .elementor-element.elementor-element-c5bcb3a > .elementor-widget-container {
    margin: 50px 0px 0px 0px;
}
.jolivin-contact-cta .elementor-element.elementor-element-c5bcb3a .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child) {
    padding-block-end: calc(15px / 2);
}
.jolivin-contact-cta .elementor-element.elementor-element-c5bcb3a .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child) {
    margin-block-start: calc(15px / 2);
}
.jolivin-contact-cta .elementor-element.elementor-element-c5bcb3a .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
    margin-inline: calc(15px / 2);
}
.jolivin-contact-cta .elementor-element.elementor-element-c5bcb3a .elementor-icon-list-items.elementor-inline-items {
    margin-inline: calc(-15px / 2);
}
.jolivin-contact-cta .elementor-element.elementor-element-c5bcb3a .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after {
    inset-inline-end: calc(-15px / 2);
}
.jolivin-contact-cta .elementor-element.elementor-element-c5bcb3a .elementor-icon-list-icon i {
    color: #FFFFFF;
    transition: color 0.3s;
}
.jolivin-contact-cta .elementor-element.elementor-element-c5bcb3a .elementor-icon-list-icon svg {
    fill: #FFFFFF;
    transition: fill 0.3s;
}
.jolivin-contact-cta .elementor-element.elementor-element-c5bcb3a {
    --e-icon-list-icon-size: 12px;
    --icon-vertical-offset: 0px;
}
.jolivin-contact-cta .elementor-element.elementor-element-c5bcb3a .elementor-icon-list-icon {
    padding-inline-end: 10px;
}
.jolivin-contact-cta .elementor-element.elementor-element-c5bcb3a .elementor-icon-list-item > .elementor-icon-list-text,
.jolivin-contact-cta .elementor-element.elementor-element-c5bcb3a .elementor-icon-list-item > a {
    font-family: "Nunito", Sans-serif;
    font-size: 20px;
    font-weight: 300;
}
.jolivin-contact-cta .elementor-element.elementor-element-c5bcb3a .elementor-icon-list-text {
    color: #FFFFFF;
    transition: color 0.3s;
}
.jolivin-contact-cta .jolivin-contact-directory {
    align-items: center;
}
.jolivin-contact-cta .jolivin-contact-directory__rows {
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.jolivin-contact-cta .jolivin-contact-channel {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: baseline;
    justify-content: flex-start;
    width: max-content;
    max-width: 100%;
    column-gap: 8px;
    white-space: nowrap;
}
.jolivin-contact-cta .jolivin-contact-channel__label {
    font-size: 13px;
    font-weight: 300;
    line-height: 1.35;
    opacity: 0.78;
}
.jolivin-contact-cta .jolivin-contact-channel__phone {
    color: inherit;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.35;
    text-decoration: none;
}
.jolivin-contact-cta .jolivin-contact-channel__phone:hover,
.jolivin-contact-cta .jolivin-contact-channel__phone:focus-visible {
    color: #FFFFFF;
    text-decoration: underline;
    text-underline-offset: 4px;
}

/* Form card (inner section) */
.jolivin-contact-cta .elementor-element.elementor-element-a7651e5:not(.elementor-motion-effects-element-type-background),
.jolivin-contact-cta .elementor-element.elementor-element-a7651e5 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: #EFE8DA;
}
.jolivin-contact-cta .elementor-element.elementor-element-a7651e5 {
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    padding: 50px 30px 50px 30px;
}
.jolivin-contact-cta .elementor-element.elementor-element-a7651e5 > .elementor-background-overlay {
    transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
}

/* Form intro heading */
.jolivin-contact-cta .elementor-element.elementor-element-a62afcc .elementor-heading-title {
    font-family: "Nunito", Sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    color: #5D4C3F;
}

/* Form fields + submit */
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-field-group {
    padding-right: calc(40px / 2);
    padding-left: calc(40px / 2);
    margin-bottom: 20px;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-form-fields-wrapper {
    margin-left: calc(-40px / 2);
    margin-right: calc(-40px / 2);
    margin-bottom: -20px;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-field-group.recaptcha_v3-bottomleft,
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-field-group.recaptcha_v3-bottomright {
    margin-bottom: 0;
}
body.rtl .jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-labels-inline .elementor-field-group > label {
    padding-left: 5px;
}
body:not(.rtl) .jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-labels-inline .elementor-field-group > label {
    padding-right: 5px;
}
body .jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-labels-above .elementor-field-group > label {
    padding-bottom: 5px;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-field-group > label,
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-field-subgroup label {
    color: #391E43;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-field-group > label {
    font-family: "MyriadPro", Sans-serif;
    font-size: 18px;
    font-weight: 400;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-field-type-html {
    padding-bottom: 0px;
    color: #5D4C3F;
    font-family: "Nunito", Sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-field-group .elementor-field {
    color: #5D4C3F;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-field-group .elementor-field,
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-field-subgroup label {
    font-family: "Nunito", Sans-serif;
    font-size: 16px;
    font-weight: 400;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-field-group .elementor-field:not(.elementor-select-wrapper) {
    background-color: #FFFFFF00;
    border-color: #5D4C3F;
    border-width: 1px 1px 1px 1px;
    border-radius: 100px 100px 100px 100px;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-field-group .elementor-select-wrapper select {
    background-color: #FFFFFF00;
    border-color: #5D4C3F;
    border-width: 1px 1px 1px 1px;
    border-radius: 100px 100px 100px 100px;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-field-group .elementor-select-wrapper::before {
    color: #5D4C3F;
}
.jolivin-contact-cta .jolivin-dropdown {
    position: relative;
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
}
.jolivin-contact-cta .jolivin-dropdown.is-open {
    z-index: 5;
}
.jolivin-contact-cta .jolivin-dropdown__trigger {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 56px;
    padding: 12px 54px 12px 25px;
    color: #5B4D3E;
    background: transparent;
    border: 1px solid #5D4C3F;
    border-radius: 100px;
    font-family: "Nunito", Sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.jolivin-contact-cta .jolivin-dropdown__trigger:focus-visible {
    outline: 0;
    border-color: #5D4C3F;
    box-shadow: 0 0 0 3px rgba(93, 76, 63, 0.2);
}
.jolivin-contact-cta .jolivin-dropdown__trigger[aria-invalid="true"] {
    border-color: #A94840;
    box-shadow: 0 0 0 3px rgba(169, 72, 64, 0.16);
}
.jolivin-contact-cta .jolivin-dropdown__caret {
    position: absolute;
    top: 50%;
    right: 23px;
    color: #5D4C3F;
    font-size: 13px;
    line-height: 1;
    transform: translateY(-50%);
    transition: transform 0.2s ease;
}
.jolivin-contact-cta .jolivin-dropdown.is-open .jolivin-dropdown__caret {
    transform: translateY(-50%) rotate(180deg);
}
.jolivin-contact-cta .jolivin-dropdown__menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    left: 0;
    display: grid;
    gap: 2px;
    padding: 6px;
    color: #5B4D3E;
    background: #E1D5C4;
    border: 1px solid #BBAA96;
    border-radius: 18px;
    box-shadow: 0 14px 28px rgba(69, 53, 41, 0.18);
    animation: jolivin-dropdown-reveal 0.18s ease-out;
}
.jolivin-contact-cta .jolivin-dropdown__menu[hidden] {
    display: none;
}
.jolivin-contact-cta .jolivin-dropdown__option {
    width: 100%;
    min-height: 42px;
    padding: 10px 16px;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 12px;
    font-family: "Nunito", Sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
    transition: color 0.16s ease, background-color 0.16s ease;
}
.jolivin-contact-cta .jolivin-dropdown__option:hover,
.jolivin-contact-cta .jolivin-dropdown__option:focus-visible {
    color: #5B4D3E;
    background: #CCB9A3;
    outline: 0;
}
.jolivin-contact-cta .jolivin-dropdown__option:focus-visible {
    box-shadow: inset 0 0 0 2px #5D4C3F;
}
.jolivin-contact-cta .jolivin-dropdown__option[aria-selected="true"] {
    color: #FFFFFF;
    background: #5D4C3F;
}
@keyframes jolivin-dropdown-reveal {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-button {
    font-family: "Nunito", Sans-serif;
    font-size: 16px;
    font-weight: 300;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-radius: 100px 100px 100px 100px;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .e-form__buttons__wrapper__button-next {
    background-color: #5D4C3F;
    color: #FFFFFF;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-button[type="submit"] {
    background-color: #5D4C3F;
    color: #FFFFFF;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-button[type="submit"] svg * {
    fill: #FFFFFF;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .e-form__buttons__wrapper__button-previous {
    color: #ffffff;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .e-form__buttons__wrapper__button-next:hover {
    background-color: #5D4C3F;
    color: #ffffff;
    border-color: var(--e-global-color-primary);
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-button[type="submit"]:hover {
    background-color: #5D4C3F;
    color: #ffffff;
    border-color: var(--e-global-color-primary);
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-button[type="submit"]:hover svg * {
    fill: #ffffff;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a .e-form__buttons__wrapper__button-previous:hover {
    color: #ffffff;
}
.jolivin-contact-cta .elementor-element.elementor-element-102607a {
    --e-form-steps-indicators-spacing: 20px;
    --e-form-steps-indicator-padding: 30px;
    --e-form-steps-indicator-inactive-secondary-color: #ffffff;
    --e-form-steps-indicator-active-secondary-color: #ffffff;
    --e-form-steps-indicator-completed-secondary-color: #ffffff;
    --e-form-steps-divider-width: 1px;
    --e-form-steps-divider-gap: 10px;
}

/* Two-column layout on tablet and up */
@media (min-width: 768px) {
    .jolivin-contact-cta .elementor-element.elementor-element-d46c367 {
        width: 50%;
    }
    .jolivin-contact-cta .elementor-element.elementor-element-4c21183 {
        width: 50%;
    }
}

@media (max-width: 1024px) {
    .jolivin-contact-cta .elementor-element.elementor-element-5bf833e .elementor-heading-title {
        font-size: 50px;
    }
    .jolivin-contact-cta .elementor-element.elementor-element-1ff5b52 .elementor-heading-title {
        font-size: 46px;
    }
    .jolivin-contact-cta .elementor-element.elementor-element-8336398 > .elementor-widget-container {
        margin: 0px 25px 0px 0px;
    }
    .jolivin-contact-cta .elementor-element.elementor-element-8336398 .elementor-button {
        font-size: 25px;
    }
    .jolivin-contact-cta .elementor-element.elementor-element-90a4141 .elementor-button {
        font-size: 25px;
    }
}

@media (max-width: 767px) {
    .jolivin-contact-cta .elementor-element.elementor-element-79e43ca:not(.elementor-motion-effects-element-type-background),
    .jolivin-contact-cta .elementor-element.elementor-element-79e43ca > .elementor-motion-effects-container > .elementor-motion-effects-layer {
        background-size: 127px auto;
    }
    .jolivin-contact-cta .elementor-element.elementor-element-79e43ca {
        padding: 100px 10px 100px 10px;
    }
    .jolivin-contact-cta .elementor-element.elementor-element-5bf833e .elementor-heading-title {
        font-size: 40px;
    }
    .jolivin-contact-cta .elementor-element.elementor-element-102607a .elementor-field-type-html {
        font-size: 16px;
    }
}

@media (max-width: 374px) {
    .jolivin-contact-cta .jolivin-contact-channel {
        column-gap: 5px;
    }
    .jolivin-contact-cta .jolivin-contact-channel__phone {
        font-size: 17px;
    }
    .jolivin-contact-cta .jolivin-contact-channel__label {
        font-size: 11px;
    }
}
