/**
 * Semantic Heading Classes
 * Replacement styles for H2-H6 tags converted to div elements
 *
 * @package Better_Call_Moving
 * @since 1.0.0
 */

/* Section Level Headings */
.section-title {
    font-size: 2rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
    line-height: 1.2;
}

/* Section Title Center Alignment */
.section-title-center {
    text-align: center;
}

.section-title-center .section-subtitle,
.section-title-center .section-title,
.section-title-center p {
    text-align: center;
}

.section-subtitle {
    font-size: 1rem;
    font-weight: 400;
    color: #565969;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.section-heading {
    font-size: 1.75rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 20px;
    line-height: 1.3;
}

/* Block Level Headings */
.block-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 15px;
    line-height: 1.4;
}

.item-title {
    font-size: 1rem;
    font-weight: 500;
    color: #333;
    margin-bottom: 10px;
    line-height: 1.4;
}

/* Specific styles for item-title in service-info section */
.service-info .item-title {
    font-size: 2rem;
    font-weight: 600;
}

.small-title {
    font-size: 1rem;
    font-weight: 500;
    color: #333;
    margin-bottom: 8px;
    line-height: 1.4;
}

/* Specific Context Headings */
.widget-title {
    font-size: 1rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #dc3545;
}

.footer-section-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.team-member-name {
    font-size: 1.1rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.team-member-name a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.team-member-name a:hover {
    color: #dc3545;
}

.service-title {
    font-size: 2rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
    line-height: 1.3;
}

.post-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 15px;
    line-height: 1.3;
}

.post-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.post-title a:hover {
    color: #dc3545;
}

.post-item-title {
    font-size: 1rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 10px;
    line-height: 1.3;
}

.post-item-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.post-item-title a:hover {
    color: #dc3545;
}

.no-results-title {
    font-size: 1.75rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 20px;
    text-align: center;
}

/* Author Box Heading */
.author-name {
    font-size: 1rem;
    font-weight: 600;
    color: #333;
    margin: 0 0 5px 0;
}

/* Page and Special Titles */
.page-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 30px;
    line-height: 1.2;
}

.local-moving-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #333;
    line-height: 1.2;
    margin-bottom: 20px;
}

.error-title {
    font-size: 3rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 30px;
    text-align: center;
    line-height: 1.1;
}

/* Hero Section Titles */
.hero-title {
    font-size: 3rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
    line-height: 1.1;
}

.hero-subtitle {
    font-size: 1.25rem;
    font-weight: 500;
    color: #666;
    margin-bottom: 30px;
    line-height: 1.4;
}

/* General subtitle styles for all sections and blocks except special cases */
.subtitle,
.cta-subtitle,
.price-table-subtitle {
    font-size: 1rem;
    font-weight: 400;
    color: #565969;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Page Builder Blocks - Universal subtitle styles */
[class*="-section"] .section-subtitle,
[class*="-block"] .section-subtitle,
.page-builder-section .section-subtitle,
.flexible-content .section-subtitle {
    font-size: 1rem;
    font-weight: 400;
    color: #565969;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Form and Contact Titles */
.contact-title {
    font-size: 1.75rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 20px;
    line-height: 1.3;
}

.form-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 15px;
    line-height: 1.3;
}

/* Quote Section Titles */
.quote-title {
    font-size: 2rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
    line-height: 1.2;
}

.quote-subtitle {
    font-size: 1.1rem;
    font-weight: 500;
    color: #666;
    margin-bottom: 15px;
    line-height: 1.4;
}

/* Navigation Titles */
.mega-menu-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Pricing and Plan Titles */
.price-table-title {
    font-size: 1rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 15px;
    line-height: 1.3;
}

.plan-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 10px;
    line-height: 1.3;
}

/* Popup Titles */
.popup-subtitle {
    font-size: 1rem;
    font-weight: 400;
    color: #666;
    margin-bottom: 20px;
    line-height: 1.4;
}

