:root{
  --gfx-bg:#e9eaee;
  --gfx-ui:#1f2024;
  --gfx-panel:#2a2b30;
  --gfx-line:#d6d9e0;
  --gfx-board:#ffffff;
  --gfx-red:#d60000;
  --gfx-cyan:#2fc7d8;
  --gfx-magenta:#d04bb8;
  --gfx-text:#1e2026;
  --gfx-muted:#6c7280;
  --gfx-shadow:0 30px 60px rgba(23,25,33,.12);
}

body.grafica-page{
  background: linear-gradient(180deg,#f2f3f6 0%, #e9eaee 100%);
  color: var(--gfx-text);
}

.grafica-shell{
  max-width: 1380px;
  margin: 0 auto;
  padding: 32px 20px 80px;
}

.grafica-worktop{
  margin-top: 24px;
  border: 1px solid rgba(31,32,36,.08);
  border-radius: 28px;
  background: rgba(255,255,255,.58);
  backdrop-filter: blur(8px);
  box-shadow: var(--gfx-shadow);
  overflow: hidden;
}

.grafica-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 20px;
  background: linear-gradient(180deg,#2b2c31 0%, #23242a 100%);
  color:#f5f7fb;
  border-bottom:1px solid rgba(255,255,255,.06);
}

.grafica-topbar-left,
.grafica-topbar-center,
.grafica-topbar-right{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.grafica-dots{display:flex;gap:8px;}
.grafica-dot{width:11px;height:11px;border-radius:999px;background:rgba(255,255,255,.24);}
.grafica-dot.is-red{background:#ff5f57;}
.grafica-dot.is-yellow{background:#ffbd2f;}
.grafica-dot.is-green{background:#28c840;}

.grafica-file{
  font: 600 14px/1.2 Inter, sans-serif;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

.grafica-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font:700 11px/1 Inter, sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.82);
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.05);
}

.grafica-chip.is-live::before{
  content:"";
  width:7px;height:7px;border-radius:999px;background:#30d158;
  box-shadow:0 0 0 4px rgba(48,209,88,.12);
}

.grafica-hero{
  display:grid;
  grid-template-columns: 88px minmax(0,1fr) 320px;
  min-height: 780px;
}

.grafica-tools{
  background: linear-gradient(180deg,#2b2c31 0%, #212228 100%);
  border-right:1px solid rgba(255,255,255,.06);
  padding:18px 12px;
}

.grafica-tools-stack{
  display:flex; flex-direction:column; gap:10px; align-items:center;
}

.grafica-tool,
.grafica-swatch{
  width:52px;height:52px;border-radius:16px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.07);
  color:#f3f5fa;
}

.grafica-tool.is-active{
  background:rgba(214,0,0,.22);
  border-color:rgba(214,0,0,.38);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}

.grafica-tool .material-symbols-rounded{font-size:24px;}

.grafica-canvas-area{
  padding:28px;
  background:
    linear-gradient(90deg, rgba(48,52,63,.035) 1px, transparent 1px),
    linear-gradient(rgba(48,52,63,.035) 1px, transparent 1px),
    var(--gfx-bg);
  background-size: 28px 28px, 28px 28px, auto;
}

.grafica-artboard{
  position:relative;
  min-height:720px;
  padding:44px;
  background: var(--gfx-board);
  border-radius:24px;
  box-shadow:0 18px 50px rgba(22,24,31,.13);
  overflow:hidden;
}

.grafica-artboard::before,
.grafica-artboard::after{
  content:"";
  position:absolute;
  inset:18px;
  pointer-events:none;
}
.grafica-artboard::before{
  border:1px solid rgba(208,75,184,.22);
}
.grafica-artboard::after{
  inset:36px;
  border:1px solid rgba(47,199,216,.22);
}

.grafica-guides{position:absolute; inset:0; pointer-events:none;}
.grafica-guide-h,
.grafica-guide-v{
  position:absolute; background:rgba(208,75,184,.35);
}
.grafica-guide-h{height:1px; left:0; right:0; top:112px;}
.grafica-guide-v{width:1px; top:0; bottom:0; left:126px;}
.grafica-guide-cyan{position:absolute; width:1px; top:0; bottom:0; right:92px; background:rgba(47,199,216,.38);}
.grafica-crop,
.grafica-crop::before{position:absolute;content:"";display:block;background:var(--gfx-text);}
.grafica-crop{width:20px;height:1px;opacity:.45;}
.grafica-crop::before{width:1px;height:20px;}
.grafica-crop.tl{top:20px;left:20px;}
.grafica-crop.tr{top:20px;right:20px;}
.grafica-crop.bl{bottom:20px;left:20px;}
.grafica-crop.br{bottom:20px;right:20px;}
.grafica-crop.tr::before,.grafica-crop.br::before{right:0;}
.grafica-crop.bl::before,.grafica-crop.br::before{bottom:0;}

.grafica-board-header{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  gap:18px;
  align-items:end;
  margin-bottom:36px;
}

.grafica-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  color:var(--gfx-muted);
  font:700 11px/1 Inter,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.grafica-eyebrow::before{
  content:"";width:42px;height:1px;background:var(--gfx-red);
}

.grafica-title{
  margin:0;
  font:900 clamp(42px,6vw,72px)/.92 Poppins,sans-serif;
  letter-spacing:-.04em;
}
.grafica-title span{color:var(--gfx-red); display:block;}
.grafica-subtitle{
  margin:16px 0 0;
  max-width:720px;
  color:#5a6170;
  font:400 18px/1.65 Inter,sans-serif;
}

.grafica-stats{
  display:grid;
  gap:10px;
}
.grafica-mini-card{
  background:#fafbfc;
  border:1px solid #edf0f4;
  border-radius:18px;
  padding:14px 16px;
}
.grafica-mini-label{display:block;font:700 11px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#8a90a0;margin-bottom:8px;}
.grafica-mini-value{display:block;font:800 20px/1.1 Poppins,sans-serif;color:#151821;}

.grafica-collage{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns: 1.2fr .9fr .7fr;
  grid-auto-rows:minmax(128px,auto);
  gap:18px;
}

.grafica-piece{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  border:1px solid #edf0f4;
  background:linear-gradient(180deg,#fcfcfd 0%, #f3f5f8 100%);
  padding:20px;
}
.grafica-piece::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(214,0,0,.05), transparent 42%);
  pointer-events:none;
}
.grafica-piece::after{
  content:"";
  position:absolute;
  inset:14px;
  border:1px dashed rgba(31,32,36,.08);
  border-radius:16px;
  pointer-events:none;
}
.grafica-piece-label{
  position:relative;
  z-index:1;
  display:inline-block;
  margin-bottom:16px;
  padding:6px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid #eceef3;
  font:700 10px/1 Inter,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#707786;
}
.grafica-piece-title{
  position:relative;
  z-index:1;
  margin:0;
  font:800 24px/1.02 Poppins,sans-serif;
  letter-spacing:-.03em;
}
.grafica-piece-copy{
  position:relative;
  z-index:1;
  margin:12px 0 0;
  color:#5e6573;
  font:400 15px/1.6 Inter,sans-serif;
}

.grafica-piece.is-poster{grid-row:span 2; min-height:360px; display:flex; flex-direction:column; justify-content:flex-end;}
.grafica-piece.is-poster .grafica-piece-title{font-size:34px; max-width:280px;}
.grafica-piece.is-poster .poster-accent{
  position:absolute; top:28px; right:28px; width:118px; height:148px; border-radius:20px;
  background:linear-gradient(180deg,#23242a 0%, #3b3d46 100%);
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}
.grafica-piece.is-poster .poster-accent::before,
.grafica-piece.is-poster .poster-accent::after{
  content:""; position:absolute; border-radius:999px;
}
.grafica-piece.is-poster .poster-accent::before{width:72px;height:72px; background:rgba(255,255,255,.92); top:18px; left:22px;}
.grafica-piece.is-poster .poster-accent::after{width:42px;height:42px; background:var(--gfx-red); bottom:20px; right:18px;}

.grafica-piece.is-brochure{min-height:212px;}
.grafica-brochure-fold{
  position:absolute; right:24px; bottom:22px; width:180px; height:112px; border-radius:16px;
  background:linear-gradient(135deg,#f7f8fa 0%, #e6eaf0 100%);
  border:1px solid #e0e4eb;
  box-shadow:0 12px 24px rgba(26,28,35,.08);
  transform:rotate(-7deg);
}
.grafica-brochure-fold::before,
.grafica-brochure-fold::after{content:"";position:absolute;top:12px;bottom:12px;width:1px;background:#d8dce4;}
.grafica-brochure-fold::before{left:33.333%;}
.grafica-brochure-fold::after{left:66.666%;}

.grafica-piece.is-card{min-height:178px;}
.grafica-card-stack,
.grafica-layout-sheet,
.grafica-badges{
  position:absolute;
  inset:auto 22px 22px auto;
}
.grafica-card-stack{width:162px;height:98px;}
.grafica-card-stack::before,
.grafica-card-stack::after,
.grafica-card-stack span{
  content:"";position:absolute;display:block;border-radius:16px;background:#fff;border:1px solid #e8ebf1;box-shadow:0 12px 26px rgba(31,34,43,.08);
}
.grafica-card-stack::before{inset:16px 0 0 16px;transform:rotate(8deg);}
.grafica-card-stack::after{inset:8px 8px 8px 8px;transform:rotate(-4deg);}
.grafica-card-stack span{inset:0; background:linear-gradient(135deg,#23242a 0%, #2f3138 100%);}

.grafica-piece.is-layout{min-height:178px;}
.grafica-layout-sheet{width:154px;height:132px;border-radius:14px;background:#fff;border:1px solid #e8ebf1;box-shadow:0 12px 24px rgba(31,34,43,.08);}
.grafica-layout-sheet::before{content:"";position:absolute;left:16px;right:16px;top:20px;height:16px;background:#1f2024;border-radius:6px;}
.grafica-layout-sheet::after{content:"";position:absolute;left:16px;right:16px;top:48px;bottom:16px;background:repeating-linear-gradient(180deg,#eaedf2 0 10px, transparent 10px 20px);}

.grafica-piece.is-specs{min-height:156px; background:linear-gradient(180deg,#23242a 0%, #292b31 100%); color:#fff; border-color:#2c2f37;}
.grafica-piece.is-specs .grafica-piece-label{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.08);color:rgba(255,255,255,.72);}
.grafica-spec-list{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin-top:16px;}
.grafica-spec-list span{display:block;font:700 12px/1.4 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.76);}
.grafica-spec-list b{display:block;margin-top:4px;font:800 18px/1.1 Poppins,sans-serif;color:#fff;}

.grafica-piece.is-notes{min-height:214px;background:linear-gradient(180deg,#f6f1de 0%, #efe5c1 100%);}
.grafica-note-lines{position:relative;z-index:1;display:grid;gap:12px;margin-top:16px;}
.grafica-note-lines span{display:block;height:10px;border-radius:999px;background:rgba(31,32,36,.12);}
.grafica-note-lines span:nth-child(2){width:82%;}
.grafica-note-lines span:nth-child(3){width:64%;}

.grafica-sidepanel{
  background: linear-gradient(180deg,#f6f7f9 0%, #eef1f5 100%);
  border-left:1px solid #dfe4eb;
  padding:24px 20px;
}
.grafica-panel-card{
  background:#fff;
  border:1px solid #e7ebf1;
  border-radius:22px;
  padding:18px;
  box-shadow:0 10px 22px rgba(28,31,38,.05);
}
.grafica-panel-card + .grafica-panel-card{margin-top:14px;}
.grafica-panel-title{margin:0 0 14px;font:800 18px/1.1 Poppins,sans-serif;}
.grafica-list{display:grid;gap:10px;margin:0;padding:0;list-style:none;}
.grafica-list li{padding-left:18px;position:relative;color:#4f5664;font:500 14px/1.55 Inter,sans-serif;}
.grafica-list li::before{content:"";position:absolute;left:0;top:.68em;width:8px;height:8px;border-radius:999px;background:var(--gfx-red);}
.grafica-kpi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.grafica-kpi .item{padding:14px;border-radius:18px;background:#f8f9fb;border:1px solid #edf0f4;}
.grafica-kpi b{display:block;font:800 22px/1 Poppins,sans-serif;margin-bottom:6px;}
.grafica-kpi span{display:block;color:#707786;font:600 12px/1.35 Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em;}

.grafica-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  min-height:54px;
  padding:14px 18px;
  border-radius:18px;
  background:var(--gfx-red);
  color:#fff;
  text-decoration:none;
  font:800 14px/1 Inter,sans-serif;
  letter-spacing:.03em;
  transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease;
  box-shadow:0 14px 28px rgba(214,0,0,.22);
}
.grafica-cta:hover{transform:translateY(-2px); background:#ba0000;}

.grafica-flow{
  margin-top:28px;
  background:#fff;
  border:1px solid rgba(31,32,36,.08);
  border-radius:28px;
  box-shadow:var(--gfx-shadow);
  padding:26px;
}
.grafica-flow-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:18px;}
.grafica-flow-title{margin:0;font:800 clamp(28px,3vw,40px)/1 Poppins,sans-serif;letter-spacing:-.03em;}
.grafica-flow-copy{max-width:560px;color:#626979;margin:0;font:400 16px/1.65 Inter,sans-serif;}
.grafica-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.grafica-step{position:relative;padding:18px 18px 20px;border-radius:22px;background:linear-gradient(180deg,#fbfcfd 0%, #f4f6f9 100%);border:1px solid #e9edf2;}
.grafica-step-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;background:#1f2024;color:#fff;font:800 13px/1 Inter,sans-serif;margin-bottom:14px;}
.grafica-step h3{margin:0 0 8px;font:800 19px/1.08 Poppins,sans-serif;}
.grafica-step p{margin:0;color:#666d7c;font:400 14px/1.6 Inter,sans-serif;}

.grafica-export{
  margin-top:28px;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(31,32,36,.08);
  box-shadow: var(--gfx-shadow);
  background:linear-gradient(180deg,#23242a 0%, #1d1e23 100%);
  color:#fff;
}
.grafica-export-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.08);}
.grafica-export-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;padding:28px 24px;align-items:center;}
.grafica-export h2{margin:0 0 12px;font:800 clamp(28px,3vw,42px)/1 Poppins,sans-serif;letter-spacing:-.03em;}
.grafica-export p{margin:0;color:rgba(255,255,255,.74);font:400 16px/1.65 Inter,sans-serif;max-width:700px;}
.grafica-export-meta{display:grid;gap:12px;}
.grafica-export-meta .row{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);font:700 12px/1.3 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72);}
.grafica-export-meta .row b{font:800 14px/1.2 Inter,sans-serif;color:#fff;}

@media (max-width: 1180px){
  .grafica-hero{grid-template-columns:72px minmax(0,1fr);}
  .grafica-sidepanel{grid-column:1 / -1; border-left:0; border-top:1px solid #dfe4eb;}
}

@media (max-width: 900px){
  .grafica-topbar{flex-wrap:wrap;}
  .grafica-hero{grid-template-columns:1fr;}
  .grafica-tools{display:none;}
  .grafica-board-header{grid-template-columns:1fr;}
  .grafica-collage{grid-template-columns:1fr 1fr;}
  .grafica-steps,
  .grafica-export-body{grid-template-columns:1fr;}
}

@media (max-width: 640px){
  .grafica-shell{padding:24px 14px 56px;}
  .grafica-canvas-area{padding:14px;}
  .grafica-artboard{padding:24px 18px; min-height: auto;}
  .grafica-title{font-size:40px;}
  .grafica-subtitle{font-size:16px;}
  .grafica-collage{grid-template-columns:1fr;}
  .grafica-piece.is-poster,
  .grafica-piece.is-brochure,
  .grafica-piece.is-card,
  .grafica-piece.is-layout,
  .grafica-piece.is-notes,
  .grafica-piece.is-specs{min-height:unset;}
  .grafica-flow{padding:18px;}
  .grafica-export-body{padding:22px 18px;}
  .grafica-chip{font-size:10px;padding:6px 8px;}
}


/* --- Rifiniture finali pagina grafica --- */
body.grafica-page{
  font-family: 'Inter', sans-serif;
}

body.grafica-page .site-header,
body.grafica-page .site-footer,
body.grafica-page .header-nav-item,
body.grafica-page .header-mobile-item,
body.grafica-page .site-footer p,
body.grafica-page .site-footer a{
  font-family: inherit !important;
}

.grafica-panel-card-button{
  padding:14px;
}

.grafica-collage-real{
  grid-template-columns: 0.72fr 1.28fr 0.92fr;
  align-items:start;
}

.grafica-real-img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:auto;
  border-radius:16px;
  box-shadow:0 18px 30px rgba(17,19,24,.14);
}

.grafica-real-img.contain{
  object-fit:contain;
  background:#fff;
}

.grafica-note-tag{
  position:absolute;
  right:16px;
  bottom:14px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(31,32,36,.82);
  color:#fff;
  font:700 11px/1 Inter,sans-serif;
  letter-spacing:.06em;
  box-shadow:0 8px 18px rgba(0,0,0,.14);
}

.grafica-selection{
  position:absolute;
  inset:18px;
  z-index:2;
  border:1.5px solid rgba(47,199,216,.55);
  border-radius:18px;
  pointer-events:none;
}
.grafica-selection .dot{
  position:absolute;
  width:10px;
  height:10px;
  background:#fff;
  border:2px solid rgba(47,199,216,.8);
  border-radius:999px;
}
.grafica-selection .tl{top:-6px;left:-6px;}
.grafica-selection .tr{top:-6px;right:-6px;}
.grafica-selection .bl{bottom:-6px;left:-6px;}
.grafica-selection .br{bottom:-6px;right:-6px;}

.grafica-piece.is-logo-real{
  min-height:248px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 24px 48px;
}
.grafica-piece.is-logo-real .grafica-real-img{
  max-height:208px;
  width:auto;
  max-width:88%;
  box-shadow:none;
}

.grafica-piece.is-flyer-real{
  grid-column:3;
  min-height:220px;
  transform:rotate(2.2deg);
  transform-origin:center;
  padding:18px 18px 46px;
}
.grafica-piece.is-flyer-real .grafica-real-img{
  border-radius:12px;
}

.grafica-piece.is-cert-real{
  grid-column:2 / 4;
  min-height:420px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px 20px 52px;
}
.grafica-piece.is-cert-real .grafica-real-img{
  max-height:440px;
  width:auto;
  max-width:100%;
  border-radius:12px;
}

.grafica-piece.is-label-real{
  min-height:320px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 24px 52px;
}
.grafica-piece.is-label-real .grafica-real-img{
  max-height:360px;
  width:auto;
  max-width:100%;
  box-shadow:none;
}

.grafica-piece.is-card-real{
  min-height:220px;
  padding:20px 20px 52px;
}
.grafica-cards-duo{
  position:relative;
  z-index:1;
  min-height:148px;
  margin-top:10px;
}
.grafica-cards-duo .card-one,
.grafica-cards-duo .card-two{
  position:absolute;
  width:58%;
  max-width:220px;
  border-radius:14px;
}
.grafica-cards-duo .card-one{
  left:6%;
  top:22px;
  transform:rotate(-7deg);
}
.grafica-cards-duo .card-two{
  right:4%;
  top:0;
  transform:rotate(5deg);
}

.grafica-piece.is-specs{
  min-height:220px;
}

.grafica-flow-copy,
.grafica-export p,
.grafica-subtitle{
  max-width:760px;
}

@media (max-width: 1180px){
  .grafica-collage-real{
    grid-template-columns:1fr 1fr;
  }
  .grafica-piece.is-flyer-real{
    grid-column:auto;
  }
  .grafica-piece.is-cert-real{
    grid-column:1 / -1;
  }
}

@media (max-width: 900px){
  .grafica-collage-real{
    grid-template-columns:1fr;
  }
  .grafica-piece.is-flyer-real,
  .grafica-piece.is-cert-real{
    transform:none;
    grid-column:auto;
  }
  .grafica-piece.is-cert-real .grafica-real-img,
  .grafica-piece.is-logo-real .grafica-real-img,
  .grafica-piece.is-label-real .grafica-real-img{
    width:100%;
    height:auto;
    max-width:100%;
  }
  .grafica-cards-duo{
    min-height:180px;
  }
}

/* ===== Finale pagina grafica ===== */
body.grafica-page .site-header .header-nav-item,
body.grafica-page .site-header .header-mobile-item,
body.grafica-page .site-footer,
body.grafica-page .site-footer p,
body.grafica-page .site-footer a,
body.grafica-page .site-footer .credit,
body.grafica-page .site-footer .credit b{
  font-family: Arial, Helvetica, sans-serif !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.grafica-collage-finale{
  grid-template-columns: .82fr 1.28fr .96fr;
  grid-template-areas:
    "logo brochure flyer"
    "label brochure cert"
    "card specs cert";
  align-items:start;
}

.grafica-collage-finale .is-logo-real{grid-area:logo;}
.grafica-collage-finale .is-brochure-real{grid-area:brochure;}
.grafica-collage-finale .is-flyer-real{grid-area:flyer;}
.grafica-collage-finale .is-label-real{grid-area:label;}
.grafica-collage-finale .is-card-real{grid-area:card;}
.grafica-collage-finale .is-specs{grid-area:specs;}
.grafica-collage-finale .is-cert-real{grid-area:cert;}

.grafica-piece.is-brochure-real{
  min-height: 620px;
  padding: 20px 20px 54px;
}

.grafica-brochure-stack{
  position: relative;
  z-index: 1;
  min-height: 520px;
  margin-top: 8px;
}

.grafica-brochure-stack .brochure-front,
.grafica-brochure-stack .brochure-back{
  position: absolute;
  width: 88%;
  max-width: 720px;
  border-radius: 18px;
  box-shadow: 0 22px 36px rgba(17,19,24,.16);
}

.grafica-brochure-stack .brochure-front{
  top: 0;
  right: 0;
  transform: rotate(3.2deg);
}

.grafica-brochure-stack .brochure-back{
  left: 0;
  bottom: 8px;
  transform: rotate(-3deg);
}

.grafica-piece.is-flyer-real{
  transform: rotate(2deg);
  min-height: 250px;
}

.grafica-piece.is-cert-real{
  grid-column: auto;
  min-height: 520px;
  padding: 20px 20px 54px;
}

.grafica-piece.is-cert-real .grafica-real-img{
  max-height: 560px;
}

.grafica-piece.is-logo-real{
  min-height: 248px;
}

.grafica-piece.is-label-real{
  min-height: 340px;
}

.grafica-piece.is-card-real{
  min-height: 240px;
}

.grafica-piece.is-specs{
  min-height: 240px;
}

.grafica-piece.is-logo-real .grafica-real-img,
.grafica-piece.is-label-real .grafica-real-img{
  box-shadow: none;
}

.grafica-panel-card.solo-bottone{
  padding: 12px;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.grafica-panel-card.solo-bottone .grafica-cta{
  width: 100%;
  justify-content: center;
}

@media (max-width: 1180px){
  .grafica-collage-finale{
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "brochure brochure"
      "logo flyer"
      "label cert"
      "card specs";
  }

  .grafica-piece.is-brochure-real{
    min-height: 560px;
  }
}

@media (max-width: 900px){
  .grafica-collage-finale{
    grid-template-columns: 1fr;
    grid-template-areas:
      "brochure"
      "logo"
      "flyer"
      "label"
      "cert"
      "card"
      "specs";
  }

  .grafica-piece.is-brochure-real,
  .grafica-piece.is-flyer-real,
  .grafica-piece.is-cert-real{
    transform: none;
  }

  .grafica-brochure-stack{
    min-height: auto;
    display: grid;
    gap: 14px;
  }

  .grafica-brochure-stack .brochure-front,
  .grafica-brochure-stack .brochure-back{
    position: relative;
    width: 100%;
    max-width: none;
    transform: none;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
  }
}


/* === Patch finale stabilità layout grafica === */
.grafica-piece{
  position:relative;
  padding-top:58px;
}
.grafica-piece-label{
  position:absolute;
  top:14px;
  left:14px;
  z-index:4;
  margin:0;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 16px rgba(17,19,24,.06);
}
.grafica-note-tag{
  right:auto;
  left:14px;
  bottom:14px;
}
.grafica-piece.is-logo-real,
.grafica-piece.is-label-real,
.grafica-piece.is-card-real,
.grafica-piece.is-flyer-real,
.grafica-piece.is-cert-real,
.grafica-piece.is-brochure-real{
  overflow:visible;
}
.grafica-piece.is-logo-real .grafica-real-img{
  max-height:170px;
  max-width:82%;
}
.grafica-piece.is-flyer-real{
  transform:none;
}
.grafica-piece.is-card-real{
  min-height:260px;
}
.grafica-piece.is-card-real .grafica-cards-duo{
  min-height:170px;
}
.grafica-piece.is-card-real .card-one,
.grafica-piece.is-card-real .card-two{
  width:64%;
  max-width:none;
}
.grafica-sidepanel{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.grafica-panel-card{
  border-radius:20px;
}
.grafica-panel-card.solo-bottone{
  margin-top:14px;
}
@media (max-width:1180px){
  .grafica-piece-label{top:12px;left:12px;}
}
@media (max-width:900px){
  .grafica-piece{padding-top:54px;}
  .grafica-note-tag{position:relative;left:auto;bottom:auto;display:inline-flex;margin-top:12px;}
}



/* Biglietti reali */
.grafica-piece.is-card-real{
  display:flex;
  align-items:center;
  justify-content:center;
}
.grafica-piece.is-card-real .grafica-cards-duo{
  position:relative;
  width:100%;
  max-width:300px;
  min-height:155px;
  margin-top:10px;
}
.grafica-piece.is-card-real .grafica-card-shot{
  position:absolute;
  width:64%;
  max-width:none;
  border-radius:12px;
  object-fit:cover;
  box-shadow:0 14px 26px rgba(17,19,24,.16);
}
.grafica-piece.is-card-real .card-one{
  left:18px;
  top:22px;
  transform:rotate(-8deg);
  z-index:1;
}
.grafica-piece.is-card-real .card-two{
  right:18px;
  top:6px;
  transform:rotate(6deg);
  z-index:2;
}
@media (max-width: 900px){
  .grafica-piece.is-card-real .grafica-cards-duo{
    max-width:260px;
    min-height:145px;
  }
  .grafica-piece.is-card-real .grafica-card-shot{
    width:66%;
  }
  .grafica-piece.is-card-real .card-one{left:10px;}
  .grafica-piece.is-card-real .card-two{right:10px;}
}


/* === Patch centering volantino === */
.grafica-piece.is-flyer-real{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:250px;
}
.grafica-piece.is-flyer-real .grafica-real-img{
  position:absolute;
  top:50%;
  left:50%;
  width:auto;
  max-width:82%;
  max-height:150px;
  transform:translate(-50%, -50%);
  margin:0;
  border-radius:12px;
  box-shadow:0 14px 28px rgba(17,19,24,.14);
}
@media (max-width:900px){
  .grafica-piece.is-flyer-real .grafica-real-img{
    position:relative;
    top:auto;
    left:auto;
    transform:none;
    max-width:100%;
    max-height:none;
  }
}


/* === Final refinement: brochure and flyer centered independently === */
.grafica-piece.is-brochure-real{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:620px;
}
.grafica-piece.is-brochure-real .grafica-brochure-stack{
  position:relative;
  width:100%;
  min-height:520px;
  margin-top:0;
}
.grafica-piece.is-brochure-real .brochure-front,
.grafica-piece.is-brochure-real .brochure-back{
  position:absolute;
  width:80%;
  max-width:none;
  left:50%;
  border-radius:18px;
  box-shadow:0 20px 34px rgba(17,19,24,.14);
}
.grafica-piece.is-brochure-real .brochure-front{
  top:33%;
  transform:translate(-50%, -50%) rotate(3.2deg);
  z-index:2;
}
.grafica-piece.is-brochure-real .brochure-back{
  top:67%;
  transform:translate(-50%, -50%) rotate(-3deg);
  z-index:1;
}
.grafica-piece.is-flyer-real{
  display:flex;
  align-items:center;
  justify-content:center;
  transform:none;
  min-height:250px;
}
.grafica-piece.is-flyer-real .grafica-real-img{
  position:absolute;
  top:50%;
  left:50%;
  width:auto;
  max-width:78%;
  max-height:138px;
  transform:translate(-50%, -50%);
  margin:0;
  border-radius:12px;
  box-shadow:0 14px 28px rgba(17,19,24,.14);
}
@media (max-width:1180px){
  .grafica-piece.is-brochure-real{
    min-height:560px;
  }
  .grafica-piece.is-brochure-real .grafica-brochure-stack{
    min-height:470px;
  }
}
@media (max-width:900px){
  .grafica-piece.is-brochure-real,
  .grafica-piece.is-flyer-real{
    min-height:unset;
  }
  .grafica-piece.is-brochure-real .grafica-brochure-stack{
    min-height:auto;
    display:grid;
    gap:14px;
  }
  .grafica-piece.is-brochure-real .brochure-front,
  .grafica-piece.is-brochure-real .brochure-back,
  .grafica-piece.is-flyer-real .grafica-real-img{
    position:relative;
    top:auto;
    left:auto;
    transform:none;
    width:100%;
    max-width:100%;
    max-height:none;
  }
}
