/* Corsi extends the existing Bonifiche layout and native WPForms styles. */
.ds-corsi .hero{grid-template-columns:1.05fr 1fr;gap:58px}
.ds-corsi .hero-visual{min-height:390px;aspect-ratio:1.35;align-self:center}
.ds-corsi .hero-visual>img{object-position:center}
.ds-corsi .hero-description{font-size:19px;line-height:1.65;max-width:620px}
.ds-corsi .hero-caption{background:#102a40ed}
.ds-corsi .hero-caption strong{font-size:20px}
.ds-corsi .hero-qualification{display:block;font-size:clamp(25px,2.4vw,35px);line-height:1.22;letter-spacing:-.025em;margin-top:16px}
.ds-corsi .service-icon{display:block;flex:0 0 auto;width:32px;height:32px;stroke:currentColor;fill:none;stroke-width:1.6;color:var(--blue)}
.ds-corsi .intro-grid{grid-template-columns:1fr 1.35fr;gap:75px}
.ds-corsi .intro-grid h2{max-width:460px;margin-bottom:0}
.ds-corsi .card-number{font-size:13px;letter-spacing:.08em;color:#a7cbea}
.ds-corsi .training-facts{display:grid;grid-template-columns:repeat(4,1fr);background:var(--soft);border:1px solid var(--line);border-radius:12px}
.ds-corsi .training-fact{display:flex;align-items:center;gap:17px;padding:24px;border-right:1px solid var(--line);min-width:0}
.ds-corsi .training-fact:last-child{border-right:0}
.ds-corsi .training-fact strong{display:block;font-size:15px;line-height:1.4;margin-bottom:4px}
.ds-corsi .training-fact span{display:block;color:var(--muted);font-size:13px;line-height:1.5}
.ds-corsi .training-method .section-heading .button{margin-top:30px}
.ds-corsi .training-method .intro-facts{max-width:400px;margin-top:35px}
.ds-corsi .course-list{display:grid;gap:32px}
.ds-corsi .course-row{display:grid;grid-template-columns:.9fr 1.15fr;border:1px solid #ffffff30;border-radius:12px;overflow:hidden;background:#ffffff07;scroll-margin-top:30px}
.ds-corsi .course-photo{position:relative;margin:0;min-height:370px;background:#fff}
.ds-corsi .course-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.ds-corsi .course-body{padding:38px 42px}
.ds-corsi .course-body .card-number{display:block;margin-bottom:16px}
.ds-corsi .course-body h3{font-size:clamp(27px,2.4vw,35px);line-height:1.2;max-width:640px;margin-bottom:25px}
.ds-corsi .course-body .prose{font-size:16px;line-height:1.75}
.ds-corsi .course-body .prose p{margin-bottom:15px}
.ds-corsi .course-body .button{margin-top:14px}
.ds-corsi .course-row:nth-child(even){grid-template-columns:1.15fr .9fr}
.ds-corsi .contact-intro>p{max-width:440px}
@media(min-width:1700px){
.ds-corsi .hero{gap:80px}
}
@media(max-width:1100px){
.ds-corsi .hero{gap:32px}
.ds-corsi .hero-visual{min-height:360px;aspect-ratio:auto;align-self:stretch}
.ds-corsi .intro-grid{gap:40px;grid-template-columns:1fr 1.4fr}
.ds-corsi .training-fact{padding:20px 14px;gap:12px}
.ds-corsi .training-fact strong{font-size:14px}
.ds-corsi .training-fact .service-icon{width:28px;height:28px}
.ds-corsi .course-body{padding:30px}
.ds-corsi .course-photo{min-height:400px}
}
@media(max-width:760px){
.ds-corsi .hero{grid-template-columns:1fr;gap:28px}
.ds-corsi .hero-visual{aspect-ratio:1.5;min-height:0}
.ds-corsi .hero-description{font-size:17px}
.ds-corsi .hero-description br{display:none}
.ds-corsi .hero-caption strong{font-size:18px}
.ds-corsi .hero-qualification{font-size:27px;max-width:530px}
.ds-corsi .intro-grid{grid-template-columns:1fr;gap:28px}
.ds-corsi .training-facts{grid-template-columns:1fr 1fr}
.ds-corsi .training-fact{padding:20px 14px}
.ds-corsi .training-fact:nth-child(2){border-right:0}
.ds-corsi .training-fact:nth-child(-n+2){border-bottom:1px solid var(--line)}
.ds-corsi .training-method .intro-facts{margin-top:25px}
.ds-corsi .training-method .intro-facts>div{display:block}
.ds-corsi .training-method .intro-facts span{display:block;margin-top:5px}
.ds-corsi .training-method .section-heading .button{margin-top:25px}
.ds-corsi .course-list{gap:25px}
.ds-corsi .course-row, .ds-corsi .course-row:nth-child(even){grid-template-columns:1fr}
.ds-corsi .course-photo{min-height:0;aspect-ratio:1.65}
.ds-corsi .course-body{padding:26px}
.ds-corsi .course-body h3{font-size:28px}
.ds-corsi .course-body .card-number{margin-bottom:12px}
.ds-corsi .contact-intro h2{font-size:35px}
}
@media(max-width:380px){
.ds-corsi .hero-qualification{font-size:24px}
.ds-corsi .training-fact{display:block}
.ds-corsi .training-fact .service-icon{margin-bottom:12px}
.ds-corsi .hero-caption{padding:12px;gap:8px}
.ds-corsi .hero-caption strong{font-size:16px}
}
@media print{
.ds-corsi .course-row{break-inside:avoid}
.ds-corsi .course-body .card-number, .ds-corsi .card-number{color:#333}
.ds-corsi .course-photo{min-height:250px}
.ds-corsi .service-icon{color:#1e5f9e}
}

/* Keep the approved photo composition while inheriting the staging gutters. */
.ds-corsi .hero-visual{position:relative;overflow:hidden;background:var(--soft);max-width:none}
.ds-corsi .hero-visual>picture{display:block;position:absolute;inset:0;width:100%;height:100%}
.ds-corsi .hero-visual img{position:absolute;inset:0;height:100%;width:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.ds-corsi .hero-caption{position:absolute;inset:auto 20px 20px;margin:0;box-shadow:0 10px 25px #10203022;flex-direction:row;align-items:center}
.ds-corsi .hero-caption strong{white-space:normal}
.ds-corsi .hero-copy,.ds-corsi .course-body,.ds-corsi .intro-grid>div{min-width:0}
.ds-corsi h1,.ds-corsi h2,.ds-corsi h3{overflow-wrap:anywhere}
.ds-corsi .training-facts{list-style:none;margin:0;padding:0}
.ds-corsi .technical{background:var(--ds-contact-panel-background)}
.ds-corsi .course-photo img{max-width:none}
.ds-corsi .course-row--image-last{grid-template-columns:1.15fr .9fr}
.ds-corsi .quote-form div.wpforms-container .course-selection{font-size:13px;line-height:1.6;color:var(--body);margin:10px 0 0;overflow-wrap:anywhere}
.ds-corsi .quote-form div.wpforms-container select{padding-right:34px}
.ds-corsi .quote-form div.wpforms-container select.wpforms-error{border-color:#b42318!important}
.ds-corsi .quote-form div.wpforms-container .wpforms-field-hp{display:none!important}
.ds-corsi .quote-form div.wpforms-container .wpforms-required-label{color:#b42318}
@media(min-width:761px) and (max-width:1000px){
 .ds-corsi .hero-qualification{font-size:clamp(25px,3vw,30px)}
 .ds-corsi .training-facts{grid-template-columns:1fr 1fr}
 .ds-corsi .training-fact:nth-child(2){border-right:0}
 .ds-corsi .training-fact:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .ds-corsi .hero-caption{flex-direction:column;align-items:flex-start;gap:4px;padding:16px}
}
@media(max-width:760px){
 body.page .ds-corsi .hero h1{font-size:44px;line-height:1.08}
 /* The legacy mobile page rules use !important; keep the approved hierarchy. */
 body.page .ds-corsi h2{font-size:30px!important}
 body.page .ds-corsi .course-body h3{font-size:28px!important}
 body.page .ds-corsi .contact-intro h2{font-size:35px!important}
 .ds-corsi .hero-qualification br{display:none}
 .ds-corsi .hero-visual{width:100%;aspect-ratio:1.5}
 .ds-corsi .hero-caption{inset:auto 14px 14px;padding:14px;gap:10px}
 .ds-corsi .page-nav{white-space:normal;flex-wrap:wrap;gap:8px 24px;overflow:visible}
 .ds-corsi .page-nav a{padding-block:8px}
 .ds-corsi .course-row--image-last{grid-template-columns:1fr}
 .ds-corsi .quote-form div.wpforms-container .wpforms-field.wpforms-one-half{float:none;clear:both;width:100%;margin-left:0}
}
@media(max-width:380px){
 body.page .ds-corsi .hero h1{font-size:39px}
 body.page .ds-corsi .course-body h3{font-size:26px!important}
 .ds-corsi .hero-caption{padding:12px;gap:8px}
 .ds-corsi .hero-caption strong{font-size:16px}
 .ds-corsi .course-body{padding:22px}
}
@media(prefers-reduced-motion:reduce){.ds-corsi .button{transition:none}.ds-corsi .button:hover{transform:none}}
