/* Positive Psychology — main.css */

/* CSS Custom Properties */
:root {
	--e-global-color-primary: #6EC1E4;
	--e-global-color-secondary: #54595F;
	--e-global-color-text: #7A7A7A;
	--e-global-color-accent: #61CE70;

	/* Child-theme specific */
	--hec-color-primary: #0057FF;
	--hec-color-secondary: #001E4D;
	--hec-color-accent: #FF5733;
	--hec-color-light: #F5F7FA;
	--hec-color-dark: #111111;

	--hec-font-primary: 'Inter', sans-serif;
	--hec-font-secondary: 'Merriweather', serif;

	--hec-transition: 0.3s ease;
	--hec-border-radius: 8px;
	--hec-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);

	--hec-container-max: 1200px;
	--hec-spacing-xs: 0.5rem;
	--hec-spacing-sm: 1rem;
	--hec-spacing-md: 2rem;
	--hec-spacing-lg: 4rem;
	--hec-spacing-xl: 6rem;
}

/* Base resets */
*,
*::before,
*::after {
	box-sizing: border-box;
}

img {
	max-width: 100%;
	height: auto;
}

/* Typography */
body {
	font-family: var(--hec-font-primary);
	color: var(--hec-color-dark);
}

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

.hec-container {
	max-width: var(--hec-container-max);
	margin-inline: auto;
	padding-inline: var(--hec-spacing-sm);
}

/* Header */

/* Footer */

/* Custom Components */

body .elementor-heading-title span,
body .elementor-heading-title i{
	    font-family: "Libre Caslon Condensed", sans-serif;
    font-style: italic;
    font-weight: 600;
}
body .breadcrumbs{
	font-size:12px;
	font-weight:500;
	color:var(--e-global-color-text);
}
body .breadcrumbs .sep{
	margin:0 10px;
}
body .breadcrumbs a{
	color:var(--e-global-color-text);
}
body .breadcrumbs a:hover{
	color:var(--e-global-color-text);
	text-decoration:underline;
}
body .elementor-pagination{
		display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}
body .elementor-pagination .page-numbers{
	display: flex;
  flex-wrap: wrap;
	align-items:center;
	justify-content:center;
	height:40px;
	width:40px;
	border:1px solid var(--e-global-color-422fab4);
	border-radius:36px;
}
body .elementor-pagination .page-numbers.dots{
	border:none;
}
body .elementor-pagination .page-numbers.current,
body .elementor-pagination .page-numbers:not(.dots):hover{
	background:var(--e-global-color-422fab4);
}
body .subcategories{
		margin: 0;
    padding: 0;
		margin-bottom:50px;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    list-style-type: none;
}
body .subcategories li a{
	    padding: 7px 18px;
    border: 1px solid var(--e-global-color-422fab4);
	color:var( --e-global-color-fdbd989 );
    border-radius: 18px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    font-family: var(--e-global-typography-text-font-family), sans-serif;
	    display: inline-block;
}
body .subcategories li a:hover{
	background:var(--e-global-color-422fab4);
}
body.single-post p:last-of-type {
    margin-bottom: 0px;
}

/** author box **/
.arb-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
}
.arb-box{
	  display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 8px;
}
/*.arb-label {
	font-size: 12px;
	color: var( --e-global-color-316d419 );
	font-weight: 400;
}*/
.arb-person {
	display: flex;
	align-items: center;
	gap: 12px;
}
.arb-avatar {
	border-radius: 50% !important;
	width: 32px;
	height: 32px;
	object-fit: cover;
	flex-shrink: 0;
}
/*.arb-name {
	font-size: 14px;
	font-weight: 500;
	color: var( --e-global-color-316d419 );
}*/
.arb-box {
  display: flex;
  flex-direction: row;   /* override the column that's currently stacking things */
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
}
.arb-label{
	font-size: 13px;
}
.arb-name {
  font-weight: 600;      /* semi-bold, matches Figma's "Semi Bold" typography */
  font-size: 13px;        /* set to match your body/meta text size — adjust to your real value */
}
.arb-info {
	position: relative;
	width: 14px;
	height: 14px;
	min-width: 14px;
	cursor: pointer;
	font-style: normal;
	display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.arb-tooltip {
	display: none;
	position: absolute;
	bottom: calc(100% + 8px);
	left: 50%;
	transform: translateX(-50%);
	background: var( --e-global-color-316d419 );
	color: #fff;
	font-size: 12px;
	line-height: 1.5;
	padding: 8px 12px;
	border-radius: 6px;
	width: 220px;
	white-space: normal;
	z-index: 999;
	pointer-events: none;
	box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.arb-tooltip::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-top-color: var( --e-global-color-316d419 );
}
.arb-info:hover .arb-tooltip,
.arb-info:focus .arb-tooltip {
	display: block;
}

/** Key Term Sub category CSS **/
body .key-term-item{
	border-bottom:1px solid rgba(165, 89, 60, 0.20);
	padding:15px 0;
}
body .key-term-item:first-child{
	border-top:1px solid rgba(165, 89, 60, 0.20);
}
body .key-term-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 0 !important;
	background: transparent !important;
	border: none;
	cursor: pointer;
	font-family: inherit;
	font-size: 32px;
	color: rgba(93, 52, 44, 0.60);
	text-align: left;
	font-weight:500;
	outline: none;
}
body .key-term-heading{
	margin:0px;
}

