@import url('https://fonts.googleapis.com/css2?family=Epilogue:wght@600;700;800&family=Manrope:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0');

:root {
  /* Colors */
  --surface: #f6f6f6;
  --surface-container-low: #f0f1f1;
  --surface-container: #e7e8e8;
  --surface-container-highest: #dbdddd;
  --surface-container-lowest: #ffffff;
  
  --on-surface: #2d2f2f;
  --on-surface-variant: #5a5c5c;
  --outline-variant: #acadad;
  --outline: #767777;

  --primary: #b50058;
  --primary-container: #ff709e;
  --on-primary: #ffffff;
  --on-primary-fixed: #000000;

  --secondary: #a33800;
  
  /* Typography */
  --font-headline: 'Epilogue', sans-serif;
  --font-body: 'Manrope', sans-serif;
  --font-label: 'Manrope', sans-serif;

  /* Elevations & Shadows */
  --shadow-ambient: 0px 10px 30px rgba(45, 47, 47, 0.06);
  --shadow-hover: 0px 15px 40px rgba(45, 47, 47, 0.1);
  --ghost-border: 1px solid rgba(118, 119, 119, 0.15); /* 15% outline */
  
  /* Radii */
  --radius-sm: 0.125rem;
  --radius-md: 0.375rem; /* For buttons */
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem; /* specific instruction for cards */
  --radius-full: 9999px;
}

/* Base Reset */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  width: 100%;
  min-height: 100vh;
  background-color: var(--surface);
  color: var(--on-surface);
  font-family: var(--font-body);
  line-height: 1.6;
  overflow-x: hidden;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
}

::selection {
  background-color: var(--primary-container);
  color: var(--on-primary-fixed);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
}

/* Material Icons Setup */
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
