/* Guide: tipografia e superfici condivise con i temi SKAPPA. */
.guides-page { background:var(--surface); color:var(--ink); }
.guide-shell { max-width:1152px; margin:auto; padding:6rem 1.5rem 4rem; }
.guide-skip { position:fixed; left:1rem; top:-5rem; z-index:10010; background:var(--gold); color:var(--navy); padding:1rem; }
.guide-skip:focus { top:1rem; }
.guide-shell a:focus-visible { outline:3px solid var(--accent-ink); outline-offset:5px; }
.guide-breadcrumb { display:flex; flex-wrap:wrap; gap:.65rem; color:var(--muted); font-size:.8rem; margin-bottom:2.5rem; }
.guide-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.guide-kicker { display:block; color:var(--accent-ink); text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; font-weight:700; }
.guide-hub-header { padding:2rem 0 4rem; max-width:870px; }
.guide-hub-header h1 { font-family:'Days One',sans-serif; font-size:clamp(2.7rem,7vw,5.6rem); line-height:1.1; letter-spacing:-.05em; margin:1.3rem 0 1.8rem; }
.guide-hub-header h1 span { color:var(--accent-ink); }
.guide-hub-header p { max-width:540px; font-size:1.1rem; line-height:1.85; color:var(--muted); margin-bottom:1.5rem; }
.guide-text-link { color:var(--accent-ink); text-decoration:underline; text-underline-offset:5px; line-height:1.7; }
.guide-collection { margin:2rem 0 5rem; }
.guide-section-heading { border-top:1px solid var(--line); padding:1.5rem 0; display:flex; justify-content:space-between; align-items:baseline; gap:1rem; }
.guide-section-heading h2 { font-family:'Days One',sans-serif; font-size:clamp(1.25rem,2.5vw,1.75rem); }
.guide-section-heading>span { color:var(--muted); font-size:.75rem; white-space:nowrap; }
.guide-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.guide-card { display:block; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); padding-bottom:1.5rem; }
.guide-card img { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:4px; margin-bottom:1.5rem; }
.guide-card h3 { font-family:'Days One',sans-serif; font-size:clamp(1.3rem,2.4vw,1.8rem); line-height:1.3; margin:.7rem 0; }
.guide-card p,.guide-collection-intro { color:var(--muted); line-height:1.8; margin-bottom:1.3rem; }
.guide-card-action { display:flex; justify-content:space-between; color:var(--accent-ink); font-size:.9rem; }
.guide-card:hover h3 { color:var(--accent-ink); }
.guide-hero { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:3rem; padding:1rem 0 2rem; }
.guide-hero h1 { font-family:'Days One',sans-serif; font-size:clamp(2.1rem,4.2vw,3.6rem); line-height:1.13; letter-spacing:-.04em; margin:1.3rem 0; overflow-wrap:break-word; }
.guide-subtitle { font-size:1.15rem; line-height:1.7; color:var(--muted); }
.guide-byline { font-size:.75rem; color:var(--muted); line-height:1.8; margin-top:1.5rem; }
.guide-byline a { text-decoration:underline; text-underline-offset:3px; }
.guide-hero>img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:4px; }
.guide-lead { font-size:clamp(1.1rem,2vw,1.35rem); line-height:1.8; max-width:850px; margin:1.5rem 0 3.5rem; }
.guide-reading-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:4rem; align-items:start; }
.guide-index { position:sticky; top:5rem; border-top:2px solid var(--accent-ink); padding-top:1.5rem; font-size:.85rem; }
.guide-index ol { list-style:none; margin:1rem 0 2rem; }
.guide-index li { border-bottom:1px solid var(--line); }
.guide-index li a { display:block; padding:.8rem 0; line-height:1.5; }
.guide-index li a:hover { color:var(--accent-ink); }
.guide-prose { min-width:0; max-width:740px; }
.guide-prose section { margin-bottom:3rem; scroll-margin-top:5rem; }
.guide-prose h2 { font-family:'Days One',sans-serif; font-size:clamp(1.35rem,2.2vw,1.8rem); line-height:1.35; margin-bottom:1.2rem; }
.guide-prose p { color:var(--muted); font-size:1rem; line-height:1.95; margin-bottom:1.15rem; }
.guide-prose strong { color:var(--ink); }
.guide-prose p a,.guide-prose td a { color:var(--accent-ink); text-decoration:underline; text-underline-offset:4px; }
.guide-note { border-left:3px solid var(--accent-ink); background:var(--surface-raised); padding:1.25rem 1.5rem .25rem; margin-bottom:1.5rem; }
/* Riassunto iniziale, curiosità e FAQ: blocchi brevi e citabili. */
.guide-summary { border:1px solid var(--line); border-top:3px solid var(--accent-ink); background:var(--surface-raised); padding:1.5rem 1.75rem; margin:-1.5rem 0 3.5rem; max-width:850px; }
.guide-summary ul { list-style:none; margin:.9rem 0 0; padding:0; }
.guide-summary li { position:relative; padding-left:1.4rem; line-height:1.75; margin-bottom:.55rem; }
.guide-summary li::before { content:''; position:absolute; left:0; top:.7em; width:.5rem; height:.5rem; background:var(--accent-ink); border-radius:50%; }
.guide-summary a,.guide-fact a,.guide-faq a { color:var(--accent-ink); text-decoration:underline; text-underline-offset:4px; }
.guide-fact { border-left:3px solid var(--gold); background:var(--surface-raised); padding:1.1rem 1.4rem .2rem; margin:1.5rem 0; }
.guide-fact .guide-kicker { margin-bottom:.5rem; }
.guide-faq { border-bottom:1px solid var(--line); padding:1.2rem 0 .3rem; }
.guide-faq h3 { font-size:1.05rem; font-weight:700; line-height:1.5; margin-bottom:.6rem; color:var(--ink); }
.guide-table-wrap { overflow-x:auto; margin:1.5rem 0; }
.guide-prose table { width:100%; border-collapse:collapse; font-size:.85rem; line-height:1.65; }
.guide-prose caption { text-align:left; color:var(--muted); padding-bottom:.75rem; }
.guide-prose th,.guide-prose td { padding:.8rem; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); }
.guide-prose thead { background:var(--surface-raised); }
.guide-route { display:block; padding:1.2rem 0; border-bottom:1px solid var(--line); }
.guide-route strong,.guide-route span { display:block; }
.guide-route span { color:var(--muted); font-size:.85rem; line-height:1.7; margin-top:.35rem; }
.guide-route .guide-route-action { color:var(--accent-ink); text-decoration:underline; text-underline-offset:4px; }
.guide-cta { background:var(--surface-raised); border-top:3px solid var(--accent-ink); padding:3rem; margin:3rem 0 5rem; }
.guide-cta h2 { font-family:'Days One',sans-serif; font-size:clamp(1.7rem,3vw,2.5rem); line-height:1.25; margin:1rem 0; }
.guide-cta p { color:var(--muted); max-width:600px; line-height:1.8; margin-bottom:1.5rem; }
.guide-cta .btn-gold { white-space:normal; text-align:center; }
.guide-links { padding:3rem 1.5rem; color:var(--ink); background:var(--surface); }
.guide-links>div { max-width:1056px; margin:auto; }
.guide-links h2 { font-family:'Days One',sans-serif; font-size:clamp(1.4rem,3vw,2rem); margin-bottom:1rem; }
.guide-links p { color:var(--muted); line-height:1.8; max-width:750px; margin-bottom:1.25rem; }
.guide-links ul { list-style:none; display:flex; flex-wrap:wrap; gap:1rem 2rem; }
.guide-links a { color:var(--accent-ink); text-decoration:underline; text-underline-offset:5px; line-height:1.8; }
@media(max-width:900px) {
  .guide-reading-layout { grid-template-columns:1fr; gap:2rem; }
  .guide-index { position:static; }
  .guide-hero { gap:1.5rem; }
}
@media(max-width:600px) {
  .guide-shell { padding:4.5rem 1.25rem 2rem; }
  .guide-breadcrumb { margin-bottom:1.5rem; }
  .guide-hero { grid-template-columns:1fr; }
  .guide-hero>img { aspect-ratio:3/2; }
  .guide-hub-header { padding:1rem 0 2rem; }
  .guide-card-grid { grid-template-columns:1fr; }
  .guide-section-heading { flex-direction:column; gap:.6rem; }
  .guide-cta { padding:2rem 1.25rem; }
  .guide-prose th,.guide-prose td { padding:.55rem .35rem; overflow-wrap:anywhere; }
}
