/*
 * MS2 globalni stil za odabrane Forminator forme.
 * Stil se aktivira samo kada JavaScript doda .ms2-global-form-style
 * na konkretni #forminator-module-{ID} element.
 */

.ms2-global-form-style.forminator-ui{
    width:min(900px,calc(100% - 40px))!important;
    max-width:900px!important;
    margin:120px auto 80px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    color:#272727!important;
    font-family:inherit!important;
}

.ms2-global-form-style .forminator-row{
    width:100%!important;
    height:auto!important;
    margin:0 0 32px!important;
    padding:0!important;
    overflow:visible!important;
}

.ms2-global-form-style .forminator-col,
.ms2-global-form-style .forminator-field{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
    box-sizing:border-box!important;
}

.ms2-global-form-style .forminator-label{
    display:block!important;
    width:100%!important;
    margin:0 0 10px!important;
    padding:0!important;
    color:#777771!important;
    font-family:inherit!important;
    font-size:19px!important;
    font-weight:500!important;
    line-height:1.5!important;
}

.ms2-global-form-style .forminator-required{color:#FF4906!important}

/* Opis ispod pitanja */
.ms2-global-form-style .forminator-description{
    display:block!important;
    margin:4px 0 12px!important;
    padding:0!important;
    color:#777771!important;
    font-family:inherit!important;
    font-size:17px!important;
    font-style:italic!important;
    font-weight:400!important;
    line-height:1.55!important;
}

.ms2-global-form-style input.forminator-input,
.ms2-global-form-style textarea.forminator-textarea{
    display:block!important;
    width:100%!important;
    min-height:54px!important;
    margin:0!important;
    padding:10px 0!important;
    border:0!important;
    border-bottom:1px solid #c9c6c8!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#272727!important;
    font-family:inherit!important;
    font-size:16px!important;
    box-sizing:border-box!important;
    transition:border-color .25s ease,background-color .25s ease,padding .25s ease,transform .25s ease!important;
}

.ms2-global-form-style textarea.forminator-textarea{min-height:120px!important;resize:vertical!important}

.ms2-global-form-style input.forminator-input:hover,
.ms2-global-form-style textarea.forminator-textarea:hover{border-bottom-color:#858080!important}

.ms2-global-form-style input.forminator-input:focus,
.ms2-global-form-style textarea.forminator-textarea:focus{
    outline:none!important;
    border:2px solid #272727!important;
    padding:9px 10px!important;
    background:transparent!important;
}

.ms2-global-form-style .forminator-has_error input.forminator-input,
.ms2-global-form-style .forminator-has_error textarea.forminator-textarea{border-bottom-color:#e51919!important}

.ms2-global-form-style .forminator-error-message{
    position:static!important;
    display:block!important;
    width:100%!important;
    margin:8px 0 0!important;
    padding:9px 12px!important;
    border:0!important;
    border-left:2px solid #e51919!important;
    border-radius:0!important;
    background:#f9e4e8!important;
    color:#333!important;
    font-family:inherit!important;
    font-size:12px!important;
    font-weight:500!important;
    line-height:1.5!important;
    box-sizing:border-box!important;
}

/* Checkbox i radio odgovori */
.ms2-global-form-style .forminator-checkbox,
.ms2-global-form-style .forminator-radio{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:52px!important;
    margin:0 0 8px!important;
    padding:12px 16px!important;
    border:1px solid #d3cfd0!important;
    border-radius:8px!important;
    background:transparent!important;
    color:#272727!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    transition:border-color .22s ease,background-color .22s ease,box-shadow .22s ease,transform .22s ease!important;
}

.ms2-global-form-style .forminator-checkbox:hover,
.ms2-global-form-style .forminator-radio:hover{
    border-color:#FF4906!important;
    background:#fff7f2!important;
    transform:translateY(-1px);
}

.ms2-global-form-style .forminator-checkbox.ms2-selected,
.ms2-global-form-style .forminator-radio.ms2-selected{
    border-color:#FF4906!important;
    background:#fff0e8!important;
    box-shadow:inset 3px 0 0 #FF4906!important;
    transform:translateY(-1px);
}

.ms2-global-form-style .forminator-checkbox:focus-within,
.ms2-global-form-style .forminator-radio:focus-within{
    outline:2px solid #FF4906!important;
    outline-offset:2px!important;
}

.ms2-global-form-style .forminator-checkbox input[type="checkbox"],
.ms2-global-form-style .forminator-radio input[type="radio"]{
    position:static!important;
    display:inline-block!important;
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    margin:0 12px 0 0!important;
    padding:0!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:none!important;
    accent-color:#FF4906!important;
    cursor:pointer!important;
}

.ms2-global-form-style .forminator-checkbox-box,
.ms2-global-form-style .forminator-radio-bullet{display:none!important}

.ms2-global-form-style .forminator-checkbox-label,
.ms2-global-form-style .forminator-radio-label{
    width:auto!important;
    margin:0!important;
    pointer-events:none!important;
    color:#272727!important;
    font-family:inherit!important;
    font-size:15px!important;
    line-height:1.4!important;
}

/* Obični Select elementi koji nisu booking polje */
.ms2-global-form-style .forminator-select:not(.select2-hidden-accessible),
.ms2-global-form-style select.forminator-select--field{
    width:100%!important;
    min-height:54px!important;
    border:0!important;
    border-bottom:1px solid #c9c6c8!important;
    border-radius:0!important;
    background:transparent!important;
    color:#272727!important;
}

/* Booking Select se pretvara u klikabilnu listu termina */
.ms2-global-form-style .ms2-booking-field .forminator-select,
.ms2-global-form-style .ms2-booking-field .select2-container,
.ms2-global-form-style .ms2-booking-field select{
    position:absolute!important;
    display:block!important;
    width:1px!important;
    height:1px!important;
    min-width:1px!important;
    min-height:1px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    clip-path:inset(50%)!important;
}

.ms2-global-form-style .ms2-booking-field .forminator-error-message{margin:0 0 12px!important}

.ms2-global-form-style .ms2-slots{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
    margin:4px 0 0;
}

.ms2-global-form-style .ms2-slot{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:58px!important;
    margin:0!important;
    padding:15px 12px!important;
    border:0!important;
    border-bottom:1px solid #c9c6c8!important;
    border-radius:0!important;
    background:transparent!important;
    color:#272727!important;
    box-shadow:none!important;
    font-family:inherit!important;
    font-size:15px!important;
    font-weight:400!important;
    line-height:1.4!important;
    text-align:left!important;
    cursor:pointer!important;
    box-sizing:border-box!important;
    transition:background-color .22s ease,border-color .22s ease,color .22s ease,padding-left .22s ease,transform .22s ease!important;
}

.ms2-global-form-style .ms2-slot::after{
    content:'';
    display:grid;
    place-items:center;
    flex:0 0 20px;
    width:20px;
    height:20px;
    margin-left:12px;
    border:1px solid #a9a5a5;
    border-radius:50%;
    box-sizing:border-box;
    transition:background-color .22s ease,border-color .22s ease,transform .22s ease;
}

.ms2-global-form-style .ms2-slot:hover{
    background:#fff7f2!important;
    border-bottom-color:#FF4906!important;
    padding-left:18px!important;
    transform:translateX(2px);
}

.ms2-global-form-style .ms2-slot.ms2-selected{
    background:#fff0e8!important;
    border-bottom-color:#FF4906!important;
    color:#a83e1e!important;
    padding-left:18px!important;
    font-weight:600!important;
}

.ms2-global-form-style .ms2-slot.ms2-selected::after{
    content:'✓';
    border-color:#FF4906;
    background:#FF4906;
    color:#fff;
    font-size:13px;
    font-weight:700;
    transform:scale(1.1);
}

.ms2-global-form-style .ms2-slot:focus-visible{
    outline:2px solid #FF4906!important;
    outline-offset:2px!important;
}

.ms2-global-form-style .ms2-slots-empty{
    margin:0;
    padding:16px 0;
    color:#777771;
    font-size:14px;
}

/* Submit */
.ms2-global-form-style .forminator-row-last{
    display:flex!important;
    justify-content:flex-end!important;
    margin-top:40px!important;
}

.ms2-global-form-style .forminator-row-last .forminator-field{
    display:flex!important;
    justify-content:flex-end!important;
    margin-top:0!important;
}

.ms2-global-form-style .forminator-button-submit{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:168px!important;
    min-height:58px!important;
    margin:0!important;
    padding:16px 28px!important;
    border:0!important;
    border-radius:999px!important;
    background:#FF4906!important;
    background-color:#FF4906!important;
    background-image:none!important;
    color:#fff!important;
    box-shadow:none!important;
    filter:none!important;
    text-shadow:none!important;
    font-family:inherit!important;
    font-size:14px!important;
    font-weight:500!important;
    text-transform:uppercase!important;
    cursor:pointer!important;
    transition:background-color .28s ease,transform .28s ease,box-shadow .28s ease!important;
}

.ms2-global-form-style .forminator-button-submit:hover:not(:disabled){
    background:#FF4906!important;
    background-image:none!important;
    transform:translateY(-3px) scale(1.015)!important;
    box-shadow:none!important;
    filter:none!important;
    text-shadow:none!important;
}

.ms2-global-form-style .forminator-button-submit:active:not(:disabled){transform:translateY(0) scale(.98)!important}
.ms2-global-form-style .forminator-button-submit:focus-visible{outline:2px solid #FF4906!important;outline-offset:3px!important}
.ms2-global-form-style .forminator-button-submit:disabled{opacity:.5!important;cursor:not-allowed!important;box-shadow:none!important}

@media(max-width:767px){
    .ms2-global-form-style.forminator-ui{
        width:calc(100% - 32px)!important;
        margin:70px auto 60px!important;
    }
    .ms2-global-form-style .forminator-row{margin-bottom:26px!important}
    .ms2-global-form-style .forminator-button-submit{width:100%!important}
}

@media(prefers-reduced-motion:reduce){
    .ms2-global-form-style .ms2-slot,
    .ms2-global-form-style .ms2-slot::after,
    .ms2-global-form-style .forminator-checkbox,
    .ms2-global-form-style .forminator-radio,
    .ms2-global-form-style .forminator-button-submit,
    .ms2-global-form-style input.forminator-input,
    .ms2-global-form-style textarea.forminator-textarea{
        transition:none!important;
        transform:none!important;
    }
}
