/*
  VIENIORA BLOG — GLOBAL CSS
  File globale del modulo Blog.
  Regola progetto: niente CSS inline negli HTML; classi UI riutilizzabili e centralizzate qui.
*/
:root{
  --vo-bg:#050505;
  --vo-panel:#0d0d0f;
  --vo-panel-2:#141418;
  --vo-text:#ffffff;
  --vo-muted:#b8b8c0;
  --vo-soft:#777783;
  --vo-pink:#ff1493;
  --vo-pink-2:#ff2c8b;
  --vo-pink-3:#ff4d8e;
  --vo-border:rgba(255,20,147,.22);
  --vo-glow:0 0 26px rgba(255,20,147,.28);
  --vo-radius:18px;
  --vo-font:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:radial-gradient(circle at 70% 5%,rgba(255,20,147,.12),transparent 35%),var(--vo-bg);
  color:var(--vo-text);
  font-family:var(--vo-font);
}
a{color:inherit;text-decoration:none}
.page-shell{max-width:1440px;margin:0 auto;padding:0 18px 96px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(5,5,5,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,20,147,.20);box-shadow:0 16px 38px rgba(255,20,147,.11),0 10px 28px rgba(0,0,0,.42)}
.site-header::after{content:'';position:absolute;left:0;right:0;bottom:-24px;height:24px;pointer-events:none;background:linear-gradient(180deg,rgba(255,20,147,.18),rgba(255,20,147,.075) 38%,transparent 100%);filter:blur(7px);opacity:.78}
.header-inner{max-width:1440px;margin:0 auto;padding:16px 18px;display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;gap:10px;font-size:29px;font-weight:900;letter-spacing:-.04em}
.brand-logo{width:330px;max-width:52vw;line-height:0}
.brand-logo img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 18px rgba(255,20,147,.18))}
.brand-mark{width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#ff79be 30%,#ff1493 62%,#411023);box-shadow:var(--vo-glow)}
.brand span span{color:var(--vo-pink)}
.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:28px;font-size:13px;font-weight:800;text-transform:uppercase}
.desktop-nav a.active,.desktop-nav a:hover{color:var(--vo-pink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--vo-border);border-radius:10px;padding:13px 24px;font-weight:900;background:rgba(255,20,147,.08)}
.btn-primary{background:linear-gradient(135deg,var(--vo-pink),var(--vo-pink-2));box-shadow:var(--vo-glow);border-color:transparent}
.btn-ghost{color:var(--vo-pink);background:rgba(0,0,0,.25)}
.icon-btn{width:44px;height:44px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.03);display:grid;place-items:center}

.hero{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;padding:30px 0}
.hero-main{
  min-height:410px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--vo-radius);
  overflow:hidden;
  position:relative;
  isolation:isolate;
  background:#050505;
}
.hero-main::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  background:url('/assets/img/hero-girl.jpg') center right/cover no-repeat;
}
.hero-main::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(5,5,5,1) 0%,rgba(5,5,5,.92) 32%,rgba(5,5,5,.35) 58%,rgba(5,5,5,.05) 100%);
  pointer-events:none;
}
.hero-content{max-width:610px;padding:58px 36px;position:relative;z-index:2}
.eyebrow{color:var(--vo-pink);font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.hero h1{font-size:clamp(40px,5vw,72px);line-height:1.03;margin:16px 0 18px;letter-spacing:-.06em}
.hot{color:var(--vo-pink)}
.lead{font-size:20px;line-height:1.5;color:#e8e8ef}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:34px}
.side-stack{display:grid;gap:16px}
.glass-card{border:1px solid rgba(255,255,255,.1);border-radius:var(--vo-radius);background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,20,147,.04));box-shadow:0 16px 55px rgba(0,0,0,.35)}
.online-card{padding:24px}
.online-card h2,.promo-card h2{margin-top:0}
.avatars{display:flex;align-items:center;margin:18px 0 20px}
.avatar{width:58px;height:58px;border-radius:50%;border:2px solid var(--vo-pink);background:#10050b;margin-right:-8px;display:grid;place-items:center;font-weight:900;position:relative;overflow:hidden;box-shadow:0 0 18px rgba(255,20,147,.18)}
.avatar img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}
.avatar.online:after{content:'';position:absolute;right:4px;bottom:5px;width:11px;height:11px;border-radius:50%;background:#10ff78;border:2px solid #12040d;box-shadow:0 0 10px rgba(16,255,120,.8)}
.avatar.more{background:#150813;color:var(--vo-pink);z-index:1}

.rose-promo-card{
  padding:22px;
  min-height:290px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
}
.rose-promo-copy{position:relative;z-index:2}
.rose-promo-card h2{font-size:28px;line-height:1;margin:0 0 5px;letter-spacing:-.04em}
.rose-promo-card h3{font-size:24px;line-height:1.05;margin:0 0 14px;color:#fff;white-space:nowrap;letter-spacing:-.03em}
.rose-promo-card p{color:var(--vo-muted);max-width:230px;margin:0 0 18px}
.promo-gift-img{
  position:absolute;
  right:-8px;
  bottom:54px;
  width:145px;
  max-width:45%;
  filter:drop-shadow(0 0 22px rgba(255,20,147,.65)) drop-shadow(0 18px 26px rgba(0,0,0,.55));
  z-index:1;
}
.rose-promo-card .btn{position:relative;z-index:3;width:100%;margin-top:16px}

.section-title{display:flex;align-items:center;gap:10px;margin:26px 0 18px;font-size:21px;text-transform:uppercase}
.section-title:before{content:'';width:4px;height:24px;border-radius:20px;background:var(--vo-pink);box-shadow:var(--vo-glow)}
.category-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:14px}
.category-card{padding:18px 12px;border:1px solid var(--vo-border);border-radius:14px;background:rgba(255,255,255,.03);text-align:center;font-weight:800;transition:.2s}
.category-card:hover{transform:translateY(-3px);box-shadow:var(--vo-glow)}
.category-card .cat-icon{display:block;font-size:26px;color:var(--vo-pink);margin-bottom:9px}

.featured-vertical-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.featured-vertical-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,20,147,.28);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,20,147,.065),rgba(5,5,5,.98));
  box-shadow:0 18px 48px rgba(0,0,0,.34);
}
.featured-vertical-card__image{
  position:relative;
  width:100%;
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:#0b0307;
  flex:0 0 auto;
}
.featured-vertical-card__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.featured-vertical-card__image::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.28) 100%);
  pointer-events:none;
}
.featured-vertical-card__image .tag{
  position:absolute;
  left:16px;
  top:16px;
  z-index:2;
}
.featured-vertical-card__content{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  padding:22px 22px 24px;
}
.featured-vertical-card__content h3{
  margin:0 0 10px;
  color:#fff;
  font-size:22px;
  line-height:1.16;
  letter-spacing:-.035em;
}
.featured-vertical-card__content p{
  margin:0 0 18px;
  color:#f1edf2;
  font-size:15px;
  line-height:1.45;
}
.featured-vertical-card__content .meta{margin:0;color:var(--vo-muted);font-size:13px}
.featured-vertical-card__content .read-more{margin-top:auto;padding-top:18px}
.tag{display:inline-flex;align-self:flex-start;border-radius:6px;background:linear-gradient(135deg,var(--vo-pink),var(--vo-pink-2));padding:7px 9px;font-size:11px;font-weight:900;text-transform:uppercase}
.meta{color:var(--vo-muted);font-size:13px}
.read-more{color:var(--vo-pink);font-size:13px;font-weight:900;text-transform:uppercase}

