/* SportProfile shares the DietProfile page layout and uses the brochure's palette. */
.sportprofile-page{--diet-purple:#ffbf19;--diet-pale:#ebf4ff}
.sportprofile-page .diet-hero h1,.sportprofile-page .diet-section h2{color:#ffbf00}
.sportprofile-page .diet-hero__photo img{object-position:58% center}
.sportprofile-page .diet-hero__line i:first-child{background:var(--diet-yellow)}
.sportprofile-page .diet-hero__line i:nth-child(3){background:#82a5d9}
.sport-brand{width:min(100%,400px);margin-bottom:30px}
.sport-brand img{display:block;width:100%;height:auto}
.sportprofile-page .diet-list--panel{background:var(--diet-pale)}
.sportprofile-page .diet-section--pale .diet-list--panel{background:#fff}
.sportprofile-page .diet-list--panel h3,.sportprofile-page .diet-topic h3{color:var(--diet-navy)}
.sportprofile-page .diet-topic h3{background:var(--diet-yellow)}
.sportprofile-page .diet-topic{border-color:var(--diet-yellow)}
.sportprofile-page .diet-list li:before{border-color:var(--diet-navy)}
.sportprofile-page .diet-journey li:not(:last-child):after{border-left-color:var(--diet-yellow)}
.sportprofile-page .diet-turnaround span:last-child{color:var(--diet-navy)}
.sportprofile-page .diet-cta{background:var(--diet-yellow);color:var(--diet-navy)}
.sportprofile-page .diet-cta h2{color:var(--diet-navy)}
.sportprofile-page .diet-cta .button{border-color:var(--diet-navy);color:var(--diet-navy)}
.sportprofile-page .diet-cta .button:hover{background:var(--diet-navy)!important;color:#fff!important}
.sport-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1040px;margin-top:34px}
.sport-areas article{display:grid;grid-template-columns:minmax(160px,34%) 1fr;min-width:0;background:var(--diet-pale)}
.sport-areas h3{display:flex;align-items:center;margin:0;padding:20px 22px;background:#fff2c7;color:var(--diet-navy);font-size:1.12rem;line-height:1.3;font-weight:700}
.sport-areas p{margin:0;padding:20px 22px;font-size:1rem;line-height:1.5}
.sportprofile-page [aria-labelledby="potenziale-title"] .diet-intro-callout h3{margin:0 0 12px;color:var(--diet-navy);font-size:1.18rem;line-height:1.3;text-transform:uppercase}
.sportprofile-page .sport-stable-callout{max-width:none;margin-top:58px;padding:36px 32px 26px;border:3px solid #ffbf00;border-radius:36px;background:#fff}
.sportprofile-page .sport-areas+.sport-stable-callout h3{position:relative;display:table;max-width:100%;margin:-63px 0 20px;padding:9px 18px;border-radius:10px;background:var(--diet-navy);color:#fff;font-size:clamp(1.05rem,2vw,1.45rem);line-height:1.3;text-transform:uppercase}
.sport-stable-callout p{max-width:none;margin:0}
.sport-section-subtitle{margin:34px 0 18px;color:var(--diet-navy);font-size:1.3rem;line-height:1.3}
.sport-understanding{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 32px;max-width:1040px;margin-top:22px}
.sport-understanding>div{padding-left:18px;border-left:2px solid #ffbf00}
.sport-understanding h4{margin:0 0 6px;color:var(--diet-navy);font-size:1.08rem;font-weight:700}
.sport-understanding p{margin:0;font-size:1rem;line-height:1.55}
.sport-traits{display:grid;grid-template-columns:1fr;gap:30px;max-width:1040px;margin-top:34px}
.sport-trait-group h3{margin:0 0 17px;padding:9px 16px;border-radius:6px;background:#789bd3;color:#fff;font-size:1.2rem;line-height:1.3;text-transform:uppercase}
.sport-trait-group ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;margin:0;padding:0 12px;list-style:none}
.sport-trait-group li{position:relative;padding-left:20px;font-size:1rem;line-height:1.5;font-weight:700;font-style:italic}
.sport-trait-group li::before{content:"";position:absolute;top:.45em;left:0;width:8px;height:12px;background:#ffbf00;clip-path:polygon(0 0,100% 50%,0 100%)}
.sportprofile-page main{counter-reset:sport-focus}
.sport-brochure-content{max-width:1040px}
.sport-brochure-content h3{display:flex;align-items:center;gap:15px;margin:32px 0 10px;color:var(--diet-navy);font-size:1.3rem;line-height:1.3}
.sport-brochure-content h3::before{content:counter(sport-focus);counter-increment:sport-focus;display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:#ffbf00;color:var(--diet-navy);font:700 1.25rem/1 Poppins,sans-serif}
.sport-brochure-content h3:first-child{margin-top:0}
.sport-brochure-content h4{margin:27px 0 10px;color:var(--diet-navy);font-size:1.08rem;font-weight:700}
.sport-brochure-content p{max-width:990px;margin:0 0 18px}
.sport-brochure-list{max-width:1040px;margin:0 0 27px;padding-left:23px}
.sport-brochure-list li{padding-left:3px;margin-bottom:10px;line-height:1.55}
.sport-brochure-list li::marker{color:#d19800}
.sport-brochure-note{max-width:1040px;margin-top:35px;padding:24px 29px;border-radius:18px;background:var(--diet-pale)}
.diet-section--pale .sport-brochure-note{background:#fff}
.sport-brochure-note h3{margin:0 0 10px;color:var(--diet-navy);font-size:1.18rem;line-height:1.3;text-transform:uppercase}
.sport-brochure-note p{margin:0}
.sport-steps{display:grid;gap:22px;max-width:1040px;margin:32px 0 0 18px;padding:0;list-style:none;counter-reset:sport-step}
.sport-steps li{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 78px;grid-template-rows:auto auto;column-gap:22px;align-items:center;min-height:112px;padding:18px 18px 18px 70px;border-radius:38px;background:#f2f8ff;counter-increment:sport-step}
.sport-steps li::before{content:counter(sport-step);position:absolute;left:-18px;top:50%;display:grid;place-items:center;width:52px;height:52px;transform:translateY(-50%);border:2px solid #789bd3;border-radius:50%;background:#fff;color:#ffbf00;font:700 1.4rem/1 Poppins,sans-serif}
.sport-steps strong,.sport-steps span{display:block;grid-column:1}
.sport-steps strong{align-self:end;margin-bottom:4px;color:var(--diet-navy);font-size:1.08rem}
.sport-steps span{align-self:start;font-size:1rem;line-height:1.5}
.sport-steps img{grid-column:2;grid-row:1/span 2;display:block;width:78px;height:78px;border-radius:50%;object-fit:contain}
.sport-criteria{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:22px;align-items:center;max-width:1040px;margin:42px 0 0;padding:27px 22px 27px 34px;border-radius:30px;background:#fff5d6}
.sport-criteria h3{display:table;margin:0 0 18px;padding-bottom:8px;border-bottom:3px solid #ffe9a5;color:var(--diet-navy);font-size:1.3rem;line-height:1.25;text-transform:uppercase}
.sport-criteria p{max-width:none;margin:0;line-height:1.55}
.sport-criteria img{display:block;width:100%;height:auto}
.sport-interpretation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1040px;margin:30px 0}
.sport-interpretation>div{overflow:hidden;border-radius:18px;background:#fff}
.sport-interpretation h3{margin:0;padding:18px 28px;background:var(--diet-navy);color:#fff;font-size:1.25rem;line-height:1.3}
.sport-interpretation .diet-list{margin:0;padding:25px 28px 28px}
.sport-interpretation .diet-list li:last-child{padding-bottom:0}
@media(max-width:991.98px){.sport-areas{grid-template-columns:1fr}}
@media(max-width:767.98px){.sport-brand{max-width:330px;margin-bottom:24px}.sport-areas article{grid-template-columns:1fr}.sport-areas h3{padding:16px 20px}.sport-areas p{padding:17px 20px}.sportprofile-page .sport-stable-callout{padding:34px 20px 22px;border-radius:25px}.sportprofile-page .sport-areas+.sport-stable-callout h3{margin-top:-60px;font-size:1rem}.sport-understanding,.sport-trait-group ul,.sport-interpretation{grid-template-columns:1fr}.sport-trait-group h3{font-size:1.05rem}.sport-brochure-note{padding:24px}.sport-brochure-content h3{font-size:1.13rem}.sport-brochure-content h3::before{width:38px;height:38px}.sport-steps{margin-left:12px}.sport-steps li{grid-template-columns:minmax(0,1fr) 60px;column-gap:10px;min-height:100px;padding:16px 12px 16px 49px;border-radius:24px}.sport-steps li::before{left:-12px;width:43px;height:43px;font-size:1.13rem}.sport-steps img{width:60px;height:60px}.sport-criteria{grid-template-columns:1fr;padding:25px 22px;gap:8px}.sport-criteria img{width:125px;justify-self:end}.sport-interpretation h3{padding:16px 22px}.sport-interpretation .diet-list{padding:22px}}
