/** Shopify CDN: Minification failed

Line 29:0 All "@import" rules must come first

**/
/* 
 * Sabotatore Interno - Typography System
 * Sistema tipografico basato sul design Figma
 */

/* Font Faces - Fields */
@font-face {
  font-family: "Fields";
  src: url("fonnts.com-Fields-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Fields";
  src: url("fonnts.com-Fields-.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Font Import - Work Sans */
@import url("https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600&display=swap");

:root {
  /* Font Families */
  --sab-font-heading: "Fields", serif;
  --sab-font-body: "Work Sans", sans-serif;

  /* Font Sizes - Desktop */
  --sab-fs-h0: 79.97px; /* M_H0 - "il_95%" */
  --sab-fs-h1: 59.99px; /* M_H1 - Prezzi */
  --sab-fs-h2: 45px; /* M_H2 - Hero principale */
  --sab-fs-h3: 33.76px; /* M_H3 - Titoli sezione */
  --sab-fs-h4: 25.33px; /* M_H4 - Sottotitoli */
  --sab-fs-paragraph: 16px; /* M_Paragraph - Testo corpo */
  --sab-fs-small: 14px; /* Small text */

  /* Line Heights */
  --sab-lh-tight: 1em;
  --sab-lh-normal: 1.173em;

  /* Letter Spacing */
  --sab-ls-tight: -0.02em;

  /* Font Weights */
  --sab-fw-regular: 400;
  --sab-fw-medium: 500;
  --sab-fw-semibold: 600;
}

/* Responsive Typography - Mobile (Figma exact values) */
@media (max-width: 767px) {
  :root {
    --sab-fs-h0: 60px;
    --sab-fs-h1: 48px;
    --sab-fs-h2: 45px; /* Mantenere 45px anche su mobile come da Figma */
    --sab-fs-h3: 34px;
    --sab-fs-h4: 25.33px; /* Valore esatto da Figma */
    --sab-fs-paragraph: 17px;
    --sab-lh-tight: 1.1em;
  }
}

/* Typography Classes */
.sab-h0 {
  font-family: var(--sab-font-heading);
  font-size: var(--sab-fs-h0);
  font-weight: var(--sab-fw-medium);
  line-height: var(--sab-lh-tight);
  letter-spacing: var(--sab-ls-tight);
  color: var(--sab-dark);
  margin: 0;
}

.sab-h1 {
  font-family: var(--sab-font-heading);
  font-size: var(--sab-fs-h1);
  font-weight: var(--sab-fw-medium);
  line-height: var(--sab-lh-tight);
  letter-spacing: var(--sab-ls-tight);
  color: var(--sab-text);
}

.sab-h2 {
  font-family: var(--sab-font-heading);
  font-size: var(--sab-fs-h2);
  font-weight: var(--sab-fw-medium);
  line-height: var(--sab-lh-tight);
  letter-spacing: var(--sab-ls-tight);
  color: var(--sab-dark);
}

.sab-h3 {
  font-family: var(--sab-font-heading);
  font-size: var(--sab-fs-h3);
  font-weight: var(--sab-fw-medium);
  line-height: var(--sab-lh-tight);
  letter-spacing: var(--sab-ls-tight);
  color: var(--sab-dark);
}

.sab-h4 {
  font-family: var(--sab-font-heading);
  font-size: var(--sab-fs-h4);
  font-weight: var(--sab-fw-medium);
  line-height: var(--sab-lh-tight);
  letter-spacing: var(--sab-ls-tight);
  color: var(--sab-text);
  margin: 0;
}

.sab-paragraph {
  font-family: var(--sab-font-body);
  font-size: var(--sab-fs-paragraph);
  font-weight: var(--sab-fw-regular);
  line-height: var(--sab-lh-normal);
  letter-spacing: var(--sab-ls-tight);
  color: var(--sab-text);
}

.sab-small {
  font-family: var(--sab-font-body);
  font-size: var(--sab-fs-small);
  font-weight: var(--sab-fw-regular);
  line-height: var(--sab-lh-normal);
  letter-spacing: var(--sab-ls-tight);
  color: var(--sab-text);
}

/* Text Alignment Utilities */
.sab-text-center {
  text-align: center;
}

.sab-text-left {
  text-align: left;
}

.sab-text-right {
  text-align: right;
}

/* Text Transform */
.sab-uppercase {
  text-transform: uppercase;
}

/* Text Wrapping */
.sab-text-pretty {
  text-wrap: pretty;
}

.sab-text-nowrap {
  white-space: nowrap;
}
