/*
 Theme Name:   Hidrona
 Template:     hello-elementor
*/

.elementor-section {
  scroll-margin-top: 100px;
}

/* Inherit Elementor font styles for Ninja Forms */
.nf-form-layout {
    font-family: inherit !important;
}

/* Ensure all text inputs, labels, and buttons use the same font */
.nf-form-fields input,
.nf-form-fields select,
.nf-form-fields textarea,
.nf-field-label,
.nf-form-submit {
    font-family: inherit !important;
    font-size: 1rem;
}


/* Form title styling */
.nf-form-title h3 {
    color: #333;
    font-size: 24px;
    margin-bottom: 20px;
    text-align: center;
}

/* Field container styling */
.nf-field-container {
    margin-bottom: 1.25rem;
}

/* Label styling */
.nf-field-label label {
    font-weight: 600;
    color: #444;
    margin-bottom: .5rem;
    display: block;
}

/* Required field asterisk */
.ninja-forms-req-symbol {
    color: #5e58a6;
    margin-left: 0.25rem;
}

/* Input field styling */
.nf-field-element input,
.nf-field-element select,
.nf-field-element textarea,
.list-select-wrap select {
    width: 100%;
    padding: 0.75px;
    border: 1px solid #000;
    border-radius: 0.25rem;
    background-color: #fff;
    font-size: 1rem;
    transition: border-color 0.3s;
}

/* Better positioning for select dropdown arrow */
.nf-field-element select,
.list-select-wrap select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 1.875rem;
}

/* Focus state for inputs */
.nf-field-element input:focus,
.nf-field-element select:focus,
.nf-field-element textarea:focus,
.list-select-wrap select:focus {
    border-color: #5e58a6;
    outline: none;
    box-shadow: 0 0 5px rgba(94, 88, 166, 0.3);
}

/* Date and Time fields in one line */
.date-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
}

.date-wrap .nf-field-element {
    flex: 1;
}

.date-wrap .pikaday__container {
    width: 100%;
}

.date-wrap .hour, 
.date-wrap .minute, 
.date-wrap .ampm {
    width: auto;
    min-width: 0;
    margin: 0;
}

/* For the date picker container */
.date-wrap .nf-field-element:first-child {
    flex: 2;
}

/* For the time selects container */
.date-wrap .nf-field-element:last-child {
    display: flex;
    gap: 5px;
}

/* Address field */
.address-wrap input {
    margin-bottom: 0.625rem;
}

.date-container .nf-field-label{
    display: block;
    width: 100%;
    padding-bottom: 0!important;
    margin-bottom: 0!important;
}

/* Submit button styling */
.submit-wrap{
    text-align: center ;
}
.submit-wrap input[type="submit"]  {
    background-color: #1da7e1;
    color: white;
    border: #1da7e1 solid 3px;
    font-size: 1rem!important;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.2s;
    width: 100%;
    text-align: center;
    border-radius: .5rem;
    text-align: center;
    padding: 0.75rem 2rem;
    margin: 0 auto;
}

/* Submit button hover effect */
.submit-wrap input[type="submit"]:hover {
    background-color: white;
    color: #1da7e1;
}

/* Error message styling */
.nf-error-msg {
    color: #e74c3c;
    margin-top: 5px;
}

/* Error highlighting */
.nf-error .nf-field-element input,
.nf-error .nf-field-element select,
.nf-error .nf-field-element textarea {
    border-color: #e74c3c;
}

/* Success message styling */
.nf-response-msg {
    padding: 15px;
    background-color: #d4edda;
    border-radius: 4px;
    color: #155724;
    margin-bottom: 20px;
}

/* Loading spinner */
.nf-loading-spinner {
    width: 40px;
    height: 40px;
    margin: 0 auto;
    border: 4px solid rgba(94, 88, 166, 0.2);
    border-top: 4px solid #5e58a6;
    border-radius: 50%;
    animation: nf-spinner 1s linear infinite;
}

@keyframes nf-spinner {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Mobile responsiveness */
@media screen and (max-width: 600px) {
    .nf-form-cont {
        padding: 15px;
    }
    
    .nf-field-element input,
    .nf-field-element select,
    .nf-field-element textarea,
    .list-select-wrap select {
        padding: 0.625rem;
        font-size: 0.875rem;
    }
    
    #nf-field-12 {
        padding: 0.625rem 1.24rem;
    }
    
    /* Make date and time stack on very small screens */
    @media screen and (max-width: 480px) {
        .date-wrap {
            flex-direction: column;
        }
    }
}

/* Add more space after "Laukai, pažymėti *, yra privalomi" */
.nf-form-fields-required {
    margin-bottom: 25px;
}

/* Make dropdown and text fields the same height */
.nf-field-element input,
.nf-field-element select,
.list-select-wrap select {
    padding: 9px 32px 9px 8px; 
    box-sizing: border-box;
    line-height: 1;
}