html {
    scroll-behavior: smooth !important;
}

/* Global Font Settings */
body, p, a, span, div, li, td, th {
    font-family: 'Montserrat', sans-serif;
}

h1, h2, h3, h4, h5, h6, 
.elementor-heading-title, 
.entry-title, 
.page-title {
    font-family: 'Cormorant Garamond', serif !important;
}

/* Smooth image reveal */
.elementor-widget-image img {
    transition: transform 1.2s ease;
}

.elementor-widget-image img:hover {
    transform: scale(1.03);
}

/* Make FAQ Questions Darker Black */
.elementor-widget-toggle .elementor-toggle-title,
.elementor-widget-accordion .elementor-accordion-title,
.elementor-toggle .elementor-tab-title {
    color: #111111 !important;
    font-weight: 600;
}

/* Layout overrides to force full width and remove theme constraints */
body, html {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

.elementor-page {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.elementor-section-wrap,
.elementor-container,
.e-con,
.e-con-inner,
.elementor-location-header,
.elementor-location-footer {
    max-width: 100vw !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Hide default theme titles and entry headers */
.entry-title,
.page-title,
.post-title,
.site-main > header.entry-header {
    display: none !important;
}
