@charset "utf-8";

/* === RESET E BASE === */

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;}
blockquote,q {quotes:none;}
blockquote:before,blockquote:after,q:before,q:after {content:"";}
*,*:before,*:after {box-sizing:border-box;}
body {font-family:'Montserrat',sans-serif;line-height:1.6;color:rgba(0,0,0,1.00);background:#fff;}
html {scroll-behavior:smooth;}

/* === HERO === */
.hero {position:relative;overflow:hidden;padding:0;background: radial-gradient(circle at center, #FBAB30 0%, #D78C28 80%);color:#fff;}
.hero-content {width:100%;max-width:1200px;margin:0 auto;background:url("/info_soluzione_scontata/img/ragazzo.webp") left 20px bottom no-repeat;background-size:contain;position:relative;}
.hero-content::after {content:"";position:absolute;top:220px;right:120px;width:180px;height:180px;background:url("/info_soluzione_scontata/img/logo.webp") no-repeat center;background-size:contain;}

.discount-badge {width: 100%; max-width: 500px; margin:0 auto;padding:100px 70px 0 0;}

.deadline { width: 100%; max-width: 400px; margin:20px auto 0;padding-bottom:20px;text-align: center;}
.deadline a { display:inline-block; font-size:1rem;line-height: 1rem; text-align: center; color:#C00A0A; background:#fff; padding:10px 25px; border-radius:10px; font-weight:600; box-shadow:0 4px 10px rgba(0,0,0,0.1); text-decoration:none; transition:all .3s ease; }
.deadline a:hover { background:#FEC100; color:#931813; box-shadow:0 6px 15px rgba(0,0,0,0.2); }

/* === CONTAINER E TITOLI === */
.container {max-width:1200px;margin:0 auto;padding:20px;}
.section-title {text-align:center;font-size:2.4rem;color:rgba(147,24,19,1.00);margin-bottom:30px;font-weight:700;}

/* === INTRO === */
.intro {background:#FEC100;padding:30px 0 50px 0;text-align:center;}
.intro h1 {margin-bottom:20px;font-size:2.6rem;line-height: 3.2rem; font-weight:700;color:#C00A0A;text-shadow:2px 2px 4px rgba(0,0,0,0.0);}
.intro h2 {margin-bottom:20px;font-size:2.6rem;line-height: 3.2rem; font-weight:700;color:#C00A0A;text-shadow:2px 2px 4px rgba(0,0,0,0.0);}
.intro p {font-size:1.2rem;line-height:1.8;max-width:800px;margin:0 auto;}
/* === CTA BUTTON === */
.cta-button {display:block;max-width: 300px; margin:20px auto 0;padding:16px 45px;font-size:1.2rem;font-weight:700;text-transform:uppercase;color:#fff;background:#C00A0A;border:none;border-radius:20px;box-shadow:0 5px 15px rgba(0,0,0,0.2);text-decoration:none;transition:all .3s ease;text-align:center;}
.cta-button:hover {background:#8A0707;box-shadow:0 8px 20px rgba(0,0,0,0.3);transform:translateY(-2px);}

/* === BENEFICI === */
.benefits { background:linear-gradient(180deg,#fceecb 0%,#fff 50%,#fceecb 100%); padding:40px 0 30px; }
.benefits h2 { font-size:2.6rem; line-height:3.2rem; font-weight:700; color:#C00A0A; text-shadow:2px 2px 4px rgba(0,0,0,0.2); text-align:center; margin-bottom:30px; }
.benefits-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:30px; justify-content:center; align-items:stretch; margin-bottom:40px !important; }
.benefit-card { display:flex; flex-direction:column; justify-content:flex-start; background:#fff; padding:35px 25px; border-radius:15px; box-shadow:0 5px 20px rgba(0,0,0,0.08); transition:transform .3s,box-shadow .3s,border-color .3s; border:3px solid transparent; }
.benefit-card:hover { transform:translateY(-6px); box-shadow:0 10px 30px rgba(0,0,0,0.15); border-color:#FEC100; }
.benefit-card h3 { color:#931813; font-size:1.5rem; line-height: 1.7rem; margin-bottom:0; font-weight:700; text-align:center; text-shadow:2px 2px 2px rgba(0,0,0,0.0); }
.benefit-card p { color:#333; line-height:1.8; font-size:1.05rem; text-align:left; margin-top:0.5rem; }

/* === PERCHE SCEGLIERE === */
.why-choose { padding: 40px 0 50px; background: #FEC100; }
.why-choose h2 { font-size: 2.4rem; line-height: 3rem; font-weight: 700; color: #C00A0A; text-align: center; margin-bottom: 40px; text-shadow: 1px 1px 3px rgba(0,0,0,0.25); }
.features-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 15px; max-width: 1200px; margin: 0 auto 40px; }
.feature-card { background: #fff; padding: 25px 20px; border-radius: 12px; border-left: 4px solid #C00A0A; box-shadow: 0 5px 15px rgba(0,0,0,0.08); transition: transform .3s, box-shadow .3s; }
.feature-card:hover { transform: translateY(-5px); box-shadow: 0 8px 20px rgba(0,0,0,0.15); }
.feature-card h3 { font-size: 1.2rem; line-height: 1.2rem; font-weight: 700; color: #931813; margin-bottom: 10px; text-shadow: 1px 1px 3px rgba(0,0,0,0.0); }
.feature-card p { font-size: 1rem; line-height: 1.6; color: #333; margin: 0; }
.feature-card strong { font-weight: 700; color: #000; }

/* === LOCATIONS === */
.locations {background:linear-gradient(135deg,#D50911 0%,#931813 100%);color:#fff;padding:40px 0px;text-align:center;}
.locations h2 {color:#fff;margin-bottom:20px;font-size:2.2rem;line-height: 2.4rem;}
.locations-text {font-size:1.2rem;max-width:800px;margin:0 auto 10px;line-height:1.8;}
/* === LOCATION BUTTON === */
.locations .cta-button {display:inline-block;background:#FEC100;color:rgba(0,0,0,1.00);font-weight:700;font-size:1.1rem;padding:14px;border-radius:10px;text-transform:uppercase;letter-spacing:0.5px;text-decoration:none;box-shadow:2px 2px 10px rgba(0,0,0,0.2);transition:all .3s ease;}
.locations .cta-button:hover {background:#ffffff;color:#931813;box-shadow:0 0 15px rgba(192,10,10,0.6);}

/* === FORM SEZIONE === */
.form-section { background:#424242; color:#fff; padding:70px 20px; }
.form-container { max-width:600px; margin:0 auto; background:#fff; padding:40px; border-radius:15px; box-shadow:0 10px 40px rgba(0,0,0,0.3); }
.form-container h2 { font-size:2.4rem; line-height:2.5rem; font-weight:700; color:#C00A0A; text-align:center; margin-bottom:10px; text-shadow:2px 2px 4px rgba(0,0,0,0.2); }
.form-container p { font-size:1.2rem; line-height:1.2; text-align:center; color:#333; margin-bottom:15px; }
/* === FORM LAYOUT === */
form { width:100%; overflow:hidden; }
fieldset div { float:left; width:50%; box-sizing:border-box; position:relative; padding:0 10px 15px 10px; }
fieldset .full { width:100%; clear:both; }
fieldset input, fieldset select, fieldset textarea { width:100%; padding:12px 10px; font-size:14px; border:1px solid #ccc; border-radius:5px; background:#fff; transition:all .3s ease; }
input:focus, select:focus, textarea:focus { background:#fffceb; border:1px solid #EC6F23; outline:none; }
select { -webkit-appearance:none; -moz-appearance:none; appearance:none; }
.select { color:#666; background:#fff url("/images/select-arrow.png") no-repeat 97% 50%; }
.telefono-wrapper { float:left; width:50%; padding:0 10px 15px 10px; box-sizing:border-box; }
.prefisso, .numero { float:left; box-sizing:border-box; position:relative; }
.prefisso { width:33%; padding-right:2%; }
.numero { width:65%; float:right; }
.numero input { position:relative; z-index:3; }
.prefisso select { width:100%; max-width:100%; }
fieldset #campi-obbligatori { float:left; width:50%; padding:0 10px; background:none; border:none; text-align:left; margin-top:3px; font-size:10px; color:#444; }
fieldset #privacy_box { width:100%; float:left; clear:both; margin:10px 0 15px; padding:0; font-size:10px; line-height:13px; color:#333; }
fieldset #privacy_box input { width:12px; height:12px; }
fieldset #privacy_box strong { font-weight:600; }
fieldset #privacy_box span { display:inline-table; }
fieldset #variabili, fieldset #domanda { display:none; }
#invia { width:100%; float:left; text-align:center; padding-top:10px; }
.item { border:none; background:none; text-align:center; }
.item .jqconferma { cursor:pointer; width:100%; max-width:220px; margin:0 auto; padding:8px 10px; font-family:'Montserrat',sans-serif; font-size:15px; font-weight:600; text-transform:uppercase; text-decoration:none; color:#fff; background:#C00A0A; border-radius:8px; box-shadow:0 3px 10px rgba(0,0,0,0.2); transition:all .3s ease; }
.item .jqconferma:hover { background:#931813; box-shadow:0 0 12px rgba(192,10,10,0.7); transform:translateY(-1px); }
/* === ERRORI === */
.error { position:absolute; bottom:15px; left:10px; font-size:9px; line-height:10px; color:#fff; background:rgba(192,8,31,0.85); padding:2px 5px; border-radius:2px; display:none; z-index:5; }
.error:not(:empty) { display:inline-block !important; }
.numero #telefono-errore { bottom:15px; left:10px; z-index:6; }
input:required:focus:invalid, select:required:focus:invalid { border:1px solid red; }
input:required:valid, select:required:valid { border:1px solid #0C0; }


/* === FOOTER === */
.footer {background:#931813;color:#fff;text-align:center;padding:30px 15px;font-size:0.95rem;}
.footer-container {max-width:1200px;margin:0 auto;}
.footer p {margin:5px 0;}
.footer-brand {font-weight:700;font-size:1rem;}
.footer-info {opacity:0.9;}
.footer-links {margin-top:10px;}
.footer-links a {color:#FCC200;margin:0 10px;text-decoration:none;font-weight:600;transition:color .3s ease;}
.footer-links a:hover {color:#EC6F23;text-decoration:underline;}
.footer-links i {margin-right:6px;}

/* === VARIE ED EVENTUALI === */
.intero {display:inline-block;}
.fluid {width: 100%;height: auto;}




/* === RESPONSIVE === */
@media (max-width:960px) {
.hero-content::after {top:220px;right:20px;width:180px;height:180px;}

}

@media (max-width:768px) {

	/* === HERO === */
.hero-content::after {top:-20px;right:60px;width:180px;height:180px;}
	.discount-badge {float:right; max-width: 380px; margin:0;padding:160px 20px 10px 0;}

	.section-title{font-size:2rem;}
	.cta-button{font-size:1.1rem;padding:15px 40px;}
	.benefits-grid{gap:20px;}
	.intro {padding-top:20px;}
	.intro h1 {margin-bottom:20px;font-size:2.6rem;line-height: 2.6rem; font-weight:700;color:#C00A0A;text-shadow:2px 2px 4px rgba(0,0,0,0.2);}
	
	.why-choose { padding:30px 0 50px; }
	.why-choose h2 { font-size:2rem; line-height:2.4rem; margin-bottom:25px; }
	.features-grid { grid-template-columns:repeat(1,1fr); gap:20px; padding:0; }
	.feature-card { padding:20px 15px; }
	.feature-card h3 { font-size:1.1rem; }
	.feature-card p { font-size:0.95rem; line-height:1.5; }
	.form-container{padding:25px;}
	fieldset div, .telefono-wrapper, #campi-obbligatori { width:100%; padding:0 0 15px 0; text-align:cover; }
}

@media (max-width:640px) {
.hero-content::after {top:20px;right:10px;width:160px;height:160px;}
	.hero-content {background-position: left bottom;background-size: contain;}
	.discount-badge {float:none; margin:0 auto; max-width: 340px; padding:260px 0 0 0;}
	.intro h1 {font-size:2.2rem;line-height: 2.2rem;}
.benefits h2 {font-size:2.0rem; line-height:2.2rem;}
.why-choose h2 { font-size:2.0rem; line-height:2.2rem;}
.locations h2 { font-size:2.0rem; line-height:2.2rem;}

}

@media (max-width:340px) {
.hero-content::after {top:10px;right:10px;width:150px;height:150px;}
	.discount-badge {max-width: 290px;padding:210px 20px 10px 0;}
}
