/* ========================================
   HAMMONDS MODERN REDESIGN - BASE STYLES
   Shared typography and base styles for all redesigned pages
   SCOPED to .new_design class to avoid affecting existing elements
   ======================================== */

/* === RESET & BASE === */
.new_design * {
    box-sizing: border-box !important;
}

.new_design {
    font-size: 1.35rem !important;
}

.new_design div, .new_design span, .new_design td, .new_design th, .new_design label {
    font-size: inherit;
}

/* === TYPOGRAPHY - HEADINGS === */
.new_design h1, .new_design .h1 {
    font-size: clamp(2.5rem, 5vw, 3.5rem) !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    line-height: 1.2 !important;
    margin-bottom: 1.5rem !important;
    margin-top: 0 !important;
}

.new_design h2, .new_design .h2 {
    font-size: clamp(2rem, 4vw, 2.5rem) !important;
    font-weight: 700 !important;
    color: #005cbb !important;
    line-height: 1.3 !important;
    margin-bottom: 1.25rem !important;
    margin-top: 0 !important;
}

.new_design h3, .new_design .h3 {
    font-size: clamp(1.5rem, 3vw, 1.875rem) !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    line-height: 1.4 !important;
    margin-bottom: 1rem !important;
    margin-top: 0 !important;
}

.new_design h4, .new_design .h4 {
    font-size: clamp(1.25rem, 2.5vw, 1.5rem) !important;
    font-weight: 600 !important;
    color: #2c2c2c !important;
    line-height: 1.4 !important;
    margin-bottom: 0.875rem !important;
    margin-top: 0 !important;
}

.new_design h5, .new_design .h5 {
    font-size: clamp(1.1rem, 2vw, 1.25rem) !important;
    font-weight: 600 !important;
    color: #2c2c2c !important;
    line-height: 1.5 !important;
    margin-bottom: 0.75rem !important;
    margin-top: 0 !important;
}

.new_design h6, .new_design .h6 {
    font-size: clamp(1rem, 1.5vw, 1.125rem) !important;
    font-weight: 600 !important;
    color: #2c2c2c !important;
    line-height: 1.5 !important;
    margin-bottom: 0.5rem !important;
    margin-top: 0 !important;
}

/* === TYPOGRAPHY - BODY TEXT === */
.new_design p, .new_design .text-body {
    font-size: 1.35rem !important;
    line-height: 1.8 !important;
    color: #2c2c2c !important;
    margin-bottom: 1.25rem !important;
    margin-top: 0 !important;
    font-weight: 400 !important;
}

/* === TYPOGRAPHY - TEXT EMPHASIS === */
.new_design strong, .new_design b, .new_design .text-bold {
    font-weight: 700 !important;
    color: #1a1a1a !important;
}

.new_design em, .new_design i, .new_design .text-italic {
    font-style: italic !important;
}

/* === TYPOGRAPHY - LINKS === */
.new_design a {
    color: #005cbb !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.new_design a:hover {
    color: #00a8e8 !important;
    text-decoration: underline !important;
}

/* === TYPOGRAPHY - LISTS === */
.new_design ul, .new_design ol {
    font-size: 1.35rem !important;
    line-height: 1.8 !important;
    color: #2c2c2c !important;
    margin-bottom: 1.25rem !important;
    padding-left: 1.5rem !important;
}

.new_design li {
    margin-bottom: 0.5rem !important;
}

/* === BRAND COLORS === */
.new_design .text-primary {
    color: #005cbb !important;
}

.new_design .text-secondary {
    color: #00a8e8 !important;
}

.new_design .text-accent {
    color: #ffd700 !important;
}

.new_design .text-dark {
    color: #1a1a1a !important;
}

.new_design .text-muted {
    color: #6c757d !important;
}

.new_design .text-white {
    color: #ffffff !important;
}

/* === BACKGROUND COLORS === */
.new_design .bg-primary {
    background-color: #005cbb !important;
}

.new_design .bg-secondary {
    background-color: #00a8e8 !important;
}

.new_design .bg-accent {
    background-color: #ffd700 !important;
}

.new_design .bg-dark {
    background-color: #1a1a1a !important;
}

.new_design .bg-light {
    background-color: #f8f9fa !important;
}

.new_design .bg-white {
    background-color: #ffffff !important;
}

/* === CONTAINERS & LAYOUT === */
.new_design .new-container,
.new_design .container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    width: 100% !important;
}

.new_design .container-fluid {
    width: 100% !important;
    padding: 0 20px !important;
}

/* === SPACING UTILITIES === */
.new_design .section {
    padding: 80px 0 !important;
}

.new_design .section-sm {
    padding: 50px 0 !important;
}

.new_design .section-lg {
    padding: 120px 0 !important;
}

/* === TEXT ALIGNMENT === */
.new_design .text-center {
    text-align: center !important;
}

.new_design .text-left {
    text-align: left !important;
}

.new_design .text-right {
    text-align: right !important;
}

/* === DISPLAY UTILITIES === */
.new_design .d-block {
    display: block !important;
}

.new_design .d-inline {
    display: inline !important;
}

.new_design .d-inline-block {
    display: inline-block !important;
}

.new_design .d-flex {
    display: flex !important;
}

.new_design .d-grid {
    display: grid !important;
}

/* === RESPONSIVE TYPOGRAPHY === */
@media (max-width: 992px) {
    .new_design h1, .new_design .h1 {
        font-size: clamp(2rem, 5vw, 2.75rem) !important;
    }
    
    .new_design h2, .new_design .h2 {
        font-size: clamp(1.75rem, 4vw, 2.25rem) !important;
    }
    
    .new_design .section {
        padding: 60px 0 !important;
    }
}

@media (max-width: 768px) {
    .new_design h1, .new_design .h1 {
        font-size: clamp(1.75rem, 5vw, 2.25rem) !important;
    }
    
    .new_design h2, .new_design .h2 {
        font-size: clamp(1.5rem, 4vw, 2rem) !important;
    }
    
    .new_design h3, .new_design .h3 {
        font-size: clamp(1.25rem, 3vw, 1.625rem) !important;
    }
    
    .new_design p, .new_design .text-body, .new_design ul, .new_design ol {
        font-size: 1.25rem !important;
    }
    
    .new_design .section {
        padding: 40px 0 !important;
    }
    
    .new_design .new-container, .new_design .container, .new_design .container-fluid {
        padding: 0 15px !important;
    }
}

@media (max-width: 480px) {
    .new_design h1, .new_design .h1 {
        font-size: 1.75rem !important;
    }
    
    .new_design h2, .new_design .h2 {
        font-size: 1.5rem !important;
    }
    
    .new_design .section {
        padding: 30px 0 !important;
    }
}

