/**
 * Rezivoo Theme Typography
 * 
 * Global typography system with responsive font sizes
 */

/* Set global font as default - dynamically set via PHP */
body,
button,
input,
select,
textarea,
.elementor-widget,
.elementor-element {
	font-family: var(--rezivoo-global-font, 'Afacad'), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

/* Base font size - Body (16px = 1rem) */
body {
	font-size: 1rem; /* 16px */
	line-height: 1.6;
}

/* Title 1 (64px desktop to 48px mobile) - Maps to H1 */
h1,
.title-1,
.elementor-heading-title[data-elementor-setting-key="title"][data-size="title-1"],
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title[data-heading-tag="h1"],
.elementor-heading-title.elementor-size-title-1 {
	font-size: clamp(3rem, 2.5385rem + 2.0513vw, 4rem) !important; /* 48px to 64px */
	line-height: 1.2;
	font-weight: 700;
	font-family: var(--rezivoo-global-font, 'Afacad'), sans-serif;
}

/* Title 2 (48px to 38.4px) - Maps to H2 */
h2,
.title-2,
.elementor-heading-title[data-elementor-setting-key="title"][data-size="title-2"],
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title[data-heading-tag="h2"],
.elementor-heading-title.elementor-size-title-2 {
	font-size: clamp(2.4rem, 2.1231rem + 1.2308vw, 3rem) !important; /* 38.4px to 48px */
	line-height: 1.2;
	font-weight: 700;
	font-family: var(--rezivoo-global-font, 'Afacad'), sans-serif;
}

/* Title 3 (40px to 33.6px) - Maps to H3 */
h3,
.title-3,
.elementor-heading-title[data-elementor-setting-key="title"][data-size="title-3"],
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title[data-heading-tag="h3"],
.elementor-heading-title.elementor-size-title-3 {
	font-size: clamp(2.1rem, 1.9154rem + 0.8205vw, 2.5rem) !important; /* 33.6px to 40px */
	line-height: 1.3;
	font-weight: 600;
	font-family: var(--rezivoo-global-font, 'Afacad'), sans-serif;
}

/* Title 4 (32px to 28.8px) - Maps to H4 */
h4,
.title-4,
.elementor-heading-title[data-elementor-setting-key="title"][data-size="title-4"],
.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title[data-heading-tag="h4"],
.elementor-heading-title.elementor-size-title-4 {
	font-size: clamp(1.8rem, 1.7077rem + 0.4103vw, 2rem) !important; /* 28.8px to 32px */
	line-height: 1.3;
	font-weight: 600;
	font-family: var(--rezivoo-global-font, 'Afacad'), sans-serif;
}

/* Title 5 (28px to 25.6px) - Maps to H5 */
h5,
.title-5,
.elementor-heading-title[data-elementor-setting-key="title"][data-size="title-5"],
.elementor-widget-heading h5.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title[data-heading-tag="h5"],
.elementor-heading-title.elementor-size-title-5 {
	font-size: clamp(1.6rem, 1.5308rem + 0.3077vw, 1.75rem) !important; /* 25.6px to 28px */
	line-height: 1.4;
	font-weight: 600;
	font-family: var(--rezivoo-global-font, 'Afacad'), sans-serif;
}

/* Title 6 (24px to 22.4px) - Maps to H6 */
h6,
.title-6,
.elementor-heading-title[data-elementor-setting-key="title"][data-size="title-6"],
.elementor-widget-heading h6.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title[data-heading-tag="h6"],
.elementor-heading-title.elementor-size-title-6 {
	font-size: clamp(1.4rem, 1.3538rem + 0.2051vw, 1.5rem) !important; /* 22.4px to 24px */
	line-height: 1.4;
	font-weight: 600;
	font-family: var(--rezivoo-global-font, 'Afacad'), sans-serif;
}

/* Title 7 (20px to 19.2px) */
.title-7,
.elementor-heading-title[data-elementor-setting-key="title"][data-size="title-7"] {
	font-size: clamp(1.2rem, 1.1769rem + 0.1026vw, 1.25rem); /* 19.2px to 20px */
	line-height: 1.4;
	font-weight: 500;
}

/* Subheading (19.2px = 1.2rem) */
.subheading,
.elementor-heading-title[data-elementor-setting-key="title"][data-size="subheading"] {
	font-size: 1.2rem; /* 19.2px */
	line-height: 1.5;
	font-weight: 500;
}

/* Body (16px = 1rem) */
p,
body,
.elementor-text-editor {
	font-size: 1rem; /* 16px */
	line-height: 1.6;
	font-weight: 400;
}

/* Body Bold (16px = 1rem, bold) */
strong,
b,
.body-bold {
	font-size: 1rem; /* 16px */
	line-height: 1.6;
	font-weight: 700;
}

/* Body Big (18px = 1.125rem) */
.body-big,
.elementor-text-editor[data-size="body-big"] {
	font-size: 1.125rem; /* 18px */
	line-height: 1.6;
	font-weight: 400;
}

/* Body Small (14px = 0.875rem) */
small,
.body-small,
.elementor-text-editor[data-size="body-small"] {
	font-size: 0.875rem; /* 14px */
	line-height: 1.5;
	font-weight: 400;
}

/* Apply to common WordPress elements */
.entry-title,
.page-title,
.post-title {
	font-size: clamp(2.1rem, 1.9154rem + 0.8205vw, 2.5rem); /* Title 3 */
}

.entry-content,
.entry-excerpt {
	font-size: 1rem; /* Body */
}

/* Apply to Digital Menu items */
.digital-menu-item .entry-title {
	font-size: clamp(1.8rem, 1.7077rem + 0.4103vw, 2rem); /* Title 4 */
}

.digital-menu-item .entry-excerpt {
	font-size: 0.875rem; /* Body Small */
}

/* Site branding */
.site-title {
	font-size: clamp(1.8rem, 1.7077rem + 0.4103vw, 2rem); /* Title 4 */
	font-weight: 700;
}

.site-description {
	font-size: 0.875rem; /* Body Small */
}

/* Navigation */
.main-navigation a {
	font-size: 1rem; /* Body */
	font-weight: 500;
}

/* Buttons and links */
button,
.button,
.wp-block-button__link,
.elementor-button {
	font-size: 1rem; /* Body */
	font-weight: 600;
	font-family: var(--rezivoo-global-font, 'Afacad'), sans-serif;
}

/* Form elements */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="date"],
textarea,
select {
	font-size: 1rem; /* Body */
	font-family: var(--rezivoo-global-font, 'Afacad'), sans-serif;
}

