/* Noemi Zirpoli — sistema cover editoriali condiviso — Passaggio 4
   Theme-ready: precedenze affidate alla cascata, componenti centralizzati. */

/* ---------- Cover dinamiche: Blog + Archivio ---------- */
:is(.nz-page-blog article.nz-blog-query__card,
    .nz-page-blog-archive .nz-archive-query__card){
  --nz-cat-accent:var(--nz-mint);
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  width:100%;
  min-width:0;
  min-height:0;
  aspect-ratio:1;
  margin:0;
  padding:7.6% 7.6% 6.35%;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#7d867f;
  box-shadow:none;
  color:var(--nz-white);
}

:is(.nz-page-blog .nz-blog-query__media,
    .nz-page-blog-archive .nz-archive-query__media){
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  aspect-ratio:1;
  background:#7d867f;
}

:is(.nz-page-blog .nz-blog-query__media,
    .nz-page-blog-archive .nz-archive-query__media) a{
  display:block;
  width:100%;
  height:100%;
}

:is(.nz-page-blog .nz-blog-query__media,
    .nz-page-blog-archive .nz-archive-query__media) img{
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  object-fit:cover;
  object-position:center;
  transform:scale(1);
  transition:transform .34s var(--nz-ease);
}

:is(.nz-page-blog article.nz-blog-query__card,
    .nz-page-blog-archive .nz-archive-query__card)::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  pointer-events:none;
  background:rgba(30,48,41,.065);
}

:is(.nz-page-blog article.nz-blog-query__card,
    .nz-page-blog-archive .nz-archive-query__card)::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(128% 84% at 15% 102%,rgba(18,36,30,.965) 0%,rgba(18,36,30,.71) 37%,rgba(18,36,30,.17) 66%,rgba(18,36,30,0) 80%),
    linear-gradient(110deg,rgba(18,36,30,.17) 0%,rgba(18,36,30,.045) 46%,rgba(18,36,30,0) 72%);
}

:is(.nz-page-blog article.nz-blog-query__card,
    .nz-page-blog-archive .nz-archive-query__card):not(:has(figure img)){
  background:linear-gradient(145deg,var(--nz-bone),#899088 48%,var(--nz-green));
}

:is(.nz-page-blog article.nz-blog-query__card > .nz-blog-query__cat,
    .nz-page-blog article.nz-blog-query__card > .nz-blog-query__title,
    .nz-page-blog article.nz-blog-query__card > .nz-blog-query__date,
    .nz-page-blog-archive .nz-archive-query__card > .nz-archive-query__cat,
    .nz-page-blog-archive .nz-archive-query__card > .nz-archive-query__title,
    .nz-page-blog-archive .nz-archive-query__card > .nz-archive-query__date){
  position:relative;
  z-index:3;
}

:is(.nz-page-blog .nz-blog-query__cat,
    .nz-page-blog-archive .nz-archive-query__cat){
  min-height:0;
  margin:0 0 10px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--nz-cat-accent);
  font-family:var(--nz-font-ui);
  font-size:8.8px;
  font-weight:700;
  line-height:1;
  letter-spacing:.145em;
  text-transform:uppercase;
  white-space:nowrap;
}

:is(.nz-page-blog .nz-blog-query__cat,
    .nz-page-blog-archive .nz-archive-query__cat) a{
  color:inherit;
  font:inherit;
  text-decoration:none;
}

:is(.nz-page-blog article.nz-blog-query__card > .nz-blog-query__title,
    .nz-page-blog-archive .nz-archive-query__title){
  display:flex;
  align-items:flex-end;
  width:100%;
  max-width:100%;
  min-height:2.04em;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--nz-white);
  font-family:var(--nz-font-display);
  font-size:clamp(19px,1.45vw,24px);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.03em;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

:is(.nz-page-blog .nz-blog-query__title,
    .nz-page-blog-archive .nz-archive-query__title) a{
  color:inherit;
  font:inherit;
  text-decoration:none;
}

:is(.nz-page-blog .nz-blog-query__excerpt,
    .nz-page-blog-archive .nz-archive-query__excerpt){
  display:none;
}

:is(.nz-page-blog .nz-blog-query__date,
    .nz-page-blog-archive .nz-archive-query__date){
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  margin:17px 0 0;
  padding:11px 0 0;
  border:0;
  border-top:1px solid color-mix(in srgb,var(--nz-cat-accent) 34%,transparent);
  background:transparent;
  color:rgba(255,255,255,.77);
  font-family:var(--nz-font-mono);
  font-variant-numeric:tabular-nums;
  font-size:8.7px;
  font-weight:400;
  line-height:1;
  letter-spacing:.055em;
}

:is(.nz-page-blog .nz-blog-query__date,
    .nz-page-blog-archive .nz-archive-query__date)::after{
  content:"→";
  display:inline-block;
  margin-left:auto;
  color:rgba(255,255,255,.78);
  font-size:14px;
  font-weight:400;
  line-height:1;
  opacity:.72;
  transition:transform .26s var(--nz-ease),opacity .26s ease;
}

