/* Pagine di argomento (cucine di alto livello, ristoranti stellati).
   Erano scritte dentro la pagina: servivano su due pagine e adesso stanno
   qui. Il fondo dell'intestazione resta nella pagina, e' l'unica cosa che
   cambia da un argomento all'altro.
   Le classi hanno il prefisso cal- per non scontrarsi con il resto del sito. */


      /* Pagina bespoke: classi tutte con prefisso cal- cosi' non incrociano
         style.css. Il foglio del tema e' caricato prima, quindi queste regole
         vincono a parita' di specificita'. Colori e caratteri dal tema. */
      .cal-wrap{max-width:1080px;margin:0 auto;padding:0 24px}

      .cal-hero{position:relative;overflow:hidden;display:flex;align-items:center;
        min-height:clamp(420px,62vh,620px);padding:96px 0 72px;background:var(--sp-ink)}
      .cal-hero-fondo{position:absolute;inset:0;
        background:url('/images/render/copertina-alto-livello.jpg?v=8') center 42% / cover no-repeat;
        opacity:.42;filter:saturate(.78)}
      .cal-hero::after{content:'';position:absolute;inset:0;
        background:linear-gradient(100deg,rgba(16,15,13,.93) 0%,rgba(16,15,13,.78) 48%,rgba(16,15,13,.46) 100%)}
      .cal-hero .cal-wrap{position:relative;z-index:2}
      .cal-occhiello{margin:0 0 18px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;
        color:var(--sp-accent);font-weight:600}
      .cal-hero h1{margin:0 0 20px;font-family:var(--sp-serif);font-weight:600;
        font-size:clamp(2.1rem,4.8vw,3.5rem);line-height:1.12;letter-spacing:-.01em;
        color:var(--sp-strong)}
      .cal-sub{margin:0 0 32px;max-width:56ch;font-size:clamp(16px,1.6vw,19px);line-height:1.65;
        color:var(--sp-text2)}

      .cal-azioni{display:flex;flex-wrap:wrap;gap:12px}
      .cal-btn{display:inline-block;padding:13px 26px;border:1px solid var(--sp-line2);
        border-radius:3px;font-size:14px;font-weight:600;letter-spacing:.04em;
        color:var(--sp-strong);text-decoration:none;transition:border-color .2s,color .2s,background .2s}
      .cal-btn:hover{border-color:var(--sp-accent);color:var(--sp-accent)}
      .cal-btn-oro{background:var(--sp-accent);border-color:var(--sp-accent);color:#14130f}
      .cal-btn-oro:hover{background:var(--sp-accent-soft);border-color:var(--sp-accent-soft);color:#14130f}

      .cal-sez{padding:84px 0;border-top:1px solid var(--sp-line)}
      .cal-sez-alt{background:var(--sp-bg2)}
      .cal-tag{margin:0 0 14px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;
        color:var(--sp-accent);font-weight:600}
      .cal-tag::before{content:'';display:inline-block;width:26px;height:1px;vertical-align:middle;
        margin-right:12px;background:var(--sp-accent);opacity:.6}
      .cal-sez h2{margin:0 0 20px;font-family:var(--sp-serif);font-weight:600;
        font-size:clamp(1.65rem,3.1vw,2.35rem);line-height:1.2;color:var(--sp-strong)}
      .cal-lead{margin:0;max-width:70ch;font-size:17px;line-height:1.75;color:var(--sp-text)}
      /* due paragrafi di seguito si attaccavano: senza respiro sembrano uno solo */
      .cal-lead + .cal-lead{margin-top:20px}

      .cal-video{margin:42px 0 0;scroll-margin-top:96px}
      .cal-video video{display:block;width:100%;height:auto;border-radius:10px;
        border:1px solid var(--sp-line2);background:var(--sp-ink);
        box-shadow:0 24px 60px rgba(0,0,0,.45)}
      .cal-video figcaption{margin:16px 0 0;max-width:76ch;font-size:14px;line-height:1.7;
        color:var(--sp-muted)}
      .cal-video figcaption span{display:block;margin-top:10px;padding-left:12px;font-size:13.5px;
        border-left:2px solid rgba(201,162,75,.45);color:var(--sp-text2)}

      .cal-passi{counter-reset:passo;list-style:none;margin:52px 0 0;padding:0;
        display:grid;grid-template-columns:repeat(2,1fr);gap:34px 40px}
      .cal-passi li{counter-increment:passo;position:relative;padding-left:56px}
      .cal-passi li::before{content:counter(passo,decimal-leading-zero);position:absolute;left:0;top:-6px;
        font-family:var(--sp-serif);font-size:30px;font-weight:600;color:var(--sp-accent);opacity:.85}
      .cal-passi h3{margin:0 0 8px;font-size:16px;font-weight:700;letter-spacing:.01em;
        color:var(--sp-strong)}
      .cal-passi p{margin:0;font-size:15px;line-height:1.7;color:var(--sp-muted)}

      .cal-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));
        gap:18px;margin-top:34px}
      .cal-card{background:var(--sp-panel);border:1px solid var(--sp-line);border-radius:12px;
        padding:26px 24px;transition:border-color .2s,background .2s,transform .2s}
      .cal-card:hover{border-color:var(--sp-line2);background:var(--sp-panel2);transform:translateY(-2px)}
      .cal-card h3{margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid var(--sp-line);
        font-family:var(--sp-serif);font-size:21px;font-weight:600;color:var(--sp-strong)}
      .cal-card p{margin:0;font-size:15px;line-height:1.7;color:var(--sp-muted)}
      .cal-invito{margin:30px 0 16px;max-width:70ch;font-size:16px;line-height:1.7;color:var(--sp-text)}
      .cal-coppia{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin:34px 0 0}
      .cal-coppia figure{margin:0}
      .cal-coppia img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--sp-line)}
      .cal-coppia figcaption{margin-top:10px;font-size:14px;line-height:1.6;color:var(--sp-muted)}
      .cal-domande{list-style:none;padding:0;margin:26px 0 0;max-width:70ch}
      .cal-domande li{position:relative;padding:0 0 0 22px;margin-bottom:12px;font-size:16px;
        line-height:1.7;color:var(--sp-text)}
      .cal-domande li::before{content:'';position:absolute;left:0;top:11px;width:9px;height:1px;
        background:var(--sp-accent)}
      .cal-nota{margin:32px 0 0;font-size:15px;line-height:1.75;color:var(--sp-muted)}
      .cal-nota a{color:var(--sp-accent);text-decoration:underline;text-underline-offset:3px}

      .cal-chiusura{text-align:center}
      .cal-chiusura .cal-wrap{max-width:720px}
      .cal-chiusura .cal-lead{margin:0 auto 32px}
      .cal-chiusura .cal-azioni{justify-content:center}

      @media (max-width:780px){
        .cal-hero{padding:80px 0 56px;min-height:auto}
        .cal-hero-fondo{opacity:.3}
        .cal-sez{padding:60px 0}
        .cal-passi{grid-template-columns:1fr;gap:28px}
        .cal-azioni .cal-btn{flex:1 1 100%;text-align:center}
      }
      @media (prefers-reduced-motion:reduce){
        .cal-btn,.cal-card{transition:none}
        .cal-card:hover{transform:none}
      }
    
