/* sticky-footer scaffold /
html,body{height:100%;}
body{display:flex;flex-direction:column;}
main{flex:1;}
.footer{flex-shrink:0;padding:30px 0;text-align:center;font-size:.9rem;}
.footer p{margin-bottom:.5rem;}

/* sticky-footer scaffold */
html, body {height:100%;}                                   /* Full height for sticky footer */
body {display:flex; flex-direction:column;}                 /* Flex layout for vertical stacking */
main {flex:1;}                                              /* Main content expands to fill space */
.footer {
    flex-shrink:0;                                            /* Footer does not shrink */
    padding:30px 0;                                           /* Vertical padding */
    text-align:center;                                        /* Center text in footer */
    font-size:.9rem;                                          /* Slightly smaller text */
}
.footer p {margin-bottom:.5rem;}                            /* Space below footer paragraphs */

/* helpers & utility backgrounds */
.section-padding {padding:80px 0;}                          /* Large vertical padding for sections */
.bg-light {background:var(--light-color); color:var(--dark-color);}       /* Light background, dark text */
.bg-dark {background:var(--dark-color); color:var(--light-color);}        /* Dark background, light text */
.bg-dark h2, .bg-dark h3, .bg-dark h4 {color:var(--white-color);}         /* Headings always white on dark bg */
.bg-darker {background:var(--darker-color); color:rgba(255,255,255,.7);}  /* Even darker background, faded white text */

.text-white {color:var(--white-color);}                      /* Utility class for white text */
.text-primary {color:var(--primary-color);}                  /* Utility class for primary color text */
.text-accent {color:var(--accent-color);}                    /* Utility class for accent color text */

.bg-light h1,
.bg-light h2,
.bg-light h3,
.bg-light h4,
.bg-light p {
    color: var(--dark-color) !important;                     /* On light backgrounds, always use dark text for headings/paragraphs */
}