/* STEP 068C — Card articolo completamente cliccabile */
.featured-vertical-card[data-card-url]{
  cursor:pointer;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.featured-vertical-card[data-card-url]:focus-visible{
  outline:2px solid rgba(255,20,147,.92);
  outline-offset:4px;
}
.featured-vertical-card[data-card-url]:hover{
  transform:translateY(-2px);
}
.featured-vertical-card__image-link{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  color:inherit;
}
.featured-vertical-card__image-link img{
  transition:transform .35s ease,filter .35s ease;
}
.featured-vertical-card[data-card-url]:hover .featured-vertical-card__image-link img{
  transform:scale(1.035);
  filter:saturate(1.08) contrast(1.04);
}
.featured-vertical-card__image .tag{
  pointer-events:none;
}
.featured-vertical-card__title-link{
  color:inherit;
  text-decoration:none;
  transition:color .2s ease;
}
.featured-vertical-card__title-link:hover,
.featured-vertical-card[data-card-url]:hover .featured-vertical-card__title-link{
  color:#fff;
}
.featured-vertical-card[data-card-url]:hover .read-more{
  color:#ff4d9e;
}

.banner{margin:28px 0;border:1px solid var(--vo-border);border-radius:18px;padding:26px;display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:26px;background:linear-gradient(110deg,rgba(255,20,147,.12),rgba(255,255,255,.03));box-shadow:0 0 45px rgba(255,20,147,.08)}
.gift{font-size:70px;filter:drop-shadow(0 0 15px rgba(255,20,147,.65))}

.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(5,5,5,.9);backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.1);display:none;grid-template-columns:repeat(5,1fr);padding:10px 8px 16px}
.bottom-nav a{display:grid;place-items:center;gap:4px;color:#ddd;font-size:11px;font-weight:800}
.bottom-nav a.active{color:var(--vo-pink)}
.bottom-nav .main{width:58px;height:58px;margin-top:-28px;border-radius:50%;background:linear-gradient(135deg,var(--vo-pink),var(--vo-pink-2));box-shadow:var(--vo-glow);color:#fff}

@media(max-width:980px){
  .desktop-nav{display:none}
  .hero{grid-template-columns:1fr}
  .side-stack{grid-template-columns:1fr 1fr}
  .category-grid{grid-template-columns:repeat(4,1fr)}
  .featured-vertical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bottom-nav{display:grid}
  .header-inner{padding:14px 16px}
  .brand{font-size:24px}
  .brand-logo{width:220px;max-width:54vw}
  .hero-main{min-height:520px}
  .hero-content{padding:36px 24px}
}
@media(max-width:620px){
  .page-shell{padding:0 14px 110px}
  .hero{padding-top:18px}
  .hero-main{min-height:auto}
  .hero-main::before{background-position:center top}
  .hero-main::after{background:linear-gradient(180deg,rgba(5,5,5,.24) 0%,rgba(5,5,5,.86) 58%,rgba(5,5,5,.98) 100%)}
  .hero h1{font-size:38px}
  .lead{font-size:17px}
  .hero-actions .btn{width:100%}
  .side-stack{grid-template-columns:1fr}
  .category-grid{display:flex;overflow-x:auto;padding-bottom:8px}
  .category-card{min-width:132px}
  .featured-vertical-grid{grid-template-columns:1fr}
  .featured-vertical-card__image{aspect-ratio:4/3}
  .banner{grid-template-columns:1fr;text-align:left}
  .banner .btn{width:100%}
  .top-cta{display:none}
}

.archive-title{font-size:clamp(36px,4vw,58px);letter-spacing:-.05em;margin:38px 0 24px}
/* STEP 015 — Pagina articolo: colonna contenuto fluida, sidebar invariata */
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;padding-top:30px}
.article-main{padding:34px}
.article-main h1{font-size:clamp(38px,4vw,62px);line-height:1.05;letter-spacing:-.055em}
.article-main h2{margin-top:32px;font-size:28px}
.article-main p{color:#e9e9ef;font-size:18px;line-height:1.7}
.article-cover{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;margin:22px 0}
blockquote{border:1px solid rgba(255,20,147,.35);border-radius:16px;padding:22px;color:#fff;background:rgba(255,20,147,.09);font-size:20px}
@media(max-width:980px){.article-layout{grid-template-columns:1fr}.article-main{padding:24px}}


/* STEP 014 — Categoria articolo come badge a destra */
.article-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:48px;
}
.article-main .article-topline .read-more{
  margin:0;
}
.article-category-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:9px 16px;
  border:1px solid rgba(255,20,147,.45);
  border-radius:999px;
  color:var(--vo-pink);
  background:linear-gradient(135deg,rgba(255,20,147,.14),rgba(255,44,139,.055));
  box-shadow:0 0 22px rgba(255,20,147,.12), inset 0 0 18px rgba(255,255,255,.035);
  font-size:13px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,color .22s ease;
}
.article-category-badge:hover{
  transform:translateY(-2px);
  color:#fff;
  border-color:rgba(255,20,147,.78);
  box-shadow:0 10px 32px rgba(255,20,147,.28), inset 0 0 22px rgba(255,255,255,.055);
}
@media(max-width:640px){
  .article-topline{align-items:flex-start;margin-bottom:34px}
  .article-category-badge{font-size:11px;padding:8px 12px;min-height:32px}
}


/* STEP 012 — Sidebar articolo: correlati + banner chat */
.article-sidebar{
  display:grid;
  gap:28px;
  align-content:start;
}
.related-card{
  padding:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(5,5,5,.86));
}
.related-card h2{
  margin:0 0 18px;
  font-size:16px;
  line-height:1.1;
  text-transform:uppercase;
  letter-spacing:-.035em;
}
.related-list{
  display:grid;
  gap:0;
}
.related-item{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:15px 0;
  border-top:1px solid rgba(255,255,255,.07);
  transition:transform .22s ease,filter .22s ease;
}
.related-item:first-child{border-top:0;padding-top:0}
.related-item:last-child{padding-bottom:0}
.related-item:hover{transform:translateX(4px);filter:drop-shadow(0 0 16px rgba(255,20,147,.18))}
.related-item img{
  width:82px;
  height:82px;
  border-radius:16px;
  object-fit:cover;
  object-position:center top;
  border:1px solid rgba(255,20,147,.22);
  box-shadow:0 12px 24px rgba(0,0,0,.28);
}
.related-item span{display:grid;gap:9px}
.related-item strong{
  color:#fff;
  font-size:13px;
  line-height:1.35;
  letter-spacing:-.02em;
}
.related-item em{
  color:var(--vo-pink);
  font-style:normal;
  font-size:13px;
  font-weight:900;
}
.chat-entry-card{
  min-height:390px;
  border:1px solid rgba(255,20,147,.26);
  border-radius:var(--vo-radius);
  overflow:hidden;
  position:sticky;
  top:118px;
  z-index:4;
  isolation:isolate;
  background:#13020b;
  box-shadow:0 18px 50px rgba(0,0,0,.42),0 0 38px rgba(255,20,147,.12);
}
.chat-entry-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:url('../../blog/assets/img/post-featured-2.jpg?v=consolidato1') 66% center/cover no-repeat;
  filter:saturate(1.14) contrast(1.05);
  z-index:-2;
}
.chat-entry-card::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 82% 28%,rgba(255,20,147,.48),transparent 34%),
    linear-gradient(90deg,rgba(8,0,5,.98) 0%,rgba(41,0,20,.82) 42%,rgba(255,20,147,.18) 100%),
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.62));
  z-index:-1;
}
.chat-entry-content{
  min-height:390px;
  padding:34px 26px 24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.chat-entry-card h2{
  margin:0;
  color:var(--vo-pink);
  font-size:30px;
  line-height:.95;
  text-transform:uppercase;
  letter-spacing:-.055em;
  text-shadow:0 0 24px rgba(255,20,147,.45);
}
.chat-entry-card h3{
  margin:8px 0 24px;
  max-width:210px;
  color:#fff;
  font-size:24px;
  line-height:1.02;
  text-transform:uppercase;
  letter-spacing:-.04em;
}
.chat-entry-card p{
  max-width:205px;
  margin:0 0 26px;
  color:#f2dce9;
  font-size:15px;
  line-height:1.55;
}
.chat-entry-card .btn{
  width:190px;
  min-height:54px;
  text-transform:uppercase;
}
.chat-entry-avatars{
  display:flex;
  align-items:center;
  margin-top:auto;
  padding-top:22px;
}
.avatar.mini{
  width:44px;
  height:44px;
  margin-right:-9px;
  border-color:rgba(255,77,142,.88);
}
.avatar.mini.more{
  font-size:12px;
  background:rgba(10,0,6,.72);
}
@media(max-width:980px){
  .article-sidebar{grid-template-columns:1fr;gap:18px}
  .chat-entry-card{position:relative;top:auto;min-height:330px}
  .chat-entry-content{min-height:330px}
}
@media(max-width:620px){
  .related-card{padding:20px}
  .related-item{grid-template-columns:74px minmax(0,1fr);gap:12px}
  .related-item img{width:74px;height:74px;border-radius:14px}
  .chat-entry-card{min-height:360px}
  .chat-entry-content{min-height:360px;padding:30px 22px 22px}
}

/* STEP 005 — Hover feedback premium per bottoni e link cliccabili */
.brand,
.desktop-nav a,
.btn,
.icon-btn,
.bottom-nav a,
.read-more{
  position:relative;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background .22s ease,
    color .22s ease,
    filter .22s ease;
}

.brand:hover,
.btn:hover,
.icon-btn:hover,
.bottom-nav a:hover{
  transform:translateY(-2px);
}

.brand:hover .brand-mark{
  box-shadow:0 0 34px rgba(255,20,147,.55),0 0 70px rgba(255,20,147,.18);
  filter:saturate(1.18) brightness(1.08);
}

.brand-logo:hover img{
  filter:drop-shadow(0 0 28px rgba(255,20,147,.5)) drop-shadow(0 0 54px rgba(255,20,147,.18)) saturate(1.08) brightness(1.04);
}

.desktop-nav a:not(.btn)::after,
.read-more::after,
.bottom-nav a:not(.main)::after{
  content:'';
  position:absolute;
  left:50%;
  bottom:-8px;
  width:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--vo-pink),var(--vo-pink-3),transparent);
  box-shadow:0 0 14px rgba(255,20,147,.72);
  transform:translateX(-50%);
  opacity:0;
  transition:width .24s ease,opacity .24s ease;
}

.desktop-nav a:not(.btn):hover::after,
.desktop-nav a:not(.btn).active::after,
.read-more:hover::after,
.bottom-nav a:not(.main):hover::after,
.bottom-nav a:not(.main).active::after{
  width:100%;
  opacity:1;
}

.btn{
  overflow:hidden;
  will-change:transform,box-shadow;
}

.btn::before{
  content:'';
  position:absolute;
  inset:-2px;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.35) 46%,transparent 68%);
  transform:translateX(-130%) skewX(-18deg);
  transition:transform .55s ease;
  pointer-events:none;
}

.btn::after{
  content:'';
  position:absolute;
  left:18%;
  right:18%;
  bottom:5px;
  height:3px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  box-shadow:0 0 20px rgba(255,20,147,.95),0 0 38px rgba(255,20,147,.45);
  opacity:0;
  transform:scaleX(.35);
  transition:opacity .22s ease,transform .22s ease;
  pointer-events:none;
}

.btn:hover{
  border-color:rgba(255,77,142,.58);
  box-shadow:0 0 30px rgba(255,20,147,.38),0 18px 34px rgba(0,0,0,.34);
  filter:brightness(1.06) saturate(1.08);
}

.btn:hover::before{
  transform:translateX(130%) skewX(-18deg);
}

.btn:hover::after{
  opacity:1;
  transform:scaleX(1);
}

.btn-primary:hover{
  box-shadow:0 0 34px rgba(255,20,147,.58),0 18px 42px rgba(255,20,147,.2);
}

.btn-ghost:hover{
  background:rgba(255,20,147,.12);
  color:#fff;
}

.icon-btn:hover{
  border-color:rgba(255,20,147,.5);
  background:rgba(255,20,147,.09);
  box-shadow:0 0 24px rgba(255,20,147,.22);
  color:#fff;
}

.bottom-nav .main:hover{
  box-shadow:0 0 34px rgba(255,20,147,.58),0 0 70px rgba(255,20,147,.18);
}

@media (prefers-reduced-motion:reduce){
  .brand,
  .desktop-nav a,
  .btn,
  .icon-btn,
  .bottom-nav a,
  .read-more,
  .btn::before,
  .btn::after,
  .desktop-nav a:not(.btn)::after,
  .read-more::after,
  .bottom-nav a:not(.main)::after{
    transition:none;
  }
  .brand:hover,
  .btn:hover,
  .icon-btn:hover,
  .bottom-nav a:hover{
    transform:none;
  }
}

/* STEP 007 — Fix leggibilità hover CTA top bar */
.btn-primary,
.desktop-nav a.btn-primary,
.desktop-nav a.btn-primary:hover,
.desktop-nav a.btn-primary:focus-visible{
  color:#fff;
}

.desktop-nav a.btn-primary:hover,
.desktop-nav a.btn-primary:focus-visible{
  text-shadow:0 1px 10px rgba(0,0,0,.28),0 0 16px rgba(255,255,255,.18);
}


