@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500;700&display=swap');



:root {

    --primary-red: #EF1717;

    --text-color: #000000;

    --gray-bg: #f5f5f5;

    /* Light gray for fallback */

    --input-border: #a3bac6;

    --form-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);

}



* {

    box-sizing: border-box;

    margin: 0;

    padding: 0;

}

html {font-size:12px;}

body {

    font-family: 'Ubuntu', sans-serif;

    color: var(--text-color);

    line-height: 1.5;

    background: #ffffff;

    /* Subtle gradient background */

    min-height: 100vh;
	

}



/* Header */

header {

    background-color: #fff;
	
	padding:20px 0;

}



.logo-container {

    display: flex;

    align-items: center;

    gap: 40px;
	
	position:relative;

}
.logo-container:after {content:"";display:block;top:0;bottom:0;right:-20px;background-color:#cecece;width:1px;position:absolute;}

.logo-container:last-child:after {display:none;}


.logo-img {

    height: 70px;

    width: auto;

}



/* Main Layout */

.main-container {

    display: flex;

    flex-wrap: wrap;

    max-width: 1200px;

    margin: auto;

    padding: 0 20px;

    gap: 40px;

}



.hero-section {

    flex: 1;

    min-width: 300px;

    padding-top: 20px;
	
	padding-bottom:70px;

}



.form-section {

    flex: 1;

    min-width: 350px;

    max-width: 500px;
	
	margin-top:-30px;

}



/* Hero Content */

h1 {

    color: var(--primary-red);

    font-size: 2.5rem;

    font-weight: 700;

    margin-bottom: 35px;

    line-height: 1.2;

}

h2{font-weight:400;}

h2.under{border-bottom:2px solid var(--primary-red);margin-bottom:20px;display:inline-block;line-height:1.7;}

.red{color: var(--primary-red);}


.condizioni-list {
	margin-bottom: 50px;
	list-style: none;
}

.benefits-wrap {
	display:flex;
	flex-direction:row;
	align-items: center;
	gap: 40px;
	margin-bottom: 40px;
}

.benefits-wrap > img {
	height:auto;
	width:122px;
	max-width:15%;
}

@media (max-width:450px){
	.benefits-wrap > img {display:none !important;}
}

.benefits-list {

    list-style: none;

    margin-bottom:0;

}

strong{display: contents;}

.condizioni-list li .listwrap {display:inline-block;}

.condizioni-list li .listwrap .listblock {
	border-radius:50px;
	background-color:#f1f7ff;
	border:2px solid #dcebfc;
	padding:3px 18px 3px 3px;
	    display: flex;
    align-items: center;
	justify-content: flex-start;
}

.condizioni-list li img {
	border-radius:50px;margin-right:20px;
}

.condizioni-list li,.benefits-list li {

    display: flex;

    align-items: center;
	
	justify-content: flex-start;

    margin-bottom: 7px;

    font-size: 1.3rem;
	
	letter-spacing:0.01em;

}



.benefits-list li::before {

    content: '';

    /* Placeholder for icon */

    background-color: var(--primary-red);

    font-weight: bold;

    margin-right: 10px;

    font-size: 1.2rem;
	
	border-top-right-radius:40px;
	
	border-bottom-right-radius:40px;
	
	width:10px;
	height:20px;
}



.confcommercio-promo {

    background-color: #fff;

	font-size:1.3rem;

    margin-bottom: 40px;

}

p{font-size:1.3rem;}

/* Form Styles */

.form-container {

    background-color: #fff;

    padding: 40px;

    border-radius: 40px;

    box-shadow: var(--form-shadow);

    position: relative;

}



.form-group {

    margin-bottom: 15px;

}



.form-group label {

    display: block;

    margin-bottom: 5px;

    font-weight: 700;

    font-size: 1.2rem;

    color: #333;

}



.form-control {

    width: 100%;

    padding: 12px 15px;

    border: 1px solid var(--input-border);

    border-radius: 8px;

    /* Slightly rounded inputs */

    font-family: inherit;

    font-size: 1.2rem;

    transition: border-color 0.3s;
	
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.28);
	
	background-color:#fff;

}



.form-control:focus {

    border-color: var(--primary-red);

    outline: none;

}



.checkbox-group {

    display: flex;

    align-items: flex-start;

    gap: 10px;

    font-size: 0.85rem;

    margin-top: 20px;

    margin-bottom: 20px;

}



.checkbox-group input {

    margin-top: 3px;

}



.btn-submit {

    background-color: var(--primary-red);

    color: #fff;

    border: none;

    padding: 15px 40px;

    font-size: 1.3rem;

    font-weight: 700;

    border-radius: 41px;

    cursor: pointer;

    width: 100%;

    transition: transform 0.2s, box-shadow 0.2s;

    text-transform: uppercase;
	
	font-family: inherit;

}



.btn-submit:hover {

    transform: translateY(-2px);

    box-shadow: 0 5px 15px rgba(239, 23, 23, 0.4);

}



/* Footer */

footer {

    text-align: center;

    padding: 30px;

    font-size: 0.8rem;

    color: #666;

    margin-top: 50px;
	
	background: rgb(246,246,246);

}



footer a {

    color: inherit;

    text-decoration: none;
	
	

}



/* Alerts */

.alert {

    padding: 15px;

    margin-bottom: 20px;

    border-radius: 8px;

    text-align: center;

}



.alert-success {

    background-color: #d4edda;

    color: #155724;

    border: 1px solid #c3e6cb;

}



.alert-error {

    background-color: #f8d7da;

    color: #721c24;

    border: 1px solid #f5c6cb;

}



/* Responsive */

@media (max-width: 768px) {

    .main-container {

        flex-direction: column;

    }



    .form-container {

        padding: 30px 20px;

    }



    h1 {

        font-size: 2rem;

    }

}