/* STEP BLOG CTA FIX — Allinea il sottotitolo del banner 10 rose al bottone CTA */
.premium-final-cta__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.premium-final-cta__button {
  align-self: center;
}

.premium-final-cta__note,
.premium-final-cta__actions > small {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 18px auto 0;
  text-align: center;
}

/* STEP 184 — Home Blog: card categorie popolari premium editoriali */
#category-grid.category-grid,
.category-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
  overflow:visible;
}

#category-grid .category-card,
.category-grid .category-card,
#category-grid .blog-home-category-card,
.category-grid .blog-home-category-card,
#category-grid .blog-main-category-card,
.category-grid .blog-main-category-card,
#category-grid .home-category-card,
.category-grid .home-category-card{
  position:relative;
  isolation:isolate;
  min-height:410px;
  padding:34px 28px 28px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:0;
  overflow:hidden;
  text-align:left;
  border-radius:24px;
  border:1px solid rgba(255,20,147,.34);
  background:
    radial-gradient(circle at 32% 22%,rgba(255,20,147,.22),transparent 27%),
    radial-gradient(circle at 78% 58%,rgba(255,255,255,.055),transparent 31%),
    linear-gradient(155deg,rgba(255,20,147,.14),rgba(14,8,15,.96) 54%,rgba(3,3,5,.98));
  color:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.08);
  transform:translateZ(0);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,filter .22s ease;
}

#category-grid .category-card::before,
.category-grid .category-card::before,
#category-grid .blog-home-category-card::before,
.category-grid .blog-home-category-card::before,
#category-grid .blog-main-category-card::before,
.category-grid .blog-main-category-card::before,
#category-grid .home-category-card::before,
.category-grid .home-category-card::before{
  content:'';
  position:absolute;
  inset:-1px;
  z-index:-2;
  border-radius:inherit;
  background:
    linear-gradient(160deg,rgba(255,20,147,.52),rgba(255,255,255,.055) 42%,rgba(255,20,147,.12));
  opacity:.7;
}

#category-grid .category-card::after,
.category-grid .category-card::after,
#category-grid .blog-home-category-card::after,
.category-grid .blog-home-category-card::after,
#category-grid .blog-main-category-card::after,
.category-grid .blog-main-category-card::after,
#category-grid .home-category-card::after,
.category-grid .home-category-card::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  border-radius:inherit;
  background:
    radial-gradient(circle at 50% 20%,rgba(255,255,255,.10),transparent 18%),
    linear-gradient(180deg,rgba(255,255,255,.035),transparent 28%,rgba(0,0,0,.25));
  opacity:.9;
  pointer-events:none;
}

#category-grid .category-card:hover,
.category-grid .category-card:hover,
#category-grid .blog-home-category-card:hover,
.category-grid .blog-home-category-card:hover,
#category-grid .blog-main-category-card:hover,
.category-grid .blog-main-category-card:hover,
#category-grid .home-category-card:hover,
.category-grid .home-category-card:hover{
  transform:translateY(-7px);
  border-color:rgba(255,20,147,.72);
  box-shadow:0 30px 86px rgba(0,0,0,.62),0 0 34px rgba(255,20,147,.22),inset 0 1px 0 rgba(255,255,255,.12);
}

#category-grid .category-card:nth-child(2),
.category-grid .category-card:nth-child(2),
#category-grid .blog-home-category-card:nth-child(2),
.category-grid .blog-home-category-card:nth-child(2),
#category-grid .blog-main-category-card:nth-child(2),
.category-grid .blog-main-category-card:nth-child(2),
#category-grid .home-category-card:nth-child(2),
.category-grid .home-category-card:nth-child(2){
  border-color:rgba(201,168,42,.36);
  background:
    radial-gradient(circle at 40% 22%,rgba(201,168,42,.28),transparent 28%),
    radial-gradient(circle at 86% 58%,rgba(255,20,147,.10),transparent 28%),
    linear-gradient(155deg,rgba(201,168,42,.18),rgba(16,12,8,.96) 56%,rgba(3,3,5,.98));
}

#category-grid .category-card:nth-child(3),
.category-grid .category-card:nth-child(3),
#category-grid .blog-home-category-card:nth-child(3),
.category-grid .blog-home-category-card:nth-child(3),
#category-grid .blog-main-category-card:nth-child(3),
.category-grid .blog-main-category-card:nth-child(3),
#category-grid .home-category-card:nth-child(3),
.category-grid .home-category-card:nth-child(3){
  border-color:rgba(172,88,255,.42);
  background:
    radial-gradient(circle at 45% 22%,rgba(172,88,255,.25),transparent 30%),
    radial-gradient(circle at 92% 50%,rgba(255,20,147,.12),transparent 34%),
    linear-gradient(155deg,rgba(90,45,150,.22),rgba(12,8,18,.96) 58%,rgba(3,3,5,.98));
}

#category-grid .category-card:nth-child(4),
.category-grid .category-card:nth-child(4),
#category-grid .blog-home-category-card:nth-child(4),
.category-grid .blog-home-category-card:nth-child(4),
#category-grid .blog-main-category-card:nth-child(4),
.category-grid .blog-main-category-card:nth-child(4),
#category-grid .home-category-card:nth-child(4),
.category-grid .home-category-card:nth-child(4){
  border-color:rgba(42,164,225,.38);
  background:
    radial-gradient(circle at 42% 23%,rgba(42,164,225,.26),transparent 31%),
    radial-gradient(circle at 92% 40%,rgba(132,86,255,.12),transparent 34%),
    linear-gradient(155deg,rgba(28,92,130,.18),rgba(7,13,18,.96) 58%,rgba(3,3,5,.98));
}

#category-grid .cat-icon,
.category-grid .cat-icon,
#category-grid .category-card__icon,
.category-grid .category-card__icon,
#category-grid .blog-category-premium-icon,
.category-grid .blog-category-premium-icon,
#category-grid .home-category-card__icon,
.category-grid .home-category-card__icon{
  position:absolute;
  top:34px;
  left:34px;
  width:122px;
  height:122px;
  display:grid;
  place-items:center;
  margin:0;
  border-radius:32px;
  font-size:70px;
  line-height:1;
  color:#fff;
  background:radial-gradient(circle at 40% 28%,rgba(255,255,255,.24),rgba(255,20,147,.20) 42%,rgba(255,20,147,.07) 72%,rgba(0,0,0,.18));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 20px 52px rgba(0,0,0,.34),0 0 34px rgba(255,20,147,.22),inset 0 1px 0 rgba(255,255,255,.12);
  filter:drop-shadow(0 16px 22px rgba(0,0,0,.45));
}

#category-grid .category-card:nth-child(2) .cat-icon,
.category-grid .category-card:nth-child(2) .cat-icon,
#category-grid .category-card:nth-child(2) .category-card__icon,
.category-grid .category-card:nth-child(2) .category-card__icon,
#category-grid .blog-home-category-card:nth-child(2) .cat-icon,
.category-grid .blog-home-category-card:nth-child(2) .cat-icon{
  background:radial-gradient(circle at 40% 28%,rgba(255,255,255,.22),rgba(201,168,42,.25) 45%,rgba(201,168,42,.07) 73%,rgba(0,0,0,.18));
  box-shadow:0 20px 52px rgba(0,0,0,.34),0 0 34px rgba(201,168,42,.22),inset 0 1px 0 rgba(255,255,255,.12);
}