/* STEP 016 — CTA finale premium: 10 rose gratis */
.premium-final-cta{
  position:relative;
  display:grid;
  grid-template-columns:220px minmax(0,1fr) 290px;
  gap:28px;
  align-items:center;
  margin:34px 0 0;
  padding:30px;
  overflow:hidden;
  border:1px solid rgba(255,20,147,.24);
  border-radius:26px;
  background:
    radial-gradient(circle at 15% 20%,rgba(255,77,142,.32),transparent 28%),
    radial-gradient(circle at 85% 16%,rgba(255,20,147,.24),transparent 28%),
    linear-gradient(120deg,rgba(24,0,12,.98) 0%,rgba(42,2,22,.98) 26%,rgba(16,4,15,.98) 58%,rgba(6,6,8,.98) 100%);
  box-shadow:
    0 24px 70px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,255,255,.02) inset,
    0 0 55px rgba(255,20,147,.08);
  isolation:isolate;
}
.premium-final-cta::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg,transparent 0%,rgba(255,255,255,.06) 18%,transparent 36%),
    radial-gradient(circle at 76% 82%,rgba(255,20,147,.2),transparent 24%),
    radial-gradient(circle at 28% 80%,rgba(255,77,142,.14),transparent 22%);
  pointer-events:none;
  z-index:-1;
}
.premium-final-cta::after{
  content:'';
  position:absolute;
  left:22px;
  right:22px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
  pointer-events:none;
}
.premium-final-cta__visual{
  position:relative;
  min-height:190px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.premium-final-cta__visual img{
  position:relative;
  display:block;
  width:min(100%,250px);
  max-width:250px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 0 26px rgba(255,20,147,.26)) drop-shadow(0 24px 28px rgba(0,0,0,.34));
  z-index:2;
}
.premium-final-cta__visual-orbit{
  position:absolute;
  border-radius:50%;
  filter:blur(2px);
  pointer-events:none;
}
.premium-final-cta__visual-orbit--one{
  width:180px;
  height:180px;
  background:radial-gradient(circle,rgba(255,77,142,.34) 0%,rgba(255,20,147,.14) 42%,transparent 70%);
}
.premium-final-cta__visual-orbit--two{
  width:240px;
  height:240px;
  background:radial-gradient(circle,rgba(255,255,255,.08) 0%,rgba(255,20,147,.08) 38%,transparent 76%);
  transform:translate(26px,8px);
}
.premium-final-cta__copy{position:relative;z-index:2}
.premium-final-cta__copy .eyebrow{
  margin-bottom:14px;
  font-size:14px;
  letter-spacing:.12em;
}
.premium-final-cta__copy h2{
  margin:0 0 12px;
  font-size:clamp(40px,4.2vw,58px);
  line-height:.94;
  letter-spacing:-.045em;
}
.premium-final-cta__copy p{
  max-width:700px;
  margin:0;
  color:#f2e8ef;
  font-size:19px;
  line-height:1.55;
}
.premium-final-cta__microcopy{
  margin-top:16px;
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:10px 14px;
  border:1px solid rgba(255,20,147,.22);
  border-radius:999px;
  background:rgba(255,255,255,.03);
  color:#ffd7eb;
  font-size:13px;
  font-weight:700;
}
.premium-final-cta__microcopy::before{
  content:'';
  width:8px;
  height:8px;
  border-radius:50%;
  background:#ff4d8e;
  box-shadow:0 0 14px rgba(255,77,142,.72);
}
.premium-final-cta__actions{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:14px;
}
.premium-final-cta__button{
  min-width:250px;
  min-height:68px;
  padding:18px 28px;
  border-radius:16px;
  font-size:22px;
  line-height:1;
  text-transform:none;
  letter-spacing:-.03em;
}
.premium-final-cta__actions small{
  display:block;
  color:#d8b4c7;
  font-size:12px;
  text-align:right;
}
@media(max-width:1120px){
  .premium-final-cta{
    grid-template-columns:190px minmax(0,1fr) 240px;
    gap:22px;
    padding:26px;
  }
  .premium-final-cta__button{min-width:220px;font-size:19px;min-height:62px}
}
@media(max-width:980px){
  .premium-final-cta{
    grid-template-columns:1fr;
    text-align:center;
  }
  .premium-final-cta__visual{min-height:200px}
  .premium-final-cta__copy p{max-width:none}
  .premium-final-cta__microcopy{justify-content:center}
  .premium-final-cta__actions{align-items:center}
  .premium-final-cta__actions small{text-align:center}
  .premium-final-cta__button{width:100%;max-width:420px}
}
@media(max-width:620px){
  .premium-final-cta{
    margin-top:28px;
    padding:24px 18px 20px;
    border-radius:22px;
    gap:18px;
  }
  .premium-final-cta__visual{min-height:170px}
  .premium-final-cta__visual img{width:min(100%,195px)}
  .premium-final-cta__copy .eyebrow{font-size:12px}
  .premium-final-cta__copy h2{font-size:36px}
  .premium-final-cta__copy p{font-size:17px}
  .premium-final-cta__microcopy{width:100%;justify-content:center;font-size:12px}
  .premium-final-cta__button{max-width:none;min-height:60px;font-size:18px}
}