:is(.nz-page-blog .nz-blog-query__date,
    .nz-page-blog-archive .nz-archive-query__date) :is(time,a){
  color:inherit;
  font:inherit;
  text-decoration:none;
}

/* Categoria = unico codice cromatico della cover */
:is(.nz-page-blog .nz-blog-query__card,
    .nz-page-blog-archive .nz-archive-query__card):has(a[href*="/category/psicologia-del-denaro-e-decisioni/"]){--nz-cat-accent:var(--nz-blush)}
:is(.nz-page-blog .nz-blog-query__card,
    .nz-page-blog-archive .nz-archive-query__card):has(a[href*="/category/pianificazione-patrimoniale/"]){--nz-cat-accent:var(--nz-aqua)}
:is(.nz-page-blog .nz-blog-query__card,
    .nz-page-blog-archive .nz-archive-query__card):has(a[href*="/category/investimenti-e-mercati/"]){--nz-cat-accent:var(--nz-mint)}
:is(.nz-page-blog .nz-blog-query__card,
    .nz-page-blog-archive .nz-archive-query__card):has(a[href*="/category/previdenza-e-protezione/"]){--nz-cat-accent:#e7e0d8}
:is(.nz-page-blog .nz-blog-query__card,
    .nz-page-blog-archive .nz-archive-query__card):has(a[href*="/category/successioni-immobili-e-impresa/"]){--nz-cat-accent:#e0aa9c}
:is(.nz-page-blog .nz-blog-query__card,
    .nz-page-blog-archive .nz-archive-query__card):has(a[href*="/category/banche-mutui-e-tutele/"]){--nz-cat-accent:#c5bbb3}
:is(.nz-page-blog .nz-blog-query__card,
    .nz-page-blog-archive .nz-archive-query__card):has(a[href*="/category/consulenza-finanziaria-e-metodo/"]){--nz-cat-accent:#b7c4be}

/* ---------- In evidenza: stessa grammatica, gerarchia diversa ---------- */
.nz-page-blog .nz-blog-feature-grid{
  display:grid;
  width:min(1180px,100%);
  max-width:1180px;
  margin-inline:auto;
  grid-template-columns:minmax(0,1.38fr) minmax(340px,.92fr);
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:22px;
  height:clamp(560px,50vw,650px);
  align-items:stretch;
}

.nz-page-blog .nz-blog-feature-stack{display:contents}

.nz-page-blog .nz-blog-feature{
  --nz-cat-accent:#e0aa9c;
  position:relative;
  isolation:isolate;
  display:block;
  width:100%;
  min-width:0;
  min-height:0;
  height:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#7d867f;
  box-shadow:none;
  color:var(--nz-white);
}

.nz-page-blog .nz-blog-feature--main{
  grid-column:1;
  grid-row:1 / 3;
}

.nz-page-blog .nz-blog-feature-stack .nz-blog-feature:first-child{
  grid-column:2;
  grid-row:1;
}

.nz-page-blog .nz-blog-feature-stack .nz-blog-feature:last-child{
  grid-column:2;
  grid-row:2;
}

.nz-page-blog .nz-blog-feature .nz-blog-card-media{
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#7d867f;
}

.nz-page-blog .nz-blog-feature .nz-blog-card-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1);
  transition:transform .34s var(--nz-ease);
}

.nz-page-blog .nz-blog-feature::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:rgba(30,48,41,.065);
}

.nz-page-blog .nz-blog-feature::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(126% 86% at 14% 104%,rgba(18,36,30,.965) 0%,rgba(18,36,30,.70) 38%,rgba(18,36,30,.16) 67%,rgba(18,36,30,0) 82%),
    linear-gradient(108deg,rgba(18,36,30,.15),rgba(18,36,30,0) 68%);
}

.nz-page-blog .nz-blog-feature--main::after{
  background:
    radial-gradient(116% 80% at 10% 102%,rgba(18,36,30,.95) 0%,rgba(18,36,30,.69) 38%,rgba(18,36,30,.17) 64%,rgba(18,36,30,0) 80%),
    linear-gradient(105deg,rgba(18,36,30,.13),rgba(18,36,30,0) 62%);
}

.nz-page-blog .nz-blog-feature .nz-blog-card-content{
  position:absolute;
  z-index:3;
  left:7.2%;
  right:7.2%;
  bottom:6.25%;
  width:auto;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--nz-white);
}

.nz-page-blog .nz-blog-feature-stack .nz-blog-card-content{
  left:7%;
  right:7%;
  bottom:7%;
}

.nz-page-blog .nz-blog-feature .nz-blog-card-kicker{
  display:block;
  width:max-content;
  margin:0 0 11px;
  padding:0;
  color:var(--nz-cat-accent);
  font-family:var(--nz-font-ui);
  font-size:8.8px;
  font-weight:700;
  line-height:1;
  letter-spacing:.145em;
  text-transform:uppercase;
}

