/* FenceRVA custom overrides - modern look and page hero */

/* Fixed navbar: always solid so content doesn't show through when at top of page */
#navbar.navbar {
    z-index: 1030;
    background-color: #272a33 !important;
}

/* Navbar dropdown: readable text + clear hover state */
#navbar .dropdown-menu {
    background-color: #fff;
    border: none;
    border-radius: 10px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
    padding: 0.5rem 0;
    min-width: 220px;
}
#navbar .dropdown-menu .dropdown-item {
    color: #272a33 !important;
    padding: 0.6rem 1.25rem;
    font-weight: 500;
    transition: background-color 0.15s ease, color 0.15s ease, padding-left 0.15s ease;
    border-left: 3px solid transparent;
}
#navbar .dropdown-menu .dropdown-item:hover,
#navbar .dropdown-menu .dropdown-item:focus {
    background-color: rgba(238, 99, 82, 0.08);
    color: #ee6352 !important;
    border-left-color: #ee6352;
    padding-left: 1.5rem;
}
#navbar .dropdown-menu .dropdown-item:active {
    background-color: rgba(238, 99, 82, 0.12);
}

/* Base typography */
body {
    font-size: 16px;
    line-height: 1.6;
}

p {
    font-size: 1rem;
    line-height: 1.65;
}

/* Section titles - remove uppercase, reduce letter-spacing */
.section-title {
    text-transform: none;
    letter-spacing: 0.02em;
    font-size: 2rem;
    font-weight: 700;
}

/* Inner page headings */
h1, .h1 { font-size: 2.5rem; }
h2, .h2 { font-size: 1.75rem; }
h3, .h3 { font-size: 1.35rem; }

/* Page hero (inner pages) */
.page-hero {
    background: linear-gradient(135deg, #363795 0%, #005c97 100%);
    padding: 3rem 0 2.5rem;
}

.page-hero-title,
.page-hero h1 {
    font-size: 2.25rem;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    margin-bottom: 0.5rem;
}

.page-hero .lead {
    font-size: 1.15rem;
    opacity: 0.95;
}

/* Card hover effects */
.card {
    border-radius: 12px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.services-box {
    border-radius: 12px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.services-box:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

/* CTA sections */
.bg-light.rounded {
    border-radius: 12px !important;
}

/* Accordion styling */
.accordion-item {
    border-radius: 8px;
    margin-bottom: 0.5rem;
    overflow: hidden;
}

.accordion-button {
    font-weight: 500;
    padding: 1rem 1.25rem;
}

.accordion-body {
    padding: 1rem 1.25rem;
}

/* Form inputs - larger padding, rounded, focus */
.form-control {
    padding: 0.6rem 0.85rem;
    border-radius: 8px;
}

.form-control:focus {
    border-color: #ee6352;
    box-shadow: 0 0 0 0.2rem rgba(238, 99, 82, 0.25);
}

.form-label {
    font-weight: 500;
    margin-bottom: 0.5rem;
    color: #272a33;
}

/* Floating CTA animation (homepage) */
.floating-cta a {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); }
    50% { box-shadow: 0 4px 20px rgba(238, 99, 82, 0.5); }
}

/* Sticky CTA bar (desktop): show after scroll, hide when contact section in view */
.sticky-cta-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: white;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    padding: 12px 0;
    z-index: 999;
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

.sticky-cta-bar.visible {
    transform: translateY(0);
}