/* STEP 017 — Fix visibilità CTA finale premium: override compatibile anche se resta la vecchia classe .banner */
.banner.premium-final-cta,
.premium-final-cta{
  position:relative !important;
  display:grid !important;
  grid-template-columns:240px minmax(0,1fr) 310px !important;
  gap:32px !important;
  align-items:center !important;
  margin:40px 0 0 !important;
  padding:34px 34px 0 0 !important;
  overflow:hidden !important;
  border:1px solid rgba(255,20,147,.32) !important;
  border-radius:30px !important;
  text-align:left !important;
  background:
    radial-gradient(circle at 10% 22%,rgba(255,77,142,.42),transparent 30%),
    radial-gradient(circle at 88% 18%,rgba(255,20,147,.36),transparent 27%),
    radial-gradient(circle at 70% 100%,rgba(255,44,139,.18),transparent 34%),
    linear-gradient(120deg,#100007 0%,#2a0317 30%,#130812 62%,#050505 100%) !important;
  box-shadow:
    0 28px 90px rgba(0,0,0,.5),
    0 0 70px rgba(255,20,147,.14),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
  isolation:isolate !important;
}
.banner.premium-final-cta::before,
.premium-final-cta::before{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(115deg,transparent 0%,rgba(255,255,255,.075) 20%,transparent 39%),
    linear-gradient(180deg,rgba(255,255,255,.035),transparent 34%) !important;
  pointer-events:none !important;
  z-index:-1 !important;
}
.banner.premium-final-cta::after,
.premium-final-cta::after{
  content:'' !important;
  position:absolute !important;
  left:32px !important;
  right:32px !important;
  bottom:0 !important;
  height:1px !important;
  background:linear-gradient(90deg,transparent,rgba(255,77,142,.8),transparent) !important;
  box-shadow:0 0 24px rgba(255,20,147,.6) !important;
}
.premium-final-cta__visual{
  position:relative !important;
  min-height:250px !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-start !important;
  align-self:end !important;
  margin-left:-6px !important;
  margin-bottom:-6px !important;
}
.premium-final-cta__visual img{
  position:relative !important;
  display:block !important;
  width:min(100%,315px) !important;
  height:auto !important;
  filter:drop-shadow(0 0 34px rgba(255,20,147,.38)) drop-shadow(0 26px 34px rgba(0,0,0,.45)) !important;
  z-index:2 !important;
}
.premium-final-cta__visual-orbit{
  position:absolute !important;
  border-radius:50% !important;
  pointer-events:none !important;
}
.premium-final-cta__visual-orbit--one{
  width:210px !important;
  height:210px !important;
  background:radial-gradient(circle,rgba(255,77,142,.45) 0%,rgba(255,20,147,.14) 46%,transparent 72%) !important;
  filter:blur(1px) !important;
}
.premium-final-cta__visual-orbit--two{
  width:290px !important;
  height:290px !important;
  background:radial-gradient(circle,rgba(255,255,255,.09) 0%,rgba(255,20,147,.09) 42%,transparent 76%) !important;
  transform:translate(28px,10px) !important;
}
.premium-final-cta__copy{
  position:relative !important;
  z-index:2 !important;
}
.premium-final-cta__copy .eyebrow{
  margin-bottom:14px !important;
  color:#ff4d8e !important;
  font-size:14px !important;
  letter-spacing:.12em !important;
}
.premium-final-cta__copy h2{
  margin:0 0 14px !important;
  font-size:clamp(44px,4.4vw,64px) !important;
  line-height:.92 !important;
  letter-spacing:-.065em !important;
}
.premium-final-cta__copy p{
  max-width:720px !important;
  margin:0 !important;
  color:#f5e9f0 !important;
  font-size:20px !important;
  line-height:1.55 !important;
}
.premium-final-cta__microcopy{
  margin-top:16px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  min-height:38px !important;
  padding:10px 15px !important;
  border:1px solid rgba(255,20,147,.28) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.04) !important;
  color:#ffd7eb !important;
  font-size:13px !important;
  font-weight:800 !important;
}
.premium-final-cta__microcopy::before{
  content:'' !important;
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  background:#ff4d8e !important;
  box-shadow:0 0 14px rgba(255,77,142,.8) !important;
}
.premium-final-cta__actions{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  gap:14px !important;
}
.premium-final-cta__button{
  min-width:270px !important;
  min-height:74px !important;
  padding:20px 30px !important;
  border-radius:18px !important;
  font-size:23px !important;
  letter-spacing:-.035em !important;
}
.premium-final-cta__actions small{
  display:block !important;
  color:#ddb8cb !important;
  font-size:12px !important;
  text-align:right !important;
}
/* Fallback: se sul server resta per errore il vecchio markup .banner, cambia comunque aspetto e icona */
.banner:not(.premium-final-cta){
  position:relative;
  overflow:hidden;
  border-radius:30px;
  background:
    radial-gradient(circle at 10% 22%,rgba(255,77,142,.38),transparent 30%),
    radial-gradient(circle at 88% 18%,rgba(255,20,147,.3),transparent 27%),
    linear-gradient(120deg,#100007 0%,#2a0317 34%,#050505 100%);
  box-shadow:0 28px 90px rgba(0,0,0,.48),0 0 70px rgba(255,20,147,.12);
}
.banner:not(.premium-final-cta) .gift{
  font-size:0;
}
.banner:not(.premium-final-cta) .gift::before{
  content:'🌹';
  font-size:92px;
  filter:drop-shadow(0 0 22px rgba(255,20,147,.7));
}
.banner:not(.premium-final-cta) .btn{
  min-height:66px;
  min-width:250px;
  border-radius:18px;
  font-size:21px;
}
@media(max-width:980px){
  .banner.premium-final-cta,
  .premium-final-cta{
    grid-template-columns:1fr !important;
    text-align:center !important;
    padding:30px 24px !important;
  }
  .premium-final-cta__visual{min-height:205px !important;justify-content:center !important;align-items:flex-end !important;align-self:auto !important;margin-left:0 !important;margin-bottom:0 !important}
  .premium-final-cta__actions{align-items:center !important}
  .premium-final-cta__actions small{text-align:center !important}
  .premium-final-cta__button{width:100% !important;max-width:430px !important}
}
@media(max-width:620px){
  .banner.premium-final-cta,
  .premium-final-cta{
    margin-top:28px !important;
    padding:24px 18px 20px !important;
    border-radius:24px !important;
    gap:18px !important;
  }
  .premium-final-cta__visual{min-height:172px !important;justify-content:center !important;align-items:flex-end !important;align-self:auto !important;margin-left:0 !important;margin-bottom:0 !important}
  .premium-final-cta__visual img{width:min(100%,205px) !important}
  .premium-final-cta__copy .eyebrow{font-size:12px !important}
  .premium-final-cta__copy h2{font-size:38px !important}
  .premium-final-cta__copy p{font-size:17px !important}
  .premium-final-cta__microcopy{width:100% !important;justify-content:center !important;font-size:12px !important}
  .premium-final-cta__button{max-width:none !important;min-height:62px !important;font-size:18px !important}
}

/* STEP 018 — Archivio articoli: griglia 3 colonne + sidebar */
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.archive-page-shell{padding-top:34px}
.archive-page-card{
  padding:34px;
  border-color:rgba(255,255,255,.09);
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,20,147,.025));
  box-shadow:0 22px 70px rgba(0,0,0,.42);
}
.archive-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:32px;
  align-items:start;
}
.archive-content .archive-title{
  margin:0 0 22px;
  font-size:clamp(34px,3.4vw,52px);
  line-height:1;
}
.archive-filters{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 28px;
}
.archive-filters a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:rgba(255,255,255,.025);
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.archive-filters a:hover,
.archive-filters a.active{
  transform:translateY(-2px);
  border-color:rgba(255,20,147,.55);
  background:linear-gradient(135deg,var(--vo-pink),var(--vo-pink-2));
  box-shadow:0 0 24px rgba(255,20,147,.28);
}
.archive-post-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.archive-post-card{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(5,5,5,.92));
  box-shadow:0 18px 42px rgba(0,0,0,.28);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.archive-post-card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,20,147,.45);
  box-shadow:0 24px 54px rgba(0,0,0,.36),0 0 26px rgba(255,20,147,.12);
}
.archive-post-card__image{
  position:relative;
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#080408;
}
.archive-post-card__image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
  transition:transform .3s ease,filter .3s ease;
}
.archive-post-card:hover .archive-post-card__image img{transform:scale(1.04);filter:saturate(1.08) brightness(1.05)}
.archive-post-card__image .tag{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:2;
}
.archive-post-card__body{padding:16px 16px 18px}
.archive-post-card__body h2{
  margin:0 0 10px;
  font-size:18px;
  line-height:1.25;
  letter-spacing:-.035em;
}
.archive-post-card__body h2 a:hover{color:var(--vo-pink)}
.archive-post-card__body .meta{font-size:12px;color:#c7c0c8}
.archive-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:36px 0 0;
}
.archive-pagination a,
.archive-pagination span{
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:9px;
  display:grid;
  place-items:center;
  color:#fff;
  background:rgba(255,255,255,.025);
  font-weight:900;
  font-size:13px;
}
.archive-pagination a.active,
.archive-pagination a:hover{
  border-color:rgba(255,20,147,.6);
  background:linear-gradient(135deg,var(--vo-pink),var(--vo-pink-2));
  box-shadow:0 0 20px rgba(255,20,147,.22);
}
.archive-sidebar{
  position:sticky;
  top:112px;
  display:grid;
  gap:24px;
  min-width:0;
}
.archive-search{
  display:grid;
  grid-template-columns:minmax(0,1fr) 46px;
  align-items:center;
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  background:rgba(255,255,255,.025);
  overflow:hidden;
}
.archive-search input{
  width:100%;
  min-height:46px;
  border:0;
  outline:0;
  background:transparent;
  color:#fff;
  padding:0 14px;
  font:inherit;
}
.archive-search input::placeholder{color:#a9a2ac}
.archive-search button{
  height:46px;
  border:0;
  border-left:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
  color:#d9d3dd;
  font-size:20px;
  cursor:pointer;
}
.archive-widget{
  padding:2px 0 22px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.archive-widget h2{
  margin:0 0 18px;
  color:#fff;
  font-size:15px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:-.02em;
}
.archive-categories-widget ul{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.archive-categories-widget a{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  color:#d8d1d9;
  font-size:15px;
  font-weight:700;
}
.archive-categories-widget a::before{
  content:'';
  width:2px;
  height:16px;
  border-radius:99px;
  background:rgba(255,20,147,.32);
  grid-column:1;
  grid-row:1;
}
.archive-categories-widget a span{padding-left:13px;grid-column:1;grid-row:1}
.archive-categories-widget a strong{font-size:13px;color:#d6d0d7}
.archive-categories-widget a:hover span,
.archive-categories-widget a:hover strong{color:var(--vo-pink)}
.archive-mini-promo{
  position:relative;
  overflow:hidden;
  min-height:244px;
  border:1px solid rgba(255,20,147,.28);
  border-radius:14px;
  padding:22px;
  background:
    radial-gradient(circle at 82% 58%,rgba(255,20,147,.32),transparent 34%),
    linear-gradient(145deg,rgba(80,4,38,.55),rgba(10,3,8,.98));
  box-shadow:0 18px 48px rgba(0,0,0,.34),0 0 24px rgba(255,20,147,.1);
}
.archive-mini-promo__copy{position:relative;z-index:2;max-width:205px}
.archive-mini-promo h2{
  margin:0 0 12px;
  color:#fff;
  font-size:21px;
  line-height:1.1;
  text-transform:uppercase;
  letter-spacing:-.035em;
}
.archive-mini-promo h2 span{display:block;color:var(--vo-pink)}
.archive-mini-promo p{margin:0;color:#f0dae7;font-size:13px;line-height:1.55;max-width:190px}
.archive-mini-promo img{
  position:absolute;
  right:8px;
  bottom:58px;
  width:126px;
  filter:drop-shadow(0 0 24px rgba(255,20,147,.55));
}
.archive-mini-promo .btn{
  position:absolute;
  z-index:2;
  left:22px;
  right:22px;
  bottom:20px;
  min-height:50px;
  text-transform:uppercase;
  font-size:13px;
}
.archive-tags{display:flex;flex-wrap:wrap;gap:9px}
.archive-tags a{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 11px;
  border:1px solid rgba(255,20,147,.45);
  border-radius:7px;
  color:var(--vo-pink);
  background:rgba(255,20,147,.045);
  font-size:12px;
  font-weight:900;
}
.archive-tags a:hover{background:rgba(255,20,147,.14);color:#fff}
@media(max-width:1180px){
  .archive-layout{grid-template-columns:1fr}
  .archive-sidebar{position:static;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
  .archive-search{grid-column:1/-1}
}
@media(max-width:860px){
  .archive-page-card{padding:22px}
  .archive-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .archive-sidebar{grid-template-columns:1fr}
}
@media(max-width:560px){
  .archive-page-card{padding:18px}
  .archive-post-grid{grid-template-columns:1fr}
  .archive-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}
  .archive-filters a{white-space:nowrap}
  .archive-pagination{justify-content:flex-start;overflow-x:auto;padding-bottom:8px}
}


/* STEP 066B/066C/066F/066G/066H/066I/066J — Footer pubblico Blog */
.vo-blog-footer{
  position:relative;
  width:min(100% - 48px,1480px);
  margin:18px auto 34px;
  padding:48px 48px 28px;
  border-top:1px solid rgba(255,20,147,.34);
  background:
    radial-gradient(circle at 18% 0%,rgba(255,20,147,.12),transparent 32%),
    radial-gradient(circle at 86% 16%,rgba(255,20,147,.08),transparent 28%),
    linear-gradient(180deg,rgba(18,9,15,.98),rgba(5,5,7,.98));
  color:#fff;
  box-shadow:0 -28px 80px rgba(255,20,147,.07),0 18px 70px rgba(0,0,0,.38);
}

.vo-blog-footer::before,
.vo-blog-footer::after{
  content:none;
}

.vo-blog-footer__main{
  display:grid;
  grid-template-columns:minmax(360px,1.7fr) minmax(120px,.45fr) minmax(130px,.45fr) minmax(190px,.55fr);
  gap:58px;
  align-items:start;
}
.vo-blog-footer__brand{
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  gap:28px;
  align-items:start;
  max-width:560px;
}
.vo-blog-footer__mark{
  width:86px;
  height:86px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,20,147,.62);
  border-radius:22px;
  background:radial-gradient(circle at 50% 45%,rgba(255,20,147,.16),rgba(255,20,147,.035) 60%,rgba(8,4,8,.72));
  box-shadow:0 0 28px rgba(255,20,147,.17),inset 0 0 24px rgba(255,20,147,.06);
  overflow:hidden;
}
.vo-blog-footer__mark img{
  width:68px;
  height:68px;
  object-fit:contain;
  filter:drop-shadow(0 0 14px rgba(255,20,147,.48));
}
.vo-blog-footer h2{
  margin:0 0 16px;
  color:#fff;
  font-size:40px;
  line-height:1;
  letter-spacing:-.055em;
}
.vo-blog-footer h2 span{color:var(--vo-pink)}
.vo-blog-footer p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:16px;
  line-height:1.72;
}
.vo-blog-footer h3{
  margin:0 0 18px;
  color:var(--vo-pink);
  font-size:13px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.vo-blog-footer__column{
  display:grid;
  gap:13px;
}
.vo-blog-footer__column a,
.vo-blog-footer__legal a{
  color:rgba(255,255,255,.78);
  font-size:14px;
  font-weight:750;
  transition:color .2s ease,transform .2s ease;
}
.vo-blog-footer__column a:hover,
.vo-blog-footer__legal a:hover{
  color:var(--vo-pink);
  transform:translateX(2px);
}
.vo-blog-footer__social-list{
  display:flex;
  flex-wrap:wrap;
  gap:13px;
}
.vo-blog-footer__social-list a{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,20,147,.65);
  border-radius:50%;
  color:#fff;
  background:rgba(255,20,147,.045);
  box-shadow:inset 0 0 18px rgba(255,20,147,.04);
  font-size:17px;
  font-weight:900;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.vo-blog-footer__social-list a:hover{
  transform:translateY(-2px);
  background:rgba(255,20,147,.16);
  box-shadow:0 0 22px rgba(255,20,147,.18),inset 0 0 18px rgba(255,20,147,.08);
}
.vo-blog-footer__bottom{
  margin-top:42px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.13);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:24px;
  align-items:center;
}
.vo-blog-footer__legal{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  align-items:center;
}
.vo-blog-footer__legal a{position:relative;font-size:13px;color:rgba(255,255,255,.65)}
.vo-blog-footer__legal a:not(:last-child)::after{
  content:'';
  position:absolute;
  right:-11px;
  top:50%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--vo-pink);
  transform:translateY(-50%);
}
.vo-blog-footer__bottom p{
  color:rgba(255,255,255,.68);
  font-size:13px;
  line-height:1.4;
  text-align:right;
}
.vo-blog-footer__rose{
  width:32px;
  height:32px;
  object-fit:contain;
  opacity:.42;
  filter:drop-shadow(0 0 10px rgba(255,255,255,.16));
}
@media(max-width:1020px){
  .vo-blog-footer{width:min(100% - 32px,1480px);padding:38px 28px 28px}
  .vo-blog-footer__main{grid-template-columns:1fr 1fr;gap:36px}
  .vo-blog-footer__brand{grid-column:1/-1}
  .vo-blog-footer__bottom{grid-template-columns:1fr;justify-items:start}
  .vo-blog-footer__bottom p{text-align:left}
}
@media(max-width:620px){
  .vo-blog-footer{width:min(100% - 24px,1480px);margin:18px auto 104px;padding:30px 20px 24px;border-radius:0}
  .vo-blog-footer__main{grid-template-columns:1fr;gap:30px}
  .vo-blog-footer__brand{grid-template-columns:64px minmax(0,1fr);gap:18px}
  .vo-blog-footer__mark{width:64px;height:64px;border-radius:18px}
  .vo-blog-footer__mark img{width:50px;height:50px}
  .vo-blog-footer h2{font-size:32px}
  .vo-blog-footer p{font-size:14px}
  .vo-blog-footer__social-list a{width:40px;height:40px}
}

/* STEP 067 — Consolidamento grafico home Blog pubblico post footer */
.page-shell{
  padding-bottom:64px;
}
.site-header{
  border-bottom-color:rgba(255,20,147,.24);
  box-shadow:0 14px 34px rgba(255,20,147,.12),0 12px 32px rgba(0,0,0,.44);
}
.site-header::after{
  bottom:-20px;
  height:20px;
  opacity:.64;
}
.hero{
  padding:34px 0 28px;
}
.hero-main,
.side-card,
.featured-vertical-card,
.article-card,
.archive-page-card{
  border-radius:22px;
  box-shadow:0 20px 64px rgba(0,0,0,.38),0 0 36px rgba(255,20,147,.055);
}
.hero-main{
  border-color:rgba(255,20,147,.24);
}
.featured-vertical-card{
  border-color:rgba(255,255,255,.09);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
}
.featured-vertical-card:hover{
  border-color:rgba(255,20,147,.30);
  box-shadow:0 24px 74px rgba(0,0,0,.46),0 0 44px rgba(255,20,147,.09);
}
.banner.premium-final-cta,
.premium-final-cta{
  margin:44px 0 0 !important;
  border-radius:30px !important;
  border-color:rgba(255,20,147,.34) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.5),0 0 68px rgba(255,20,147,.13),inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.vo-blog-footer{
  margin:20px auto 34px;
  border-radius:30px 30px 0 0;
  border-top-color:rgba(255,20,147,.34);
  box-shadow:0 -20px 72px rgba(255,20,147,.065),0 18px 70px rgba(0,0,0,.38);
}
.vo-blog-footer__mark{
  border-radius:24px;
  box-shadow:0 0 30px rgba(255,20,147,.18),inset 0 0 24px rgba(255,20,147,.065);
}
.vo-blog-footer__rose{
  opacity:.48;
}

@media(max-width:980px){
  .page-shell{padding-bottom:54px}
  .hero{padding-top:24px;gap:20px}
  .banner.premium-final-cta,
  .premium-final-cta{margin-top:34px !important}
  .vo-blog-footer{margin-top:18px;border-radius:26px 26px 0 0}
}
@media(max-width:620px){
  .page-shell{padding:0 14px 44px}
  .site-header::after{bottom:-16px;height:16px;opacity:.54}
  .hero{padding-top:20px;padding-bottom:22px}
  .hero-main,
  .side-card,
  .featured-vertical-card{
    border-radius:20px;
  }
  .banner.premium-final-cta,
  .premium-final-cta{
    margin-top:30px !important;
    border-radius:24px !important;
  }
  .vo-blog-footer{
    margin:16px auto 104px;
    border-radius:24px 24px 0 0;
  }
}



/* STEP 068G — Pagina categoria: header compatto con icona dinamica */
.category-hero{
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:24px;
  align-items:center;
  margin:28px 0 34px;
  max-width:1040px;
}
.category-hero__icon{
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,20,147,.58);
  border-radius:22px;
  background:radial-gradient(circle at 50% 40%,rgba(255,20,147,.22),rgba(255,20,147,.055) 58%,rgba(8,4,8,.78));
  box-shadow:0 0 32px rgba(255,20,147,.18),inset 0 0 22px rgba(255,20,147,.06);
  color:#ff1493;
  font-size:34px;
  line-height:1;
}
.category-hero__title.archive-title{
  margin:0 0 14px;
  font-size:clamp(32px,3.8vw,48px);
  line-height:1.02;
  letter-spacing:-.06em;
}
.category-hero__lead{
  max-width:860px;
  margin:0;
}
@media(max-width:720px){
  .category-hero{
    grid-template-columns:58px minmax(0,1fr);
    gap:16px;
    margin:22px 0 28px;
  }
  .category-hero__icon{
    width:58px;
    height:58px;
    border-radius:18px;
    font-size:26px;
  }
  .category-hero__title.archive-title{
    font-size:clamp(28px,8vw,36px);
  }
}

/* STEP 068V — Dettaglio articolo pubblico coerente con anteprima Blog Admin */
.article-cover{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center center;
  margin:22px auto 28px;
  background:transparent;
  border:1px solid rgba(255,20,147,.2);
  box-shadow:0 24px 60px rgba(0,0,0,.34);
}
.article-main [data-article-body]{
  display:grid;
  gap:18px;
  color:#fff;
  font-size:18px;
  line-height:1.75;
}
.article-main [data-article-body] p,
.article-main [data-article-body] li,
.article-main [data-article-body] strong,
.article-main [data-article-body] em{
  color:#fff;
}
.article-main [data-article-body] p,
.article-main [data-article-body] ul,
.article-main [data-article-body] ol,
.article-main [data-article-body] blockquote,
.article-main [data-article-body] .article-callout,
.article-main [data-article-body] h2,
.article-main [data-article-body] h3,
.article-main [data-article-body] hr{
  margin:0;
}
.article-main [data-article-body] h2,
.article-main [data-article-body] h3{
  color:#fff;
  line-height:1.15;
  letter-spacing:-.04em;
}
.article-main [data-article-body] h2{font-size:34px;}
.article-main [data-article-body] h3{font-size:26px;}
.article-main [data-article-body] a{
  color:var(--vo-pink);
  font-weight:900;
}
.article-main [data-article-body] blockquote,
.article-main [data-article-body] .article-callout{
  padding:22px 24px;
  border:1px solid rgba(255,20,147,.35);
  border-radius:18px;
  background:rgba(255,20,147,.09);
  color:#fff;
  font-size:20px;
  line-height:1.5;
}
.article-main [data-article-body] .article-callout--tip{
  border-color:rgba(201,168,42,.48);
  background:rgba(201,168,42,.12);
}
.article-main [data-article-body] .article-callout--hot{
  border-color:rgba(255,20,147,.55);
  background:linear-gradient(135deg,rgba(255,20,147,.16),rgba(255,77,142,.08));
}
.article-main [data-article-body] hr{
  width:100%;
  border:0;
  border-top:1px solid rgba(255,20,147,.34);
}
.article-main [data-article-body] img{
  display:block;
  max-width:100%;
  height:auto;
  border-radius:18px;
  margin:auto;
}
@media(max-width:720px){
  .article-main [data-article-body]{font-size:17px;}
  .article-main [data-article-body] blockquote,
  .article-main [data-article-body] .article-callout{font-size:18px;padding:20px;}
}

/* STEP 070 — Archivio articoli pubblico collegato al Blog Admin */
.archive-post-card[data-card-url]{cursor:pointer}
.archive-post-card--placeholder,
.archive-post-card--empty{
  grid-column:1/-1;
  min-height:190px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-style:dashed;
  background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,20,147,.035));
}
.archive-post-card--empty .archive-post-card__body,
.archive-post-card--placeholder .archive-post-card__body{
  max-width:620px;
  text-align:center;
}
.archive-post-excerpt{
  margin:0 0 12px;
  color:#d7cfd8;
  font-size:13px;
  line-height:1.55;
}
.archive-empty-note{
  display:block;
  color:#bfb7c2;
  font-size:13px;
  line-height:1.5;
}


