Files
cv-site/static/css/01-foundation/_reset.css
T
juanatsap 3b6d5e781a feat: background photo system — random Lanzarote landscapes behind CV grid
Dev-only toggle button enables/disables photo backgrounds. Photos are
auto-discovered from static/images/backgrounds/ and randomly selected
on each page load. Production is unaffected — no button, no photo.
2026-04-25 14:46:33 +01:00

48 lines
1.4 KiB
CSS

/* ============================================================================
CSS RESET - Normalize & Base Styles
============================================================================ */
/* Box sizing reset */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* Body base */
body {
background-color: var(--page-bg, #d6d6d6);
background-image: var(--page-bg-pattern, none);
background-size: 40px 40px;
background-attachment: fixed;
max-width: 100vw; /* Prevent horizontal overflow */
overflow-x: clip; /* Clip prevents horizontal scroll WITHOUT breaking position: sticky */
}
/* Background photo layer — activated via JS in dev mode */
body.bg-photo {
background-image:
var(--page-bg-pattern, none),
linear-gradient(var(--page-bg-tint, rgba(214,214,214,0.85)), var(--page-bg-tint, rgba(214,214,214,0.85))),
var(--bg-photo-url, none);
background-size: auto, auto, cover;
background-position: 0 0, 0 0, center;
background-repeat: repeat, repeat, no-repeat;
background-attachment: fixed;
}
/* Smooth scrolling */
html {
scroll-behavior: smooth;
scroll-padding-top: 70px; /* Account for fixed header */
max-width: 100vw; /* Prevent horizontal overflow */
overflow-x: clip; /* Clip prevents horizontal scroll WITHOUT breaking position: sticky */
}
/* Ensure Iconify icons display properly */
.iconify,
iconify-icon {
display: inline-block;
vertical-align: middle;
}