:root {
  --sa-max-width: 100%;

  --sa-bg: #f3f4f6;
  --sa-surface: #ffffff;
  --sa-surface-2: #f8fafc;

  --sa-text: #111827;
  --sa-muted: #6b7280;
  --sa-border: #e5e7eb;

  --sa-bottom-space: 96px;
  --sa-shadow-desktop: 0 12px 34px rgba(15, 23, 42, 0.08);

  --sa-page-x: 16px;
  --sa-page-y: 14px;
  --sa-gap: 14px;
  --sa-radius: 18px;

  --safe-bottom: env(safe-area-inset-bottom, 0px);
}

*,
*::before,
*::after {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  height: 100%;
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  overscroll-behavior-y: contain;
}

body {
  min-height: 100%;
  margin: 0;
  padding: 0;
  background: var(--sa-bg);
  color: var(--sa-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  overscroll-behavior-y: contain;
}

.samgha-app {
  touch-action: manipulation;
}

.samgha-app-shell__main {
  -webkit-overflow-scrolling: touch;
}

img,
svg,
video,
canvas {
  display: block;
  max-width: 100%;
  height: auto;
}

figure {
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

button,
input,
textarea,
select {
  font: inherit;
}

p:last-child,
ul:last-child,
ol:last-child {
  margin-bottom: 0;
}

/* normalizzazione blocchi WordPress / Gutenberg */
.wp-block-group,
.wp-block-columns,
.wp-block-cover {
  margin-top: 0;
  margin-bottom: 0;
}

.is-layout-constrained {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

button,
.samgha-button,
.bss-bottom-link {
  transition: transform .08s ease, box-shadow .08s ease;
}

button:active,
.samgha-button:active,
.bss-bottom-link:active {
  transform: scale(.96);
}

/* mobile */
@media (max-width: 480px) {
  :root {
    --sa-page-x: 14px;
    --sa-page-y: 12px;
    --sa-gap: 12px;
  }
}