/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* ============================================
   CSS Clamp() Fluid Responsive System
   Font: Poppins | Viewport: 320px — 1200px
   RVTrekkers.com
   ============================================ */

/* ------------------------------------
   CSS Custom Properties
   ------------------------------------ */
:root {
	/* --- Typography --- */
	--fs-body: clamp(0.938rem, 0.893rem + 0.23vw, 1.063rem);
	/* 15px → 17px */
	--fs-h1: clamp(1.75rem, 1.432rem + 1.59vw, 2.625rem);
	/* 28px → 42px */
	--fs-h2: clamp(1.375rem, 1.193rem + 0.91vw, 1.875rem);
	/* 22px → 30px */
	--fs-h3: clamp(1.25rem, 1.114rem + 0.68vw, 1.625rem);
	/* 20px → 26px */
	--fs-h4: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
	/* 18px → 24px */
	--fs-h5: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
	/* 16px → 20px */
	--fs-h6: clamp(0.875rem, 0.807rem + 0.34vw, 1.063rem);
	/* 14px → 17px */
	--fs-nav: clamp(0.813rem, 0.768rem + 0.23vw, 0.938rem);
	/* 13px → 15px */
	--fs-subnav: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
	/* 12px → 14px */
	--fs-site-title: clamp(1.25rem, 1.136rem + 0.57vw, 1.563rem);
	/* 20px → 25px */
	--fs-widget-title: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
	/* 16px → 20px */
	--fs-footer: clamp(0.813rem, 0.768rem + 0.23vw, 0.938rem);
	/* 13px → 15px */
	--fs-buttons: clamp(0.813rem, 0.768rem + 0.23vw, 0.938rem);
	/* 13px → 15px */
	--fs-caption: clamp(0.688rem, 0.643rem + 0.23vw, 0.813rem);
	/* 11px → 13px */

	/* --- Spacing --- */
	--sp-content: clamp(1rem, 0.455rem + 2.73vw, 2.5rem);
	/* 16px → 40px */
	--sp-nav-item: clamp(0.625rem, 0.398rem + 1.14vw, 1.25rem);
	/* 10px → 20px */
	--sp-nav-height: clamp(3rem, 2.727rem + 1.36vw, 3.75rem);
	/* 48px → 60px */
	--sp-widget: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);
	/* 20px → 40px */
	--sp-footer-b: clamp(0.938rem, 0.597rem + 1.7vw, 1.875rem);
	/* 15px → 30px */
	--sp-hr: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);
	/* 20px → 40px */
	--sp-separator: clamp(0.75rem, 0.568rem + 0.91vw, 1.25rem);
	/* 12px → 20px */
}

/* ------------------------------------
   Typography Overrides
   ------------------------------------ */
body,
button,
input,
select,
textarea {
	font-size: var(--fs-body) !important;
}

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);
}

.main-navigation a,
.menu-toggle,
.main-navigation .menu-bar-items {
	font-size: var(--fs-nav) !important;
}

.main-navigation .main-nav ul ul li a {
	font-size: var(--fs-subnav) !important;
}

.main-title {
	font-size: var(--fs-site-title) !important;
}

.widget-title {
	font-size: var(--fs-widget-title) !important;
}

.site-info {
	font-size: var(--fs-footer) !important;
}

button:not(.menu-toggle),
html input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.wp-block-button .wp-block-button__link {
	font-size: var(--fs-buttons) !important;
}

.wp-block-image figcaption,
.wp-caption .wp-caption-text {
	font-size: var(--fs-caption) !important;
}

/* ------------------------------------
   Spacing Overrides
   ------------------------------------ */

/* Content area padding */
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.one-container .site-content,
.inside-page-header {
	padding: var(--sp-content) !important;
}

.site-main .wp-block-group__inner-container {
	padding: var(--sp-content) !important;
}

/* Navigation spacing */
.main-navigation .main-nav ul li a,
.menu-toggle,
.main-navigation .menu-bar-item>a {
	padding-left: var(--sp-nav-item) !important;
	padding-right: var(--sp-nav-item) !important;
	line-height: var(--sp-nav-height) !important;
}

/* Sub-menu items */
.main-navigation .main-nav ul ul li a {
	padding: var(--sp-nav-item) !important;
	line-height: normal !important;
}

/* Dropdown toggle */
.menu-item-has-children .dropdown-menu-toggle {
	padding-right: var(--sp-nav-item) !important;
}

/* Widget padding */
.widget-area .widget {
	padding: var(--sp-widget) !important;
}

/* Footer */
.inside-site-info {
	padding-top: 0 !important;
	padding-bottom: var(--sp-footer-b) !important;
}

/* Horizontal rule */
hr {
	margin-top: var(--sp-hr) !important;
	margin-bottom: var(--sp-hr) !important;
}

/* Separator between content blocks */
.sidebar .widget,
.page-header,
.site-main>* {
	margin-bottom: var(--sp-separator) !important;
}

.separate-containers .site-main {
	margin: var(--sp-separator) !important;
}

.separate-containers .site-main.no-sidebar {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Sidebar margin */
.separate-containers .inside-right-sidebar,
.separate-containers .inside-left-sidebar {
	margin-top: var(--sp-separator) !important;
	margin-bottom: var(--sp-separator) !important;
}

/* Featured image spacing */
.separate-containers .featured-image {
	margin-top: var(--sp-separator) !important;
}

/* One container archive post spacing */
.one-container.archive .post:not(:last-child):not(.is-loop-template-item),
.one-container.blog .post:not(:last-child):not(.is-loop-template-item) {
	padding-bottom: var(--sp-content) !important;
}

/* One container sidebar margin */
.one-container.right-sidebar .site-main,
.one-container.both-right .site-main {
	margin-right: var(--sp-content) !important;
}

.one-container.left-sidebar .site-main,
.one-container.both-left .site-main {
	margin-left: var(--sp-content) !important;
}