#category-grid .category-card:nth-child(3) .cat-icon,
.category-grid .category-card:nth-child(3) .cat-icon,
#category-grid .category-card:nth-child(3) .category-card__icon,
.category-grid .category-card:nth-child(3) .category-card__icon,
#category-grid .blog-home-category-card:nth-child(3) .cat-icon,
.category-grid .blog-home-category-card:nth-child(3) .cat-icon{
  background:radial-gradient(circle at 40% 28%,rgba(255,255,255,.22),rgba(172,88,255,.26) 45%,rgba(172,88,255,.07) 73%,rgba(0,0,0,.18));
  box-shadow:0 20px 52px rgba(0,0,0,.34),0 0 36px rgba(172,88,255,.24),inset 0 1px 0 rgba(255,255,255,.12);
}

#category-grid .category-card:nth-child(4) .cat-icon,
.category-grid .category-card:nth-child(4) .cat-icon,
#category-grid .category-card:nth-child(4) .category-card__icon,
.category-grid .category-card:nth-child(4) .category-card__icon,
#category-grid .blog-home-category-card:nth-child(4) .cat-icon,
.category-grid .blog-home-category-card:nth-child(4) .cat-icon{
  background:radial-gradient(circle at 40% 28%,rgba(255,255,255,.22),rgba(42,164,225,.26) 45%,rgba(42,164,225,.07) 73%,rgba(0,0,0,.18));
  box-shadow:0 20px 52px rgba(0,0,0,.34),0 0 36px rgba(42,164,225,.22),inset 0 1px 0 rgba(255,255,255,.12);
}

#category-grid .category-card h3,
.category-grid .category-card h3,
#category-grid .category-card__title,
.category-grid .category-card__title,
#category-grid .blog-category-title,
.category-grid .blog-category-title,
#category-grid .home-category-card__title,
.category-grid .home-category-card__title{
  margin:176px 0 0;
  color:#fff;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(34px,2.55vw,50px);
  line-height:.94;
  letter-spacing:-.055em;
  text-shadow:0 10px 24px rgba(0,0,0,.55);
}

