/* Festou Design System — tokens MD3 (cores, tipografia, forma, elevação).
   Fonte: projeto de Design da Festou (tokens.json). Não edite valores soltos nas telas: use estas variáveis. */
:root, [data-theme="light"] {
  --primary: var(--ref-primary-40);
  --on-primary: var(--ref-primary-100);
  --primary-container: var(--ref-primary-90);
  --on-primary-container: var(--ref-primary-10);
  --secondary: var(--ref-secondary-40);
  --on-secondary: var(--ref-secondary-100);
  --secondary-container: var(--brand-teal);
  --on-secondary-container: var(--ref-secondary-10);
  --tertiary: var(--ref-tertiary-40);
  --on-tertiary: var(--ref-tertiary-100);
  --tertiary-container: var(--ref-tertiary-90);
  --on-tertiary-container: var(--ref-tertiary-10);
  --error: var(--ref-error-40);
  --on-error: var(--ref-error-100);
  --error-container: var(--ref-error-90);
  --on-error-container: var(--ref-error-10);
  --success: var(--ref-secondary-40);
  --success-container: var(--ref-secondary-90);
  --on-success-container: var(--ref-secondary-10);
  --warning: var(--ref-warning-40);
  --warning-container: var(--ref-warning-90);
  --on-warning-container: var(--ref-warning-10);
  --surface: var(--brand-white);
  --on-surface: var(--brand-ink);
  --on-surface-variant: var(--ref-neutral-variant-35);
  --surface-dim: var(--ref-neutral-87);
  --surface-bright: var(--ref-neutral-98);
  --surface-container-lowest: var(--ref-neutral-100);
  --surface-container-low: var(--brand-lavender);
  --surface-container: var(--brand-lavender-deep);
  --surface-container-high: var(--ref-neutral-87);
  --surface-container-highest: var(--ref-neutral-87);
  --decor-1: var(--brand-teal-soft);
  --decor-2: var(--brand-lilac);
  --outline: var(--ref-neutral-variant-50);
  --outline-variant: var(--ref-neutral-variant-80);
  --inverse-surface: var(--ref-neutral-20);
  --inverse-on-surface: var(--ref-neutral-95);
  --inverse-primary: var(--ref-primary-80);
  --scrim: var(--ref-neutral-0);
  --focus-ring: var(--primary);
  --brand-purple: #7f77bd;
  --brand-teal: #41b8b2;
  --brand-indigo: #5e62ac;
  --brand-ink: #514a70;
  --brand-white: #ffffff;
  --brand-lavender: #efedff;
  --brand-lavender-deep: #e1e0f0;
  --brand-lilac: #b7b3da;
  --brand-teal-soft: #96d5d3;
  --brand-black: #000000;
  --ref-primary-0: #000000;
  --ref-primary-10: #0b154d;
  --ref-primary-20: #282965;
  --ref-primary-30: #423f7f;
  --ref-primary-40: #5c5699;
  --ref-primary-50: #766fb4;
  --ref-primary-60: #9188cf;
  --ref-primary-70: #aca2ec;
  --ref-primary-80: #c9bfff;
  --ref-primary-90: #e5deff;
  --ref-primary-95: #f2efff;
  --ref-primary-99: #fcfcff;
  --ref-primary-100: #ffffff;
  --ref-secondary-0: #000000;
  --ref-secondary-10: #00201e;
  --ref-secondary-20: #003735;
  --ref-secondary-30: #00504d;
  --ref-secondary-40: #006a66;
  --ref-secondary-50: #008580;
  --ref-secondary-60: #1fa19b;
  --ref-secondary-70: #46bcb6;
  --ref-secondary-80: #66d8d2;
  --ref-secondary-90: #b2eee9;
  --ref-secondary-95: #c0fcf7;
  --ref-secondary-99: #f1fffe;
  --ref-secondary-100: #ffffff;
  --ref-tertiary-0: #000000;
  --ref-tertiary-10: #00174c;
  --ref-tertiary-20: #1a2a6c;
  --ref-tertiary-30: #374086;
  --ref-tertiary-40: #5258a0;
  --ref-tertiary-50: #6d70bb;
  --ref-tertiary-60: #8889d7;
  --ref-tertiary-70: #a4a3f4;
  --ref-tertiary-80: #c3c0ff;
  --ref-tertiary-90: #e2dfff;
  --ref-tertiary-95: #f1efff;
  --ref-tertiary-99: #fcfcff;
  --ref-tertiary-100: #ffffff;
  --ref-neutral-0: #000000;
  --ref-neutral-4: #0f0d15;
  --ref-neutral-6: #141219;
  --ref-neutral-10: #1c1b21;
  --ref-neutral-12: #201f25;
  --ref-neutral-17: #2b2930;
  --ref-neutral-20: #312f37;
  --ref-neutral-22: #35343b;
  --ref-neutral-24: #3a3840;
  --ref-neutral-30: #48464d;
  --ref-neutral-35: #535159;
  --ref-neutral-40: #5f5d65;
  --ref-neutral-50: #78767e;
  --ref-neutral-60: #928f98;
  --ref-neutral-70: #acaab3;
  --ref-neutral-80: #c7c5ce;
  --ref-neutral-87: #dbd9e2;
  --ref-neutral-90: #e3e1eb;
  --ref-neutral-92: #e9e7f0;
  --ref-neutral-94: #efedf6;
  --ref-neutral-95: #f2eff9;
  --ref-neutral-96: #f5f2fc;
  --ref-neutral-98: #faf8ff;
  --ref-neutral-99: #fdfcff;
  --ref-neutral-100: #ffffff;
  --ref-neutral-variant-0: #000000;
  --ref-neutral-variant-10: #1c1929;
  --ref-neutral-variant-20: #322e3f;
  --ref-neutral-variant-30: #484457;
  --ref-neutral-variant-35: #545063;
  --ref-neutral-variant-40: #605c6f;
  --ref-neutral-variant-50: #797489;
  --ref-neutral-variant-60: #938ea3;
  --ref-neutral-variant-70: #ada8be;
  --ref-neutral-variant-80: #c9c3da;
  --ref-neutral-variant-90: #e5dff6;
  --ref-neutral-variant-95: #f3eeff;
  --ref-neutral-variant-99: #fdfcff;
  --ref-neutral-variant-100: #ffffff;
  --ref-error-0: #000000;
  --ref-error-10: #390c00;
  --ref-error-20: #690000;
  --ref-error-30: #93000b;
  --ref-error-40: #b4271f;
  --ref-error-50: #d34535;
  --ref-error-60: #f3614d;
  --ref-error-70: #ff8a75;
  --ref-error-80: #ffb4a5;
  --ref-error-90: #ffdad3;
  --ref-error-95: #ffede9;
  --ref-error-99: #fffbfb;
  --ref-error-100: #ffffff;
  --ref-warning-0: #000000;
  --ref-warning-10: #261a00;
  --ref-warning-20: #422d00;
  --ref-warning-30: #5f4100;
  --ref-warning-40: #7d5700;
  --ref-warning-50: #9b6f15;
  --ref-warning-60: #b88931;
  --ref-warning-70: #d5a34b;
  --ref-warning-80: #f3be64;
  --ref-warning-90: #ffddaf;
  --ref-warning-95: #ffeed9;
  --ref-warning-99: #fffcf8;
  --ref-warning-100: #ffffff;
  --elevation-1: 0 1px 2px rgba(0,0,0,.30), 0 1px 3px 1px rgba(0,0,0,.15);
  --elevation-2: 0 1px 2px rgba(0,0,0,.30), 0 2px 6px 2px rgba(0,0,0,.15);
  --elevation-3: 0 1px 3px rgba(0,0,0,.30), 0 4px 8px 3px rgba(0,0,0,.15);
  --elevation-4: 0 2px 3px rgba(0,0,0,.30), 0 6px 10px 4px rgba(0,0,0,.15);
  --elevation-5: 0 4px 4px rgba(0,0,0,.30), 0 8px 12px 6px rgba(0,0,0,.15);
}
[data-theme="dark"] {
  --primary: var(--ref-primary-80);
  --on-primary: var(--ref-primary-20);
  --primary-container: var(--ref-primary-30);
  --on-primary-container: var(--ref-primary-90);
  --secondary: var(--ref-secondary-80);
  --on-secondary: var(--ref-secondary-20);
  --secondary-container: var(--ref-secondary-30);
  --on-secondary-container: var(--ref-secondary-90);
  --tertiary: var(--ref-tertiary-80);
  --on-tertiary: var(--ref-tertiary-20);
  --tertiary-container: var(--ref-tertiary-30);
  --on-tertiary-container: var(--ref-tertiary-90);
  --error: var(--ref-error-80);
  --on-error: var(--ref-error-20);
  --error-container: var(--ref-error-30);
  --on-error-container: var(--ref-error-90);
  --success: var(--ref-secondary-80);
  --success-container: var(--ref-secondary-30);
  --on-success-container: var(--ref-secondary-90);
  --warning: var(--ref-warning-80);
  --warning-container: var(--ref-warning-30);
  --on-warning-container: var(--ref-warning-90);
  --surface: var(--ref-neutral-6);
  --on-surface: var(--ref-neutral-90);
  --on-surface-variant: var(--ref-neutral-variant-80);
  --surface-dim: var(--ref-neutral-6);
  --surface-bright: var(--ref-neutral-24);
  --surface-container-lowest: var(--ref-neutral-4);
  --surface-container-low: var(--ref-neutral-10);
  --surface-container: var(--ref-neutral-12);
  --surface-container-high: var(--ref-neutral-17);
  --surface-container-highest: var(--ref-neutral-22);
  --decor-1: var(--ref-secondary-30);
  --decor-2: var(--ref-primary-30);
  --outline: var(--ref-neutral-variant-60);
  --outline-variant: var(--ref-neutral-variant-30);
  --inverse-surface: var(--ref-neutral-90);
  --inverse-on-surface: var(--ref-neutral-20);
  --inverse-primary: var(--ref-primary-40);
  --scrim: var(--ref-neutral-0);
  --focus-ring: var(--primary);
  --brand-purple: #7f77bd;
  --brand-teal: #41b8b2;
  --brand-indigo: #5e62ac;
  --brand-ink: #514a70;
  --brand-white: #ffffff;
  --brand-lavender: #efedff;
  --brand-lavender-deep: #e1e0f0;
  --brand-lilac: #b7b3da;
  --brand-teal-soft: #96d5d3;
  --brand-black: #000000;
  --ref-primary-0: #000000;
  --ref-primary-10: #0b154d;
  --ref-primary-20: #282965;
  --ref-primary-30: #423f7f;
  --ref-primary-40: #5c5699;
  --ref-primary-50: #766fb4;
  --ref-primary-60: #9188cf;
  --ref-primary-70: #aca2ec;
  --ref-primary-80: #c9bfff;
  --ref-primary-90: #e5deff;
  --ref-primary-95: #f2efff;
  --ref-primary-99: #fcfcff;
  --ref-primary-100: #ffffff;
  --ref-secondary-0: #000000;
  --ref-secondary-10: #00201e;
  --ref-secondary-20: #003735;
  --ref-secondary-30: #00504d;
  --ref-secondary-40: #006a66;
  --ref-secondary-50: #008580;
  --ref-secondary-60: #1fa19b;
  --ref-secondary-70: #46bcb6;
  --ref-secondary-80: #66d8d2;
  --ref-secondary-90: #b2eee9;
  --ref-secondary-95: #c0fcf7;
  --ref-secondary-99: #f1fffe;
  --ref-secondary-100: #ffffff;
  --ref-tertiary-0: #000000;
  --ref-tertiary-10: #00174c;
  --ref-tertiary-20: #1a2a6c;
  --ref-tertiary-30: #374086;
  --ref-tertiary-40: #5258a0;
  --ref-tertiary-50: #6d70bb;
  --ref-tertiary-60: #8889d7;
  --ref-tertiary-70: #a4a3f4;
  --ref-tertiary-80: #c3c0ff;
  --ref-tertiary-90: #e2dfff;
  --ref-tertiary-95: #f1efff;
  --ref-tertiary-99: #fcfcff;
  --ref-tertiary-100: #ffffff;
  --ref-neutral-0: #000000;
  --ref-neutral-4: #0f0d15;
  --ref-neutral-6: #141219;
  --ref-neutral-10: #1c1b21;
  --ref-neutral-12: #201f25;
  --ref-neutral-17: #2b2930;
  --ref-neutral-20: #312f37;
  --ref-neutral-22: #35343b;
  --ref-neutral-24: #3a3840;
  --ref-neutral-30: #48464d;
  --ref-neutral-35: #535159;
  --ref-neutral-40: #5f5d65;
  --ref-neutral-50: #78767e;
  --ref-neutral-60: #928f98;
  --ref-neutral-70: #acaab3;
  --ref-neutral-80: #c7c5ce;
  --ref-neutral-87: #dbd9e2;
  --ref-neutral-90: #e3e1eb;
  --ref-neutral-92: #e9e7f0;
  --ref-neutral-94: #efedf6;
  --ref-neutral-95: #f2eff9;
  --ref-neutral-96: #f5f2fc;
  --ref-neutral-98: #faf8ff;
  --ref-neutral-99: #fdfcff;
  --ref-neutral-100: #ffffff;
  --ref-neutral-variant-0: #000000;
  --ref-neutral-variant-10: #1c1929;
  --ref-neutral-variant-20: #322e3f;
  --ref-neutral-variant-30: #484457;
  --ref-neutral-variant-35: #545063;
  --ref-neutral-variant-40: #605c6f;
  --ref-neutral-variant-50: #797489;
  --ref-neutral-variant-60: #938ea3;
  --ref-neutral-variant-70: #ada8be;
  --ref-neutral-variant-80: #c9c3da;
  --ref-neutral-variant-90: #e5dff6;
  --ref-neutral-variant-95: #f3eeff;
  --ref-neutral-variant-99: #fdfcff;
  --ref-neutral-variant-100: #ffffff;
  --ref-error-0: #000000;
  --ref-error-10: #390c00;
  --ref-error-20: #690000;
  --ref-error-30: #93000b;
  --ref-error-40: #b4271f;
  --ref-error-50: #d34535;
  --ref-error-60: #f3614d;
  --ref-error-70: #ff8a75;
  --ref-error-80: #ffb4a5;
  --ref-error-90: #ffdad3;
  --ref-error-95: #ffede9;
  --ref-error-99: #fffbfb;
  --ref-error-100: #ffffff;
  --ref-warning-0: #000000;
  --ref-warning-10: #261a00;
  --ref-warning-20: #422d00;
  --ref-warning-30: #5f4100;
  --ref-warning-40: #7d5700;
  --ref-warning-50: #9b6f15;
  --ref-warning-60: #b88931;
  --ref-warning-70: #d5a34b;
  --ref-warning-80: #f3be64;
  --ref-warning-90: #ffddaf;
  --ref-warning-95: #ffeed9;
  --ref-warning-99: #fffcf8;
  --ref-warning-100: #ffffff;
  --elevation-1: 0 1px 2px rgba(0,0,0,.30), 0 1px 3px 1px rgba(0,0,0,.15);
  --elevation-2: 0 1px 2px rgba(0,0,0,.30), 0 2px 6px 2px rgba(0,0,0,.15);
  --elevation-3: 0 1px 3px rgba(0,0,0,.30), 0 4px 8px 3px rgba(0,0,0,.15);
  --elevation-4: 0 2px 3px rgba(0,0,0,.30), 0 6px 10px 4px rgba(0,0,0,.15);
  --elevation-5: 0 4px 4px rgba(0,0,0,.30), 0 8px 12px 6px rgba(0,0,0,.15);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --corner-none: 0px;
  --corner-xs: 4px;
  --corner-sm: 8px;
  --corner-md: 12px;
  --corner-lg: 16px;
  --corner-xl: 28px;
  --corner-full: 9999px;
  --state-hover: 0.08;
  --state-focus: 0.10;
  --state-pressed: 0.10;
  --disabled-content: 0.38;
  --disabled-container: 0.12;
  --scrim-opacity: 0.32;
  --bp-compact: 0px;
  --bp-medium: 600px;
  --bp-expanded: 840px;
  --bp-large: 1200px;
  --bp-extra-large: 1600px;
  --font-display: "Poetsen One", "Poppins", system-ui, sans-serif;
  --font-text: "Poppins", system-ui, sans-serif;
}
.display-large { font-family: var(--font-display); font-size: 57px; line-height: 64px; font-weight: 400; letter-spacing: -0.25px; }
.display-medium { font-family: var(--font-display); font-size: 45px; line-height: 52px; font-weight: 400; letter-spacing: 0; }
.display-small { font-family: var(--font-display); font-size: 36px; line-height: 44px; font-weight: 400; letter-spacing: 0; }
.headline-large { font-family: var(--font-display); font-size: 32px; line-height: 40px; font-weight: 400; letter-spacing: 0; }
.headline-medium { font-family: var(--font-display); font-size: 28px; line-height: 36px; font-weight: 400; letter-spacing: 0; }
.headline-small { font-family: var(--font-display); font-size: 24px; line-height: 32px; font-weight: 400; letter-spacing: 0; }
.title-large { font-family: var(--font-text); font-size: 22px; line-height: 28px; font-weight: 500; letter-spacing: 0; }
.title-medium { font-family: var(--font-text); font-size: 16px; line-height: 24px; font-weight: 500; letter-spacing: 0.15px; }
.title-small { font-family: var(--font-text); font-size: 14px; line-height: 20px; font-weight: 500; letter-spacing: 0.1px; }
.body-large { font-family: var(--font-text); font-size: 16px; line-height: 24px; font-weight: 400; letter-spacing: 0.5px; }
.body-medium { font-family: var(--font-text); font-size: 14px; line-height: 20px; font-weight: 400; letter-spacing: 0.25px; }
.body-small { font-family: var(--font-text); font-size: 12px; line-height: 16px; font-weight: 400; letter-spacing: 0.4px; }
.label-large { font-family: var(--font-text); font-size: 14px; line-height: 20px; font-weight: 500; letter-spacing: 0.1px; }
.label-medium { font-family: var(--font-text); font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: 0.5px; }
.label-small { font-family: var(--font-text); font-size: 11px; line-height: 16px; font-weight: 500; letter-spacing: 0.5px; }
@font-face { font-family: "Poppins"; font-weight: 400; src: url("../fonts/Poppins-Regular.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "Poppins"; font-weight: 500; src: url("../fonts/Poppins-Medium.ttf") format("truetype"); font-display: swap; }
