/* ==========================================================================
   GLOBAL - FATTORIA CUSTOM
   Base indipendente da Astra
   ========================================================================== */

:root {
    /* Palette Fattoria */
    --fattoria-green: #54B435;
    --fattoria-green-dark: #105710;
    --fattoria-heading: #0F172A;
    --fattoria-text: #2F3B40;
    --fattoria-light-green: #EDFBE2;
    --fattoria-white: #FFFFFF;
    --fattoria-soft-green: #D5EAD8;
    --fattoria-dark: #0C1406;
    --fattoria-black: #222222;

    --fattoria-content-width: 1200px;

    --fattoria-padding-desktop: 20px;
    --fattoria-padding-mobile: 15px;
    --fattoria-body-font: "DM Sans", Arial, sans-serif;
    --fattoria-body-weight: 300;
    --fattoria-body-line-height: 1.7;
    --fattoria-body-letter-spacing: 0px;
    --fattoria-body-size-desktop: 16px;
    --fattoria-body-size-tablet: 16px;
    --fattoria-body-size-mobile: 16px;
    --fattoria-h1-font: Anton, Impact, sans-serif;
    --fattoria-h1-weight: 700;
    --fattoria-h1-line-height: 1.4;
    --fattoria-h1-letter-spacing: 0px;
    --fattoria-h1-size-desktop: 48px;
    --fattoria-h1-size-tablet: 40px;
    --fattoria-h1-size-mobile: 36px;
    --fattoria-h2-font: Anton, Impact, sans-serif;
    --fattoria-h2-weight: 700;
    --fattoria-h2-line-height: 1.3;
    --fattoria-h2-letter-spacing: -2px;
    --fattoria-h2-size-desktop: 38px;
    --fattoria-h2-size-tablet: 32px;
    --fattoria-h2-size-mobile: 28px;
    --fattoria-h3-font: Anton, Impact, sans-serif;
    --fattoria-h3-weight: 700;
    --fattoria-h3-line-height: 1.3;
    --fattoria-h3-letter-spacing: 0px;
    --fattoria-h3-size-desktop: 30px;
    --fattoria-h3-size-tablet: 26px;
    --fattoria-h3-size-mobile: 22px;
    --fattoria-h4-font: Anton, Impact, sans-serif;
    --fattoria-h4-weight: 700;
    --fattoria-h4-line-height: 1.25;
    --fattoria-h4-letter-spacing: 0px;
    --fattoria-h4-size-desktop: 24px;
    --fattoria-h4-size-tablet: 20px;
    --fattoria-h4-size-mobile: 18px;
    --fattoria-h5-font: Anton, Impact, sans-serif;
    --fattoria-h5-weight: 700;
    --fattoria-h5-line-height: 1.2;
    --fattoria-h5-letter-spacing: 0px;
    --fattoria-h5-size-desktop: 21px;
    --fattoria-h5-size-tablet: 17px;
    --fattoria-h5-size-mobile: 15px;
    --fattoria-h6-font: Anton, Impact, sans-serif;
    --fattoria-h6-weight: 700;
    --fattoria-h6-line-height: 1.25;
    --fattoria-h6-letter-spacing: 0px;
    --fattoria-h6-size-desktop: 17px;
    --fattoria-h6-size-tablet: 15px;
    --fattoria-h6-size-mobile: 14px;

}

html { box-sizing: border-box; -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: inherit; }
html, body { margin: 0; padding: 0; }
body { background: var(--fattoria-white); color: var(--fattoria-text); }
img { display: block; max-width: 100%; height: auto; }
figure { margin: 0; }
a { color: var(--fattoria-green); }
a:hover, a:focus { color: var(--fattoria-green-dark); }
h1, h2, h3, h4, h5, h6 { color: var(--fattoria-heading); margin-top: 0; }
body {
    font-family: var(--fattoria-body-font);
    font-size: var(--fattoria-body-size-desktop);
    font-weight: var(--fattoria-body-weight);
    line-height: var(--fattoria-body-line-height);
    letter-spacing: var(--fattoria-body-letter-spacing);
}
button, input, select, textarea { font-family: var(--fattoria-body-font); }
h1 {
    font-family: var(--fattoria-h1-font);
    font-size: var(--fattoria-h1-size-desktop);
    font-weight: var(--fattoria-h1-weight);
    line-height: var(--fattoria-h1-line-height);
    letter-spacing: var(--fattoria-h1-letter-spacing);
}
h2 {
    font-family: var(--fattoria-h2-font);
    font-size: var(--fattoria-h2-size-desktop);
    font-weight: var(--fattoria-h2-weight);
    line-height: var(--fattoria-h2-line-height);
    letter-spacing: var(--fattoria-h2-letter-spacing);
}
h3 {
    font-family: var(--fattoria-h3-font);
    font-size: var(--fattoria-h3-size-desktop);
    font-weight: var(--fattoria-h3-weight);
    line-height: var(--fattoria-h3-line-height);
    letter-spacing: var(--fattoria-h3-letter-spacing);
}
h4 {
    font-family: var(--fattoria-h4-font);
    font-size: var(--fattoria-h4-size-desktop);
    font-weight: var(--fattoria-h4-weight);
    line-height: var(--fattoria-h4-line-height);
    letter-spacing: var(--fattoria-h4-letter-spacing);
}
h5 {
    font-family: var(--fattoria-h5-font);
    font-size: var(--fattoria-h5-size-desktop);
    font-weight: var(--fattoria-h5-weight);
    line-height: var(--fattoria-h5-line-height);
    letter-spacing: var(--fattoria-h5-letter-spacing);
}
h6 {
    font-family: var(--fattoria-h6-font);
    font-size: var(--fattoria-h6-size-desktop);
    font-weight: var(--fattoria-h6-weight);
    line-height: var(--fattoria-h6-line-height);
    letter-spacing: var(--fattoria-h6-letter-spacing);
}
.fattoria-site-content { width: 100%; min-width: 0; position: relative; z-index: 0; }
.fattoria-container {
    width: min(calc(100% - 2 * var(--fattoria-padding-desktop)), var(--fattoria-content-width));
    margin-inline: auto;
}
.fattoria-logo-fallback { font-size: 12px; line-height: 1.1; text-align: center; overflow-wrap: anywhere; }
@media (max-width: 921px) {
    body { font-size: var(--fattoria-body-size-tablet); }
    h1 { font-size: var(--fattoria-h1-size-tablet); }
    h2 { font-size: var(--fattoria-h2-size-tablet); }
    h3 { font-size: var(--fattoria-h3-size-tablet); }
    h4 { font-size: var(--fattoria-h4-size-tablet); }
    h5 { font-size: var(--fattoria-h5-size-tablet); }
    h6 { font-size: var(--fattoria-h6-size-tablet); }
}
@media (max-width: 544px) {
    .fattoria-container { width: min(calc(100% - 2 * var(--fattoria-padding-mobile)), var(--fattoria-content-width)); }
    body { font-size: var(--fattoria-body-size-mobile); }
    h1 { font-size: var(--fattoria-h1-size-mobile); }
    h2 { font-size: var(--fattoria-h2-size-mobile); }
    h3 { font-size: var(--fattoria-h3-size-mobile); }
    h4 { font-size: var(--fattoria-h4-size-mobile); }
    h5 { font-size: var(--fattoria-h5-size-mobile); }
    h6 { font-size: var(--fattoria-h6-size-mobile); }
}