#category-grid .category-card h3::after,
.category-grid .category-card h3::after,
#category-grid .category-card__title::after,
.category-grid .category-card__title::after,
#category-grid .blog-category-title::after,
.category-grid .blog-category-title::after,
#category-grid .home-category-card__title::after,
.category-grid .home-category-card__title::after{
  content:'';
  display:block;
  width:44px;
  height:2px;
  margin:17px 0 0;
  border-radius:999px;
  background:linear-gradient(90deg,#ff1493,transparent);
  box-shadow:0 0 18px rgba(255,20,147,.45);
}

#category-grid .category-card:nth-child(2) h3::after,
.category-grid .category-card:nth-child(2) h3::after,
#category-grid .category-card:nth-child(2) .category-card__title::after,
.category-grid .category-card:nth-child(2) .category-card__title::after,
#category-grid .blog-home-category-card:nth-child(2) .category-card__title::after,
.category-grid .blog-home-category-card:nth-child(2) .category-card__title::after{background:linear-gradient(90deg,#c9a82a,transparent);box-shadow:0 0 18px rgba(201,168,42,.42)}

#category-grid .category-card:nth-child(3) h3::after,
.category-grid .category-card:nth-child(3) h3::after,
#category-grid .category-card:nth-child(3) .category-card__title::after,
.category-grid .category-card:nth-child(3) .category-card__title::after,
#category-grid .blog-home-category-card:nth-child(3) .category-card__title::after,
.category-grid .blog-home-category-card:nth-child(3) .category-card__title::after{background:linear-gradient(90deg,#9b5cff,transparent);box-shadow:0 0 18px rgba(155,92,255,.45)}

#category-grid .category-card:nth-child(4) h3::after,
.category-grid .category-card:nth-child(4) h3::after,
#category-grid .category-card:nth-child(4) .category-card__title::after,
.category-grid .category-card:nth-child(4) .category-card__title::after,
#category-grid .blog-home-category-card:nth-child(4) .category-card__title::after,
.category-grid .blog-home-category-card:nth-child(4) .category-card__title::after{background:linear-gradient(90deg,#2aa4e1,transparent);box-shadow:0 0 18px rgba(42,164,225,.45)}

#category-grid .category-card p,
.category-grid .category-card p,
#category-grid .category-card__description,
.category-grid .category-card__description,
#category-grid .blog-category-description,
.category-grid .blog-category-description,
#category-grid .home-category-card__description,
.category-grid .home-category-card__description{
  margin:18px 0 0;
  max-width:270px;
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.52;
  font-weight:600;
}

#category-grid .category-card__kicker,
.category-grid .category-card__kicker,
#category-grid .blog-category-kicker,
.category-grid .blog-category-kicker,
#category-grid .home-category-card__kicker,
.category-grid .home-category-card__kicker,
#category-grid .category-card .kicker,
.category-grid .category-card .kicker,
#category-grid [data-category-kicker],
.category-grid [data-category-kicker]{
  display:none!important;
}

#category-grid .category-card__chips,
.category-grid .category-card__chips,
#category-grid .category-card__meta,
.category-grid .category-card__meta,
#category-grid .blog-category-chips,
.category-grid .blog-category-chips,
#category-grid .home-category-card__meta,
.category-grid .home-category-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:22px;
}

#category-grid .category-card__chip,
.category-grid .category-card__chip,
#category-grid .category-card__badge,
.category-grid .category-card__badge,
#category-grid .blog-category-chip,
.category-grid .blog-category-chip,
#category-grid .home-category-card__badge,
.category-grid .home-category-card__badge,
#category-grid .category-card .chip,
.category-grid .category-card .chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:8px 13px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.22);
  color:rgba(255,255,255,.82);
  font-size:12px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

@media(max-width:1180px){
  #category-grid.category-grid,
  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:720px){
  #category-grid.category-grid,
  .category-grid{display:grid;grid-template-columns:1fr;gap:16px;overflow:visible;padding-bottom:0;}
  #category-grid .category-card,
  .category-grid .category-card,
  #category-grid .blog-home-category-card,
  .category-grid .blog-home-category-card,
  #category-grid .blog-main-category-card,
  .category-grid .blog-main-category-card,
  #category-grid .home-category-card,
  .category-grid .home-category-card{min-height:360px;padding:28px 24px 24px;}
  #category-grid .cat-icon,
  .category-grid .cat-icon,
  #category-grid .category-card__icon,
  .category-grid .category-card__icon,
  #category-grid .blog-category-premium-icon,
  .category-grid .blog-category-premium-icon,
  #category-grid .home-category-card__icon,
  .category-grid .home-category-card__icon{width:96px;height:96px;font-size:56px;top:28px;left:26px;border-radius:26px;}
  #category-grid .category-card h3,
  .category-grid .category-card h3,
  #category-grid .category-card__title,
  .category-grid .category-card__title,
  #category-grid .blog-category-title,
  .category-grid .blog-category-title,
  #category-grid .home-category-card__title,
  .category-grid .home-category-card__title{margin-top:146px;font-size:38px;}
}

/* STEP 185 — Home Blog: sfondi grafici reali sulle 4 card categorie */
#category-grid .category-card,
.category-grid .category-card,
#category-grid .blog-home-category-card,
.category-grid .blog-home-category-card,
#category-grid .blog-main-category-card,
.category-grid .blog-main-category-card,
#category-grid .home-category-card,
.category-grid .home-category-card{
  min-height:430px;
  padding:34px 30px 30px;
  background-color:#09060c;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

#category-grid .category-card::before,
.category-grid .category-card::before,
#category-grid .blog-home-category-card::before,
.category-grid .blog-home-category-card::before,
#category-grid .blog-main-category-card::before,
.category-grid .blog-main-category-card::before,
#category-grid .home-category-card::before,
.category-grid .home-category-card::before{
  z-index:-1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.08) 38%,rgba(0,0,0,.54) 100%),
    radial-gradient(circle at 22% 72%,rgba(0,0,0,.22),transparent 45%);
  opacity:1;
}

#category-grid .category-card::after,
.category-grid .category-card::after,
#category-grid .blog-home-category-card::after,
.category-grid .blog-home-category-card::after,
#category-grid .blog-main-category-card::after,
.category-grid .blog-main-category-card::after,
#category-grid .home-category-card::after,
.category-grid .home-category-card::after{
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(0,0,0,.44) 0%,rgba(0,0,0,.22) 45%,rgba(0,0,0,.08) 100%),
    linear-gradient(180deg,transparent 0%,rgba(0,0,0,.14) 52%,rgba(0,0,0,.32) 100%);
  opacity:.95;
}

#category-grid .category-card:nth-child(1),
.category-grid .category-card:nth-child(1),
#category-grid .blog-home-category-card:nth-child(1),
.category-grid .blog-home-category-card:nth-child(1),
#category-grid .blog-main-category-card:nth-child(1),
.category-grid .blog-main-category-card:nth-child(1),
#category-grid .home-category-card:nth-child(1),
.category-grid .home-category-card:nth-child(1){
  background-image:url('../img/blog/category-cards/category-card-bg-1.webp');
  background-position:center top;
  border-color:rgba(255,20,147,.48);
  box-shadow:0 28px 78px rgba(0,0,0,.60),0 0 30px rgba(255,20,147,.12),inset 0 1px 0 rgba(255,255,255,.10);
}

#category-grid .category-card:nth-child(2),
.category-grid .category-card:nth-child(2),
#category-grid .blog-home-category-card:nth-child(2),
.category-grid .blog-home-category-card:nth-child(2),
#category-grid .blog-main-category-card:nth-child(2),
.category-grid .blog-main-category-card:nth-child(2),
#category-grid .home-category-card:nth-child(2),
.category-grid .home-category-card:nth-child(2){
  background-image:url('../img/blog/category-cards/category-card-bg-2.webp');
  background-position:center top;
  border-color:rgba(201,168,42,.48);
  box-shadow:0 28px 78px rgba(0,0,0,.60),0 0 30px rgba(201,168,42,.12),inset 0 1px 0 rgba(255,255,255,.10);
}

#category-grid .category-card:nth-child(3),
.category-grid .category-card:nth-child(3),
#category-grid .blog-home-category-card:nth-child(3),
.category-grid .blog-home-category-card:nth-child(3),
#category-grid .blog-main-category-card:nth-child(3),
.category-grid .blog-main-category-card:nth-child(3),
#category-grid .home-category-card:nth-child(3),
.category-grid .home-category-card:nth-child(3){
  background-image:url('../img/blog/category-cards/category-card-bg-3.webp');
  background-position:center top;
  border-color:rgba(172,88,255,.52);
  box-shadow:0 28px 78px rgba(0,0,0,.60),0 0 32px rgba(172,88,255,.14),inset 0 1px 0 rgba(255,255,255,.10);
}

#category-grid .category-card:nth-child(4),
.category-grid .category-card:nth-child(4),
#category-grid .blog-home-category-card:nth-child(4),
.category-grid .blog-home-category-card:nth-child(4),
#category-grid .blog-main-category-card:nth-child(4),
.category-grid .blog-main-category-card:nth-child(4),
#category-grid .home-category-card:nth-child(4),
.category-grid .home-category-card:nth-child(4){
  background-image:url('../img/blog/category-cards/category-card-bg-4.webp');
  background-position:center top;
  border-color:rgba(42,164,225,.48);
  box-shadow:0 28px 78px rgba(0,0,0,.60),0 0 32px rgba(42,164,225,.14),inset 0 1px 0 rgba(255,255,255,.10);
}

/* Le immagini contengono già l'elemento grafico principale: evitiamo doppia icona/emoji sopra lo sfondo. */
#category-grid .cat-icon,
.category-grid .cat-icon,
#category-grid .category-card__icon,
.category-grid .category-card__icon,
#category-grid .blog-category-premium-icon,
.category-grid .blog-category-premium-icon,
#category-grid .home-category-card__icon,
.category-grid .home-category-card__icon{
  display:none!important;
}

#category-grid .category-card h3,
.category-grid .category-card h3,
#category-grid .category-card__title,
.category-grid .category-card__title,
#category-grid .blog-category-title,
.category-grid .blog-category-title,
#category-grid .home-category-card__title,
.category-grid .home-category-card__title{
  margin-top:0;
  font-size:clamp(36px,2.7vw,52px);
  line-height:.92;
  letter-spacing:-.06em;
  max-width:260px;
}

#category-grid .category-card p,
.category-grid .category-card p,
#category-grid .category-card__description,
.category-grid .category-card__description,
#category-grid .blog-category-description,
.category-grid .blog-category-description,
#category-grid .home-category-card__description,
.category-grid .home-category-card__description{
  max-width:285px;
  color:rgba(255,255,255,.78);
  font-size:16px;
  line-height:1.55;
  text-shadow:0 6px 18px rgba(0,0,0,.65);
}

#category-grid .category-card__chip,
.category-grid .category-card__chip,
#category-grid .category-card__badge,
.category-grid .category-card__badge,
#category-grid .blog-category-chip,
.category-grid .blog-category-chip,
#category-grid .home-category-card__badge,
.category-grid .home-category-card__badge,
#category-grid .category-card .chip,
.category-grid .category-card .chip{
  min-height:38px;
  padding:9px 16px;
  background:rgba(0,0,0,.30);
  border-color:rgba(255,255,255,.18);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 12px 28px rgba(0,0,0,.28);
}

@media(max-width:720px){
  #category-grid .category-card,
  .category-grid .category-card,
  #category-grid .blog-home-category-card,
  .category-grid .blog-home-category-card,
  #category-grid .blog-main-category-card,
  .category-grid .blog-main-category-card,
  #category-grid .home-category-card,
  .category-grid .home-category-card{
    min-height:430px;
    padding:28px 24px 24px;
  }

  #category-grid .category-card h3,
  .category-grid .category-card h3,
  #category-grid .category-card__title,
  .category-grid .category-card__title,
  #category-grid .blog-category-title,
  .category-grid .blog-category-title,
  #category-grid .home-category-card__title,
  .category-grid .home-category-card__title{
    margin-top:0;
    font-size:40px;
  }
}


/* STEP 186 — Home Blog: adattamento proporzioni sfondi card categorie
   Le immagini 3:4 non vengono più percepite come allargate: la card mantiene una proporzione più verticale
   e lo sfondo viene scalato senza deformazioni. */
#category-grid .category-card,
.category-grid .category-card,
#category-grid .blog-home-category-card,
.category-grid .blog-home-category-card,
#category-grid .blog-main-category-card,
.category-grid .blog-main-category-card,
#category-grid .home-category-card,
.category-grid .home-category-card{
  aspect-ratio:3 / 4;
  min-height:auto;
  padding:30px 30px 28px;
  background-size:cover;
  background-repeat:no-repeat;
}

#category-grid .category-card:nth-child(1),
.category-grid .category-card:nth-child(1),
#category-grid .blog-home-category-card:nth-child(1),
.category-grid .blog-home-category-card:nth-child(1),
#category-grid .blog-main-category-card:nth-child(1),
.category-grid .blog-main-category-card:nth-child(1),
#category-grid .home-category-card:nth-child(1),
.category-grid .home-category-card:nth-child(1){
  background-position:center top;
}

#category-grid .category-card:nth-child(2),
.category-grid .category-card:nth-child(2),
#category-grid .blog-home-category-card:nth-child(2),
.category-grid .blog-home-category-card:nth-child(2),
#category-grid .blog-main-category-card:nth-child(2),
.category-grid .blog-main-category-card:nth-child(2),
#category-grid .home-category-card:nth-child(2),
.category-grid .home-category-card:nth-child(2){
  background-position:center top;
}

#category-grid .category-card:nth-child(3),
.category-grid .category-card:nth-child(3),
#category-grid .blog-home-category-card:nth-child(3),
.category-grid .blog-home-category-card:nth-child(3),
#category-grid .blog-main-category-card:nth-child(3),
.category-grid .blog-main-category-card:nth-child(3),
#category-grid .home-category-card:nth-child(3),
.category-grid .home-category-card:nth-child(3){
  background-position:center top;
}

#category-grid .category-card:nth-child(4),
.category-grid .category-card:nth-child(4),
#category-grid .blog-home-category-card:nth-child(4),
.category-grid .blog-home-category-card:nth-child(4),
#category-grid .blog-main-category-card:nth-child(4),
.category-grid .blog-main-category-card:nth-child(4),
#category-grid .home-category-card:nth-child(4),
.category-grid .home-category-card:nth-child(4){
  background-position:center top;
}

/* Ombra graduale più forte nella zona testo, senza coprire troppo l'immagine. */
#category-grid .category-card::after,
.category-grid .category-card::after,
#category-grid .blog-home-category-card::after,
.category-grid .blog-home-category-card::after,
#category-grid .blog-main-category-card::after,
.category-grid .blog-main-category-card::after,
#category-grid .home-category-card::after,
.category-grid .home-category-card::after{
  background:
    linear-gradient(90deg,rgba(0,0,0,.50) 0%,rgba(0,0,0,.24) 44%,rgba(0,0,0,.08) 100%),
    linear-gradient(180deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.10) 44%,rgba(0,0,0,.38) 100%);
}

@media(max-width:1180px){
  #category-grid .category-card,
  .category-grid .category-card,
  #category-grid .blog-home-category-card,
  .category-grid .blog-home-category-card,
  #category-grid .blog-main-category-card,
  .category-grid .blog-main-category-card,
  #category-grid .home-category-card,
  .category-grid .home-category-card{
    aspect-ratio:3 / 4;
  }
}

@media(max-width:720px){
  #category-grid .category-card,
  .category-grid .category-card,
  #category-grid .blog-home-category-card,
  .category-grid .blog-home-category-card,
  #category-grid .blog-main-category-card,
  .category-grid .blog-main-category-card,
  #category-grid .home-category-card,
  .category-grid .home-category-card{
    aspect-ratio:auto;
    min-height:470px;
    background-size:cover;
    background-position:center top;
  }
}


/* STEP 187 — Home Blog: sfondi card visibili interamente, senza zoom/crop
   Le immagini verticali 3:4 devono essere adattate dentro la card e non tagliate. */
#category-grid .category-card,
.category-grid .category-card,
#category-grid .blog-home-category-card,
.category-grid .blog-home-category-card,
#category-grid .blog-main-category-card,
.category-grid .blog-main-category-card,
#category-grid .home-category-card,
.category-grid .home-category-card{
  aspect-ratio:543 / 724;
  background-size:contain;
  background-position:center center;
  background-repeat:no-repeat;
  background-color:#050307;
}

#category-grid .category-card:nth-child(1),
.category-grid .category-card:nth-child(1),
#category-grid .blog-home-category-card:nth-child(1),
.category-grid .blog-home-category-card:nth-child(1),
#category-grid .blog-main-category-card:nth-child(1),
.category-grid .blog-main-category-card:nth-child(1),
#category-grid .home-category-card:nth-child(1),
.category-grid .home-category-card:nth-child(1){
  background-image:url('../img/blog/category-cards/category-card-bg-1.webp');
  background-size:contain;
  background-position:center center;
}

#category-grid .category-card:nth-child(2),
.category-grid .category-card:nth-child(2),
#category-grid .blog-home-category-card:nth-child(2),
.category-grid .blog-home-category-card:nth-child(2),
#category-grid .blog-main-category-card:nth-child(2),
.category-grid .blog-main-category-card:nth-child(2),
#category-grid .home-category-card:nth-child(2),
.category-grid .home-category-card:nth-child(2),
#category-grid .category-card:nth-child(3),
.category-grid .category-card:nth-child(3),
#category-grid .blog-home-category-card:nth-child(3),
.category-grid .blog-home-category-card:nth-child(3),
#category-grid .blog-main-category-card:nth-child(3),
.category-grid .blog-main-category-card:nth-child(3),
#category-grid .home-category-card:nth-child(3),
.category-grid .home-category-card:nth-child(3),
#category-grid .category-card:nth-child(4),
.category-grid .category-card:nth-child(4),
#category-grid .blog-home-category-card:nth-child(4),
.category-grid .blog-home-category-card:nth-child(4),
#category-grid .blog-main-category-card:nth-child(4),
.category-grid .blog-main-category-card:nth-child(4),
#category-grid .home-category-card:nth-child(4),
.category-grid .home-category-card:nth-child(4){
  background-size:contain;
  background-position:center center;
}

@media(max-width:720px){
  #category-grid .category-card,
  .category-grid .category-card,
  #category-grid .blog-home-category-card,
  .category-grid .blog-home-category-card,
  #category-grid .blog-main-category-card,
  .category-grid .blog-main-category-card,
  #category-grid .home-category-card,
  .category-grid .home-category-card{
    aspect-ratio:543 / 724;
    min-height:auto;
    background-size:contain;
    background-position:center center;
  }
}


/* STEP 190 — divider tra HERO e categorie */
.blog-premium-divider--between-hero-categories{
  width:min(860px, calc(100% - 56px));
  margin: 12px auto 30px;
  position: relative;
  height: 20px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.blog-premium-divider--between-hero-categories::before,
.blog-premium-divider--between-hero-categories::after{
  content:"";
  flex:1;
  height:1px;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(231,170,63,0.22) 15%, rgba(231,170,63,0.78) 50%, rgba(231,170,63,0.22) 85%, rgba(255,255,255,0));
  box-shadow:0 0 10px rgba(231,170,63,0.18);
}
.blog-premium-divider__diamond{
  width:10px;
  height:10px;
  margin:0 14px;
  display:block;
  transform:rotate(45deg);
  border-radius:2px;
  background: radial-gradient(circle at 35% 35%, #fff3b2 0%, #ffd66d 32%, #e7aa3f 68%, #9f6420 100%);
  box-shadow: 0 0 0 1px rgba(255,214,109,.18), 0 0 16px rgba(255,214,109,.42), 0 0 30px rgba(231,170,63,.16);
  position:relative;
}
.blog-premium-divider__diamond::after{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:999px;
  background: radial-gradient(circle, rgba(255,214,109,.36) 0%, rgba(255,214,109,.16) 35%, rgba(255,214,109,0) 72%);
  transform: rotate(-45deg);
}

@media (max-width: 768px){
  .blog-premium-divider--between-hero-categories{
    width:min(92%, 480px);
    margin: 8px auto 24px;
  }
}


/* STEP 192 — ripristino 4 card Home Blog con testo completo */
#category-grid.category-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2.4vw, 28px) !important;
  align-items: stretch !important;
}

#category-grid .category-card:nth-child(n+5) {
  display: none !important;
}

#category-grid .category-card {
  min-height: clamp(420px, 31vw, 560px) !important;
  aspect-ratio: 3 / 4 !important;
  padding: clamp(28px, 3vw, 38px) clamp(22px, 2.2vw, 34px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
}

#category-grid .category-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.04) 0%, rgba(0,0,0,0.14) 42%, rgba(0,0,0,0.72) 100%),
    linear-gradient(90deg, rgba(0,0,0,0.20) 0%, rgba(0,0,0,0.04) 54%, rgba(0,0,0,0.22) 100%);
  pointer-events: none;
}

