Files
kmtnflower/src/styles.scss
T

146 lines
2.9 KiB
SCSS

// ===== Global style entry point ======
// All SCSS partials are imported here. To change the color scheme,
// only edit _variables.scss — every component inherits from it.
@use './styles/variables' as *;
@use './styles/mixins' as *;
@use './styles/themes';
// Leaflet CSS for the visitor stats map
@import 'leaflet/dist/leaflet.css';
// ===== Base reset and global styles =====
*,
*::before,
*::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
font-size: 16px;
scroll-behavior: smooth;
}
body {
font-family: var(--font-primary);
color: var(--color-dark);
background-color: var(--color-cream);
line-height: 1.6;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-heading);
color: var(--color-primary);
line-height: 1.2;
margin-bottom: $spacing-md;
}
h1 { font-size: 2.8rem; }
h2 { font-size: 2.2rem; }
h3 { font-size: 1.6rem; }
a {
color: var(--color-accent);
text-decoration: none;
transition: color $transition-fast;
&:hover {
color: var(--color-accent-dark);
text-decoration: underline;
}
}
img, svg {
max-width: 100%;
height: auto;
display: block;
}
// Utility classes
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 $spacing-lg;
}
.text-center { text-align: center; }
.text-accent { color: var(--color-accent); }
.section-intro {
max-width: 700px;
margin: 0 auto $spacing-2xl;
text-align: center;
font-size: 1.1rem;
color: var(--color-medium);
}
.btn {
background: var(--color-accent);
color: var(--color-white);
border: none;
border-radius: $radius-md;
padding: $spacing-sm $spacing-lg;
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: background $transition-fast, transform $transition-fast;
display: inline-flex;
align-items: center;
gap: $spacing-xs;
text-decoration: none;
font-family: var(--font-primary);
letter-spacing: 0.02em;
&:hover {
background: var(--color-accent-dark);
transform: translateY(-1px);
}
&:active {
transform: translateY(0);
}
}
.btn-secondary {
background: var(--color-primary);
color: var(--color-white);
border: none;
border-radius: $radius-md;
padding: $spacing-sm $spacing-lg;
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: background $transition-fast, transform $transition-fast;
&:hover {
background: var(--color-primary-dark);
transform: translateY(-1px);
}
&:active {
transform: translateY(0);
}
}
.btn-outline {
background: transparent;
border: 2px solid var(--color-accent);
color: var(--color-accent);
border-radius: $radius-md;
padding: $spacing-sm $spacing-lg;
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: background $transition-fast, color $transition-fast;
&:hover {
background: var(--color-accent);
color: var(--color-white);
}
}