/* ------------------------------------------------------------
   Typography system for WPBakery / Hestia-like theme
   - Base: 16px root, 18px body
   - Everything else uses rem via CSS variables
   - WooCommerce/product rules removed (not used)
------------------------------------------------------------ */

/* 1) Base */
html { font-size: 16px; }
body { 
    font-size: 1.125rem; /* 18px */
    color: #505050;
} 

/* 2) Type scale (desktop) */
:root{
	/* Base sizes */
	--fs-nav: 0.875rem;     /* 14px */
	--fs-body: 1.125rem;    /* 18px */
	--fs-body-sm: 1rem;     /* 16px */
	--fs-small: 0.875rem;   /* 14px */
	--fs-xs: 0.75rem;       /* 12px */

	/* Headings / titles */
	--fs-hero: 4.1875rem;   /* 67px (carousel hero) */
	--fs-h1: 2.625rem;      /* 42px */
	--fs-h2: 2.3125rem;     /* 37px */
	--fs-h3: 2rem;          /* 32px */
	--fs-h4: 1.6875rem;     /* 27px */
	--fs-h5: 1.4375rem;     /* 23px */
	--fs-h6: 1.125rem;      /* 18px */

	/* Component-ish sizes */
	--fs-subtitle: 1.125rem;     /* 18px */
	--fs-section-title: 1.6875rem;/* 27px */
	--fs-card-title: 1.5625rem;  /* 25px */
	--fs-mini-title: 1.125rem;   /* 18px */

	/* Special cases */
	--fs-header-small: 1.625rem; /* 26px */
}

/* 3) Type scale (mobile) */
@media (max-width: 768px){
	:root{
		--fs-h1: 1.875rem;    /* 30px */
		--fs-h2: 1.75rem;     /* 28px */
		--fs-h3: 1.5rem;      /* 24px */
		--fs-h4: 1.375rem;    /* 22px */
		--fs-h5: 1.25rem;     /* 20px */
		--fs-h6: 1.125rem;    /* 18px */

		--fs-body: 1rem;      /* 16px */
		--fs-hero: 2.25rem;   /* 36px */
		--fs-header-small: 1.625rem; /* keep 26px */
	}
}

/* Navigation */
.navbar a { font-size: var(--fs-nav); }
.navbar .navbar-nav > li > a {
    font-weight: 800;
}

/* Carousel */
.carousel .hestia-title { font-size: var(--fs-hero); }
.carousel span.sub-title { font-size: var(--fs-subtitle); }

/* Header small (mobile override already handled by vars) */
.page-header.header-small .hestia-title,
.page-header.header-small .title { font-size: var(--fs-header-small); }

/* Hestia “title” variants */
.hestia-title.title-in-content { font-size: var(--fs-h1); }

/* Generic headings */
h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }
h4 { font-size: var(--fs-h4); }
h5 { font-size: var(--fs-h5); }
h6 { font-size: var(--fs-h6); }

/* Theme-specific heading selectors */
h2.hestia-title,
h2.title { font-size: var(--fs-h2); }

h1.hestia-title { font-size: var(--fs-h1); }

/* Section titles (comments + subscribe line) */
#comments .hestia-title,
.subscribe-line h3.hestia-title {
	font-size: var(--fs-section-title);
}

/* Descriptions */
h5.description,
h5.subscribe-description { font-size: var(--fs-subtitle); }

.subscribe-line .description { font-size: var(--fs-small); }

/* Cards / widgets / info blocks */
.hestia-work .card-title { font-size: var(--fs-h5); }

.footer .widget h5,
.hestia-info h4.info-title,
h4.card-title,
section.contactus h4.hestia-title {
	font-size: var(--fs-mini-title);
}

/* Blog card titles */
.archive .card-blog .card-title,
.blog .card-blog .card-title,
.blog .hestia-blog-featured-card .card-title {
	font-size: var(--fs-card-title);
}

/* Category label */
h6.category { font-size: var(--fs-xs); }

/* Body-ish text blocks */
.card-description,
section.pricing p.text-gray {
	font-size: var(--fs-small);
}

.hestia-features .hestia-info p {
	font-size: 1rem; /* 16px stays a useful “standard paragraph” size */
}

/* Content area typography (WPBakery / pages / posts) */
.page-content-wrap,
.page-content-wrap dl,
.page-content-wrap ol,
.page-content-wrap table,
.page-content-wrap ul,
.page-template-template-fullwidth article,
.page-template-template-fullwidth article dl,
.page-template-template-fullwidth article ol,
.page-template-template-fullwidth article table,
.page-template-template-fullwidth article ul,
.single-post-wrap,
.single-post-wrap dl,
.single-post-wrap ol,
.single-post-wrap table,
.single-post-wrap ul {
	font-size: var(--fs-body);
}

/* Content headings inside common wrappers */
.page-content-wrap h1,
.single-post-wrap h1 { font-size: var(--fs-h1); }

.page-content-wrap h2,
.single-post-wrap h2 { font-size: var(--fs-h2); }

.page-content-wrap h3,
.single-post-wrap h3 { font-size: var(--fs-h3); }

.page-content-wrap h4,
.single-post-wrap h4 { font-size: var(--fs-h4); }

.page-content-wrap h5,
.single-post-wrap h5 { font-size: var(--fs-h5); }

.page-content-wrap h6,
.single-post-wrap h6 { font-size: var(--fs-h6); }

.wpb_gmaps_widget .wpb_wrapper {
    background-color: revert !important;
}

.vc_section > .wpb_row {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 2rem;
}

.perex {
    font-size: 1.5rem;
}