#category-grid .category-card > * {
  position: relative;
  z-index: 1;
}

#category-grid .cat-icon,
#category-grid .category-card__eyebrow {
  display: none !important;
}

#category-grid .category-card strong {
  display: block !important;
  max-width: 100% !important;
  margin: 0 0 14px !important;
  color: #fff !important;
  font-size: clamp(24px, 2.1vw, 38px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.04em !important;
  text-shadow: 0 2px 18px rgba(0,0,0,0.72) !important;
}

#category-grid .category-card strong::after {
  content: "";
  display: block;
  width: 54px;
  height: 2px;
  margin-top: 18px;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.72;
}

#category-grid .category-card__description {
  display: block !important;
  max-width: 32ch !important;
  color: rgba(255,255,255,0.84) !important;
  font-size: clamp(14px, 1.05vw, 17px) !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
  text-shadow: 0 2px 14px rgba(0,0,0,0.78) !important;
}

#category-grid .category-card__chips {
  display: flex !important;
  margin-top: clamp(20px, 2vw, 34px) !important;
}

#category-grid .category-card__chips span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 7px 15px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  background: rgba(0,0,0,0.34) !important;
  color: rgba(255,255,255,0.92) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  backdrop-filter: blur(10px) !important;
}

@media (max-width: 1180px) {
  #category-grid.category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  #category-grid.category-grid {
    grid-template-columns: 1fr !important;
  }

  #category-grid .category-card {
    min-height: 430px !important;
  }
}


