.insurance-form-wrapper {
font-family: "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
}
.insurance-form-container {
border-radius: 16px;
box-shadow: 0 10px 30px rgba(0, 71, 138, 0.1);
overflow: hidden;
display: flex;
background:#f3f6fd;
}
.insurance-left-image {
flex: 0 0 40%;
max-width: 40%;
position: relative;
overflow: hidden;
}
.insurance-left-image img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
border-top-left-radius: 50px;
border-bottom-right-radius: 50px;
}
.insurance-form-content {
flex: 0 0 60%;
max-width: 60%;
padding: 40px;
position: relative;
display: flex;
flex-direction: column;
justify-content: center;
} .user-icons-container {
display: flex;
align-items: center;
margin-bottom: 25px;
}
.user-icons {
display: flex;
margin-right: 15px;
}
.user-icons img {
width: 36px;
height: 36px;
border-radius: 50%;
border: 2px solid white;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
margin-left: -10px;
object-fit: cover;
}
.user-icons img:first-child {
margin-left: 0;
}
.user-icons-container p {
font-size: 18px;
color: #4a5568;
line-height: 1.4;
margin: 0;
} .form-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.form-header h1 {
font-size: 3rem;
color: #333333;
margin: 0;
font-weight: 700;
line-height: 1.1;
}
.form-header p {
font-size: 60px;
color: #003366;
margin: 0;
font-weight: 700;
}
.savings-badge {
background-color: #C5002C;
color: white;
border-radius: 50px;
padding: 5px 15px;
display: flex;
flex-direction: column;
align-items: center;
transform: rotate(3deg);
box-shadow: 0 4px 8px rgba(229, 57, 53, 0.3);
animation: pulse 2s infinite;
}
@keyframes pulse {
0% {
transform: rotate(3deg) scale(1);
}
50% {
transform: rotate(3deg) scale(1.05);
}
100% {
transform: rotate(3deg) scale(1);
}
}
.percentage {
font-size: 24px;
font-weight: 700;
line-height: 1;
}
.description {
text-align: center;
font-size: 16px;
opacity: 0.9;
}
.form-subtitle {
font-size: 24px;
max-width: 800px;
margin-bottom: 60px;
position: relative;
font-weight: 300;
margin: 20px 0px 20px 0px;
} .plate-search-container {
display: flex;
gap: 15px;
margin-bottom: 15px;
}
.plate-input-wrapper {
flex: 1;
display: flex;
position: relative;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
border-radius: 8px;
overflow: hidden;
}
.plate-input-wrapper:focus-within {
box-shadow: 0 8px 20px rgba(0, 119, 179, 0.2);
transform: translateY(-2px);
}
.plate-decoration {
background-color: #003399;
color: white;
width: 40px;
display: flex;
align-items: center;
justify-content: center;
}
.country-code {
width: 24px;
height: 24px;
background-color: #ffcc00;
color: #003399;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
font-size: 14px;
}
.plate-input {
flex: 1;
border: 2px solid #e0e7ff;
border-left: none;
border-top-right-radius: 8px;
border-bottom-right-radius: 8px;
font-size: 18px;
padding: 12px 15px;
letter-spacing: 2px;
text-transform: uppercase;
font-weight: 600;
}
.plate-input:focus {
outline: none;
border-color: #4d7cff;
box-shadow: 0 0 0 3px rgba(77, 124, 255, 0.2);
}
@keyframes dropdownFadeIn {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.select-option {
padding: 10px 15px;
cursor: pointer;
transition: background-color 0.2s, color 0.2s;
}
.select-option:hover {
background-color: #f0f5ff;
color: #C5002C;
}
.plate-error {
color: #C5002C;
font-size: 14px;
margin-bottom: 15px;
display: none;
animation: errorShake 0.6s;
}
@keyframes errorShake {
0%,
100% {
transform: translateX(0);
}
10%,
30%,
50%,
70%,
90% {
transform: translateX(-5px);
}
20%,
40%,
60%,
80% {
transform: translateX(5px);
}
} .form-benefits {
display: flex;
justify-content: space-between;
margin-bottom: 25px;
}
.benefit-item {
display: flex;
align-items: center;
gap: 10px;
transition: transform 0.3s ease;
}
.benefit-item:hover {
transform: translateY(-3px);
}
.benefit-icon {
font-size: 20px;
animation: iconBounce 2s infinite;
animation-delay: calc(var(--i, 0) * 0.3s);
}
.benefit-item:nth-child(1) .benefit-icon {
--i: 1;
}
.benefit-item:nth-child(2) .benefit-icon {
--i: 2;
}
.benefit-item:nth-child(3) .benefit-icon {
--i: 3;
}
@keyframes iconBounce {
0%,
100% {
transform: translateY(0);
}
50% {
transform: translateY(-5px);
}
}
.benefit-text {
font-size: 14px;
color: #333;
font-weight: 500;
} .submit-button {
width: 100%;
background: linear-gradient(135deg, #C5002C 0%, #E01F26 100%);
color: white;
border: none;
border-radius: 8px;
padding: 14px 20px;
font-weight: 600;
font-size: 16px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
margin-bottom: 20px;
position: relative;
overflow: hidden;
}
.submit-button:hover {
background: linear-gradient(135deg, #C5002C 0%, #E01F26 100%);
transform: translateY(-2px);
box-shadow: 0 6px 18px rgba(0, 119, 179, 0.4);
color: #fff;
}
.submit-button:active {
transform: translateY(1px);
box-shadow: 0 2px 8px rgba(0, 119, 179, 0.3);
}
.submit-button:before {
content: "";
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(
90deg,
transparent,
rgba(255, 255, 255, 0.2),
transparent
);
transition: 0.5s;
}
.submit-button:hover:before {
left: 100%;
}
.button-icon {
font-size: 20px;
transition: transform 0.3s;
}
.submit-button:hover .button-icon {
transform: translateX(5px);
} .security-badges {
display: flex;
justify-content: start;
gap: 20px;
}
.security-badge {
font-size: 13px;
color: #4a5568;
transition: color 0.3s ease;
}
.security-badge:hover {
color: #A40025;
} .insurance-modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 9999;
font-family: "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
}
.modal-overlay {
width: 100%;
height: 100%;
background-color: rgba(15, 23, 42, 0.8);
backdrop-filter: blur(5px);
display: flex;
justify-content: center;
align-items: center;
animation: fadeIn 0.3s ease;
padding: 20px; }
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.modal-container {
width: 90%;
max-width: 900px;
margin-top: 150px;
margin-bottom: 100px;
max-height: 85vh; background-color: #fff;
border-radius: 12px;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
display: flex;
flex-direction: column;
overflow: hidden;
}  input[type="checkbox"],
input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0;
} input[type="checkbox"] + span:before {
content: "";
display: inline-block;
width: 24px;
height: 24px;
margin-right: 12px;
border: 2px solid #e2e8f0;
border-radius: 6px;
background-color: white;
vertical-align: middle;
cursor: pointer;
transition: all 0.3s;
} input[type="checkbox"]:hover + span:before {
border-color: #C5002C;
box-shadow: 0 0 5px rgba(197, 0, 44, 0.3);
} input[type="checkbox"]:checked + span:before {
background-color: #C5002C;
border-color: #C5002C;
box-shadow: 0 0 5px rgba(197, 0, 44, 0.3);
} input[type="checkbox"]:checked + span:after {
content: "✓";
position: absolute;
left: 13px;
top: 4px;
color: white;
font-size: 18px;
font-weight: bold;
} input[type="radio"] + span:before {
content: "";
display: inline-block;
width: 24px;
height: 24px;
margin-right: 12px;
border: 2px solid #e2e8f0;
border-radius: 50%;
background-color: white;
vertical-align: middle;
cursor: pointer;
transition: all 0.3s;
} input[type="radio"]:hover + span:before {
border-color: #C5002C;
box-shadow: 0 0 5px rgba(197, 0, 44, 0.3);
} input[type="radio"]:checked + span:before {
border-color: #C5002C;
border-width: 2px;
box-shadow: 0 0 5px rgba(197, 0, 44, 0.3);
} input[type="radio"]:checked + span:after {
content: "";
position: absolute;
left: 13px;
top: 10px;
width: 14px;
height: 14px;
border-radius: 50%;
background-color: #C5002C;
} .checkbox-label,
.radio-label {
display: flex;
align-items: flex-start;
position: relative;
padding: 5px 0;
cursor: pointer;
margin-bottom: 10px;
} .checkbox-text,
.radio-label span {
font-size: 15px;
line-height: 1.4;
padding-top: 3px;
} input[type="checkbox"]:focus + span:before,
input[type="radio"]:focus + span:before {
outline: none;
box-shadow: 0 0 0 3px rgba(197, 0, 44, 0.3);
} @keyframes checkmark {
0% { transform: scale(0); }
50% { transform: scale(1.2); }
100% { transform: scale(1); }
}
input[type="checkbox"]:checked + span:after {
animation: checkmark 0.3s ease-in-out forwards;
}
.modal-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px 20px; background-color: #C5002C; }
.modal-header h2 {
margin: 0;
font-size: 20px; font-weight: 600;
}
.modal-close {
background: rgba(255, 255, 255, 0.2);
border: none;
width: 32px;
height: 32px;
border-radius: 50%;
cursor: pointer;
color: white;
font-size: 24px;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.3s;
}
.modal-close:hover {
background: rgba(255, 255, 255, 0.3);
transform: rotate(90deg);
}
.modal-content {
padding: 20px; overflow-y: auto;
}
.modal-steps {
display: flex;
justify-content: space-between;
margin-bottom: 20px; position: relative;
}
.modal-steps .step {
display: flex;
flex-direction: column;
align-items: center;
position: relative;
z-index: 1;
flex: 1;
}
.modal-steps .step:not(:last-child):after {
content: "";
position: absolute;
top: 18px;
left: 55%;
width: 80%;
height: 3px;
background-color: #e5e9f2;
z-index: -1;
transition: background-color 0.5s ease;
}
.modal-steps .step.completed:not(:last-child):after,
.modal-steps .step.active:not(:last-child):after {
background-color: #C5002C;
}
.step-number {
width: 36px; height: 36px; border-radius: 50%;
background-color: #e5e9f2;
color: #94a3b8;
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
margin-bottom: 6px; position: relative;
transition: all 0.5s;
}
.step.active .step-number {
background-color: #C5002C;
color: white;
box-shadow: 0 0 0 4px rgba(0, 119, 179, 0.2);
animation: pulseStep 2s infinite;
}
@media (max-height: 700px) {
.modal-container {
max-height: 95vh;
}
.modal-header {
padding: 10px 15px;
}
.modal-header h2 {
font-size: 18px;
}
.modal-content {
padding: 15px;
}
.step-number {
width: 32px;
height: 32px;
margin-bottom: 4px;
}
.step-text {
font-size: 12px;
}
}
@keyframes pulseStep {
0% {
box-shadow: 0 0 0 0 rgba(0, 119, 179, 0.4);
}
70% {
box-shadow: 0 0 0 10px rgba(0, 119, 179, 0);
}
100% {
box-shadow: 0 0 0 0 rgba(0, 119, 179, 0);
}
}
.step.completed .step-number {
background-color: #333333;
color: white;
}
.step.completed .step-number:before {
content: "✓";
position: absolute;
}
.step-text {
font-size: 14px;
color: #64748b;
font-weight: 500;
transition: all 0.3s;
}
.step.active .step-text {
color: #C5002C;
font-weight: 600;
}
.step.completed .step-text {
color: #333333;
} .modal-form-step {
display: none;
}
@keyframes fadeSlideIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.modal-form-step.active {
display: block;
}
.modal-form-step h3 {
color: #0f172a;
margin-top: 0;
margin-bottom: 25px;
font-size: 24px;
position: relative;
display: inline-block;
}
.modal-form-step h3:after {
content: "";
position: absolute;
bottom: -8px;
left: 0;
width: 40px;
height: 3px;
background-color: #C5002C;
} .license-plate-section {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 30px;
background-color: #f8fafc;
border-radius: 10px;
padding: 20px;
border: 1px solid #e2e8f0;
}
.license-plate-section:hover {
background-color: #f0f9ff;
border-color: #bae6fd;
box-shadow: 0 5px 15px rgba(0, 119, 179, 0.1);
}
.plate-display {
display: flex;
flex-direction: column;
align-items: center;
}
.plate-frame {
background-color: white;
border: 2px solid #0f172a;
border-radius: 5px;
padding: 10px 20px;
display: flex;
align-items: center;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease;
}
.plate-frame:hover {
transform: scale(1.05);
}
.plate-country {
width: 20px;
height: 20px;
background-color: #003399;
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 12px;
font-weight: bold;
margin-right: 10px;
border: 1px solid #002266;
}
.plate-number {
font-size: 22px;
font-weight: 700;
letter-spacing: 2px;
color: #0f172a;
}
.plate-searching {
display: flex;
align-items: center;
gap: 15px;
}
.searching-spinner {
width: 24px;
height: 24px;
border: 3px solid rgba(0, 119, 179, 0.3);
border-top: 3px solid #C5002C;
border-radius: 50%;
animation: spin 1s linear infinite;
}
.searching-text {
color: #64748b;
font-size: 14px;
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
} .form-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
.form-grid .modal-form-row {
margin-bottom: 0;
}
.form-grid .full-width {
grid-column: span 2;
} .modal-form-row {
margin-bottom: 20px;
}
.modal-form-row label {
display: block;
margin-bottom: 8px;
font-weight: 500;
color: #334155;
font-size: 15px;
transition: color 0.2s;
}
.modal-form-row:focus-within label {
color: #C5002C;
}
.modal-form-row input,
.modal-form-row select {
width: 100%;
padding: 12px 15px;
border: 2px solid #e2e8f0;
border-radius: 8px;
font-size: 16px;
transition: all 0.3s;
}
.modal-form-row input:focus,
.modal-form-row select:focus {
border-color: #C5002C;
outline: none;
box-shadow: 0 0 0 3px rgba(0, 119, 179, 0.2);
transform: translateY(-2px);
}
.modal-form-row input.error,
.modal-form-row select.error {
border-color: #e53935;
background-color: #fff5f5;
animation: errorShake 0.6s;
}
.error-message {
color: #e53935;
font-size: 13px;
margin-top: 5px;
display: block;
animation: fadeIn 0.3s;
} .modal-form-buttons {
display: flex;
justify-content: space-between;
margin-top: 30px;
}
.modal-back-button,
.modal-next-button,
.modal-submit-button {
padding: 12px 24px;
border-radius: 8px;
font-weight: 600;
font-size: 16px;
cursor: pointer;
border: none;
display: flex;
align-items: center;
gap: 8px;
}
.modal-back-button {
background-color: #f1f5f9;
color: #475569;
}
.modal-back-button:hover {
background-color: #e2e8f0;
color: #334155;
}
.modal-back-button:before {
content: "←";
font-size: 18px;
}
.modal-next-button,
.modal-submit-button {
background: linear-gradient(135deg, #C5002C 0%, #E01F26 100%);
color: white;
box-shadow: 0 4px 12px rgba(0, 119, 179, 0.3);
}
.modal-next-button:hover,
.modal-submit-button:hover {
background: linear-gradient(135deg, #C5002C 0%, #E01F26 100%);
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(0, 119, 179, 0.4);
}
.modal-next-button:after {
content: "→";
font-size: 18px;
}
.modal-submit-button:after {
content: "✓";
font-size: 18px;
} .success-message {
text-align: center;
padding: 30px;
animation: fadeIn 0.5s;
}
.success-icon {
width: 70px;
height: 70px;
background-color: #333333;
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 36px;
margin: 0 auto 20px;
}
@keyframes successPop {
0% {
transform: scale(0);
}
50% {
transform: scale(1.2);
}
100% {
transform: scale(1);
}
}
.success-message h2 {
color: #0f172a;
margin-bottom: 15px;
}
.success-message p {
color: #64748b;
margin-bottom: 25px;
}
.modal-close-button {
background-color: #C5002C;
color: white;
border: none;
padding: 12px 24px;
border-radius: 8px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s;
}
.modal-close-button:hover {
background-color: #C5002C;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
} .contact-preference {
display: flex;
gap: 20px;
margin-top: 10px;
}
.radio-label {
display: flex;
align-items: center;
cursor: pointer;
transition: all 0.2s;
}
.radio-label:hover {
color: #C5002C;
}
.radio-label input[type="radio"] {
width: auto;
margin-right: 8px;
}
.checkbox-label {
display: flex;
align-items: center;
cursor: pointer;
}
.checkbox-label input[type="checkbox"] {
width: auto;
margin-right: 10px;
}
.checkbox-text {
font-size: 14px;
color: #4a5568;
}
.privacy-link {
color: #C5002C;
text-decoration: none;
font-weight: 500;
transition: all 0.2s;
}
.privacy-link:hover {
text-decoration: underline;
color: #005990;
} .quotes-results {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 20px;
margin-bottom: 30px;
}
.quote-card {
border: 2px solid #e2e8f0;
border-radius: 12px;
overflow: hidden;
background-color: white;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
position: relative;
}
.quote-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
border-color: #C5002C;
}
.quote-card.selected {
border-color: #333333;
box-shadow: 0 8px 25px rgba(16, 185, 129, 0.2);
}
.quote-badge {
position: absolute;
top: 10px;
right: 10px;
background-color: #C5002C;
color: white;
padding: 4px 10px;
border-radius: 20px;
font-size: 12px;
font-weight: 600;
z-index: 1;
}
.quote-card.best-offer {
border-color: #C5002C;
}
.quote-header {
padding: 20px;
border-bottom: 1px solid #e2e8f0;
display: flex;
justify-content: space-between;
align-items: center;
}
.company-name {
font-size: 18px;
font-weight: 600;
margin: 10px 0 0;
color: #0f172a;
}
.quote-price {
text-align: right;
}
.price-amount {
font-size: 24px;
font-weight: 700;
color: #C5002C;
display: block;
}
.price-period {
font-size: 14px;
color: #64748b;
}
.quote-footer {
padding: 15px 20px;
background-color: #f8fafc;
display: flex;
justify-content: space-between;
align-items: center;
}
.quote-select-button {
background-color: #C5002C;
color: white;
border: none;
padding: 8px 16px;
border-radius: 6px;
font-weight: 600;
font-size: 14px;
cursor: pointer;
transition: all 0.3s;
}
.quote-select-button:hover {
background-color: #005990;
transform: translateY(-2px);
}
.quote-card.selected .quote-select-button {
background-color: #333333;
} @media (max-width: 991px) {
.insurance-form-container {
flex-direction: column-reverse;
}
.insurance-left-image {
flex: 0 0 100%;
max-width: 100%;
height: 200px;
}
.insurance-form-content {
flex: 0 0 100%;
max-width: 100%;
padding: 30px;
}
.form-header {
flex-direction: column;
align-items: flex-start;
gap: 15px;
}
.form-benefits {
flex-direction: column;
gap: 15px;
}
.security-badges {
flex-direction: column;
align-items: center;
gap: 10px;
}
}
@media (max-width: 991px) { .savings-badge {
display: block;
position: absolute;
top: -10px; right: 0;
transform: rotate(0deg); box-shadow: 0 4px 8px rgba(229, 57, 53, 0.3);
z-index: 10; border-radius: 20px;
padding: 6px 12px;
} .form-header {
position: relative;
margin-top: 10px; padding-top: 10px;
} .percentage {
font-size: 18px;
font-weight: 700;
}
.description {
font-size: 12px;
white-space: nowrap;
} .form-header h1 {
padding-top: 15px;
position: relative;
}
} @media (max-width: 480px) {
.savings-badge {
padding: 5px 10px;
top: -5px;
}
}
@media (max-width: 767px) {
.plate-search-container {
flex-direction: column;
}
.modal-container {
width: 100vw;
max-height: 100vh;
max-height: -webkit-fill-available;
max-height: 100dvh;
margin-top:100px!important;
}
.modal-overlay{
padding: 0px!important;
}
.modal-content {
padding: 20px;
}
.modal-steps {
overflow-x: auto;
padding-bottom: 15px;
justify-content: flex-start;
}
.modal-steps .step {
min-width: 100px;
}
.step-text {
font-size: 12px;
}
.form-grid {
grid-template-columns: 1fr;
}
.form-grid .full-width {
grid-column: span 1;
}
.modal-form-buttons {
flex-direction: column;
gap: 10px;
}
.modal-back-button,
.modal-next-button,
.modal-submit-button {
width: 100%;
justify-content: center;
}
} @keyframes floatAnimation {
0% {
transform: translateY(0px);
}
50% {
transform: translateY(-10px);
}
100% {
transform: translateY(0px);
}
}
@keyframes gradientAnimation {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
.submit-button {
background: linear-gradient(270deg, #C5002C, #004a70, #C5002C);
background-size: 200% 200%;
}
.savings-badge {
animation: floatAnimation 3s ease-in-out infinite, pulse 2s infinite;
} .modal-form-row input:focus,
.modal-form-row select:focus {
transform: translateY(-2px);
}
@keyframes focusGlow {
from {
box-shadow: 0 0 5px rgba(0, 119, 179, 0.2);
}
to {
box-shadow: 0 0 8px rgba(0, 119, 179, 0.4);
}
} .plate-decoration {
position: relative;
overflow: hidden;
}
.plate-decoration:after {
content: "";
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: linear-gradient(
transparent,
rgba(255, 255, 255, 0.2),
transparent
);
transform: rotate(45deg);
}
@keyframes shiningEffect {
0% {
transform: translateX(-100%) rotate(45deg);
}
50% {
transform: translateX(100%) rotate(45deg);
}
100% {
transform: translateX(-100%) rotate(45deg);
}
} .modal-next-button,
.modal-submit-button {
position: relative;
overflow: hidden;
}
.modal-next-button:before,
.modal-submit-button:before {
content: "";
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(
90deg,
transparent,
rgba(255, 255, 255, 0.3),
transparent
);
transition: 0.5s;
}
.modal-next-button:hover:before,
.modal-submit-button:hover:before {
left: 100%;
} .step.completed .step-number {
transition: transform 0.3s ease;
}
.step.completed:hover .step-number {
transform: scale(1.1) rotate(360deg);
transition: transform 0.5s ease;
} #indietro,
#continua,
#ottieni-preventivi {
padding: 12px 24px;
border-radius: 8px;
font-weight: 600;
font-size: 16px;
cursor: pointer;
border: none;
display: inline-flex;
align-items: center;
gap: 8px;
}
#indietro {
background-color: #f1f5f9;
color: #475569;
}
#indietro:hover {
background-color: #e2e8f0;
color: #334155;
}
#indietro:before {
content: "←";
font-size: 18px;
}
#continua,
#ottieni-preventivi {
background: linear-gradient(135deg, #C5002C 0%, #E01F26 100%);
color: white;
box-shadow: 0 4px 12px rgba(0, 119, 179, 0.3);
}
#continua:hover,
#ottieni-preventivi:hover {
background: linear-gradient(135deg, #C5002C 0%, #E01F26 100%);
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(0, 119, 179, 0.4);
}
#continua:after {
content: "→";
font-size: 18px;
}
#ottieni-preventivi:after {
content: "✓";
font-size: 18px;
} .informazioni-conducente {
display: none;
}
.informazioni-conducente.active {
display: block;
} .contattarti {
display: none;
}
.contattarti.active {
display: block;
} #indietro,
#continua {
margin: 5px;
} .quote-card {
opacity: 0;
}
.quote-card:nth-child(1) {
animation-delay: 0.1s;
}
.quote-card:nth-child(2) {
animation-delay: 0.2s;
}
.quote-card:nth-child(3) {
animation-delay: 0.3s;
}
@keyframes slideInRight {
from {
opacity: 0;
transform: translateX(30px);
}
to {
opacity: 1;
transform: translateX(0);
}
} input[type="checkbox"] {
appearance: none;
-webkit-appearance: none;
width: 20px;
height: 20px;
border: 2px solid #e2e8f0;
border-radius: 4px;
margin-right: 10px;
position: relative;
cursor: pointer;
transition: all 0.3s;
}
input[type="checkbox"]:checked {
background-color: #C5002C;
border-color: #C5002C;
}
input[type="checkbox"]:checked:after {
content: "✓";
position: absolute;
color: white;
font-size: 14px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
input[type="checkbox"]:hover {
border-color: #C5002C;
box-shadow: 0 0 5px rgba(0, 119, 179, 0.3);
} .insurance-tips {
background-color: #f0f9ff;
border-radius: 10px;
padding: 15px;
display: flex;
align-items: flex-start;
gap: 15px;
margin: 25px 0;
border-left: 4px solid #C5002C;
box-shadow: 0 4px 12px rgba(0, 119, 179, 0.1);
}
@keyframes tipsPulse {
0% {
background-color: #f0f9ff;
}
100% {
background-color: #e0f2fe;
}
}
.tip-icon {
font-size: 24px;
animation: iconWiggle 3s ease-in-out infinite;
}
@keyframes iconWiggle {
0%,
100% {
transform: rotate(0deg);
}
25% {
transform: rotate(-10deg);
}
75% {
transform: rotate(10deg);
}
}
.tip-content h4 {
margin-top: 0;
margin-bottom: 8px;
color: #C5002C;
}
.tip-content p {
margin: 0;
color: #475569;
font-size: 14px;
line-height: 1.5;
} #driver_name,
#vehicle_model,
#driver_residence,
#phone,
#email,
.modal-form-row input[type="text"],
.modal-form-row input[type="tel"],
.modal-form-row input[type="email"],
.modal-form-row input[type="date"] {
width: 100%;
padding: 12px 15px;
border: 2px solid #e2e8f0;
border-radius: 8px;
font-size: 16px;
background-color: #fff;
color: #333;
box-sizing: border-box;
height: auto;
line-height: normal;
}
#driver_name:focus,
#vehicle_model:focus,
#driver_residence:focus,
#phone:focus,
#email:focus,
.modal-form-row input[type="text"]:focus,
.modal-form-row input[type="tel"]:focus,
.modal-form-row input[type="email"]:focus,
.modal-form-row input[type="date"]:focus {
border-color: #C5002C;
outline: none;
box-shadow: 0 0 0 3px rgba(0, 119, 179, 0.2);
transform: translateY(-2px);
} #driver_name.error,
#vehicle_model.error,
#driver_residence.error,
#phone.error,
#email.error,
.modal-form-row input.error {
border-color: #e53935;
background-color: #fff5f5;
} #driver_name::placeholder,
#vehicle_model::placeholder,
#driver_residence::placeholder,
#phone::placeholder,
#email::placeholder,
.modal-form-row input::placeholder {
color: #a0aec0;
opacity: 1;
} input[type="date"] {
appearance: none;
-webkit-appearance: none;
position: relative;
}
input[type="date"]::-webkit-calendar-picker-indicator {
background-color: transparent;
color: #C5002C;
cursor: pointer;
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
} .modal-form-row input:hover {
border-color: #cbd5e0;
} .modal-form-row {
margin-bottom: 20px;
position: relative;
} .modal-form-row label {
display: block;
margin-bottom: 8px;
font-weight: 500;
color: #334155;
font-size: 15px;
transition: color 0.2s;
} .form-grid .full-width {
grid-column: span 2;
}
@media (max-width: 767px) {
.form-grid .full-width {
grid-column: span 1;
}
}
.modal-form-row.full-width .g-recaptcha { transform-origin: 0 0;
-webkit-transform-origin: 0 0;
} .recaptcha-container {
width: 100%;
overflow: hidden;
margin-bottom: 15px;
} @media screen and (max-width: 400px) {
.g-recaptcha {
transform: scale(0.85);
-webkit-transform: scale(0.85);
margin-left: -5px;
}
}
@media screen and (max-width: 340px) {
.g-recaptcha {
transform: scale(0.75);
-webkit-transform: scale(0.75);
margin-left: -10px;
}
} .insurance-datepicker {
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
border-radius: 8px;
padding: 10px;
border: none !important;
font-family: "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
width: 300px;
background-color: white;
}
.insurance-datepicker .ui-datepicker-header {
background: #C5002C;
color: white;
border: none;
border-radius: 4px;
padding: 8px;
margin-bottom: 10px;
}
.insurance-datepicker .ui-datepicker-title {
font-weight: 600;
text-align: center;
}
.insurance-datepicker .ui-datepicker-prev, 
.insurance-datepicker .ui-datepicker-next {
background: rgba(255, 255, 255, 0.3);
border-radius: 50%;
cursor: pointer;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
top: 8px;
}
.insurance-datepicker .ui-datepicker-prev {
left: 5px;
}
.insurance-datepicker .ui-datepicker-next {
right: 5px;
}
.insurance-datepicker .ui-datepicker-prev:hover, 
.insurance-datepicker .ui-datepicker-next:hover {
background: rgba(255, 255, 255, 0.5);
}
.insurance-datepicker .ui-datepicker-calendar {
width: 100%;
border-collapse: collapse;
}
.insurance-datepicker .ui-datepicker-calendar th {
padding: 8px 0;
text-align: center;
font-weight: 600;
color: #333;
}
.insurance-datepicker .ui-datepicker-calendar .ui-state-default {
background: #f8f9fa;
border: 1px solid #e9ecef;
color: #495057;
text-align: center;
padding: 8px;
display: block;
text-decoration: none;
border-radius: 4px;
transition: all 0.2s ease;
}
.insurance-datepicker .ui-datepicker-calendar .ui-state-hover {
background: #e9ecef;
color: #C5002C;
}
.insurance-datepicker .ui-datepicker-calendar .ui-state-active {
background: #C5002C;
color: white;
border-color: #C5002C;
font-weight: bold;
}
.insurance-datepicker .ui-datepicker-calendar td {
padding: 2px;
}
.insurance-datepicker .ui-datepicker-calendar .ui-state-disabled {
opacity: 0.3;
}
.insurance-datepicker .ui-datepicker-buttonpane {
border-top: 1px solid #e9ecef;
padding-top: 8px;
margin-top: 8px;
text-align: center;
}
.insurance-datepicker .ui-datepicker-buttonpane button {
background: #f8f9fa;
border: 1px solid #e9ecef;
color: #495057;
padding: 5px 10px;
border-radius: 4px;
cursor: pointer;
margin: 0 3px;
font-size: 12px;
}
.insurance-datepicker .ui-datepicker-buttonpane button:hover {
background: #e9ecef;
} .date-picker-wrapper {
position: relative;
display: flex;
align-items: center;
}
.date-picker-wrapper input {
padding-right: 40px; cursor: pointer;
background-color: #fff;
}
.calendar-icon {
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
cursor: pointer;
background-color: #C5002C;
color: white;
padding: 6px 10px;
border-radius: 4px;
transition: all 0.2s ease;
z-index: 1;
}
.calendar-icon:hover {
background-color: #A40025;
transform: translateY(-50%) scale(1.05);
} @keyframes datepickerFadeIn {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.insurance-datepicker {
}
.flatpickr-current-month {
padding: 0px!important;
}
#privacy_consent {
display: none;
}