body .key-term-item.is-open .key-term-toggle,
body .key-term-toggle:hover{
	color: var( --e-global-color-primary );
	outline: none;
}
.key-term-panel[hidden] {
	display: none;
}
.key-term-content {
	padding-top: 10px;
	color:var( --e-global-color-primary );
	font-size:15px;
	line-height:1.5;
}
.key-term-content a {
	color: var( --e-global-color-primary );
	text-decoration: underline;
}
.key-term-content a:hover {
	color: var(--e-global-color-accent);
}
/** Search Filter **/
.search-sidebar-wrap .search-filter-label{
	cursor:pointer;
	margin: 0px;
}
.search-sidebar-wrap .search-filter-field--type-search .search-filter-label{
	font-size:0px;
	visibility:hidden;
	opacity:0;
	position:absolute;
}
.search-sidebar-wrap .search-filter-input-text{
	border-radius:10px;
}
.search-sidebar-wrap .search-filter-input-text__input,
.search-sidebar-wrap  .input[type=text]{
	font-size:15px !important;
}
.search-sidebar-wrap  input[type=text]::placeholder {
    font-size: 15px !important;
}
/* Chrome, Safari, Opera */
.search-sidebar-wrap  input[type=text]::-webkit-input-placeholder {
    font-size: 15px !important;
}
.search-sidebar-wrap .search-filter-field--type-search .search-filter-icon{
	background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.5 17.5L13.8833 13.8833M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z" stroke="%235D342C" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/></svg>');
		width: 20px;
    height: 20px;
    background-size: 100%;
    margin-right: 5px;
    background-repeat: no-repeat;
    background-position: center;
}
.search-sidebar-wrap .search-filter-field--type-search .search-filter-icon svg{
	display:none;
}
.search-sidebar-wrap .search-filter-field *{
	font-size:15px;
	color:var( --e-global-color-text );
}
.search-sidebar-wrap .search-filter-input-checkbox__control svg *{
	fill: var( --e-global-color-text );
}
.search-sidebar-wrap .search-filter-input-checkbox{
	padding-top:4px;
	padding-bottom:4px;
}
.search-sidebar-wrap .search-filter-label__toggle-icon{
	background-image: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.00176 12.2502C9.90115 12.2501 12.2518 9.89962 12.2518 7.0002C12.2516 4.10088 9.90107 1.75032 7.00176 1.7502C4.10234 1.75019 1.75188 4.1008 1.75176 7.0002C1.75176 9.89969 4.10226 12.2502 7.00176 12.2502ZM9.74707 5.42109C9.97488 5.6489 9.97488 6.01839 9.74707 6.24619L7.41396 8.5793C7.18616 8.8071 6.81667 8.8071 6.58887 8.5793L4.25576 6.24619C4.02795 6.01839 4.02795 5.6489 4.25576 5.42109C4.48358 5.1934 4.85309 5.19333 5.08086 5.42109L7.00176 7.34199L8.92266 5.42109C9.1504 5.19359 9.51932 5.19359 9.74707 5.42109ZM7.00176 13.4171C3.45793 13.4171 0.584862 10.544 0.584862 7.0002C0.584986 3.45647 3.45801 0.583984 7.00176 0.583984C10.5454 0.584107 13.4178 3.45655 13.418 7.0002C13.418 10.5439 10.5455 13.417 7.00176 13.4171Z" fill="%235D342C"/></svg>');
		width: 20px;
    height: 20px;
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: center;
}
.search-sidebar-wrap .search-filter-label__toggle-icon svg{
	display:none;
}
.search-sidebar-wrap .search-filter-input-group{
	margin-top:10px;
}
.search-sidebar-wrap .search-filter-input-checkbox__control{
	width:18px;
	height:18px;
}
/** End Search Filter **/

.elementor a{
	color: var(--e-global-color-accent);
}
/* Blog Grid */
body .elementor-grid.elementor-loop-container{
	grid-auto-rows: auto !important;
}
body div[class*="elementor-repeater-item-"]{
	height: auto !important;
	align-self: flex-start !important;
}
body div[class*="elementor-repeater-item-"] .e-con{
	padding-inline-start:0;
	padding-inline-end:0;
}
body div[class*="elementor-repeater-item-"] .e-con .e-con-inner{
	padding-block-start:0;
	padding-block-end:0;
}

/* Cookie Policy */
.cky-notice-btn-wrapper .cky-btn {
    padding: 6px 20px;
}
.cky-notice-btn-wrapper .cky-btn.cky-btn-accept{
		color: var(--e-global-color-69b6d16) !important;
    background-color: var(--e-global-color-accent) !important;
    border-color: var(--e-global-color-accent) !important;
}

.cky-notice-btn-wrapper .cky-btn.cky-btn-customize, .cky-notice-btn-wrapper .cky-btn.cky-btn-reject{
		color: var(--e-global-color-accent) !important;
    border-color: var(--e-global-color-accent) !important;
}
nav.elementor-pagination {
    margin-top: 30px;
}
body .elementor-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    height: 40px;
    width: auto!important;
    border: 1px solid var(--e-global-color-422fab4);
    border-radius: 36px;
    padding: 8px 16px!important;
}

/* Responsive Breakpoints */
@media (max-width: 1199px) {
body .subcategories{
		margin-bottom:30px;
}
.arb-wrapper {
	gap: 15px;
}
body .key-term-item{
	padding:10px 0;
}
body .key-term-toggle {
	font-size: 22px;
}
}
@media (max-width: 767px) {
.arb-wrapper {
	flex-direction:column;
}
}

@media (min-width: 768px) and (max-width: 1024px) {}

@media (min-width: 1025px) {}