/* --- griglia dei lavori veri, con la fotografia --- */
.cal-lavori{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));
    gap:20px;margin-top:34px}
.cal-lavoro{display:block;text-decoration:none;background:var(--sp-panel);
    border:1px solid var(--sp-line);border-radius:12px;overflow:hidden;
    transition:border-color .2s,transform .2s}
.cal-lavoro:hover{border-color:var(--sp-gold);transform:translateY(-2px)}
.cal-lavoro img{display:block;width:100%;height:186px;object-fit:cover;background:#15130f}
.cal-lavoro-testo{padding:18px 20px 22px}
.cal-lavoro h3{margin:0 0 6px;font-family:'Cormorant Garamond',Georgia,serif;
    font-weight:600;font-size:1.22rem;color:var(--sp-ink);line-height:1.25}
.cal-lavoro p{margin:0;color:var(--sp-soft);font-size:.95rem;line-height:1.55}
.cal-lavoro .cal-dove{display:block;margin-top:10px;color:var(--sp-gold);
    font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
@media (prefers-reduced-motion:reduce){.cal-lavoro{transition:none}
    .cal-lavoro:hover{transform:none}}

/* --- fotografie di cantiere: alte diverse, si incastrano da sole --- */
.cal-foto{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));
    gap:22px;margin-top:34px}
.cal-foto figure{margin:0;display:flex;flex-direction:column}
.cal-foto img{display:block;width:100%;height:230px;object-fit:cover;
    border-radius:10px;border:1px solid var(--sp-line);background:#15130f}
.cal-foto figcaption{margin-top:11px;font-size:14px;line-height:1.6;color:var(--sp-muted)}
@media (max-width:520px){.cal-foto img{height:200px}}