/* STEP 071 — Categorie protette da password nel blog pubblico */
.blog-password-gate{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:22px;
  align-items:start;
  padding:28px;
  border:1px solid rgba(255,20,147,.24);
  border-radius:22px;
  background:
    radial-gradient(circle at 12% 8%,rgba(255,20,147,.18),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.055),rgba(5,5,5,.94));
  box-shadow:0 24px 70px rgba(0,0,0,.34),0 0 42px rgba(255,20,147,.10);
}
.blog-password-gate__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  border:1px solid rgba(255,20,147,.34);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,20,147,.24),rgba(255,255,255,.05));
  box-shadow:0 18px 38px rgba(255,20,147,.14);
  font-size:28px;
}
.blog-password-gate__kicker{
  margin:0 0 8px;
  color:var(--vo-pink);
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.blog-password-gate h2{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(26px,3vw,38px);
  line-height:1.08;
}
.blog-password-gate p{
  margin:0;
  color:#e7dfe8;
  line-height:1.62;
}
.blog-password-gate__form{
  display:flex;
  gap:10px;
  margin-top:18px;
}
.blog-password-gate__form input{
  flex:1 1 auto;
  min-width:0;
  height:48px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  background:rgba(255,255,255,.055);
  color:#fff;
  padding:0 14px;
  outline:none;
}
.blog-password-gate__form input:focus{
  border-color:rgba(255,20,147,.58);
  box-shadow:0 0 0 4px rgba(255,20,147,.12);
}
.blog-password-gate__form button{
  min-height:48px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,var(--vo-pink),var(--vo-pink-2));
  color:#fff;
  padding:0 18px;
  font-weight:800;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 16px 32px rgba(255,20,147,.20);
}
.blog-password-gate__message{
  min-height:20px;
  margin-top:10px !important;
  color:#f5d7e8 !important;
  font-size:13px;
  font-weight:700;
}
.blog-password-gate__message.is-error{
  color:#ffb4c7 !important;
}
@media(max-width:720px){
  .blog-password-gate{grid-template-columns:1fr;padding:22px;}
  .blog-password-gate__form{flex-direction:column;}
  .blog-password-gate__form button{width:100%;}
}