/* STEP 193 — respiro visivo tra le 4 card categorie Home Blog */
#category-grid.category-grid {
  gap: clamp(18px, 2.2vw, 30px) !important;
  column-gap: clamp(18px, 2.2vw, 30px) !important;
  row-gap: clamp(22px, 2.6vw, 34px) !important;
  padding-inline: clamp(10px, 1.3vw, 18px) !important;
}

#category-grid .category-card {
  margin: 0 !important;
  box-sizing: border-box !important;
}

@media (min-width: 1181px) {
  #category-grid.category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1180px) {
  #category-grid.category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
}

@media (max-width: 680px) {
  #category-grid.category-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding-inline: 0 !important;
  }
}


/* STEP 194 — spazio reale tra le 4 card principali Home Blog */
#category-grid.category-grid {
  width: min(100%, 1760px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-inline: clamp(24px, 2.6vw, 48px) !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(28px, 3vw, 46px) !important;
  column-gap: clamp(28px, 3vw, 46px) !important;
  row-gap: clamp(28px, 3vw, 46px) !important;
  box-sizing: border-box !important;
}

#category-grid > .category-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

/* evita che eventuali regole precedenti annullino lo spazio tra le 4 card */
#category-grid > .category-card + .category-card {
  margin-left: 0 !important;
}

@media (max-width: 1180px) {
  #category-grid.category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(24px, 4vw, 34px) !important;
    padding-inline: clamp(18px, 3vw, 32px) !important;
  }
}

@media (max-width: 680px) {
  #category-grid.category-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding-inline: 16px !important;
  }
}


/* STEP 195 — allineamento larghezza 4 card categorie con HERO */
#category-grid.category-grid {
  width: min(100%, 1810px) !important;
  max-width: 1810px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-inline: clamp(8px, 1vw, 18px) !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  column-gap: clamp(24px, 2.25vw, 42px) !important;
  row-gap: clamp(24px, 2.4vw, 36px) !important;
  box-sizing: border-box !important;
}

#category-grid > .category-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

/* evita che le card restino strette per vecchie regole di max-width */
#category-grid > .category-card.category-card--main {
  max-width: none !important;
}

@media (max-width: 1180px) {
  #category-grid.category-grid {
    width: min(100%, 980px) !important;
    max-width: 980px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: clamp(20px, 3vw, 32px) !important;
    row-gap: clamp(22px, 3vw, 34px) !important;
    padding-inline: clamp(14px, 2vw, 24px) !important;
  }
}

@media (max-width: 680px) {
  #category-grid.category-grid {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding-inline: 16px !important;
  }
}


/* STEP 196 — larghezza card categorie allineata alla HERO */
#category-grid.category-grid {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-inline: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  column-gap: clamp(18px, 1.55vw, 28px) !important;
  row-gap: clamp(22px, 2vw, 32px) !important;
  box-sizing: border-box !important;
}

#category-grid > .category-card,
#category-grid > .category-card.category-card--main {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* desktop largo: le 4 card occupano tutta la stessa larghezza utile della HERO */
@media (min-width: 1181px) {
  #category-grid.category-grid {
    width: 100% !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: clamp(20px, 1.65vw, 30px) !important;
  }
}

@media (max-width: 1180px) {
  #category-grid.category-grid {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(20px, 3vw, 30px) !important;
    padding-inline: 0 !important;
  }
}

@media (max-width: 680px) {
  #category-grid.category-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
}


/* STEP 197 — rifinitura premium titoli, lineette e badge delle 4 card principali */
#category-grid .category-card strong {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.055em !important;
  font-size: clamp(36px, 3.1vw, 58px) !important;
  line-height: 0.93 !important;
  text-shadow:
    0 2px 18px rgba(0, 0, 0, 0.76),
    0 0 18px rgba(255, 255, 255, 0.08) !important;
}

