/* =========================================================
   Metodo Nicias — pagine /servizi/ (dettaglio)
   Estende css/nicias.css (link entrambi). Solo specifiche di dettaglio.
   ========================================================= */

.detail-hero { background:
    radial-gradient(1000px 460px at 88% -20%, var(--bg-tint), transparent 60%),
    linear-gradient(180deg,#fff,var(--bg-alt)); padding: 28px 0 60px; }
.detail-hero .wrap { display:grid; grid-template-columns: 1.15fr .85fr; gap:44px; align-items:center; }
.detail-hero .free-call-hero { display:inline-flex; align-items:center; gap:8px; background:var(--green-soft);
    color:#0E7A3C; font-weight:700; font-size:.9rem; padding:8px 16px; border-radius:999px; margin-top:18px; }
.detail-hero .free-call-hero .ico { width:16px; height:16px; }
.detail-hero h1 { font-size: clamp(2rem, 4.4vw, 3.1rem); margin:14px 0 14px; }
.detail-hero .lead { font-size:1.18rem; color:var(--navy-soft); }
.detail-hero .price-switch { justify-content:flex-start; margin:24px 0 0; }
.detail-art { background: linear-gradient(135deg, var(--navy), var(--navy-soft)); border-radius: var(--radius-lg);
    aspect-ratio: 4/3; display:grid; place-items:center; box-shadow: var(--sh-lg); position:relative; overflow:hidden; }
.detail-art::after { content:''; position:absolute; right:-50px; bottom:-50px; width:240px; height:240px; border-radius:50%;
    background: radial-gradient(circle, rgba(22,177,230,.3), transparent 70%); }
.detail-art .da-ic { width:130px; height:130px; border-radius:32px; background:rgba(22,177,230,.16); color:var(--cyan);
    display:grid; place-items:center; position:relative; z-index:1; }
.detail-art .da-ic .ico { width:72px; height:72px; }
@media (max-width:880px){ .detail-hero .wrap{ grid-template-columns:1fr; } .detail-art{ max-width:360px; } .detail-hero .price-switch{ justify-content:center; } }

.svc-section { max-width: 860px; }
.svc-section h2 { font-size: clamp(1.5rem,2.6vw,2rem); margin-bottom:14px; }
.svc-section > p { color:var(--text); font-size:1.06rem; }
.svc-section + .svc-section { margin-top: 48px; }

.callout { background: var(--bg-tint); border-left:4px solid var(--blue); border-radius: var(--radius-sm);
    padding:18px 22px; color:var(--navy-soft); font-size:1.04rem; }
.callout strong { color:var(--navy); }
.callout.act { background: var(--green-soft); border-left-color: var(--green); }

.deliv-grid { display:grid; grid-template-columns: repeat(2,1fr); gap:14px; }
.deliv { display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid var(--border);
    border-radius: var(--radius-sm); padding:16px 18px; box-shadow:var(--sh-sm); }
.deliv .ico { width:22px; height:22px; color:var(--green); flex:none; margin-top:2px; }
.deliv span { font-weight:600; color:var(--text); font-size:.98rem; }

/* file/output mockups */
.filebox { background:var(--navy); border-radius: var(--radius); padding:22px 24px; font-family: ui-monospace, 'SF Mono', Menlo, monospace;
    color:#CFE3F5; font-size:.92rem; line-height:1.9; box-shadow:var(--sh-md); overflow-x:auto; }
.filebox .fb-line { white-space:nowrap; } .filebox .fb-c { color:var(--cyan); } .filebox .fb-ok { color:var(--green); }
.doclist { display:grid; gap:10px; counter-reset:doc; }
.doclist li { list-style:none; display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--border);
    border-radius: var(--radius-sm); padding:14px 18px; }
.doclist li::before { counter-increment:doc; content:counter(doc); flex:none; width:30px; height:30px; border-radius:8px;
    background:var(--bg-tint); color:var(--blue); font-weight:800; display:grid; place-items:center; font-size:.95rem; }
.doclist strong { display:block; color:var(--navy); }
.doclist span { color:var(--muted); font-size:.92rem; }

.todo-flag { display:inline-block; background:#FEF3C7; color:#92590B; border:1px solid #FBE08A; font-size:.74rem;
    font-weight:800; letter-spacing:.04em; padding:3px 9px; border-radius:6px; vertical-align:middle; }

/* providers chips */
.chips-row { display:flex; flex-wrap:wrap; gap:10px; }
.chips-row .chip { background:#fff; }

/* programma tipo */
.modlist { display:grid; gap:10px; }
.modlist li { list-style:none; display:flex; gap:12px; align-items:flex-start; }
.modlist li .ico { width:18px; height:18px; color:var(--blue); margin-top:4px; flex:none; }

/* booking */
.booking { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:600px){ .booking{ grid-template-columns:1fr; } .deliv-grid{ grid-template-columns:1fr; } }