/* Step 071C — fallback neutro immagini articolo */
.featured-vertical-card__image img[src$="blog-placeholder-neutral.svg"],
.archive-post-card__image img[src$="blog-placeholder-neutral.svg"],
.article-hero img[src$="blog-placeholder-neutral.svg"],
.related-item img[src$="blog-placeholder-neutral.svg"]{
  object-fit:cover;
  background:linear-gradient(135deg,#151016,#070707 58%,#1e0b16);
}


/* 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__count {
  display: inline-flex !important;
  width: fit-content !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 12px !important;
  padding: 7px 12px !important;
  border-radius: 14px !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: 13px !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;
  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 206 — card compatte sottocategorie pagina categoria Blog */
.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;
}

.category-subarea-card {
  position: relative !important;
  min-height: 92px !important;
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px 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;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease !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__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;
  }
}

/* STEP 207 — Rifinitura gerarchia titolo categoria e badge sottocategorie protette */
.category-hero__title.archive-title {
  font-size: clamp(30px, 3.15vw, 42px) !important;
  line-height: 1.02 !important;
  margin-bottom: 10px !important;
}

.category-hero__lead {
  font-size: clamp(17px, 1.45vw, 22px) !important;
  line-height: 1.35 !important;
}

.category-subarea-card--reserved .category-subarea-card__badge {
  display: inline-flex !important;
}

@media (max-width: 720px) {
  .category-hero__title.archive-title {
    font-size: clamp(26px, 7.2vw, 34px) !important;
  }

  .category-hero__lead {
    font-size: 16px !important;
  }
}

/* STEP 221 — Riduzione immediata titolo e descrizione pagine categoria Blog */
.category-hero__title.archive-title {
  font-size: clamp(24px, 2.45vw, 34px) !important;
  line-height: 1.03 !important;
  letter-spacing: -0.045em !important;
  margin-bottom: 7px !important;
}

.category-hero__lead {
  max-width: 760px !important;
  font-size: clamp(15px, 1.18vw, 18px) !important;
  line-height: 1.32 !important;
}

@media (max-width: 720px) {
  .category-hero__title.archive-title {
    font-size: clamp(24px, 6.2vw, 30px) !important;
    margin-bottom: 6px !important;
  }

  .category-hero__lead {
    font-size: 15px !important;
    line-height: 1.34 !important;
  }
}

/* STEP 223 — Fix mirato layout e stato vuoto pagina articolo Blog pubblico */
.article-layout{
  gap:34px;
  align-items:start;
  padding-top:38px;
}
.article-main{
  padding:clamp(24px,3.2vw,46px);
  overflow:hidden;
}
.article-main h1{
  max-width:920px;
  margin:0 0 18px;
}
.article-main > .lead{
  max-width:820px;
  margin:0 0 24px;
  color:#f0dce7;
  font-size:clamp(17px,1.8vw,21px);
  line-height:1.62;
}
.article-main .article-topline{
  margin-bottom:clamp(28px,4vw,46px);
}
.article-cover{
  margin:26px auto 34px;
  border-radius:22px;
}
.article-main [data-article-body]{
  gap:20px;
  max-width:880px;
}
.article-main [data-article-body] h2{
  margin-top:10px;
}
.article-main [data-article-body] p,
.article-main [data-article-body] li{
  color:#f4eef3;
}
.article-sidebar{
  gap:22px;
}
.related-card{
  padding:20px;
  border-color:rgba(255,255,255,.11);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(12,5,10,.82));
}
.related-card h2{
  margin-bottom:14px;
  letter-spacing:.055em;
}
.related-item{
  grid-template-columns:68px minmax(0,1fr);
  gap:12px;
  padding:13px 0;
}
.related-item img{
  width:68px;
  height:68px;
  border-radius:14px;
}
.chat-entry-card{
  min-height:315px;
  border-color:rgba(255,20,147,.2);
  box-shadow:0 14px 38px rgba(0,0,0,.34),0 0 24px rgba(255,20,147,.08);
}
.chat-entry-content{
  min-height:315px;
  padding:28px 24px 22px;
}
.chat-entry-card h2{
  font-size:25px;
}
.chat-entry-card h3{
  max-width:220px;
  margin-bottom:18px;
  font-size:21px;
}
.chat-entry-card p{
  margin-bottom:20px;
  font-size:14px;
}
.article-empty-state{
  display:grid;
  gap:14px;
  padding:28px;
  border:1px solid rgba(255,20,147,.24);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,20,147,.1),rgba(255,255,255,.035));
}
.article-empty-state__kicker{
  margin:0;
  color:var(--vo-pink)!important;
  font-size:12px!important;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.article-empty-state h2{
  margin:0!important;
  font-size:clamp(26px,3vw,38px)!important;
}
.article-empty-state p{
  margin:0!important;
  max-width:680px;
}
.article-empty-state .read-more{
  justify-self:start;
  margin-top:8px;
}
.related-empty{
  margin:0;
  color:#d8c6d0;
  font-size:14px;
  line-height:1.55;
}
.article-main--not-found .lead{
  color:#ead2de;
}
@media(max-width:980px){
  .article-layout{
    padding-top:24px;
    gap:24px;
  }
  .article-main [data-article-body]{
    max-width:none;
  }
  .chat-entry-card,
  .chat-entry-content{
    min-height:280px;
  }
}
@media(max-width:640px){
  .article-main{
    padding:22px 18px;
  }
  .article-main h1{
    font-size:clamp(32px,10vw,42px);
  }
  .article-cover{
    margin:22px auto 28px;
    border-radius:18px;
  }
  .article-empty-state{
    padding:22px 18px;
  }
}

/* STEP 225 — Fix pagina /articoli/ archivio pubblico */
.archive-page-shell {
  padding-top: clamp(28px, 4vw, 54px) !important;
  padding-bottom: clamp(38px, 5vw, 72px) !important;
}

.archive-page-card {
  width: min(100% - 48px, 1480px) !important;
  margin: 0 auto !important;
}

.archive-layout {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px) !important;
  gap: clamp(24px, 3vw, 38px) !important;
}

.archive-post-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}

