/*
Theme Name: Biosphera
Theme URI: https://biosphera.com.br
Author: Young Dog Studio
Author URI: https://youngdog.com.br
Description: Novo site one-page de Biosphera.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License:
License URI:
Text Domain: biosphera
Tags:
*/

/* FONTS */

@font-face {
	font-family: 'Founders Grotesk';
	src: url('fonts/FoundersGrotesk-Light.woff2') format('woff2'),
		 url('fonts/FoundersGrotesk-Light.woff') format('woff'),
		 url('fonts/FoundersGrotesk-Light.otf') format('opentype');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Founders Grotesk';
	src: url('fonts/FoundersGrotesk-Regular.woff2') format('woff2'),
		 url('fonts/FoundersGrotesk-Regular.woff') format('woff'),
		 url('fonts/FoundersGrotesk-Regular.otf') format('opentype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Founders Grotesk';
	src: url('fonts/FoundersGrotesk-Medium.woff2') format('woff2'),
		 url('fonts/FoundersGrotesk-Medium.woff') format('woff'),
		 url('fonts/FoundersGrotesk-Medium.otf') format('opentype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

html, button, input, select, textarea { color: #222; }

body {
	font-size: 1em;
	line-height: 1.4;
}
/* Remove text-shadow in selection highlight. These selection declarations have to be separate. Customize the background color to match your design */
::-moz-selection {
    background: #F50;
	color: var(--color-sand);
    text-shadow: none;
}

::selection {
    background: #F50;
	color: var(--color-sand);
    text-shadow: none;
}

/* Remove the gap between images and the bottom of their containers  */
img { vertical-align: middle; }

a {
	text-decoration:none;
	-webkit-transition: color 0.2s ease;
    -moz-transition: color 0.2s ease;
    -o-transition: color 0.2s ease;
    transition: color 0.2s ease;
	cursor: pointer;
}

a, a:active, a:focus {
   outline: none;
}

b, strong {
	font-weight: 500;
}

.noselect {
	-webkit-user-select: none;  
  -moz-user-select: none;    
  -ms-user-select: none;      
  user-select: none;
}

.nodrag {
	-webkit-user-drag: none;
	user-drag: none;
}

/* Disable resizing of textareas. */
textarea { 
	resize: none; 
	outline: none;
	border: none;
	background-color: transparent;
	box-shadow: none;
	box-sizing: border-box;
	overflow: hidden;
	width: 100%;
	height: 100%;
}

/* Corrige o padding para não expandir as caixas */
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* Screen reader only - acessibilidade */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

/* 

DEFAULT STYLES


*/


:root {
	--color-white: #FFFFFF;
	--color-sand: #EDECE1;
	--color-black: #151515;
	--color-subtext: #666666;
	--color-gray: #232323;
	--color-dark-sand: #8F8370;
	--color-orange: #F50;
	--color-text-primary: #151515; 
	--color-title-primary: #151515;
	--color-product-section: #E2DFD3;;

	/* SPACINGS */
	--spacing-wrapper: 120px;
	--grid-gap-y: 2cqi;
	--grid-gap-x: 3.125%;
	--gap-fixed: 12px;
	--section-padding-y: 4.25%;
    --section-padding-y-md: 6%;
	--section-padding-y-lg: 8%;
    --section-padding-y-sm: 3%;

	/* BOX PADDINGS */
	--box-padding-small: 20px;
	--box-padding-medium: 30px;
	--box-padding-large: 40px;

	/* NEWS SPACINGS */
	--spacing-section-top: 120px;
	--spacing-gap-small: 40px;
	--spacing-gap-y-small: 40px;
	--spacing-gap-xsmall: 20px;
	--spacing-gap-medium: 30px;
	--spacing-gap-large: 80px;
	--spacing-gap-large-vertical: 80px;

	/* TYPOGRAPHY */
	--font-size-h2: clamp(150px, 12cqi, 229.19px);
	--line-height-h2: clamp(100px, 9.3cqi, 168px);
	--letter-spacing-h2: clamp(-13.751px, -0.75cqi, -9px);
	
	--font-size-h1-single: clamp(150px, 12cqi, 229.19px);
	--line-height-h1-single: clamp(120px, 9.3cqi, 188px);
	--letter-spacing-h1-single: clamp(-13.751px, -0.75cqi, -9px);

	--font-size-h2-single: clamp(38px, 3.7cqi, 65px);
	--line-height-h2-single: clamp(38px, 3.7cqi, 63px);
	--letter-spacing-h2-single: clamp(-1px, 0.75cqi, -5px);

	--font-size-blockquote: clamp(30px, 3.7cqi, 65px);
	--line-height-blockquote: clamp(35px, 3.7cqi, 63px);
	--letter-spacing-blockquote: clamp(-0.5px, -1.5cqi, -2px);

	--font-size-text-xl: clamp(16px, 1.3cqi, 24px);
	--line-height-text-xl: clamp(18px, 1.4cqi, 26px);
	--letter-spacing-text-xl: clamp(-0.6px, -0.04cqi, 0px);
	
	--font-size-text-lg: clamp(14px, 1cqi, 19px);
	--line-height-text-lg: clamp(18px, 1cqi, 25px);
	--letter-spacing-text-lg: clamp(-0.18px, -0.01cqi, 0px);

	--font-size-text-md: clamp(12px, 1cqi, 18px);
	--line-height-text-md: clamp(14px, 1.1cqi, 20px);
	--letter-spacing-text-md: clamp(-0.18px, -0.01cqi, 0px);
	
	--font-size-text-sm: clamp(10px, 0.7cqi, 13px);
	--line-height-text-sm: clamp(14px, 1cqi, 20px);

	--font-size-heading-span: clamp(32px, 4.2cqi, 50px);
	--font-size-heading-h3: clamp(100px, 8.3cqi, 152.793px);
	--letter-spacing-heading-h3: clamp(-5.64px, -0.4cqi, -7.64px);
	
	--font-size-grid-h3: 90px;
	--font-size-grid-p: 16px;

	/* SIDE TEXT */
	--side-text-xlarge-size: 26px;
	--side-text-xlarge-line-height: 30px;
	/* ----- */
	--side-text-large-size: 24px;
	--side-text-large-line-height: 26px;
	/* ----- */
	--side-text-small-size: 18px;
	--side-text-small-line-height: 20px;

	/* RADIUS */
	--border-radius-sm: 10px;
	--border-radius-md: 15px;
	--border-radius-lg: 20px;
	--border-radius-full: 71px;

    /* SIZES */
    --ecosystem-card-width: 26cqi;
    --catalisador-card-width: 27.5cqi;
    --bioma-card-width: 32cqi;
}



@container page-root (max-width: 1800px) {
	.page-root > * {
		/* NEWS SPACINGS */
		--spacing-wrapper: 80px;
		--spacing-section-top: 80px;
		--spacing-gap-large: 40px;
		--spacing-gap-large-vertical: 60px;
	}
}


@container page-root (max-width: 1500px) {
    .page-root > * {
		/* SPACINGS */
        --spacing-wrapper: 40px;
        --grid-gap-y: 1.8cqi;
        --grid-gap-x: 2.8%;
        --section-padding-y: 80px;
        --section-padding-y-md: 5.5%;
        --section-padding-y-lg: 7.5%;
        --section-padding-y-sm: 2.8%;

		/* NEWS SPACINGS */
		--spacing-section-top: 80px;
		--spacing-gap-small: 20px;
		--spacing-gap-medium: 25px;
		--spacing-gap-large: 40px;
		--spacing-gap-large-vertical: 60px;

		/* SIDE TEXT */
		--side-text-xlarge-size: 24px;
		--side-text-xlarge-line-height: 26px;
		/* ----- */
		--side-text-large-size: 22px;
		--side-text-large-line-height: 24px;
		/* ----- */
		--side-text-small-size: 17px;
		--side-text-small-line-height: 20px;

		/* SIZES */
		--catalisador-card-width: 30cqi;
		--bioma-card-width: 35cqi;

		/* TYPOGRAPHY */
		--font-size-grid-h3: clamp(60px, 6cqi, 90px);
		--font-size-grid-p: 14px;
		--font-size-text-lg: clamp(14px, 1.2cqi, 18px);
		--line-height-text-lg: clamp(17px, 1.4cqi, 23px);

		/* BOX PADDINGS */
		--box-padding-small: 15px;
		--box-padding-medium: 25px;
		--box-padding-large: 35px;
    }
}

@container page-root (max-width: 1240px) {
	.page-root > * {

		/* TYPOGRAPHY */
		--font-size-h2: clamp(120px, 12cqi, 150px);
		--line-height-h2: clamp(80px, 8cqi, 100px);
		--letter-spacing-h2: clamp(-9px, -0.75cqi, -13.751px);
		--font-size-h1-single: clamp(140px, 12cqi, 170px);
		--line-height-h1-single: clamp(120px, 8cqi, 140px);
		--letter-spacing-h1-single: clamp(-6px, -0.75cqi, -10.751px);
		--font-size-heading-span: clamp(28px, 3.8cqi, 40px);
		--font-size-heading-h3: clamp(80px, 7.5cqi, 120px);
		--letter-spacing-heading-h3: clamp(-4.64px, -0.35cqi, -6.64px);
		--font-size-grid-h3: clamp(50px, 5cqi, 80px);
		--font-size-text-xl: clamp(16px, 1.5cqi, 22px);
		--line-height-text-xl: clamp(18px, 1.7cqi, 24px);
		--font-size-text-lg: clamp(13px, 1.4cqi, 16px);
		--line-height-text-lg: clamp(15px, 1.6cqi, 19px);
		--font-size-text-md: clamp(12px, 1.1cqi, 16px);
		--line-height-text-md: clamp(14px, 1.3cqi, 19px);
		--font-size-text-sm: clamp(10px, 0.9cqi, 12px);
		--line-height-text-sm: clamp(14px, 1.1cqi, 18px);

		/* SIZES */
		--ecosystem-card-width: 32cqi;
		--catalisador-card-width: 35cqi;
		--bioma-card-width: 40cqi;

		/* SPACINGS */
		--spacing-wrapper: 30px;
        --grid-gap-y: 20px;
        --grid-gap-x: 30px;
        --section-padding-y: 80px;
        --section-padding-y-md: 60px;
        --section-padding-y-lg: 85px;
        --section-padding-y-sm: 30px;

		/* SIDE TEXT */
		--side-text-xlarge-size: 22px;
		--side-text-xlarge-line-height: 24px;
		/* ----- */
		--side-text-large-size: 20px;
		--side-text-large-line-height: 22px;
		/* ----- */
		--side-text-small-size: 16px;
		--side-text-small-line-height: 18px;

		/* BOX PADDINGS */
		--box-padding-small: 10px;
		--box-padding-large: 30px;
	}
}
  
@container page-root (max-width: 1024px) {
	.page-root > * {
		/* SIZES */
		--ecosystem-card-width: 42cqi;
		--bioma-card-width: 50cqi;
		--catalisador-card-width: 45cqi;
		
		/* SPACINGS */
		--spacing-wrapper: 30px;
        --grid-gap-y: 15px;
        --grid-gap-x: 25px;
        --section-padding-y: 80px;
        --section-padding-y-md: 45px;
        --section-padding-y-lg: 50px;
        --section-padding-y-sm: 25px;

		/* NEWS SPACINGS */
		--spacing-section-top: 80px;
		--spacing-gap-large: 40px;
		--spacing-gap-large-vertical: 50px;

		/* SIDE TEXT */
		--side-text-xlarge-size: 20px;
		--side-text-xlarge-line-height: 22px;
		/* ----- */
		--side-text-large-size: 19px;
		--side-text-large-line-height: 23px;
		/* ----- */
		--side-text-small-size: 16px;
		--side-text-small-line-height: 20px;

		/* TYPOGRAPHY */
		--font-size-heading-span: clamp(24px, 3.5cqi, 36px);
		--font-size-heading-h3: clamp(70px, 7cqi, 100px);
		--letter-spacing-heading-h3: clamp(-3.64px, -0.3cqi, -5.64px);
		--font-size-grid-h3: clamp(40px, 4cqi, 60px);
		--font-size-h2: clamp(100px, 10cqi, 120px);
		--line-height-h2: clamp(70px, 7cqi, 90px);
		--font-size-h1-single: clamp(120px, 10cqi, 140px);
		--line-height-h1-single: clamp(100px, 7cqi, 120px);
		--letter-spacing-h1-single: clamp(-4px, -0.75cqi, -8.751px);
		--font-size-text-xl: clamp(15px, 1.8cqi, 20px);
		--line-height-text-xl: clamp(17px, 2cqi, 22px);
		--font-size-text-lg: 14px;
		--line-height-text-lg: 18px;
		--font-size-text-md: clamp(12px, 1.3cqi, 15px);
		--line-height-text-md: clamp(14px, 1.5cqi, 18px);
		--font-size-text-sm: clamp(10px, 1.1cqi, 12px);
		--line-height-text-sm: clamp(12px, 1.3cqi, 16px);

		/* RADIUS */
		--border-radius-md: 10px;
	}
}
  
@container page-root (max-width: 768px) {
    .page-root > * {
		
		/* SPACINGS */
        --spacing-wrapper: 20px;
        --grid-gap-y: 18px;
        --grid-gap-x: 16px;
		--gap-fixed: 18px;
        --section-padding-y: 80px;
        --section-padding-y-md: 24px;
        --section-padding-y-lg: 32px;
        --section-padding-y-sm: 12px;

		/* NEWS SPACINGS */
		--spacing-section-top: 80px;
		--spacing-gap-y-small: 30px;
		--spacing-gap-large: 30px;

		/* SIZES */
        --ecosystem-card-width: 72cqi;
		--catalisador-card-width: 78cqi;
		--bioma-card-width: 82cqi;

		/* TYPOGRAPHY */
		--font-size-heading-span: 18px;
		--font-size-heading-h3: 46px;
		--letter-spacing-heading-h3: -2.8px;
		--font-size-grid-h3: clamp(30px, 3.5cqi, 50px);
		--font-size-h2: 68px;
		--line-height-h2: 50px;
		--letter-spacing-h2: -3px;
		--font-size-h1-single: 68px;
		--line-height-h1-single: 60px;
		--letter-spacing-h1-single: -1px;
		--font-size-text-xl: 26px;
		--line-height-text-xl: 28px;
		--font-size-text-lg: 15px;
		--line-height-text-lg: 18px;
		--font-size-text-md: 16px;
		--line-height-text-md: 18px;
		--font-size-text-sm: 12px;
		--line-height-text-sm: 14px;
    }
}

@container page-root (max-width: 500px) {
	.page-root > * {

		/* NEWS SPACINGS */
		--spacing-section-top: 80px;

		/* TYPOGRAPHY */
		--font-size-h2: 59px;
		--line-height-h2: 46px;
		--font-size-h1-single: 59px;
		--line-height-h1-single: 50px;

		--font-size-heading-h3: 38px;

		/* SIZES */
        --ecosystem-card-width: 84cqi;
		--catalisador-card-width: 88cqi;
	}
}

html {
	overscroll-behavior: none;
	overscroll-behavior-y: none;
}

.page-root {
	container-type: inline-size;
	container-name: page-root page-content;
}

body {
	font-family: 'Founders Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	font-size: 16px;
	color: var(--color-text-primary);
	background-color: var(--color-sand);
	margin: 0;
	padding: 0;
	overscroll-behavior: none;
	position: relative;
	overflow-x: hidden;
}

body.post-type-archive-ecossistema {
	color: var(--color-sand);
	background-color: var(--color-black);
}

body.single-solucao {
	color: var(--color-sand);
	background-color: var(--color-orange);
}

body.single-produto {
	color: var(--color-black);
	background-color: var(--color-sand);
}

body.no-scroll {
	overflow: hidden;
	height: 100vh;
	height: 100dvh;
}

ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.flex {display: flex;}
.flex-col {flex-direction: column;}

.h2.marked, span.marked {color: var(--color-orange);}

@media (min-width: 1024px) {
	.hide-desk {
		display: none;
	}
}

@media (max-width: 1024px) {
	.hide-mobile {
		display: none;
	}
}

@media (min-width: 768px) {
	.hide-larger {
		display: none;
	}
}

@media (max-width: 768px) {
	.hide-smaller {
		display: none;
	}
	.mobile-title {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 25px;
		grid-column: span 1 / span 2;
	}

	.mobile-title .line {
		display: block;
	}

	.mobile-title .line.right {
		text-align: right;
	}

	.mobile-title .line.center {
		text-align: center;
	}
}

.notch {
	width: 100%;
	height: 40px;
	min-height: 30px;
	display: flex;
	justify-content: space-between;
	position: relative;
}

.notch-left, .notch-right {
	width: 45%;
	background-color: var(--color-orange);
	border-radius: 15px 15px 0 0;
}

.notch-center {
	width: 15%;
	position: relative;
	overflow: visible;
}

.notch-center svg {
	position: absolute;
	width: 30px;
	height: 30px;
	bottom: -0.5px;
}

.notch-center svg path {
	fill: var(--color-orange);
}

.notch-center svg:first-child {
	left: -0.5px;
	transform: rotate(270deg);
}

.notch-center svg:last-child {
	right: -0.5px;
	transform: rotate(180deg);
}

.h2 {
	color: var(--color-title-primary);
	font-size: var(--font-size-h2);
	font-style: normal;
	font-weight: 300;
	line-height: var(--line-height-h2);
	letter-spacing: var(--letter-spacing-h2);
}


/*

SIDE TEXTS

*/

.text-content {
	display: flex;
	flex-direction:column;
	gap: 15px;
}

.side-text-large {
	font-size: var(--side-text-large-size);
	line-height: var(--side-text-large-line-height);
	text-wrap: balance;
	letter-spacing: -0.6px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.side-text-small {
	font-size: var(--side-text-small-size);
	line-height: var(--side-text-small-line-height);
	text-wrap: balance;
	font-weight: 400;
	letter-spacing: -0.18px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


.section-subtitle {
	margin: 0;
	color: var(--color-dark-sand);
	font-size: var(--font-size-text-lg);
	font-style: normal;
	font-weight: 500;
	line-height: var(--line-height-text-lg);
	letter-spacing: var(--letter-spacing-text-lg);
	text-transform: uppercase;
	text-wrap: balance;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

p mark {
	color: var(--color-orange);
	background-color: transparent;
}


/* TOPINHO DAS SEÇÕES */
.logo-badge {
	display: flex;
	align-items: flex-start;
}

.logo-badge span {
	display: flex;
	padding: 12px 15px;
	justify-content: center;
	align-items: center;
	color: var(--color-title-primary);
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 10px;
	letter-spacing: -0.14px;
	text-transform: uppercase;
	border-radius: 50px;
	border: 1px solid var(--color-title-primary);
}

.logo-badge span.badge-text {
	color: var(--color-orange);
	background-color: var(--color-title-primary);
}

@media (max-width: 1800px) {
	.logo-badge span { font-size: 14px; }
}

@media (max-width: 1500px) {
	.logo-badge span { font-size: 12px; padding-top:10px; padding-bottom:10px; padding-left: 14px; padding-right: 14px; }
}

@media (max-width: 768px) {
	.logo-badge span { font-size: 12px; padding: 8px 12px; }
}

@media (max-width: 768px) {

	.text-content p {
		margin: 0 0 18px 0;
	}
	.notch-left, .notch-right {
		width: 36%;
	}
	.notch-center {
		width: 28%;
	}

	.section-subtitle br {
		display: none;
	}
}


/* 

DESIGN DEBUG

*/
.grid-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width:100%;
    height: 100dvh;
    z-index: 9999;
    pointer-events: none;
	display: none;
}

.grid-overlay .wrapper {
    height: 100%;
    display: grid;
	padding: 0 var(--spacing-wrapper);
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spacing-gap-large);
}

.grid-overlay .column {
    background-color: blue;
    height: 100%;
    opacity: 0.1;
}

.grid-overlay .breakpoint-indicator {
	position: absolute;
	bottom: 20px;
	left: 20px;
	padding: 8px 16px;
	background-color: var(--color-bg-core-green);
	color: var(--color-accent-yellow);
	border-radius: 50px;
	font-size: 14px;
	font-weight: 500;
	font-family: monospace;
}

.grid-overlay .breakpoint-indicator::before {
	content: '> 1800px';
}

@media (max-width: 1800px) {
	.grid-overlay .breakpoint-indicator::before {
		content: '1800px';
	}
}

@media (max-width: 1500px) {
	.grid-overlay .breakpoint-indicator::before {
		content: '1500px';
	}

	.grid-overlay .wrapper { grid-template-columns: repeat(3, 1fr); }
	.grid-overlay .column:nth-child(3) { display: none; }
}

@media (max-width: 1024px) {
	.grid-overlay .breakpoint-indicator::before {
		content: '1024px';
	}

	.grid-overlay .wrapper { grid-template-columns: repeat(2, 1fr); }
	.grid-overlay .column:nth-child(2) { display: none; }
}

@media (max-width: 768px) {
	.grid-overlay .breakpoint-indicator::before {
		content: '768px';
	}
}

@media (max-width: 500px) {
	.grid-overlay .breakpoint-indicator::before {
		content: '500px';
	}
}
