/* Schema page · shared styles
   Used by all /pages/schemi/*.html standalone schema pages
   ------------------------------------------------------- */

.schema-hero{background:linear-gradient(160deg,#0c1a2a 0%,#1B4965 50%,#143a52 100%);color:#fff;padding-block:var(--space-3xl) var(--space-xl);position:relative;overflow:hidden}
.schema-hero::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}
.schema-hero .container{position:relative;z-index:1}
.schema-crumb{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.75rem;color:rgba(255,255,255,.55);text-decoration:none;margin-bottom:var(--space-md);letter-spacing:.06em}
.schema-crumb:hover{color:#fff}
.schema-crumb svg{width:14px;height:14px}
.schema-meta{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap}
.schema-meta__chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:.6875rem;color:rgba(255,255,255,.75);letter-spacing:.08em;text-transform:uppercase}
.schema-meta__chip::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--color-core-accent)}
.schema-meta__chip--intel::before{background:var(--color-intel)}
.schema-hero h1{color:#fff;text-transform:none;font-family:var(--font-body);font-weight:600;font-size:clamp(1.5rem,3.5vw,2.25rem);letter-spacing:-.02em;margin-bottom:var(--space-sm)}
.schema-hero p{color:rgba(255,255,255,.7);font-size:1rem;max-width:680px;line-height:1.6}

/* === DIAGRAMMA SVG === */
.diagram-section{padding:var(--space-3xl) 0;background:linear-gradient(180deg,#fafafa 0%,#fff 100%)}
.diagram-wrap{max-width:1100px;margin:0 auto;padding:0 var(--space-md)}
.diagram-svg{width:100%;height:auto;display:block;max-height:620px}
.diagram-svg .text-body{fill:#1A1A1A;font-family:'Open Sans',sans-serif}
.diagram-svg .text-muted{fill:#5F5E5A;font-family:'Open Sans',sans-serif}
.diagram-svg .text-core{fill:#1B4965;font-family:'Open Sans',sans-serif;font-weight:600}
.diagram-svg .text-mono{font-family:'DM Mono',monospace;font-weight:600;letter-spacing:.05em}
.diagram-svg .arrow-line{stroke:#2E86AB;stroke-width:2.5;fill:none;stroke-linecap:round}
.diagram-svg .arrow-head{fill:#2E86AB}
.diagram-svg .node{transition:transform .25s ease;transform-origin:center;transform-box:fill-box}
.diagram-svg .node:hover{transform:scale(1.02)}
.pulse-dot{animation:pulseDot 2s ease-in-out infinite}
@keyframes pulseDot{0%,100%{opacity:1}50%{opacity:.3}}
.flow-arrow{stroke-dasharray:6 6;animation:dashFlow 1.2s linear infinite}
@keyframes dashFlow{to{stroke-dashoffset:-24}}

/* === DETTAGLI === */
.detail-section{padding:var(--space-3xl) 0;background:var(--color-bg-alt)}
.detail-grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}
@media(min-width:900px){.detail-grid--2{grid-template-columns:repeat(2,1fr)}.detail-grid--3{grid-template-columns:repeat(3,1fr)}.detail-grid--4{grid-template-columns:repeat(4,1fr)}}
.detail-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-xl);position:relative;overflow:hidden}
.detail-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-core)}
.detail-card--accent::before{background:var(--color-core-accent)}
.detail-card--green::before{background:#27632A}
.detail-card--intel::before{background:var(--color-intel)}
.detail-card--orange::before{background:#E67E22}
.detail-card__badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.6875rem;font-weight:700;color:var(--color-core);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--space-md)}
.detail-card--accent .detail-card__badge{color:var(--color-core-accent)}
.detail-card--green .detail-card__badge{color:#27632A}
.detail-card--intel .detail-card__badge{color:var(--color-intel)}
.detail-card--orange .detail-card__badge{color:#E67E22}
.detail-card__icon{width:48px;height:48px;color:var(--color-core);margin-bottom:var(--space-md)}
.detail-card--green .detail-card__icon{color:#27632A}
.detail-card--intel .detail-card__icon{color:var(--color-intel)}
.detail-card--orange .detail-card__icon{color:#E67E22}
.detail-card h3{font-family:var(--font-body);font-weight:600;text-transform:none;font-size:1.0625rem;margin-bottom:var(--space-sm);color:var(--color-text)}
.detail-card p{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:var(--space-md);line-height:1.6}
.detail-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.detail-card li{font-size:.8125rem;color:var(--color-text);padding-left:20px;position:relative;line-height:1.5}
.detail-card li::before{content:'›';position:absolute;left:7px;color:var(--color-core-accent);font-weight:700;font-size:1rem;line-height:1}
.detail-card--green li::before{color:#27632A}
.detail-card--intel li::before{color:var(--color-intel)}
.detail-card--orange li::before{color:#E67E22}

/* === CTA === */
.schema-cta{padding-block:var(--space-3xl);text-align:center;background:#fff}
.schema-cta h3{font-family:var(--font-body);font-weight:600;text-transform:none;font-size:1.25rem;margin-bottom:var(--space-sm)}
.schema-cta p{color:var(--color-text-secondary);font-size:.9375rem;margin-bottom:var(--space-lg)}
.schema-cta__actions{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}

/* === ALTRI SCHEMI === */
.others-section{padding-block:var(--space-3xl);background:var(--color-bg-alt)}
.others-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}
@media(min-width:640px){.others-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.others-grid{grid-template-columns:repeat(4,1fr)}}
.others-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-md);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.others-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(27,73,101,.08)}
.others-card__num{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-core-accent);font-weight:700;letter-spacing:.08em;margin-bottom:6px}
.others-card__title{font-family:var(--font-body);font-weight:600;font-size:.875rem;color:var(--color-text);line-height:1.4}

.schema-page-reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.schema-page-reveal--visible{opacity:1;transform:translateY(0)}

/* Mini intro after diagram */
.diagram-intro{max-width:780px;margin:0 auto var(--space-2xl);text-align:center}
.diagram-intro h2{text-transform:none;font-family:var(--font-body);font-weight:600;font-size:clamp(1.25rem,2.5vw,1.625rem);margin-bottom:var(--space-sm)}
.diagram-intro p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6}
