.preloader__image {
    background-image: url("../images/loader.png");
}
.site-footer__top {
	padding-top: 50px;
	padding-bottom: 30px;;
}
.site-footer__bottom-inner {
	padding-top: 10px;
	padding-bottom: 10px;
}

.main-menu-three__call {
	padding-top: 42px;
	padding-bottom: 42px;	
}
.main-menu-three__call::before {
	border-top: 59px solid transparent;
	border-bottom: 59px solid transparent;
}

.site-footer__social a {
	border-radius: 5px!important;
}

/** Marcador de Erro, Forms **/
.error {
	border-color: red !important;
    background-color: #ffe6e6;
}

/** SweetAlert Personalização **/
.swal2-popup-multiline .swal2-html-container {
    white-space: pre-line;
    text-align: left;
}

/**
* Formulários Estilização Personalizada
*/
.floating-group {
    position: relative;
    margin-bottom: 20px;
}

.floating-input {
    width: 100%;
    padding: 12px 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    outline: none;
    border-radius: 6px;
    background-color: var(--pitoon-primary);
    transition: border-color 0.3s ease;
    
}

.floating-input:focus {
    border-color: #007bff;
}

.floating-group label {
    position: absolute;
    top: 12px;
    left: 12px;
    color: #888;
    font-size: 16px;
    pointer-events: none;
    transition: 0.2s ease all;
    background-color: #fff;
    padding: 0 4px;
}

.floating-input:focus + label,
.floating-input:not(:placeholder-shown) + label,
.floating-input:valid + label {
    top: -8px;
    left: 10px;
    font-size: 13px;
    color: #007bff;
}
.billing_input_box {
    position: relative;
    margin-bottom: 20px;
}

.billing_input_box input,
.billing_input_box textarea,
.billing_input_box select {
    width: 100%;
    padding: 12px 12px 12px 10px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 6px;
    background-color: #fff;
    transition: border-color 0.3s ease;
    box-sizing: border-box;
}

/* Estilo especial para SELECT */
.billing_input_box select {
    height: 63px;
    line-height: 1.2;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    /* background-image: url("data:image/svg+xml;utf8,<svg fill='%23666' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>"); */
    background-color: var(--pitoon-primary);
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px;
    padding-right: 35px;
    border: none;
    padding-left: 30px;
}

/* Textarea refinado */
.billing_input_box textarea {
    min-height: 100px;
    resize: vertical;
    background-color: var(--pitoon-primary);
    border: none;
    padding-left: 30px;
}

/* Foco */
.billing_input_box input:focus,
.billing_input_box select:focus,
.billing_input_box textarea:focus {
    border-color: #111;
    outline: none;
}

/* Label flutuante */
.billing_input_box label {
    position: absolute;
    top: 12px;
    left: 14px;
    color: #777;
    font-size: 14px;
    pointer-events: none;
    transition: 0.2s ease all;
    background-color: white;
    padding: 0 5px;
}

.billing_input_box input:focus + label,
.billing_input_box input:not(:placeholder-shown) + label,
.billing_input_box textarea:focus + label,
.billing_input_box textarea:not(:placeholder-shown) + label,
.billing_input_box select:focus + label,
.billing_input_box select.has-value + label {
    top: -15px;
    left: 10px;
    font-size: 12px;
    color: #777;
    background: white;
}


/* Asterisco vermelho */
label .required {
    color: red;
    margin-left: 3px;
    animation: pulse 1.2s infinite;
    font-weight: bold;
    font-size: 14px;
}

@keyframes pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(1.2); }
}
