:root { --radius-xl: 18px; }
.puzco-badge { display:inline-block; padding:.3em .6em; border-radius:999px; font-weight:600; background:#1458FF10; color:#1458FF; }
.puzco-card { border:1px solid #E9EDF5; border-radius: var(--radius-xl); padding:24px; box-shadow: 0 6px 30px rgba(10,20,40,.04); }
.puzco-hero { background: var(--wp--preset--gradient--puzco-hero); color:#fff; border-radius: 28px; padding: 60px 36px; }
.puzco-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width: 800px){ .puzco-kpis{ grid-template-columns:1fr; } }


/* ===== Mobile refinements ===== */
@media (max-width: 768px){
  /* Global horizontal padding so текст не прилипает к краям */
  .wp-site-blocks,
  .is-layout-constrained,
  body .wp-block-group:not(.alignwide):not(.alignfull){
    padding-left: 16px;
    padding-right: 16px;
  }

  /* Герой меньше по вертикали на мобильных */
  .puzco-hero { padding: 36px 16px; border-radius: 20px; }

  /* Карточки и сетки — адекватные отступы */
  .puzco-card { padding: 18px; }
  .wp-block-columns { gap: 16px; }

  /* Кнопки — на всю ширину по умолчанию */
  .wp-block-buttons > .wp-block-button .wp-block-button__link {
    width: 100%;
    text-align: center;
  }

  /* Заголовки немного меньше на мобильных */
  h1 { font-size: clamp(24px, 6vw, 32px); line-height: 1.2; }
  h2 { font-size: clamp(20px, 5.2vw, 28px); line-height: 1.25; }
  h3 { font-size: clamp(18px, 4.8vw, 24px); }
  h4 { font-size: clamp(16px, 4.4vw, 20px); }
}
