/*
 * Simplified single-post styles (single-posts.php only).
 * Values below are copied from the live post header's computed styles
 * (categories, title, author/date, divider) - structure intentionally
 * differs from the original WPBakery/Impreza markup.
 */

.post-header {
	text-align: left;
	padding-left: 1.5rem;
	padding-right: 1.5rem
}

.post-categories {
	color: #333F48;
	font-family: Poppins, "Poppins Fallback", sans-serif;
	font-weight: 400;
	font-size: 24px;
	line-height: 1.2;
	text-transform: uppercase;
	margin-bottom: 40px;
}

.post-categories a {
	color: inherit;
	text-decoration: none;
}

.post-title {
	color: #333F48;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 700;
	font-size: max(3rem, 3vw);
	line-height: 1.1;
	text-transform: uppercase;
	margin-bottom: 20px;
}

.post-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding-bottom: 40px;
	margin-bottom: 40px;
	border-bottom: 3px solid #A0F478;
	font-family: Poppins, "Poppins Fallback", sans-serif;
	font-weight: 400;
	font-size: 18px;
	text-transform: uppercase;
}

.post-meta-author {
	text-align: left;
	font-family: Poppins, "Poppins Fallback", sans-serif;
	color: #1F2122;
}

.post-meta-date {
	text-align: right;
	font-family: Poppins, "Poppins Fallback", sans-serif;
	color: #1F2122;
}

.single-posts-template {
	float: left;
	width: 100%;
	background: #fff;
}
.single-post-content {
	font-family: Montserrat, "Montserrat Fallback", sans-serif;
	line-height: 1.5;
	color: #1F2122;
	padding: 0 2.7rem;    	
}

.left-green-border {
    border-left: 3px solid #A0F478;
    padding-left: 23px;
}

/*
 * Basic content-area element styles (headings/links/lists/emphasis) so the
 * post body still looks consistent without loading the theme's global
 * us-assets.css (removed - it was only needed for the shared header/footer
 * widgets this template no longer uses).
 */
.single-post-content h2,
.single-post-content h3,
.single-post-content h4 {
	color: #333F48;
	font-family: Poppins, "Poppins Fallback", sans-serif;
	font-weight: 700;
	margin: 1.75rem 0 1rem;
	line-height: 1.3;
	text-transform: uppercase;
}

.single-post-content h2 {
	font-size: 0.9rem;
	border-bottom: 3px solid #A0F478;
	padding-bottom: 26px;
    margin-bottom: 26px;	
}

.single-post-content h3 {
	font-size: 0.8rem;
}
.single-post .single-post-content div, 
.single-post .single-post-content p,
.single-post .zoho-form-container p,
.single-post-content ul li,
.single-post-content ol li{
	font-size: 13px;
}
.single-post-content a {
	color: #A44FFC;
	text-decoration: underline;
}

.single-post-content a:hover {
	color: #333F48;
}

.single-post-content ul,
.single-post-content ol {
	margin: 1rem 0;
	padding-left: 1.5rem;
}

.single-post-content li {
	margin-bottom: 0.5rem;
}

.single-post-content strong {
	font-weight: 700;
	color: #333F48;
}

.single-post-content blockquote {
	margin: 1.5rem 0;
	padding: 1rem 1.5rem;
	border-left: 3px solid #A0F478;
	color: #333F48;
	font-style: italic;
}
.single-post-content img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
}

/*
 * WPBakery content + WP Rocket lazy-load: reserve box from HTML width/height
 * (any dimensions — works site-wide for all single-posts template posts).
 */
.single-post-content img[width][height],
.single-post-content .wpb_text_column img[width][height],
.single-post-content .vc_column-inner img[width][height] {
	display: block;
	aspect-ratio: attr(width type(<number>)) / attr(height type(<number>));
}

.single-post-content img[data-lazy-src][width][height],
.single-post-content .wpb_text_column img[data-lazy-src][width][height] {
	min-height: 1px;
}

@supports not (aspect-ratio: attr(width type(<number>)) / attr(height type(<number>))) {
	.single-post-content img[width][height],
	.single-post-content .wpb_text_column img[width][height] {
		height: auto;
	}
}

.single-post-content iframe:not([height]) {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
}

.single-post-content table{
  border-collapse: collapse;
  width: 100%;
}

.single-post-content table th,
.single-post-content table td{
  border: 1px solid #ccc;
  padding: 8px;
}