/* Member and Content Titles */
.member-name {
    font-size: 1.1rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
    line-height: 1.3;
}

.route-title {
    font-size: 1rem;
    font-weight: 500;
    color: #333;
    margin-bottom: 8px;
    line-height: 1.3;
}

.story-title {
    font-size: 1rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 15px;
    line-height: 1.3;
}

.ratings-title {
    font-size: 1.75rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 20px;
    line-height: 1.3;
}

/* Responsive Design */
@media (max-width: 768px) {
    .section-title {
        font-size: 1.75rem;
        margin-bottom: 15px;
    }

    .section-subtitle {
        font-size: 1rem;
        font-weight: 400;
        color: #565969;
        margin-bottom: 12px;
    }

    .section-heading {
        font-size: 1.5rem;
        margin-bottom: 15px;
    }

    .block-title {
        font-size: 1rem;
        margin-bottom: 12px;
    }

    .post-title {
        font-size: 1rem;
        margin-bottom: 12px;
    }

    .widget-title {
        font-size: 1rem;
        margin-bottom: 15px;
    }

    .page-title {
        font-size: 2rem;
        margin-bottom: 20px;
    }

    .local-moving-title {
        font-size: 2rem;
        margin-bottom: 15px;
    }

    .error-title {
        font-size: 2.5rem;
        margin-bottom: 20px;
    }

    .hero-title {
        font-size: 2.5rem;
        margin-bottom: 15px;
    }

    .hero-subtitle {
        font-size: 1.25rem;
        margin-bottom: 20px;
    }

    .contact-title {
        font-size: 1.5rem;
        margin-bottom: 15px;
    }

    .form-title {
        font-size: 1rem;
        margin-bottom: 12px;
    }

    .quote-title {
        font-size: 1.75rem;
        margin-bottom: 15px;
    }

    .ratings-title {
        font-size: 1.5rem;
        margin-bottom: 15px;
    }

    /* Page Builder Blocks - Mobile styles */
    [class*="-section"] .section-subtitle,
    [class*="-block"] .section-subtitle,
    .page-builder-section .section-subtitle,
    .flexible-content .section-subtitle {
        font-size: 1rem;
        font-weight: 400;
        color: #565969;
        margin-bottom: 12px;
    }
}

@media (max-width: 480px) {
    .section-title {
        font-size: 1.5rem;
        margin-bottom: 12px;
    }

    .section-subtitle {
        font-size: 1rem;
        font-weight: 400;
        color: #565969;
        margin-bottom: 10px;
    }

    .section-heading {
        font-size: 1rem;
        margin-bottom: 12px;
    }

    .block-title {
        font-size: 1rem;
        margin-bottom: 10px;
    }

    .post-title {
        font-size: 1rem;
        margin-bottom: 10px;
    }

    .page-title {
        font-size: 1.75rem;
        margin-bottom: 15px;
    }

    .local-moving-title {
        font-size: 1.75rem;
        margin-bottom: 12px;
    }

    .error-title {
        font-size: 2rem;
        margin-bottom: 15px;
    }

    .hero-title {
        font-size: 2rem;
        margin-bottom: 12px;
    }

    .hero-subtitle {
        font-size: 1.25rem;
        margin-bottom: 15px;
    }

    .contact-title {
        font-size: 1rem;
        margin-bottom: 12px;
    }

    .form-title {
        font-size: 1rem;
        margin-bottom: 10px;
    }

    .quote-title {
        font-size: 1.5rem;
        margin-bottom: 12px;
    }

    .ratings-title {
        font-size: 1rem;
        margin-bottom: 12px;
    }

    /* Page Builder Blocks - Small mobile styles */
    [class*="-section"] .section-subtitle,
    [class*="-block"] .section-subtitle,
    .page-builder-section .section-subtitle,
    .flexible-content .section-subtitle {
        font-size: 1rem;
        font-weight: 400;
        color: #565969;
        margin-bottom: 10px;
    }
}