.nz-page-blog .nz-blog-feature .nz-blog-card-content h3{
  margin:0;
  color:var(--nz-white);
  font-family:var(--nz-font-display);
  font-weight:400;
  line-height:1;
  letter-spacing:-.033em;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

.nz-page-blog .nz-blog-feature .nz-blog-card-content h3 a{
  color:inherit;
  font:inherit;
  text-decoration:none;
}

.nz-page-blog .nz-blog-feature--main .nz-blog-card-content h3{
  max-width:82%;
  font-size:clamp(35px,3.05vw,48px);
  line-height:1.01;
}

.nz-page-blog .nz-blog-feature-stack .nz-blog-card-content h3{
  max-width:100%;
  font-size:clamp(20px,1.55vw,24px);
  line-height:1.02;
}

.nz-page-blog .nz-blog-card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:17px;
  padding-top:11px;
  border-top:1px solid rgba(224,170,156,.38);
  color:rgba(255,255,255,.77);
  font-family:var(--nz-font-mono);
  font-variant-numeric:tabular-nums;
  font-size:8.7px;
  font-weight:400;
  line-height:1;
  letter-spacing:.055em;
}

.nz-page-blog .nz-blog-card-meta span:last-child{
  display:inline-block;
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1;
  opacity:.72;
  transition:transform .26s var(--nz-ease),opacity .26s ease;
}

@media (hover:hover) and (pointer:fine){
  :is(.nz-page-blog article.nz-blog-query__card:hover .nz-blog-query__media img,
      .nz-page-blog-archive .nz-archive-query__card:hover .nz-archive-query__media img,
      .nz-page-blog .nz-blog-feature:hover .nz-blog-card-media img){
    transform:scale(1.015);
  }

  :is(.nz-page-blog article.nz-blog-query__card:hover .nz-blog-query__date::after,
      .nz-page-blog-archive .nz-archive-query__card:hover .nz-archive-query__date::after,
      .nz-page-blog .nz-blog-feature:hover .nz-blog-card-meta span:last-child){
    transform:translateX(3px);
    opacity:1;
  }
}

@media (max-width:980px) and (min-width:721px){
  .nz-page-blog .nz-blog-feature-grid{
    grid-template-columns:minmax(0,1.22fr) minmax(310px,.96fr);
    height:clamp(520px,64vw,600px);
    gap:18px;
  }

  .nz-page-blog .nz-blog-feature--main .nz-blog-card-content h3{
    max-width:88%;
    font-size:clamp(31px,4vw,42px);
  }

  .nz-page-blog .nz-blog-feature-stack .nz-blog-card-content h3{
    font-size:clamp(19px,2.2vw,22px);
  }

  :is(.nz-page-blog article.nz-blog-query__card > .nz-blog-query__title,
      .nz-page-blog-archive .nz-archive-query__title){
    font-size:clamp(22px,2.5vw,28px);
  }
}

@media (max-width:720px){
  .nz-page-blog .nz-blog-feature-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    height:auto;
    gap:14px;
  }

  .nz-page-blog .nz-blog-feature--main{
    grid-column:1 / 3;
    grid-row:1;
    aspect-ratio:4 / 3;
  }

  .nz-page-blog .nz-blog-feature-stack .nz-blog-feature:first-child{
    grid-column:1;
    grid-row:2;
    aspect-ratio:1;
  }

  .nz-page-blog .nz-blog-feature-stack .nz-blog-feature:last-child{
    grid-column:2;
    grid-row:2;
    aspect-ratio:1;
  }

  .nz-page-blog .nz-blog-feature--main .nz-blog-card-content h3{
    max-width:90%;
    font-size:clamp(31px,7vw,42px);
  }

  .nz-page-blog .nz-blog-feature-stack .nz-blog-card-content h3{
    font-size:clamp(19px,4.6vw,25px);
  }

  :is(.nz-page-blog article.nz-blog-query__card,
      .nz-page-blog-archive .nz-archive-query__card){
    padding:8% 8% 6.8%;
  }

  :is(.nz-page-blog article.nz-blog-query__card > .nz-blog-query__title,
      .nz-page-blog-archive .nz-archive-query__title){
    min-height:auto;
    max-width:90%;
    font-size:clamp(26px,5.5vw,32px);
  }

  :is(.nz-page-blog .nz-blog-query__cat,
      .nz-page-blog-archive .nz-archive-query__cat,
      .nz-page-blog .nz-blog-feature .nz-blog-card-kicker){
    font-size:8.4px;
  }
}

@media (max-width:520px){
  .nz-page-blog .nz-blog-feature-grid{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    gap:16px;
  }

  .nz-page-blog :is(.nz-blog-feature--main,
      .nz-blog-feature-stack .nz-blog-feature:first-child,
      .nz-blog-feature-stack .nz-blog-feature:last-child){
    grid-column:1;
    grid-row:auto;
    aspect-ratio:1;
  }

  .nz-page-blog :is(.nz-blog-feature--main,
      .nz-blog-feature-stack .nz-blog-feature) .nz-blog-card-content h3{
    max-width:92%;
    font-size:clamp(28px,8vw,36px);
  }

  :is(.nz-page-blog article.nz-blog-query__card > .nz-blog-query__title,
      .nz-page-blog-archive .nz-archive-query__title){
    font-size:clamp(28px,7.3vw,34px);
  }
}