/*
 * No margin-top offset needed anymore - the custom header (see
 * custom-header.php) is static/in-flow, not fixed, so there's nothing to
 * compensate for. This also avoids the layout-shift risk that fixed-header
 * offset math carries.
 */

/*
 * Minimal layout replacement for Bootstrap (removed - this template only
 * ever used a handful of its utility classes, not worth a 28KB
 * render-blocking stylesheet for a single centered column + a few margins).
 */
.post-container {
	max-width: 1170px;
	margin: 0 auto;
	padding: 3rem 0rem;
	box-sizing: border-box;
}

.post-thumbnail {
	margin-bottom: 1.5rem;
}

.post-thumbnail-img {
	max-width: 100%;
	height: auto;
	display: block;
	border-radius: 0.5rem;
	margin: 0 auto;
}

.post-pagination {
	margin-top: 1.5rem;
}

.single-post-comments {
	margin-top: 3rem;	
}

.l-section.height_medium {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}
.single-post p.post-modified-info {
	font-family: Poppins, "Poppins Fallback", sans-serif;
	font-weight: 700;
	color: #333F48;
}										
.footer-author {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	padding: 1.5rem 2.7rem; 
}											
.single-post  .footer-author .post-author-info {
	font-family: Montserrat;
	font-weight: 400;
	line-height: 1.5;
	font-size: 12px;
	color: #1F2122;
}
.single-post .footer-author .post-author-name {
	display: block;
	font-family: Poppins, "Poppins Fallback", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;    
	color: #333F48;
	margin-bottom: 10px;	
	text-align: left;
	text-transform: none;	
	text-decoration: none;
}			
@media (min-width: 601px) {
	.post-header {		
		text-align: center;
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}	
	.single-post-content,
	.footer-author{
		padding: 0 4.5rem;   			
	}
	.l-section.height_medium,
	.footer-author {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}	
	.footer-author{
		flex-direction: row;
	}
		
}
@media (min-width: 1025px) {
	.single-post-content h2 {
		font-size: 1.75rem;
	}
	.single-post-content h3 {
		font-size: 1.4rem;
	}	
	.post-meta{
		font-size: 24px;
	}
	.single-post .single-post-content div, 
	.single-post .single-post-content p,
	.single-post .zoho-form-container p,
	.single-post-content ul li,
	.single-post-content ol li	 {
		font-size: 22px;
	}
	.single-post  .footer-author .post-author-info {
		font-size: 18px;		
	}	
	.single-post .footer-author .post-author-name {
		font-size: 24px;
	}
	.single-post-content,
	.footer-author{
		padding: 0 3.4rem;   			
	}		
	.l-section.height_medium,
	.footer-author {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}		
}


@media(max-width: 900px) {
	.post-categories {
		font-size: 18px;
		text-align: left;
		margin-bottom: 20px;
	}	
	.post-title {
		text-align: left;
		/* Mobile LCP: keep H1 painted area above intro paragraph (~315×195px). */
		font-size: max(2.25rem, 4.5vw);
	}
	.post-meta{
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 20px;
		margin-bottom: 0px;
		gap: 0.3rem;
	}
	.post-meta-author{
		font-size: 1rem;		
	}	
	.post-meta-date {
		font-size: 0.8rem;
	}



}

/*
 * Related post section styles
 */
 .related-posts-container{
	padding: 1.5rem; 
 }
.related-posts-container h2{
	text-align: center;
	font-size: 24px;
	text-transform: uppercase;
}	

.related-posts-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: calc(1.5rem * 2);
}

.related-posts-item {
	display: flex;
	flex-direction: column;	
	padding: 0 1.5rem;
}

.related-posts-link {
	text-decoration: none;
	color: inherit;
	display: block;
}

.related-posts-image-wrapper {
	width: 100%;
	margin-bottom: 10px;
	aspect-ratio: 16 / 9; /* Mantiene las imágenes proporcionadas */
	overflow: hidden;
	border-radius: 4px;
	display: none;
}

.related-posts-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.realted-posts-title {
	font-size: 1rem;
	line-height: 1.4;
	margin: 0;
	color: #a44ffc;	
	padding-bottom: 15px;
	border-bottom: 1px solid #A0F478;
}

a.related-posts-link:hover .realted-posts-title{
	color: #a44ffc;	
}

