﻿/* Wrapping element */
/* Set some basic padding to keep content from hitting the edges */
.body-content {
    margin-top: 25px;
    padding-left: 15px;
    padding-right: 15px;
}

/* Override the default bootstrap behavior where horizontal description lists 
   will truncate terms that are too long to fit in the left column 
*/
.dl-horizontal dt {
    white-space: normal;
}

/* Set widths on the form inputs since otherwise they're 100% wide */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="select"] {
    max-width: 280px;
}

/* Password field enhancements: show/hide toggle + caps-lock warning.
   Wired up by Scripts/Site.js — no markup changes needed on the .aspx side. */
.password-input-group {
    max-width: 280px;
}

.password-input-group .form-control {
    max-width: none;
}

.password-toggle {
    display: inline-flex;
    align-items: center;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.password-toggle .password-icon {
    vertical-align: -0.125em;
}

.password-caps-warning {
    max-width: 280px;
}

/* Navbar logo */
.navbar-logo {
    height: 40px;
    width: auto;
}

/* Hero section */
.lffc-hero {
    background-size: cover;
    background-position: center;
    border-radius: 8px;
    overflow: hidden;
    margin-top: -25px;
}

.lffc-hero-overlay {
    background: var(--lffc-hero-overlay, rgba(0, 0, 0, 0.6));
    padding: 80px 30px;
    text-align: center;
    color: #fff;
}

.lffc-hero-overlay h1 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 16px;
}

.lffc-hero-overlay .lead {
    font-size: 1.25rem;
    margin-bottom: 24px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* CTA strip on home page */
.lffc-cta-strip {
    background: var(--lffc-cta-gradient, #c0392b);
}

/* Menu card images */
.card-img-top {
    object-fit: cover;
    height: 200px;
}

/* Apply page form - allow wider inputs */
.card .form-control,
.card .form-select {
    max-width: none;
}

/* Footer links */
footer a {
    color: var(--lffc-text-muted, #555);
    text-decoration: none;
}

footer a:hover {
    color: var(--lffc-gold, #555);
    text-decoration: none;
}

/* Radio toggle pills — large click targets for Yes/No choices */
.radio-toggle input[type="radio"] {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
}

.radio-toggle label {
    display: inline-block;
    padding: 0.5rem 1.75rem;
    margin: 0 0.35rem 0 0;
    border: 2px solid #dee2e6;
    border-radius: 50px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.2s ease;
    user-select: none;
}

.radio-toggle label:hover {
    border-color: var(--lffc-gold, #c5a55a);
    background-color: rgba(197, 165, 90, 0.08);
}

.radio-toggle input[type="radio"]:checked + label {
    background-color: var(--lffc-brand, #c0392b);
    border-color: var(--lffc-brand, #c0392b);
    color: #fff;
}

.radio-toggle input[type="radio"]:focus + label {
    box-shadow: 0 0 0 0.25rem rgba(197, 165, 90, 0.25);
}

/* Responsive: Portrait tablets and up */
@media screen and (min-width: 768px) {
    .body-content {
        padding: 0;
    }

    .lffc-hero-overlay {
        padding: 120px 50px;
    }

    .lffc-hero-overlay h1 {
        font-size: 3rem;
    }
}