/* Ensure Elementor headings use our typography */
.elementor-heading-title {
	font-family: var(--rezivoo-global-font, 'Afacad'), sans-serif;
}

/* Ensure all Elementor heading widgets respect HTML tag mapping */
.elementor-widget-heading .elementor-heading-title {
	font-family: var(--rezivoo-global-font, 'Afacad'), sans-serif;
}

/* Additional Elementor heading selectors for HTML tag support */
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4,
.elementor-widget-heading h5,
.elementor-widget-heading h6 {
	font-family: var(--rezivoo-global-font, 'Afacad'), sans-serif;
}

/* Override Elementor's default heading sizes to use our Title system */
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title[data-heading-tag="h1"],
.elementor-widget-heading .elementor-heading-title.elementor-size-default[data-heading-tag="h1"] {
	font-size: clamp(3rem, 2.5385rem + 2.0513vw, 4rem) !important; /* Title 1 */
	line-height: 1.2 !important;
	font-weight: 700 !important;
}

.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title[data-heading-tag="h2"],
.elementor-widget-heading .elementor-heading-title.elementor-size-default[data-heading-tag="h2"] {
	font-size: clamp(2.4rem, 2.1231rem + 1.2308vw, 3rem) !important; /* Title 2 */
	line-height: 1.2 !important;
	font-weight: 700 !important;
}

.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title[data-heading-tag="h3"],
.elementor-widget-heading .elementor-heading-title.elementor-size-default[data-heading-tag="h3"] {
	font-size: clamp(2.1rem, 1.9154rem + 0.8205vw, 2.5rem) !important; /* Title 3 */
	line-height: 1.3 !important;
	font-weight: 600 !important;
}

.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title[data-heading-tag="h4"],
.elementor-widget-heading .elementor-heading-title.elementor-size-default[data-heading-tag="h4"] {
	font-size: clamp(1.8rem, 1.7077rem + 0.4103vw, 2rem) !important; /* Title 4 */
	line-height: 1.3 !important;
	font-weight: 600 !important;
}

.elementor-widget-heading h5.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title[data-heading-tag="h5"],
.elementor-widget-heading .elementor-heading-title.elementor-size-default[data-heading-tag="h5"] {
	font-size: clamp(1.6rem, 1.5308rem + 0.3077vw, 1.75rem) !important; /* Title 5 */
	line-height: 1.4 !important;
	font-weight: 600 !important;
}

.elementor-widget-heading h6.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title[data-heading-tag="h6"],
.elementor-widget-heading .elementor-heading-title.elementor-size-default[data-heading-tag="h6"] {
	font-size: clamp(1.4rem, 1.3538rem + 0.2051vw, 1.5rem) !important; /* Title 6 */
	line-height: 1.4 !important;
	font-weight: 600 !important;
}

/* Widget titles */
.widget-title {
	font-size: clamp(1.6rem, 1.5308rem + 0.3077vw, 1.75rem); /* Title 5 */
	font-weight: 600;
}

/* QR Menu widget specific typography */
.qr-menu-item-title {
	font-size: clamp(2.1rem, 1.9154rem + 0.8205vw, 2.5rem); /* Title 3 */
	font-weight: 600;
	font-family: var(--rezivoo-global-font, 'Afacad'), sans-serif;
}

.qr-menu-item-price {
	font-size: clamp(1.6rem, 1.5308rem + 0.3077vw, 1.75rem); /* Title 5 */
	font-weight: 600;
	font-family: var(--rezivoo-global-font, 'Afacad'), sans-serif;
}