#category-grid .category-card strong::after {
  content: "";
  display: block;
  width: clamp(58px, 4.6vw, 82px);
  height: 2px;
  margin-top: clamp(16px, 1.3vw, 22px);
  border-radius: 999px;
  opacity: 1;
  box-shadow: 0 0 14px currentColor;
}

#category-grid .category-card--pink strong::after {
  background: linear-gradient(90deg, #ff2aa8, #ff74c8);
  color: #ff43b4;
}

#category-grid .category-card--gold strong::after {
  background: linear-gradient(90deg, #f0b74a, #ffe19a);
  color: #f0b74a;
}

#category-grid .category-card--violet strong::after {
  background: linear-gradient(90deg, #b45cff, #e090ff);
  color: #b45cff;
}

#category-grid .category-card--blue strong::after {
  background: linear-gradient(90deg, #39c9ff, #9deaff);
  color: #39c9ff;
}

#category-grid .category-card__chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: clamp(22px, 2vw, 34px) !important;
}

#category-grid .category-card__chips span,
#category-grid .category-card__badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 42px !important;
  padding: 9px 18px !important;
  border-radius: 999px !important;
  font-size: clamp(14px, 0.95vw, 16px) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  color: rgba(255, 255, 255, 0.94) !important;
  background: rgba(0, 0, 0, 0.34) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 14px 26px rgba(0, 0, 0, 0.22) !important;
  backdrop-filter: blur(12px) !important;
}

#category-grid .category-card__badge-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 18px !important;
  height: 18px !important;
  font-size: 15px !important;
  line-height: 1 !important;
  flex: 0 0 auto !important;
}

#category-grid .category-card__badge--pink {
  border-color: rgba(255, 42, 168, 0.62) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.10),
    0 0 0 1px rgba(255, 42, 168, 0.14),
    0 14px 30px rgba(255, 42, 168, 0.16) !important;
}

#category-grid .category-card__badge--pink .category-card__badge-icon {
  color: #ff4eb8 !important;
  text-shadow: 0 0 12px rgba(255, 78, 184, 0.82) !important;
}

#category-grid .category-card__badge--gold {
  border-color: rgba(240, 183, 74, 0.62) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.10),
    0 0 0 1px rgba(240, 183, 74, 0.14),
    0 14px 30px rgba(240, 183, 74, 0.16) !important;
}

#category-grid .category-card__badge--gold .category-card__badge-icon {
  color: #ffd36c !important;
  text-shadow: 0 0 12px rgba(255, 211, 108, 0.78) !important;
}

#category-grid .category-card__badge--violet {
  border-color: rgba(180, 92, 255, 0.64) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.10),
    0 0 0 1px rgba(180, 92, 255, 0.15),
    0 14px 30px rgba(180, 92, 255, 0.16) !important;
}

#category-grid .category-card__badge--violet .category-card__badge-icon {
  color: #c875ff !important;
  text-shadow: 0 0 12px rgba(200, 117, 255, 0.82) !important;
}

#category-grid .category-card__badge--blue {
  border-color: rgba(57, 201, 255, 0.58) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.10),
    0 0 0 1px rgba(57, 201, 255, 0.14),
    0 14px 30px rgba(57, 201, 255, 0.16) !important;
}

#category-grid .category-card__badge--blue .category-card__badge-icon {
  color: #61d8ff !important;
  text-shadow: 0 0 12px rgba(97, 216, 255, 0.82) !important;
}

#category-grid .category-card__description {
  font-size: clamp(15px, 1.04vw, 18px) !important;
  line-height: 1.55 !important;
  color: rgba(255, 255, 255, 0.82) !important;
  font-weight: 500 !important;
}

@media (max-width: 680px) {
  #category-grid .category-card strong {
    font-size: clamp(34px, 11vw, 48px) !important;
  }
}


/* STEP 198 — badge articoli più compatto, icona senza contorno interno */
#category-grid .category-card__chips {
  margin-top: clamp(18px, 1.7vw, 28px) !important;
  gap: 8px !important;
}

#category-grid .category-card__chips span,
#category-grid .category-card__badge {
  min-height: 32px !important;
  height: 32px !important;
  padding: 5px 14px !important;
  gap: 8px !important;
  border-radius: 999px !important;
  font-size: clamp(13px, 0.86vw, 15px) !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  background: rgba(0, 0, 0, 0.32) !important;
  border-width: 1px !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 8px 18px rgba(0, 0, 0, 0.22) !important;
}

#category-grid .category-card__badge-icon {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: inline !important;
  place-items: initial !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 13px !important;
  line-height: 1 !important;
  flex: 0 0 auto !important;
}

#category-grid .category-card__badge-icon::before,
#category-grid .category-card__badge-icon::after {
  display: none !important;
  content: none !important;
}

#category-grid .category-card__badge--pink {
  border-color: rgba(255, 42, 168, 0.52) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 8px 18px rgba(255, 42, 168, 0.12) !important;
}

#category-grid .category-card__badge--gold {
  border-color: rgba(240, 183, 74, 0.52) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 8px 18px rgba(240, 183, 74, 0.12) !important;
}

#category-grid .category-card__badge--violet {
  border-color: rgba(180, 92, 255, 0.52) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 8px 18px rgba(180, 92, 255, 0.12) !important;
}

#category-grid .category-card__badge--blue {
  border-color: rgba(57, 201, 255, 0.50) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 8px 18px rgba(57, 201, 255, 0.12) !important;
}


/* STEP 199 — fix definitivo icona badge senza contorno interno */
#category-grid .category-card__chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

/* Solo il badge esterno ha il contorno */
#category-grid .category-card__chips > .category-card__badge,
#category-grid .category-card__chips > span.category-card__badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 32px !important;
  height: 32px !important;
  padding: 5px 14px !important;
  border-radius: 999px !important;
  font-size: clamp(13px, 0.86vw, 15px) !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  background: rgba(0, 0, 0, 0.32) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.07), 0 8px 18px rgba(0,0,0,0.22) !important;
}

/* Lo span interno dell'icona NON deve mai prendere stile da pill/badge */
#category-grid .category-card__chips > .category-card__badge > .category-card__badge-icon,
#category-grid .category-card__chips > span.category-card__badge > .category-card__badge-icon,
#category-grid .category-card__badge-icon {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  flex: 0 0 auto !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

#category-grid .category-card__badge-icon::before,
#category-grid .category-card__badge-icon::after {
  content: none !important;
  display: none !important;
}

/* Colore bordo badge esterno per area */
#category-grid .category-card__chips > .category-card__badge.category-card__badge--pink {
  border-color: rgba(255, 42, 168, 0.52) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.07), 0 8px 18px rgba(255, 42, 168, 0.12) !important;
}
#category-grid .category-card__chips > .category-card__badge.category-card__badge--gold {
  border-color: rgba(240, 183, 74, 0.52) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.07), 0 8px 18px rgba(240, 183, 74, 0.12) !important;
}
#category-grid .category-card__chips > .category-card__badge.category-card__badge--violet {
  border-color: rgba(180, 92, 255, 0.52) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.07), 0 8px 18px rgba(180, 92, 255, 0.12) !important;
}
#category-grid .category-card__chips > .category-card__badge.category-card__badge--blue {
  border-color: rgba(57, 201, 255, 0.50) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.07), 0 8px 18px rgba(57, 201, 255, 0.12) !important;
}