/* --- MEDIA QUERIES --- */
@media (min-width: 601px) {
	.related-posts-container{			
			padding: 2.5rem 4.5rem;			
	}		
	.related-posts-grid {
		grid-template-columns: repeat(2, 1fr);		
	}
	.realted-posts-title{
		border-bottom: 0;
		padding: 0;
		color: #333f48;
	}	
	.related-posts-item{
		padding: 0;
	}
	.related-posts-image-wrapper {
		display: block;
	}
	.related-posts-container h2{								
		font-size: 30px;
	}	
}

@media (min-width: 1025px) {
	.related-posts-container{			
			padding: 3rem 3.4rem;			
	}	
	.related-posts-grid {
		grid-template-columns: repeat(4, 1fr);
	}							
	.related-posts-container h2{								
		font-size: 45px;
	}								
}


/*
 * Adding ZOHO Form style
 */
.zoho-form-container {
    max-width: 80%;
    margin: auto;
    margin-bottom: 40px;
}
.zoho-form-header{
	max-width: 600px;
	margin: 0 auto 50px;
}
.zoho-form-header h2{
	text-align: center;
	font-size: 33px;
    line-height: 1.1;	
	text-transform: uppercase;
	margin: 0;
}
.zoho-form-header h2 span{ 
	font-weight: 400;
}

.zoho-form-container ul {
    list-style: none;
    margin-left: 0px;
	padding: 0;
}
.zoho-form-container .zf-nameWrapper {
  display: flex;
  gap: 10px;
}

.zoho-form-container .zf-nameWrapper > span {
  flex: 1; /* o flex: 0 0 auto si no quieres que se estiren */
}

.zoho-form-container .zf-nameWrapper > .zf-clearBoth {
  display: none; /* o position: absolute si lo necesitas oculto */
}
.zoho-form-container .zf-nameWrapper {
    display: flex;
    gap: 15px;
}
.zoho-form-container .zf-tempFrmWrapper.zf-large, 
.zoho-form-container .zf-tempFrmWrapper.zf-name.zf-namelarge {
    margin-bottom: 15px;
}
.zoho-form-container .zf-phwrapper.zf-phNumber label {
    display: none;
}
.zoho-form-container input, 
.zoho-form-container textarea {
    font-family: Montserrat;
    background: white;
    font-size: 12px;
    color: #1F2122;
    border-color: #36115C;
    border-width: 1px;
    line-height: 1;
    padding: 15px 30px;
	border-radius:24px;
	width: 100%;
}

.zoho-form-container textarea{
    min-height: 2.8rem;
    height: calc(2.8rem * 3);	
}

.zoho-form-container input:not([type=submit]):focus, 
.zoho-form-container select:focus, 
.zoho-form-container textarea:focus {
    background: #f5f5f5;
    border-color: #e8e8e8;
    color: var(--inputs-focus-text-color, inherit);
    box-shadow: 0px 0px 0px 2px #a44ffc;
}

.zoho-form-container input:not([type=submit]), 
.zoho-form-container select,
.zoho-form-container textarea {
    outline: none;
}

.zoho-form-container h2.zf-frmTitle {
    display: none;
}
.zoho-form-container input::placeholder, 
.zoho-form-container textarea::placeholder {
    opacity: 1;
    text-transform: uppercase;
}
.zoho-form-container button.zf-submitColor {
    font-size: 12px;
    color: rgb(31, 33, 34);
    border: 0;
	border-radius: 62px;
    text-transform: uppercase;
    padding: 13px 38px;
    font-family: Poppins, "Poppins Fallback", sans-serif;
    font-weight: 700;
    background: #A0F478;
	transition: all 0.5s;
	cursor: pointer;
}
.zoho-form-container button.zf-submitColor:hover {
    transform: scale(1.1);
    transition: all 0.5s;
    background: #c590fc;
}
#page-content .zoho-form-container .zf-errorMessage {
    color: #dc3232;
    font-size: 12px;
    font-family: 'Montserrat';
	text-align: left;
}
.zoho-form-container li.zf-fmFooter {
    text-align: center;
}

/*fix form 2 columns email and phone*/
.father-box {
    display: flex;
    gap: 15px;
}
.father-box .zf-tempFrmWrapper.zf-large {
    width: 50%;
}


@media only screen and (min-width:601px){
	.zoho-form-container input, 
	.zoho-form-container textarea, 
	.zoho-form-container button.zf-submitColor {
		font-size: 24px;
	}
    #page-content .zoho-form-container .zf-errorMessage {
        font-size: 22px;
        margin-top: 5px;
    }
}

@media (min-width: 1025px) {
	.zoho-form-container{
		max-width: 660px;
	}	
	.zoho-form-header h2{		
		font-size: 64px;
	}							
}



