/* Soluzioni: sezioni aggiunte alla landing Done for You.
   La base resta style.css + done-for-you.css della landing; qui non si
   ridefinisce niente di loro, così home-landing.css non va rigenerato. */

/* Problemi */
.dfy-problems{background:#fff}
.dfy-problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.dfy-problem-grid .pain{align-items:flex-start}
.dfy-problems-close{margin:32px 0 0;font-size:17px;line-height:1.6;color:var(--muted)}
.dfy-problems-close .dfy-inline-link{margin:0 0 0 6px}

/* Quattro ambiti */
.dfy-areas{background:radial-gradient(ellipse at 100% 0,#ff5a1f0d,transparent 45%),var(--soft)}
.dfy-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dfy-area{position:relative;display:flex;flex-direction:column;min-width:0;padding:34px;border:1px solid #e4e4e7;border-radius:24px;background:#fff;box-shadow:0 18px 50px -38px #1118;transition:border-color .3s,box-shadow .3s,transform .3s}
.dfy-area:hover{border-color:#ff5a1f55;box-shadow:0 26px 60px -34px #ff5a1f66;transform:translateY(-3px)}
.dfy-area-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}
.dfy-area-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#ff5a1f14;border:1px solid #ff5a1f2e}
.dfy-area-icon svg{width:25px;height:25px;stroke:#e04a12;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dfy-area-num{font-size:44px;font-weight:850;line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px #d9d9de}
.dfy-area h3{margin:0 0 10px;font-size:28px;line-height:1.08;letter-spacing:-.045em}
.dfy-area-desc{margin:0 0 22px;font-size:15px;line-height:1.6;color:var(--muted)}
.dfy-area-problem{margin:0 0 22px;padding:2px 0 2px 16px;border-left:3px solid var(--o);font-size:18px;line-height:1.4;font-weight:700;letter-spacing:-.02em;color:#111}
.dfy-area-problem small,.dfy-area-benefit small{display:block;margin-bottom:6px;font-size:10px;font-weight:850;letter-spacing:.14em;color:#b9390a}
.dfy-area-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0 0 24px;padding:0;list-style:none}
.dfy-area-list li{position:relative;padding-left:24px;font-size:14px;line-height:1.4;color:#3d3d42}
.dfy-area-list li:before{content:"";position:absolute;left:0;top:1px;width:16px;height:16px;border-radius:50%;background:#ff5a1f1a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23e04a12' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 8.2 2.2 2.2 4.8-4.8'/%3E%3C/svg%3E") center/16px no-repeat}
.dfy-area-benefit{margin:0 0 24px;padding:16px 18px;border-radius:14px;background:var(--soft);font-size:15px;line-height:1.55;font-weight:600;color:#27272a}
.dfy-area-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:20px;border-top:1px solid #ececef;font-size:15px;font-weight:750;color:#111}
.dfy-area-arrow{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:#111;color:#fff;font-size:16px;transition:background .25s,transform .25s}
.dfy-area-cta:hover{color:#b9390a}
.dfy-area-cta:hover .dfy-area-arrow,.dfy-area:hover .dfy-area-arrow{background:var(--o);transform:rotate(45deg)}
.dfy-area-cta:focus-visible{outline:3px solid #ff7945;outline-offset:4px;border-radius:6px}

/* Casi studio: sei card uguali, sezione scura come in Autonomia Digitale */
.dfy-cases{position:relative;overflow:hidden;background:radial-gradient(ellipse at 85% 0,#ff5a1f1f,transparent 45%),radial-gradient(ellipse at 0 100%,#ff5a1f14,transparent 40%),#0b0b0c;color:#fff}
.dfy-cases .sub{color:#adadb6}
.dfy-cases .dfy-cases-accent{color:#ff794d}
.dfy-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.dfy-case{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #ffffff16;border-radius:24px;background:#141414;box-shadow:0 22px 80px #0006;transition:border-color .3s,transform .3s}
.dfy-case:hover{border-color:#ff875866;transform:translateY(-3px)}
.dfy-case-media{display:block;overflow:hidden;background:#1b1b1a;border-bottom:1px solid #ffffff12}
.dfy-case-media img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transition:transform .6s}
.dfy-case:hover .dfy-case-media img{transform:scale(1.03)}
.dfy-case-body{display:flex;flex-direction:column;flex:1;padding:30px}
.dfy-case-meta{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#ff956e}
.dfy-case-meta span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ff5a1f1f;color:#ff794d;font-size:11px;letter-spacing:0}
.dfy-case h3{margin:18px 0 6px;font-size:clamp(26px,2.6vw,34px);line-height:1.05;letter-spacing:-.045em}
.dfy-case-lead{margin:0 0 22px;font-size:17px;line-height:1.45;color:#d4d1cb}
.dfy-case-facts{display:grid;gap:16px;margin:0 0 22px;padding-top:20px;border-top:1px solid #ffffff14}
.dfy-case-facts dt{font:10px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#96938e}
.dfy-case-facts dd{margin:6px 0 0;font-size:15px;line-height:1.6;color:#b9b5ad}
.dfy-case-you{margin:0 0 22px;padding:20px 22px;border:1px solid #ff5a1f40;border-radius:16px;background:linear-gradient(145deg,#ff5a1f1f,#ff5a1f08);box-shadow:0 14px 40px -26px #ff5a1f}
.dfy-case-you small{display:block;margin-bottom:8px;font-size:10px;font-weight:850;letter-spacing:.14em;color:#ff794d}
.dfy-case-you p{margin:0;font-size:15px;line-height:1.6;font-weight:600;color:#f5f3ee}
.dfy-case-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 22px;padding:0;list-style:none}
.dfy-case-tags li{padding:6px 12px;border:1px solid #ffffff1c;border-radius:999px;font-size:12px;color:#d4d1cb}
.dfy-case-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:auto}
.dfy-case-links .dfy-inline-link{margin:0;color:#ff956e}
.dfy-case-site{font-size:13px;font-weight:650;color:#d4d1cb;text-decoration:underline;text-underline-offset:5px}
.dfy-case-site:hover{color:#fff}
.dfy-cases-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:34px;padding:26px 30px;border:1px solid #ffffff16;border-radius:20px;background:#ffffff06}
.dfy-cases-footer p{margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em}

/* Competenze tecniche */
.dfy-stack{background:#09090b;color:#fff}
.dfy-stack .sub{color:#adadb6}
.dfy-stack-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.dfy-stack-grid article{padding:26px 22px;border:1px solid #ffffff1a;border-radius:20px;background:linear-gradient(160deg,#ffffff0d,#ffffff03)}
.dfy-stack-grid small{font:11px ui-monospace,monospace;color:#ff794d}
.dfy-stack-grid h3{margin:26px 0 12px;font-size:19px;line-height:1.15;letter-spacing:-.03em}
.dfy-stack-grid p{margin:0;font-size:14px;line-height:1.6;color:#adadb6}

/* Agenzie */
.dfy-agencies{background:#fff}
.dfy-agencies .sub{margin-bottom:30px}
.dfy-agencies .pain{align-items:center}
.dfy-agencies .pain:last-child{background:#111;color:#fff;box-shadow:0 10px 35px -24px #ff5a1f90}
.dfy-agencies .pain:last-child span{color:#bdbdc4}

/* Richiamo Autonomia Digitale */
.dfy-autonomy{padding:64px 0;background:#fff8f4;border-top:1px solid #f2e4dc;border-bottom:1px solid #f2e4dc}
.dfy-autonomy-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center}
.dfy-autonomy h2{margin:0;font-size:clamp(28px,3.2vw,40px);line-height:1.1;letter-spacing:-.045em}
.dfy-autonomy-accent{color:#c43c0c}
.dfy-autonomy p{margin:0;font-size:16px;line-height:1.65;color:#69615b}
.dfy-autonomy .dfy-inline-link{margin-top:18px}

/* Prenotazione */
.dfy-booking-steps{display:grid;gap:14px;margin:28px 0 0;padding:0;list-style:none;counter-reset:step}
.dfy-booking-steps li{position:relative;padding-left:44px;counter-increment:step}
.dfy-booking-steps li:before{content:counter(step);position:absolute;left:0;top:0;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ff5a1f1f;color:#ff794d;font-size:13px;font-weight:800}
.dfy-booking-steps b{display:block;font-size:15px;color:#fff}
.dfy-booking-steps span{font-size:14px;color:#aaa}
/* La nota è un <p>: va staccata da .final p (19px, margini centrati) */
.dfy-booking .application-form-note{display:flex;align-items:flex-start;gap:12px;max-width:430px;margin:30px 0 0;padding:14px 16px;border:1px solid #ffffff16;border-radius:14px;background:#ffffff06;font-size:13px;line-height:1.5;color:#d4d1cb;text-align:left}
.dfy-booking .application-form-note i{flex:0 0 8px;margin-top:6px}
.dfy-booking-panel{min-width:0;padding:28px;border-radius:24px;background:#141414;border:1px solid #ffffff16;box-shadow:0 22px 80px #0006}
.dfy-booking-topics{margin:0 0 22px;padding:0;border:0;min-width:0}
.dfy-booking-topics legend{margin-bottom:12px;padding:0;font-size:13px;font-weight:650;color:#f5f3ee}
.dfy-booking-topics legend span{color:#96938e;font-weight:400}
.dfy-booking-topics>div{display:flex;flex-wrap:wrap;gap:8px}
.dfy-booking-topics label{position:relative;cursor:pointer}
.dfy-booking-topics input{position:absolute;opacity:0;width:1px;height:1px}
.dfy-booking-topics label span{display:block;padding:9px 14px;border:1px solid #3a3936;border-radius:999px;background:#1d1d1b;font-size:13px;color:#d4d1cb;transition:border-color .18s,background .18s,color .18s}
.dfy-booking-topics label:hover span{border-color:#77746f}
.dfy-booking-topics input:checked+span{border-color:#ff6b3a;background:#ff5a1f24;color:#fff}
.dfy-booking-topics input:focus-visible+span{outline:3px solid #ff7945;outline-offset:3px}
.dfy-booking-embed{min-height:460px;border-radius:18px;overflow:hidden;background:#1b1b1a}
.dfy-booking-embed.is-open{background:#fff}
.dfy-booking-embed iframe{display:block;width:100%;height:700px;border:0}
.dfy-booking-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:460px;padding:36px 28px;text-align:center;border:1px dashed #3a3936;border-radius:18px}
.dfy-booking-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#ff5a1f1f}
.dfy-booking .dfy-booking-icon svg{position:static;opacity:1;width:26px;height:26px;stroke:#ff794d;stroke-width:1.6;stroke-linecap:round}
.dfy-booking-placeholder strong{font-size:22px;letter-spacing:-.03em}
.dfy-booking .dfy-booking-placeholder p{max-width:380px;margin:0 auto 8px;font-size:13px;line-height:1.55;color:#96938e}
.dfy-booking-alt{font-size:12px;color:#d4d1cb;text-decoration:underline;text-underline-offset:4px}

@media(max-width:1000px){
 .dfy-stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 .dfy-problem-grid,.dfy-area-grid,.dfy-case-grid,.dfy-autonomy-layout{grid-template-columns:1fr}
 .dfy-autonomy-layout{gap:22px}
 .dfy-area{padding:26px}
 .dfy-area-num{font-size:36px}
 .dfy-case-body{padding:24px}
 .dfy-case-you{padding:18px}
 .dfy-cases-footer{padding:22px}
 .dfy-cases-footer .btn{width:100%}
 .dfy-area h3{font-size:24px}
 .dfy-problems-close .dfy-inline-link{display:inline-block;margin:12px 0 0}
 .dfy-booking-panel{padding:18px;border-radius:20px}
 .dfy-booking-embed iframe{height:1050px}
}
@media(max-width:520px){
 .dfy-area-list{grid-template-columns:1fr}
 .dfy-stack-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 .dfy-booking-topics label span,.dfy-case,.dfy-case-media img,.dfy-area,.dfy-area-arrow{transition:none}
 .dfy-case:hover,.dfy-case:hover .dfy-case-media img,.dfy-area:hover,.dfy-area-cta:hover .dfy-area-arrow,.dfy-area:hover .dfy-area-arrow{transform:none}
}