.archive-post-card {
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

.archive-post-card__image {
  aspect-ratio: 16 / 10 !important;
  background: linear-gradient(135deg, rgba(255,20,147,.08), rgba(7,4,7,.98)) !important;
}

.archive-post-card__image img {
  opacity: 1 !important;
}

.archive-post-card__body {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 20px 20px 22px !important;
}

.archive-post-card__body .meta {
  margin-top: auto !important;
}

.archive-sidebar {
  align-self: start !important;
}

.archive-widget,
.archive-search,
.archive-mini-promo {
  border-color: rgba(255, 255, 255, .12) !important;
  background-color: rgba(255, 255, 255, .035) !important;
}

@media (max-width: 1180px) {
  .archive-layout {
    grid-template-columns: 1fr !important;
  }

  .archive-sidebar {
    position: static !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  .archive-search,
  .archive-mini-promo {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 860px) {
  .archive-page-card {
    width: min(100% - 32px, 1480px) !important;
  }

  .archive-post-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .archive-sidebar {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  .archive-page-card {
    width: min(100% - 24px, 1480px) !important;
  }

  .archive-post-grid {
    grid-template-columns: 1fr !important;
  }
}


/* STEP 375 — Ripristino stile originale STEP 206 card sottocategorie compatte */
.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 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;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease !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;
  }
}

/* STEP 397 — immagini inline articolo contenute nella card */
.article-main [data-article-body] .article-inline-image,
.article-main [data-article-body] figure.article-inline-image{
  max-width:100%;
  margin:24px 0;
  overflow:hidden;
}
.article-main [data-article-body] .article-inline-image__link{
  display:block;
  max-width:100%;
}
.article-main [data-article-body] .article-inline-image img,
.article-main [data-article-body] figure.article-inline-image img,
.article-main [data-article-body] img{
  max-width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  box-sizing:border-box;
}
.article-main [data-article-body] .article-inline-image figcaption,
.article-main [data-article-body] figure.article-inline-image figcaption{
  margin-top:10px;
  color:rgba(255,255,255,.62);
  font-size:13px;
  line-height:1.45;
}

/* STEP 410 — Tag articolo pubblico */
.article-tags{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:26px 0 0;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.1);
}
.article-tags[hidden]{display:none!important}
.article-tags a{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:7px 12px;
  border:1px solid rgba(255,20,147,.45);
  border-radius:8px;
  color:var(--vo-pink);
  background:rgba(255,20,147,.07);
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
}
.article-tags a:hover{background:rgba(255,20,147,.16);color:#fff}

/* STEP 411 — Archivio articoli: respiro laterale box Categorie */
.archive-categories-widget {
  padding: 18px 20px 22px !important;
}

.archive-categories-widget h2 {
  margin-bottom: 18px !important;
}

.archive-categories-widget ul {
  padding: 0 2px !important;
}

.archive-categories-widget a {
  min-width: 0 !important;
}

.archive-categories-widget a strong {
  padding-right: 2px !important;
}

@media (max-width: 640px) {
  .archive-categories-widget {
    padding: 16px 16px 20px !important;
  }
}

/* STEP 415 — Archivio articoli: filtro reale per tag */
.archive-tags a.active{
  background:rgba(255,20,147,.18);
  color:#fff;
  border-color:rgba(255,20,147,.72);
  box-shadow:0 0 0 1px rgba(255,20,147,.16) inset;
}
.archive-tags a span{
  color:rgba(255,255,255,.72);
  font-size:11px;
  margin-left:3px;
}

/* STEP 416 — Archivio articoli: titolo tag più compatto e box tag con più respiro */
.archive-content .archive-title{
  font-size:clamp(30px,3vw,44px) !important;
  line-height:1.04 !important;
  letter-spacing:-.055em !important;
}

.archive-tags-widget{
  padding:18px 20px 22px !important;
}

.archive-tags-widget h2{
  margin-bottom:18px !important;
}

.archive-tags{
  padding:0 2px !important;
}

.archive-tags a span{
  font-weight:500 !important;
  opacity:.82;
}

@media (max-width:640px){
  .archive-content .archive-title{
    font-size:clamp(28px,9vw,36px) !important;
  }

  .archive-tags-widget{
    padding:16px 16px 20px !important;
  }
}


/* STEP 418 — Tag frontend più leggeri e box popolari limitato */
.article-tags a{
  font-weight:500 !important;
}
.archive-tags a{
  font-weight:500 !important;
}
.archive-tags a span{
  font-weight:400 !important;
  opacity:.78;
}

/* STEP 419 — Articolo pubblico: corpo contenuto chiaro e testo più leggibile */
.article-main [data-article-body]{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  margin-top:8px;
  padding:clamp(24px,3vw,34px);
  border:1px solid rgba(255,20,147,.16);
  border-radius:24px;
  background:linear-gradient(180deg,#fff3f7 0%,#fff8fa 100%);
  box-shadow:0 20px 46px rgba(48,12,28,.14);
  color:#1c1016;
  gap:14px;
  line-height:1.48;
}

.article-main [data-article-body] p,
.article-main [data-article-body] li,
.article-main [data-article-body] strong,
.article-main [data-article-body] em{
  color:#1c1016;
  line-height:1.48;
}

.article-main [data-article-body] h2,
.article-main [data-article-body] h3,
.article-main [data-article-body] h4{
  color:#140b10;
  line-height:1.12;
}

.article-main [data-article-body] h2{
  margin-top:8px;
}

.article-main [data-article-body] ul,
.article-main [data-article-body] ol{
  padding-left:24px;
}

.article-main [data-article-body] blockquote,
.article-main [data-article-body] .article-callout{
  border-color:rgba(255,20,147,.22);
  background:rgba(255,20,147,.065);
  color:#1c1016;
  line-height:1.45;
}

.article-main [data-article-body] .article-callout--tip{
  border-color:rgba(201,168,42,.36);
  background:rgba(201,168,42,.11);
}

.article-main [data-article-body] .article-callout--hot{
  border-color:rgba(255,20,147,.32);
  background:linear-gradient(135deg,rgba(255,20,147,.11),rgba(255,77,142,.05));
}

.article-main [data-article-body] hr{
  border-top-color:rgba(47,12,28,.16);
}

.article-main [data-article-body] .article-inline-image figcaption,
.article-main [data-article-body] figure.article-inline-image figcaption{
  color:rgba(28,16,22,.62);
}

.article-tags{
  border-top-color:rgba(47,12,28,.14);
}

.article-tags a{
  background:rgba(255,255,255,.62);
}

@media(max-width:720px){
  .article-main [data-article-body]{
    padding:22px 18px;
    gap:13px;
    line-height:1.46;
  }

  .article-main [data-article-body] p,
  .article-main [data-article-body] li,
  .article-main [data-article-body] strong,
  .article-main [data-article-body] em{
    line-height:1.46;
  }
}


/* STEP 420 — Articolo pubblico: corpo chiaro largo come immagine, senza gradient sul wrapper */
.article-main [data-article-body]{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}

/* STEP 421 — Articolo pubblico: bordo superiore pulito e corpo allineato alla cover */
.article-main.glass-card{
  border-top-color:transparent !important;
}

.article-main > .article-cover{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

.article-main [data-article-body]{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* STEP 422 — Articolo pubblico: tag finali coerenti con box Tag più popolari */
.article-tags{
  align-items:center;
  gap:10px 12px;
}

.article-tags a{
  min-height:38px;
  padding:9px 15px;
  border:1px solid rgba(255,20,147,.72);
  border-radius:8px;
  background:rgba(18,10,15,.58) !important;
  color:var(--vo-pink);
  font-size:14px;
  font-weight:500 !important;
  line-height:1.2;
  letter-spacing:.01em;
  box-shadow:none;
  transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}

/* STEP 424 — Articolo pubblico: hover solo testo chiaro sui tag finali */
.article-tags a:hover,
.article-tags a:focus-visible{
  background:rgba(18,10,15,.58) !important;
  border-color:rgba(255,20,147,.72) !important;
  color:#fff4fa !important;
  box-shadow:none !important;
}

/* STEP 425 — Articolo pubblico: FAQ dinamiche domanda/risposta */
.article-main [data-article-body] .article-faq{
  display:grid;
  gap:12px;
  margin:4px 0;
}
.article-main [data-article-body] .article-faq__item{
  border:1px solid rgba(255,20,147,.22);
  border-radius:18px;
  background:linear-gradient(180deg,#fff9fb 0%,#fff 100%);
  box-shadow:0 16px 34px rgba(48,12,28,.10);
  overflow:hidden;
}
.article-main [data-article-body] .article-faq__item summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  color:#140b10;
  cursor:pointer;
  font-weight:900;
  line-height:1.25;
  list-style:none;
}
.article-main [data-article-body] .article-faq__item summary::-webkit-details-marker{
  display:none;
}
.article-main [data-article-body] .article-faq__item summary::after{
  content:'+';
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border:1px solid rgba(255,20,147,.28);
  border-radius:10px;
  background:#fff4fa;
  color:var(--vo-pink);
  font-size:18px;
  font-weight:900;
}
.article-main [data-article-body] .article-faq__item[open] summary::after{
  content:'–';
}
.article-main [data-article-body] .article-faq__answer{
  padding:0 20px 20px;
  color:#1c1016;
  font-size:17px;
  line-height:1.48;
}
.article-main [data-article-body] .article-faq__answer p{
  margin:0 0 10px;
  color:#1c1016;
  line-height:1.48;
}
.article-main [data-article-body] .article-faq__answer p:last-child{
  margin-bottom:0;
}
@media(max-width:720px){
  .article-main [data-article-body] .article-faq__item summary{
    padding:16px;
  }
  .article-main [data-article-body] .article-faq__answer{
    padding:0 16px 16px;
    font-size:16px;
  }
}

/* STEP 426 — Articolo pubblico: FAQ card accordion premium */
.article-main [data-article-body] .article-faq{
  display:grid !important;
  gap:14px !important;
  margin:18px 0 !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

.article-main [data-article-body] .article-faq__item,
.article-main [data-article-body] .article-faq > details,
.article-main [data-article-body] details{
  display:block !important;
  width:100% !important;
  margin:0 0 14px !important;
  border:1px solid rgba(255,20,147,.24) !important;
  border-radius:18px !important;
  background:#fff9fc !important;
  box-shadow:0 16px 34px rgba(48,12,28,.10) !important;
  overflow:hidden !important;
}

.article-main [data-article-body] .article-faq__item:last-child,
.article-main [data-article-body] .article-faq > details:last-child,
.article-main [data-article-body] details:last-child{
  margin-bottom:0 !important;
}

.article-main [data-article-body] .article-faq__item summary,
.article-main [data-article-body] .article-faq > details summary,
.article-main [data-article-body] details summary{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  min-height:64px !important;
  padding:18px 68px 18px 22px !important;
  margin:0 !important;
  border:0 !important;
  border-bottom:1px solid transparent !important;
  background:#fff9fc !important;
  color:#130b10 !important;
  cursor:pointer !important;
  font-size:20px !important;
  font-weight:800 !important;
  line-height:1.22 !important;
  list-style:none !important;
}

.article-main [data-article-body] .article-faq__item[open] summary,
.article-main [data-article-body] .article-faq > details[open] summary,
.article-main [data-article-body] details[open] summary{
  border-bottom-color:rgba(255,20,147,.16) !important;
}

.article-main [data-article-body] .article-faq__item summary::marker,
.article-main [data-article-body] .article-faq > details summary::marker,
.article-main [data-article-body] details summary::marker{
  content:'' !important;
  font-size:0 !important;
}

.article-main [data-article-body] .article-faq__item summary::-webkit-details-marker,
.article-main [data-article-body] .article-faq > details summary::-webkit-details-marker,
.article-main [data-article-body] details summary::-webkit-details-marker{
  display:none !important;
}

.article-main [data-article-body] .article-faq__item summary::before,
.article-main [data-article-body] .article-faq > details summary::before,
.article-main [data-article-body] details summary::before{
  content:'D';
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 28px;
  margin-right:12px;
  border-radius:9px;
  background:rgba(255,20,147,.10);
  color:var(--vo-pink);
  font-size:13px;
  font-weight:900;
  line-height:1;
}

.article-main [data-article-body] .article-faq__item summary::after,
.article-main [data-article-body] .article-faq > details summary::after,
.article-main [data-article-body] details summary::after{
  content:'+' !important;
  position:absolute !important;
  top:50% !important;
  right:20px !important;
  width:34px !important;
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  transform:translateY(-50%) !important;
  border:1px solid rgba(255,20,147,.30) !important;
  border-radius:10px !important;
  background:#fff !important;
  color:var(--vo-pink) !important;
  font-size:20px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

.article-main [data-article-body] .article-faq__item[open] summary::after,
.article-main [data-article-body] .article-faq > details[open] summary::after,
.article-main [data-article-body] details[open] summary::after{
  content:'−' !important;
}

.article-main [data-article-body] .article-faq__answer,
.article-main [data-article-body] details > div:not(.article-faq),
.article-main [data-article-body] details > p,
.article-main [data-article-body] details > ul,
.article-main [data-article-body] details > ol{
  margin:16px 18px 18px !important;
  padding:16px 18px !important;
  border:1px solid rgba(255,20,147,.12) !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#1c1016 !important;
  font-size:17px !important;
  line-height:1.46 !important;
}

.article-main [data-article-body] .article-faq__answer::before,
.article-main [data-article-body] details > div:not(.article-faq)::before{
  content:'Risposta';
  display:block;
  margin:0 0 8px;
  color:var(--vo-pink);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.article-main [data-article-body] .article-faq__answer p,
.article-main [data-article-body] details > div:not(.article-faq) p{
  margin:0 0 10px !important;
  color:#1c1016 !important;
  line-height:1.46 !important;
}

.article-main [data-article-body] .article-faq__answer p:last-child,
.article-main [data-article-body] details > div:not(.article-faq) p:last-child{
  margin-bottom:0 !important;
}

@media(max-width:720px){
  .article-main [data-article-body] .article-faq__item summary,
  .article-main [data-article-body] .article-faq > details summary,
  .article-main [data-article-body] details summary{
    min-height:58px !important;
    padding:16px 58px 16px 16px !important;
    font-size:18px !important;
  }
  .article-main [data-article-body] .article-faq__item summary::after,
  .article-main [data-article-body] .article-faq > details summary::after,
  .article-main [data-article-body] details summary::after{
    right:14px !important;
    width:32px !important;
    height:32px !important;
  }
  .article-main [data-article-body] .article-faq__answer,
  .article-main [data-article-body] details > div:not(.article-faq),
  .article-main [data-article-body] details > p,
  .article-main [data-article-body] details > ul,
  .article-main [data-article-body] details > ol{
    margin:14px !important;
    padding:14px !important;
    font-size:16px !important;
  }
}

/* STEP 427 — FAQ pubbliche: domanda a sinistra, badge rimosso, spaziatura compatta */
.article-main [data-article-body] .article-faq{
  gap:10px !important;
  margin:14px 0 !important;
}

.article-main [data-article-body] .article-faq__item,
.article-main [data-article-body] .article-faq > details,
.article-main [data-article-body] details{
  margin:0 0 10px !important;
}

.article-main [data-article-body] .article-faq__item summary,
.article-main [data-article-body] .article-faq > details summary,
.article-main [data-article-body] details summary{
  justify-content:flex-start !important;
  text-align:left !important;
  gap:0 !important;
  padding-left:24px !important;
}

.article-main [data-article-body] .article-faq__item summary::before,
.article-main [data-article-body] .article-faq > details summary::before,
.article-main [data-article-body] details summary::before{
  content:none !important;
  display:none !important;
}

.article-main [data-article-body] .article-faq__item summary > span,
.article-main [data-article-body] .article-faq > details summary > span,
.article-main [data-article-body] details summary > span{
  display:block !important;
  flex:1 1 auto !important;
  max-width:calc(100% - 54px) !important;
  margin:0 !important;
  text-align:left !important;
}

.article-main [data-article-body] .article-faq__answer,
.article-main [data-article-body] details > div:not(.article-faq),
.article-main [data-article-body] details > p,
.article-main [data-article-body] details > ul,
.article-main [data-article-body] details > ol{
  margin:12px 16px 16px !important;
}

@media(max-width:720px){
  .article-main [data-article-body] .article-faq__item summary,
  .article-main [data-article-body] .article-faq > details summary,
  .article-main [data-article-body] details summary{
    padding-left:16px !important;
  }
}

/* STEP 428 — FAQ pubbliche: riduzione spazio verticale tra card */
.article-main [data-article-body] .article-faq{
  gap:6px !important;
  margin:10px 0 12px !important;
}

.article-main [data-article-body] .article-faq__item,
.article-main [data-article-body] .article-faq > details,
.article-main [data-article-body] details{
  margin:0 0 6px !important;
}

.article-main [data-article-body] .article-faq__item:last-child,
.article-main [data-article-body] .article-faq > details:last-child,
.article-main [data-article-body] details:last-child{
  margin-bottom:0 !important;
}

.article-main [data-article-body] .article-faq__item summary,
.article-main [data-article-body] .article-faq > details summary,
.article-main [data-article-body] details summary{
  min-height:58px !important;
  padding-top:15px !important;
  padding-bottom:15px !important;
}

@media(max-width:720px){
  .article-main [data-article-body] .article-faq{
    gap:5px !important;
    margin:8px 0 10px !important;
  }

  .article-main [data-article-body] .article-faq__item,
  .article-main [data-article-body] .article-faq > details,
  .article-main [data-article-body] details{
    margin-bottom:5px !important;
  }
}

/* STEP 429 — FAQ pubbliche: spaziature realmente compatte e margini editor neutralizzati */
.article-main [data-article-body] .article-faq,
.article-main [data-article-body] > .article-faq{
  gap:0 !important;
  row-gap:0 !important;
  margin-top:4px !important;
  margin-bottom:10px !important;
}

.article-main [data-article-body] h2 + .article-faq,
.article-main [data-article-body] h3 + .article-faq,
.article-main [data-article-body] h4 + .article-faq,
.article-main [data-article-body] p + .article-faq{
  margin-top:4px !important;
}

.article-main [data-article-body] .article-faq__item,
.article-main [data-article-body] .article-faq > details{
  margin-top:0 !important;
  margin-right:0 !important;
  margin-bottom:8px !important;
  margin-left:0 !important;
}

.article-main [data-article-body] .article-faq__item + .article-faq__item,
.article-main [data-article-body] .article-faq > details + details{
  margin-top:0 !important;
}

.article-main [data-article-body] .article-faq__item:last-child,
.article-main [data-article-body] .article-faq > details:last-child{
  margin-bottom:0 !important;
}

.article-main [data-article-body] .article-faq__item summary,
.article-main [data-article-body] .article-faq > details summary{
  min-height:54px !important;
  padding-top:12px !important;
  padding-bottom:12px !important;
}

.article-main [data-article-body] .article-faq__answer,
.article-main [data-article-body] .article-faq > details > div:not(.article-faq),
.article-main [data-article-body] .article-faq > details > p,
.article-main [data-article-body] .article-faq > details > ul,
.article-main [data-article-body] .article-faq > details > ol{
  margin-top:8px !important;
  margin-bottom:12px !important;
}

@media(max-width:720px){
  .article-main [data-article-body] .article-faq,
  .article-main [data-article-body] > .article-faq{
    margin-top:3px !important;
    margin-bottom:8px !important;
  }

  .article-main [data-article-body] .article-faq__item,
  .article-main [data-article-body] .article-faq > details{
    margin-bottom:7px !important;
  }

  .article-main [data-article-body] .article-faq__item summary,
  .article-main [data-article-body] .article-faq > details summary{
    min-height:52px !important;
    padding-top:11px !important;
    padding-bottom:11px !important;
  }
}


/* STEP 430 — FAQ articolo: neutralizza paragrafi vuoti e gap grid generati dall’editor */
.article-main [data-article-body]{
  row-gap:8px !important;
}

.article-main [data-article-body] h2:has(+ .article-faq),
.article-main [data-article-body] h3:has(+ .article-faq),
.article-main [data-article-body] h4:has(+ .article-faq),
.article-main [data-article-body] h2:has(+ p + .article-faq),
.article-main [data-article-body] h3:has(+ p + .article-faq),
.article-main [data-article-body] h4:has(+ p + .article-faq){
  margin-bottom:2px !important;
}

.article-main [data-article-body] p:has(> br:only-child):has(+ .article-faq),
.article-main [data-article-body] .article-faq + p:has(> br:only-child){
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  line-height:0 !important;
}

.article-main [data-article-body] .article-faq{
  margin-top:0 !important;
  margin-bottom:6px !important;
}

.article-main [data-article-body] .article-faq + .article-faq,
.article-main [data-article-body] .article-faq + p:has(> br:only-child) + .article-faq{
  margin-top:6px !important;
}

.article-main [data-article-body] .article-faq__item,
.article-main [data-article-body] .article-faq > details{
  margin-bottom:0 !important;
}

.article-main [data-article-body] .article-faq__item summary,
.article-main [data-article-body] .article-faq > details summary{
  min-height:50px !important;
  padding-top:10px !important;
  padding-bottom:10px !important;
}

@media(max-width:720px){
  .article-main [data-article-body]{
    row-gap:7px !important;
  }

  .article-main [data-article-body] .article-faq{
    margin-bottom:6px !important;
  }

  .article-main [data-article-body] .article-faq__item summary,
  .article-main [data-article-body] .article-faq > details summary{
    min-height:48px !important;
    padding-top:10px !important;
    padding-bottom:10px !important;
  }
}

/* STEP 431 — FAQ pubbliche: titoli domande più morbidi */
.article-main [data-article-body] .article-faq__item summary,
.article-main [data-article-body] .article-faq > details summary{
  font-size:22px !important;
  font-weight:760 !important;
  letter-spacing:-.02em !important;
}

.article-main [data-article-body] .article-faq__item summary > span,
.article-main [data-article-body] .article-faq > details summary > span{
  font-weight:760 !important;
}

@media(max-width:720px){
  .article-main [data-article-body] .article-faq__item summary,
  .article-main [data-article-body] .article-faq > details summary{
    font-size:19px !important;
    font-weight:740 !important;
  }
}

/* STEP 432 — FAQ pubbliche: domande realmente più piccole e meno pesanti */
.article-main [data-article-body] .article-faq__item summary,
.article-main [data-article-body] .article-faq > details summary{
  font-size:18px !important;
  font-weight:600 !important;
  line-height:1.22 !important;
  letter-spacing:-.01em !important;
}

.article-main [data-article-body] .article-faq__item summary > span,
.article-main [data-article-body] .article-faq > details summary > span,
.article-main [data-article-body] .article-faq__item summary strong,
.article-main [data-article-body] .article-faq > details summary strong,
.article-main [data-article-body] .article-faq__item summary b,
.article-main [data-article-body] .article-faq > details summary b{
  font-size:inherit !important;
  font-weight:600 !important;
  line-height:inherit !important;
}

@media(max-width:720px){
  .article-main [data-article-body] .article-faq__item summary,
  .article-main [data-article-body] .article-faq > details summary{
    font-size:16px !important;
    font-weight:600 !important;
    line-height:1.22 !important;
  }
}

/* STEP 433 — FAQ pubbliche: titoli leggermente più marcati e marker grafico */
.article-main [data-article-body] .article-faq__item summary,
.article-main [data-article-body] .article-faq > details summary{
  font-size:18px !important;
  font-weight:680 !important;
  line-height:1.22 !important;
  letter-spacing:-.01em !important;
  align-items:center !important;
}

.article-main [data-article-body] .article-faq__item summary::before,
.article-main [data-article-body] .article-faq > details summary::before{
  content:'' !important;
  display:inline-block !important;
  width:8px !important;
  height:8px !important;
  flex:0 0 8px !important;
  margin:0 12px 0 0 !important;
  border-radius:999px !important;
  background:linear-gradient(135deg, rgba(255,20,147,1), rgba(255,122,190,.92)) !important;
  box-shadow:0 0 0 4px rgba(255,20,147,.10) !important;
}

.article-main [data-article-body] .article-faq__item summary > span,
.article-main [data-article-body] .article-faq > details summary > span,
.article-main [data-article-body] .article-faq__item summary strong,
.article-main [data-article-body] .article-faq > details summary strong,
.article-main [data-article-body] .article-faq__item summary b,
.article-main [data-article-body] .article-faq > details summary b{
  font-size:inherit !important;
  font-weight:680 !important;
  line-height:inherit !important;
}

@media(max-width:720px){
  .article-main [data-article-body] .article-faq__item summary,
  .article-main [data-article-body] .article-faq > details summary{
    font-size:16px !important;
    font-weight:680 !important;
  }

  .article-main [data-article-body] .article-faq__item summary::before,
  .article-main [data-article-body] .article-faq > details summary::before{
    width:7px !important;
    height:7px !important;
    flex-basis:7px !important;
    margin-right:10px !important;
  }
}