/* Colore solo all'icona, senza box */
#category-grid .category-card__badge--pink .category-card__badge-icon { color: #ff4eb8 !important; text-shadow: 0 0 10px rgba(255,78,184,0.72) !important; }
#category-grid .category-card__badge--gold .category-card__badge-icon { color: #ffd36c !important; text-shadow: 0 0 10px rgba(255,211,108,0.72) !important; }
#category-grid .category-card__badge--violet .category-card__badge-icon { color: #c875ff !important; text-shadow: 0 0 10px rgba(200,117,255,0.72) !important; }
#category-grid .category-card__badge--blue .category-card__badge-icon { color: #61d8ff !important; text-shadow: 0 0 10px rgba(97,216,255,0.72) !important; }


/* STEP 200 — card categorie più alte e testo più basso per lasciare visibile la grafica */
#category-grid .category-card {
  min-height: clamp(500px, 36vw, 660px) !important;
  aspect-ratio: 3 / 4.35 !important;
  padding-top: clamp(34px, 3vw, 48px) !important;
  padding-bottom: clamp(34px, 3.1vw, 50px) !important;
  justify-content: flex-end !important;
}

#category-grid .category-card strong {
  font-size: clamp(32px, 2.65vw, 50px) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.05em !important;
  margin-bottom: clamp(16px, 1.4vw, 22px) !important;
}

#category-grid .category-card strong::after {
  width: clamp(62px, 5vw, 88px) !important;
  height: 2px !important;
  margin-top: clamp(18px, 1.55vw, 26px) !important;
  margin-bottom: 0 !important;
}

#category-grid .category-card__description {
  margin-top: clamp(20px, 1.8vw, 30px) !important;
  max-width: 31ch !important;
  font-size: clamp(14px, 0.98vw, 17px) !important;
  line-height: 1.58 !important;
}

#category-grid .category-card__chips {
  margin-top: clamp(26px, 2.35vw, 42px) !important;
}

/* Prima card: protegge meglio la rosa abbassando ulteriormente il blocco testo */
#category-grid .category-card--pink {
  padding-bottom: clamp(36px, 3.25vw, 54px) !important;
}

#category-grid .category-card--pink strong {
  font-size: clamp(31px, 2.55vw, 48px) !important;
}

@media (max-width: 1180px) {
  #category-grid .category-card {
    min-height: 560px !important;
  }
}

@media (max-width: 680px) {
  #category-grid .category-card {
    min-height: 540px !important;
    aspect-ratio: auto !important;
  }

  #category-grid .category-card strong {
    font-size: clamp(34px, 10vw, 46px) !important;
  }
}


/* STEP 201 — avvicina titolo e lineetta alla descrizione nelle card categorie */
#category-grid .category-card strong {
  margin-bottom: 0 !important;
}

#category-grid .category-card strong::after {
  margin-top: clamp(20px, 1.7vw, 28px) !important;
}

#category-grid .category-card__description {
  margin-top: clamp(12px, 1.05vw, 18px) !important;
}


/* STEP 202 — sottocategorie premium nella pagina categoria Blog */
.category-subareas {
  margin: clamp(28px, 4vw, 56px) 0 clamp(26px, 4vw, 52px);
}

.category-subareas[hidden] {
  display: none !important;
}

.category-subareas__head {
  margin-bottom: clamp(18px, 2.4vw, 30px);
}

.category-subareas__eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 12px;
  border: 1px solid rgba(190, 120, 255, 0.35);
  border-radius: 999px;
  background: rgba(125, 55, 180, 0.16);
  color: rgba(232, 206, 255, 0.92);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.category-subareas__head h2 {
  margin: 12px 0 8px;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(32px, 4vw, 54px);
  line-height: 0.95;
  letter-spacing: -0.045em;
}

.category-subareas__head p {
  margin: 0;
  max-width: 680px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 16px;
  line-height: 1.6;
}

.category-subareas__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.category-subarea-card {
  position: relative;
  min-height: 150px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: clamp(16px, 2vw, 26px);
  align-items: center;
  padding: clamp(20px, 2.6vw, 32px);
  overflow: hidden;
  border-radius: 28px;
  text-decoration: none;
  border: 1px solid rgba(186, 112, 255, 0.34);
  background:
    radial-gradient(circle at 8% 10%, rgba(196, 99, 255, 0.30), transparent 34%),
    linear-gradient(135deg, rgba(31, 19, 48, 0.98), rgba(16, 13, 28, 0.96));
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.category-subarea-card__glow {
  position: absolute;
  inset: auto -12% -60% 40%;
  height: 160px;
  background: radial-gradient(circle, rgba(183, 91, 255, 0.26), transparent 68%);
  pointer-events: none;
}

.category-subarea-card__icon {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(210, 164, 255, 0.24);
  font-size: 34px;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.24);
}

.category-subarea-card__content {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.category-subarea-card__badge {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(202, 137, 255, 0.38);
  color: rgba(238, 217, 255, 0.95);
  background: rgba(131, 61, 190, 0.18);
  font-size: 12px;
  font-weight: 800;
}

.category-subarea-card strong {
  display: block;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(26px, 3vw, 42px);
  line-height: 1;
  letter-spacing: -0.045em;
}

.category-subarea-card em {
  display: block;
  margin-top: 9px;
  max-width: 640px;
  color: rgba(255, 255, 255, 0.70);
  font-style: normal;
  font-size: 15px;
  line-height: 1.55;
}

.category-subarea-card__cta {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 14px;
  border: 1px solid rgba(225, 181, 255, 0.30);
  background: rgba(255, 255, 255, 0.07);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .category-subarea-card {
    grid-template-columns: 1fr;
  }

  .category-subarea-card__cta {
    width: fit-content;
  }
}


/* STEP 204 — sottocategorie premium pagina categoria Blog */
.category-subareas {
  margin: clamp(32px, 4vw, 58px) 0 clamp(30px, 4vw, 56px) !important;
  padding: 0 !important;
}

.category-subareas[hidden] {
  display: none !important;
}

.category-subareas__head {
  margin-bottom: clamp(18px, 2.4vw, 28px) !important;
}

.category-subareas__eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  min-height: 28px !important;
  padding: 6px 12px !important;
  border: 1px solid rgba(190, 120, 255, 0.35) !important;
  border-radius: 999px !important;
  background: rgba(125, 55, 180, 0.18) !important;
  color: rgba(232, 206, 255, 0.96) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.10em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

.category-subareas__head h2 {
  margin: 14px 0 8px !important;
  color: #fff !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(34px, 4.4vw, 58px) !important;
  font-weight: 500 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.055em !important;
}

.category-subareas__head p {
  margin: 0 !important;
  max-width: 680px !important;
  color: rgba(255, 255, 255, 0.70) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.category-subareas__grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
}

.category-subarea-card {
  position: relative !important;
  min-height: 164px !important;
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  gap: clamp(16px, 2vw, 28px) !important;
  align-items: center !important;
  padding: clamp(22px, 2.8vw, 34px) !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  text-decoration: none !important;
  border: 1px solid rgba(186, 112, 255, 0.38) !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(196, 99, 255, 0.30), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(255, 42, 168, 0.16), transparent 38%),
    linear-gradient(135deg, rgba(31, 19, 48, 0.98), rgba(10, 8, 18, 0.98)) !important;
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.36),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

