.elementor-115 .elementor-element.elementor-element-cbc11af{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-field-group > label{font-family:"Open Sans", Sans-serif;font-size:12px;font-weight:400;}.elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-field-type-html{padding-bottom:0px;}.elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-field-group .elementor-field, .elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-field-subgroup label{font-family:"Open Sans", Sans-serif;font-size:15px;font-weight:400;}.elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-button{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:500;font-style:normal;}.elementor-115 .elementor-element.elementor-element-d511cf9 .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-text );color:#ffffff;}.elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-button[type="submit"]{background-color:var( --e-global-color-text );color:#ffffff;}.elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-115 .elementor-element.elementor-element-d511cf9 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-115 .elementor-element.elementor-element-d511cf9 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-115 .elementor-element.elementor-element-d511cf9 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-115 .elementor-element.elementor-element-d511cf9 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-115 .elementor-element.elementor-element-d511cf9{--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;}/* Start custom CSS for form, class: .elementor-element-d511cf9 *//* --- 0. Basis Font --- */
#natuursteen-form {
    font-family: 'Outfit', sans-serif !important;
    width: 100%;
}

/* --- 1. Labels (Strak, uppercase, luxe spacing) --- */
#natuursteen-form .elementor-field-label {
    font-family: 'Outfit', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #8A8D8B !important; /* ns-gray */
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 8px !important;
    display: block !important;
}

/* --- 2. Invoervelden & Textareas --- */
#natuursteen-form .elementor-field-textual {
    background-color: #F7F7F5 !important; /* Zacht ns-light */
    border: 1px solid #E5E7EB !important; /* Subtiele rand */
    border-radius: 2px !important; /* Strakke hoeken, past bij steen */
    padding: 16px 20px !important;
    color: #151716 !important; /* Diep ns-dark */
    font-size: 15px !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
    width: 100% !important;
}

#natuursteen-form .elementor-field-textual::placeholder {
    color: #9ca3af !important;
    font-weight: 300 !important;
    opacity: 1;
}

#natuursteen-form .elementor-field-textual:focus {
    border-color: #D1A751 !important; /* ns-accent (Goud) */
    background-color: #ffffff !important;
    outline: none !important;
    box-shadow: 0 4px 12px rgba(209, 167, 81, 0.1) !important;
}

/* --- 3. Keuze-kaarten (Onderwerp) --- */
#natuursteen-form .elementor-field-subgroup {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important; /* Altijd 3 strak naast elkaar */
    gap: 12px !important;
    margin-bottom: 20px !important;
}

#natuursteen-form .elementor-field-option input {
    display: none !important;
}

#natuursteen-form .elementor-field-option label {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: #F7F7F5 !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 2px !important;
    padding: 24px 10px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    font-size: 10px !important;
    letter-spacing: 0.05em !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 500 !important;
    color: #8A8D8B !important;
    height: 100% !important;
    text-align: center !important;
}

/* --- 4. Iconen in de kaarten --- */
#natuursteen-form .elementor-field-option label::before {
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-size: 18px !important;
    margin-bottom: 12px !important;
    color: #151716 !important;
    background-color: #ffffff !important;
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 2px !important;
    box-shadow: 0 2px 8px rgba(21, 23, 22, 0.05) !important;
    transition: transform 0.3s ease, color 0.3s ease !important;
}

#natuursteen-form .elementor-field-option:hover label {
    border-color: #D1A751 !important;
}

#natuursteen-form .elementor-field-option:hover label::before {
    transform: scale(1.05);
    color: #D1A751 !important;
}

/* Specifieke Icoontjes */
#natuursteen-form .elementor-field-option:nth-child(1) label::before { content: "\f4ce" !important; } /* Tafel */
#natuursteen-form .elementor-field-option:nth-child(2) label::before { content: "\f5ad" !important; } /* Maatwerk */
#natuursteen-form .elementor-field-option:nth-child(3) label::before { content: "\f073" !important; } /* Showroom */

/* Actieve (Aangeklikte) status */
#natuursteen-form .elementor-field-option input:checked + label {
    border-color: #D1A751 !important;
    background-color: rgba(209, 167, 81, 0.03) !important;
    color: #151716 !important;
}

#natuursteen-form .elementor-field-option input:checked + label::before {
    color: #D1A751 !important;
    border: 1px solid rgba(209, 167, 81, 0.2) !important;
}

/* --- 5. Verzendknop (Premium dark met gold hover) --- */
#natuursteen-form .elementor-button {
    background-color: #151716 !important; /* Diep antraciet */
    color: #ffffff !important;
    border-radius: 2px !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    letter-spacing: 0.1em !important;
    padding: 18px 32px !important;
    text-transform: uppercase !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    box-shadow: 0 4px 12px rgba(21, 23, 22, 0.1) !important;
    cursor: pointer;
}

/* Hover: Knop wordt goud, zweeft iets omhoog */
#natuursteen-form .elementor-button:hover {
    background-color: #D1A751 !important; 
    color: #151716 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(209, 167, 81, 0.25) !important;
}

/* Pijltje in de knop (Chique langwerpig) */
#natuursteen-form .elementor-button::after {
    content: "\f178" !important; 
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-size: 14px !important;
    transition: transform 0.3s ease !important;
}

#natuursteen-form .elementor-button:hover::after {
    transform: translateX(6px);
}

/* --- 6. Flexbox Layout Fixes & Mobiele Finetuning --- */
#natuursteen-form .elementor-form-fields-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
}

@media (min-width: 768px) {
    #natuursteen-form .elementor-field-group-name {
        width: 48% !important;
        flex: 0 0 48% !important;
        margin-right: 4% !important;
    }
    #natuursteen-form .elementor-field-group-email {
        width: 48% !important;
        flex: 0 0 48% !important;
    }
    #natuursteen-form .elementor-field-group-message,
    #natuursteen-form .elementor-field-type-submit {
        width: 100% !important;
        flex: 0 0 100% !important;
    }
}

@media (max-width: 767px) {
    #natuursteen-form .elementor-field-group-name, 
    #natuursteen-form .elementor-field-group-email { 
        width: 100% !important;
        flex: 0 0 100% !important;
        margin-right: 0 !important;
        margin-bottom: 15px !important; 
    }
    
    /* Zorg dat de 3 kaarten perfect passen op mobiel zonder scrollen */
    #natuursteen-form .elementor-field-subgroup { gap: 6px !important; }
    #natuursteen-form .elementor-field-option label { padding: 16px 2px !important; font-size: 8.5px !important; }
    #natuursteen-form .elementor-field-option label::before { width: 36px !important; height: 36px !important; font-size: 16px !important; margin-bottom: 8px !important; }
}/* End custom CSS */