/*
 * Adding VC shortcodes style
 */
/*VC Toggle (FAQS)*/
.vc_toggle,
.vc_toggle_title{
	position: relative;
}
.vc_toggle_content {
    display: none;
    margin-bottom: 21.73913043px;
    margin-top: 1em;
    overflow: hidden;
    padding: 0;
}
.vc_toggle_size_md.vc_toggle_default .vc_toggle_content, 
.vc_toggle_size_md.vc_toggle_default .vc_toggle_title {
    padding-left: 24.2px;
}
.vc_toggle_size_md.vc_toggle_default .vc_toggle_title .vc_toggle_icon{
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);	
}
.vc_toggle_size_md.vc_toggle_default .vc_toggle_icon:before {
    height: 10px;
    width: 4px;
}
.vc_toggle_size_md.vc_toggle_default .vc_toggle_icon:after {
    height: 4px;
    width: 10px;
}
.vc_toggle_size_md.vc_toggle_default .vc_toggle_icon{
    display: inline-block;
    height: 4px;
    margin-left: 5px;
    width: 10px;	
}
.vc_toggle_default .vc_toggle_icon:before {
    border: 1px solid #acacac;
}


.vc_toggle_default.vc_toggle_active .vc_toggle_icon:before {
    visibility: hidden;
}

.vc_toggle_default .vc_toggle_icon:after, 
.vc_toggle_default .vc_toggle_icon:before {
    background: #bababa;
    box-sizing: border-box;
    content: "";
    display: block;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}
.vc_do_toggle .vc_toggle_title h4{
	font-family: Montserrat;
	font-weight: 400;
	margin:0;
	text-transform: none;
	cursor: pointer;
}
.vc_toggle_content p{
	margin-top: 0;
}

/*VC Tabs*/
.w-tabs.accordion>div>.w-tabs-section {
    display: block;
    border-style: solid;
    border-width: 1px 0 0 0;
}

.w-tabs-section {
    display: none;
    border-color: #e8e8e8;
}
.w-tabs-section-header {
	font-family: Montserrat;
	display: flex;
    outline: none;
	justify-content: space-between;
    align-items: center;
    text-align: inherit;
    line-height: 1.5;
    cursor: pointer;
    padding: 1em 1.5em;
    width: 100%;
    background: transparent;
    transition: background .2s, color .2s;
	font-weight: 400;
	border: 0;
	position: relative;	
	font-size: inherit;
}
.w-tabs.accordion>div>.w-tabs-section:last-of-type{
	border-bottom-width: 1px;
}
.w-tabs-section-header:hover, 
.w-tabs-section-header:focus
{
    background: rgba(0, 0, 0, 0.04);
}

.w-tabs-section-control {
    flex-shrink: 0;
    line-height: 1em;
    height: 1em;
    width: 1em;
    text-align: center;
    transition: transform .3s;
    transform: rotate(0deg);
}

.w-tabs-section.active>.w-tabs-section-header .w-tabs-section-control {
    transform: rotate(180deg);
}

.w-tabs-sections.icon_chevron>div>.w-tabs-section-header .w-tabs-section-control:before {
    left: .262em;
    transform: rotate(-45deg);
}

.w-tabs-sections.icon_chevron>div>.w-tabs-section-header .w-tabs-section-control:after {
    right: .262em;
    transform: rotate(45deg);
}

.w-tabs-sections.icon_chevron>div>.w-tabs-section-header .w-tabs-section-control:before, 
.w-tabs-sections.icon_chevron>div>.w-tabs-section-header .w-tabs-section-control:after {
    content: '';
    position: absolute;
    top: 20%;
    height: 60%;
    width: .15em;
    background: currentColor;
    border-radius: 1px;
}

.w-tabs.accordion>div>div>.w-tabs-section-content {    
    padding: 1.5rem;
	font-size: inherit;
	display: none;
	opacity: 0;
	transform: translateY(-20px); 
	
	
	transition: 
		display 0.4s ease allow-discrete, 
		opacity 0.4s ease, 
		transform 0.4s ease;	
}

.w-tabs.accordion>div>div>.w-tabs-section-content.active {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

.w-tabs.accordion>div>div>.w-tabs-section-content p{
	margin: 0;
	color: #1F2122;
}

@starting-style {
  .w-tabs.accordion>div>div>.w-tabs-section-content.active {
    opacity: 0;
    transform: translateY(-20px);
  }
}