.category-subarea-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(213, 159, 255, 0.58) !important;
  box-shadow:
    0 28px 80px rgba(0, 0, 0, 0.42),
    0 0 36px rgba(159, 77, 255, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.10) !important;
}

.category-subarea-card__glow {
  position: absolute !important;
  inset: auto -12% -60% 40% !important;
  height: 160px !important;
  background: radial-gradient(circle, rgba(183, 91, 255, 0.28), transparent 68%) !important;
  pointer-events: none !important;
}

.category-subarea-card__icon {
  position: relative !important;
  z-index: 1 !important;
  width: 76px !important;
  height: 76px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(210, 164, 255, 0.26) !important;
  font-size: 34px !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.26) !important;
}

.category-subarea-card__content {
  position: relative !important;
  z-index: 1 !important;
  min-width: 0 !important;
}

.category-subarea-card__badge {
  display: inline-flex !important;
  width: fit-content !important;
  margin-bottom: 10px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(202, 137, 255, 0.42) !important;
  color: rgba(238, 217, 255, 0.96) !important;
  background: rgba(131, 61, 190, 0.20) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

.category-subarea-card strong {
  display: block !important;
  margin: 0 !important;
  color: #fff !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(28px, 3vw, 44px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -0.05em !important;
}

.category-subarea-card em {
  display: block !important;
  margin-top: 10px !important;
  max-width: 640px !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-style: normal !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.category-subarea-card__cta {
  position: relative !important;
  z-index: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 10px 16px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(225, 181, 255, 0.32) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  .category-subarea-card {
    grid-template-columns: 1fr !important;
  }

  .category-subarea-card__cta {
    width: fit-content !important;
  }
}

/* STEP 322 — Home Blog: card categorie più compatte e conteggi reali gestiti da JS */
#category-grid .category-card {
  min-height: clamp(420px, 29.5vw, 560px) !important;
  aspect-ratio: 3 / 3.78 !important;
  padding-top: clamp(26px, 2.2vw, 38px) !important;
  padding-bottom: clamp(28px, 2.35vw, 42px) !important;
}

#category-grid .category-card strong {
  font-size: clamp(30px, 2.35vw, 44px) !important;
  line-height: 0.98 !important;
}

#category-grid .category-card strong::after {
  margin-top: clamp(16px, 1.25vw, 22px) !important;
}

#category-grid .category-card__description {
  margin-top: clamp(10px, 0.85vw, 15px) !important;
  font-size: clamp(14px, 0.92vw, 16px) !important;
  line-height: 1.48 !important;
  max-width: 30ch !important;
}

#category-grid .category-card__chips {
  margin-top: clamp(18px, 1.55vw, 28px) !important;
}

@media (max-width: 1180px) {
  #category-grid .category-card {
    min-height: 500px !important;
    aspect-ratio: auto !important;
  }
}

@media (max-width: 680px) {
  #category-grid .category-card {
    min-height: 470px !important;
  }
}


/* STEP 376 — Fix sorgente CSS reale sottocategorie
   Questo file viene caricato dopo vieniora-blog.css nella home/router pubblico.
   Le patch precedenti modificavano soprattutto vieniora-blog.css, ma qui restavano
   regole STEP 204 più larghe che sovrascrivevano lo stile compatto. */
.category-subareas {
  margin: clamp(26px, 3vw, 42px) 0 clamp(30px, 4vw, 52px) !important;
  padding: 0 !important;
}

.category-subareas[hidden] {
  display: none !important;
}

.category-subareas__head {
  margin: 0 0 12px !important;
  text-align: left !important;
}

.category-subareas__eyebrow,
.category-subareas__head p {
  display: none !important;
}

.category-subareas__head h2 {
  margin: 0 !important;
  color: rgba(239, 205, 255, 0.92) !important;
  font-family: "Inter", "DM Sans", Arial, sans-serif !important;
  font-size: clamp(11px, 1vw, 13px) !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
}

.category-subareas__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(14px, 1.6vw, 20px) !important;
  align-items: stretch !important;
  justify-content: start !important;
  width: 100% !important;
}

.category-subarea-card {
  position: relative !important;
  min-height: 92px !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  text-decoration: none !important;
  border: 1px solid rgba(255, 55, 170, 0.34) !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(177, 82, 255, 0.22), transparent 35%),
    radial-gradient(circle at 100% 100%, rgba(255, 42, 168, 0.13), transparent 42%),
    linear-gradient(135deg, rgba(31, 8, 29, 0.96), rgba(17, 9, 24, 0.98)) !important;
  box-shadow:
    0 16px 38px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

.category-subarea-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(255, 86, 190, 0.62) !important;
  box-shadow:
    0 18px 46px rgba(0, 0, 0, 0.34),
    0 0 26px rgba(255, 20, 147, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

.category-subarea-card__glow {
  position: absolute !important;
  inset: auto -20% -70% 28% !important;
  height: 110px !important;
  background: radial-gradient(circle, rgba(255, 45, 171, 0.22), transparent 68%) !important;
  pointer-events: none !important;
}

.category-subarea-card__icon {
  position: relative !important;
  z-index: 1 !important;
  width: 56px !important;
  height: 56px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.045) !important;
  border: 1px solid rgba(255, 111, 203, 0.23) !important;
  font-size: 25px !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.22) !important;
}

.category-subarea-card__content {
  position: relative !important;
  z-index: 1 !important;
  min-width: 0 !important;
}

.category-subarea-card__badge {
  display: inline-flex !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 0 5px !important;
  padding: 4px 7px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(226, 153, 255, 0.34) !important;
  color: rgba(246, 223, 255, 0.96) !important;
  background: rgba(134, 54, 166, 0.34) !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  white-space: nowrap !important;
}

.category-subarea-card strong {
  display: block !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: #fff !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(20px, 1.7vw, 26px) !important;
  font-weight: 600 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.045em !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.category-subarea-card em {
  display: block !important;
  margin-top: 5px !important;
  overflow: hidden !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-style: normal !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.category-subarea-card__count {
  display: inline-flex !important;
  width: fit-content !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 7px !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 42, 168, 0.36) !important;
  background: rgba(255, 42, 168, 0.13) !important;
  color: rgba(255, 238, 248, 0.95) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.category-subarea-card__cta {
  position: relative !important;
  z-index: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 8px 12px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(225, 181, 255, 0.26) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

@media (max-width: 1180px) {
  .category-subareas__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .category-subareas {
    margin-top: 24px !important;
  }

  .category-subareas__grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .category-subarea-card {
    grid-template-columns: 48px minmax(0, 1fr) auto !important;
    min-height: 82px !important;
    padding: 13px !important;
  }

  .category-subarea-card__icon {
    width: 48px !important;
    height: 48px !important;
    font-size: 22px !important;
  }

  .category-subarea-card__cta {
    min-height: 34px !important;
    padding: 7px 10px !important;
    font-size: 0 !important;
  }

  .category-subarea-card__cta::before {
    content: '→' !important;
    font-size: 17px !important;
    line-height: 1 !important;
  }
}
