/*
Theme Name:     Plumbio Child
Theme URI:      https://smartdata.tonytemplates.com/plumbio/
Description:    Child theme for Plumbio
Author:         Smartdatasoft Team
Author URI:     https://themeforest.net/user/smartdatasoft
Template:       plumbio
Version:        1.0
*/

/* ----------------------------------------------------------------------------
 * Child Theme Style.css styles begin here!
 * ------------------------------------------------------------------------- */

/* Persisted logo placement from browser test. */
.tt-logo__alignment {
	top: -29px !important;
	left: 46px !important;
}

.custom-logo-link {
	position: relative !important;
	top: -29px !important;
	left: 46px !important;
}

@media (min-width: 1101px) and (max-width: 1560px) {
	.tt-logo__alignment,
	.custom-logo-link {
		left: 26px !important;
	}
}

@media (max-width: 1100px) {
	.tt-logo__alignment,
	.custom-logo-link {
		top: -24px !important;
		left: 24px !important;
	}

	.tt-logo__alignment img,
	.custom-logo-link img {
		width: 60% !important;
		height: auto !important;
	}
}

@media (max-width: 767.98px) {
	.tt-logo__alignment,
	.custom-logo-link {
		top: -4px !important;
		left: 17px !important;
	}

	.tt-logo__alignment img,
	.custom-logo-link img {
		width: 53% !important;
		height: auto !important;
	}
}

.h-language-switcher .h-icon__list a {
	text-transform: none;
	font-weight: 400;
	letter-spacing: 0;
	padding: 0 8px;
	text-decoration: underline;
}

.h-language-switcher .h-icon__list li.is-active a {
	text-decoration: none;
	font-weight: 700;
	pointer-events: none;
	opacity: 0.85;
}

/* Keep a reliable mobile trigger when desktop navigation is hidden. */
@media (max-width: 1100px) {
	#js-header .desktopmenu {
		display: none !important;
	}

	#js-header #js-popup {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	#js-header #js-popup .tt-popup__toggle {
		display: flex !important;
	}
}

@media (max-width: 1100px) {
	/* Support custom header wrappers where #js-header is not the direct parent. */
	#js-popup {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	#js-popup .tt-popup__toggle {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	/* Keep only the popup object visible if other header objects push it off-screen. */
	.row-header-layout .tt-header-holder .tt-col__objects {
		margin-left: auto;
	}

	.row-header-layout .tt-header-holder .tt-col__objects > * {
		display: none !important;
	}

	.row-header-layout .tt-header-holder .tt-col__objects > *:last-child {
		display: block !important;
		margin-left: 0 !important;
	}
}

@media (min-width: 1101px) {
	#js-header #js-popup {
		display: none !important;
	}
}

@media (max-width: 1100px) {
	body.admin-bar .tt-popup__dropdown {
		top: 144px;
	}
}

@media (max-width: 767.98px) {
	body.admin-bar .tt-popup__dropdown {
		top: 115px;
	}
}

@media (max-width: 575.98px) {
	body.admin-bar .tt-popup__dropdown {
		top: 107px;
	}
}

@media (max-width: 1100px) {
	#js-header .h-language-switcher {
		display: none !important;
	}

	.tt-mobile-language-switcher {
		padding: 14px 20px 10px;
		border-top: 1px solid rgba(255, 255, 255, 0.14);
	}

	.tt-mobile-language-switcher__list {
		display: inline-flex;
		align-items: center;
		flex-wrap: nowrap;
		white-space: nowrap;
		padding: 0;
		margin: 0;
		list-style: none;
		background: #f1f6fc;
		border: 1px solid #d6e2f1;
		border-radius: 999px;
		padding: 4px;
	}

	.tt-mobile-language-switcher__list li {
		display: inline-flex;
		align-items: center;
	}

	.tt-mobile-language-switcher__list li + li:before {
		content: "/";
		color: #86a0bf;
		font-weight: 600;
		margin: 0 8px 0 6px;
	}

	.tt-mobile-language-switcher__list a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 38px;
		padding: 6px 10px;
		border-radius: 999px;
		font-size: 13px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		text-decoration: none;
		line-height: 1;
		color: #000071;
	}

	.tt-mobile-language-switcher__list a:hover,
	.tt-mobile-language-switcher__list a:focus {
		color: #000071;
		background: #e7f1fe;
		text-decoration: none;
	}

	.tt-mobile-language-switcher__list li.is-active a {
		background: #ffffff;
		color: #000071;
		text-decoration: none;
		opacity: 1;
		pointer-events: none;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
	}
}

/* Footer icon override: waterdrop -> circle + favicon image */
#tt-footer .f-info__icon.icon-694055 {
	--tt-f-info-icon-size: 72px;
	width: var(--tt-f-info-icon-size);
	height: var(--tt-f-info-icon-size);
	border-radius: 50%;
	background-color: #000071;
	box-shadow: 0 8px 18px rgba(30, 96, 170, 0.24);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 0;
	margin-bottom: calc(var(--tt-f-info-icon-size) * -0.5);
	transform: translateY(-50%);
}

#tt-footer .f-info__icon.icon-694055:before {
	content: none !important;
}

#tt-footer .f-info__icon.icon-694055 > i {
	position: static;
	font-size: 30px;
	line-height: 1;
	color: #ffffff;
	background: none !important;
}

#tt-footer .f-info__icon.icon-694055 > svg {
	position: static;
	top: auto;
	left: auto;
	width: 30px;
	height: 30px;
	display: block;
	color: #ffffff;
	fill: currentColor;
}

#tt-footer .f-info__icon.icon-694055 + .f-info__title {
	margin-top: 10px;
}

#tt-footer .f-info__wrapper > [class*="col-"] {
	display: flex;
}

#tt-footer .f-info__wrapper {
	margin-bottom: 26px;
}

#tt-footer .f-logo-layout {
	margin-top: 70px;
}

#tt-footer .f-info {
	min-height: 132px;
	padding-bottom: 10px;
	width: 100%;
	height: 100%;
}

@media (max-width: 1024.98px) {
	#tt-footer .f-info {
		min-height: 126px;
		padding-bottom: 10px;
	}

	#tt-footer .f-logo-layout {
		margin-top: 56px;
	}

	#tt-footer .f-info__icon.icon-694055 {
		--tt-f-info-icon-size: 56px;
	}

	#tt-footer .f-info__icon.icon-694055 > i {
		font-size: 24px;
	}

	#tt-footer .f-info__icon.icon-694055 > svg {
		width: 24px;
		height: 24px;
	}
}

/* About Company widget: keep only one main image and remove decorative image badge overlay. */
.elementor-widget-about_company .tt-img01 .tt-label-01 {
	display: none !important;
}

.elementor-widget-about_company .tt-img01 picture.tt-img-label__01,
.elementor-widget-about_company .tt-img01 picture.tt-img-label__01 img {
	display: block;
	width: 100%;
	height: auto;
}

/* O nas page: reduce page title area height and keep original title casing. */
.tt-pagetitle__title {
	text-transform: none !important;
}

.tt-pagetitle {
	background: linear-gradient(#eef7ff, #f7fbff) !important;
}

.tt-pagetitle:before {
	background-color: #4B7BC4 !important;
}

.tt-breadcrumbs,
.tt-breadcrumbs a,
.tt-breadcrumbs span[property="name"],
.tt-breadcrumbs [property="itemListElement"] {
	font-size: 14px !important;
	line-height: 20px !important;
}

.tt-breadcrumbs a {
	margin-left: 0;
	margin-right: 0;
}

.tt-breadcrumbs a:first-of-type {
	margin-left: 0;
}

.tt-breadcrumbs [property="itemListElement"] {
	display: inline-block;
	margin-left: 6px;
	margin-right: 6px;
}

.tt-breadcrumbs [property="itemListElement"]:first-of-type {
	margin-left: 0;
}

/* Keep paragraph typography consistent in page body sections (Elementor pages). */
.page-content.blog-details-content .elementor p {
	font-family: "Inter", sans-serif;
	font-size: 15px;
	line-height: 24px;
	font-weight: 400;
	color: #6c7176;
	margin-top: 0;
	margin-bottom: 20px;
}

/* Make page-body text links clearly visible and consistent. */
.page-content.blog-details-content a:not(.tt-btn):not(.elementor-button):not([class*="btn-"]) {
	color: #4B7BC4;
	text-decoration: underline;
}

.page-content.blog-details-content a:not(.tt-btn):not(.elementor-button):not([class*="btn-"]):hover,
.page-content.blog-details-content a:not(.tt-btn):not(.elementor-button):not([class*="btn-"]):focus {
	color: #4B7BC4;
	text-decoration: underline;
}

/* Keep desktop nav spacing and vertical alignment consistent across widths. */
@media (min-width: 1101px) {
	.desktopmenu nav > ul > li > a {
		padding: 18px 24px 22px !important;
	}
}

@media (min-width: 1025px) {
	.tt-pagetitle {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}

	.tt-pagetitle__box,
	.tt-pagetitle__box img {
		min-height: 114px !important;
	}
}

@media (max-width: 1024.98px) {
	.tt-pagetitle {
		padding-top: 12px !important;
		padding-bottom: 12px !important;
	}

	.section-inner:not([class^="tt-offset"]) {
		padding-top: 0 !important;
	}
}

@media (max-width: 767.98px) {
	.tt-pagetitle {
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}
}

@media (max-width: 690px) {
	#tt-footer .f-info__wrapper {
		row-gap: 0;
	}

	#tt-footer .f-info {
		margin-top: 22px;
	}

	#tt-footer .f-info__wrapper > [class*="col-"] + [class*="col-"] .f-info__icon.icon-694055 {
		margin-top: 18px;
	}
}

/* Certificates page: stable wide layout matching earlier fix. */
.page-id-1303 .section-inner > .container.container__tablet-fluid {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.page-id-1303 .page-content.blog-details-content .elementor > .e-con {
	padding-left: 0;
	padding-right: 0;
}

.tt-pagetitle__title {
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: break-word;
	hyphens: auto;
	max-width: 100%;
}

/* Hide author and comments count meta line on blog cards and single posts. */
.tt-post__row .tt-post__info {
	display: none !important;
}

/* Ensure title strip grows with long titles on all pages/posts. */
.tt-pagetitle {
	padding-top: 24px !important;
	padding-bottom: 24px !important;
}

.tt-pagetitle__box {
	min-height: auto !important;
	align-items: stretch;
}

.tt-pagetitle__box .container {
	overflow: visible;
	padding-top: 16px;
	padding-bottom: 16px;
}

.tt-pagetitle__box img {
	min-height: 100% !important;
}

.tt-pagetitle__title {
	line-height: 1.2 !important;
}

@media (max-width: 1024.98px) {
	.tt-pagetitle {
		padding-top: 16px !important;
		padding-bottom: 16px !important;
	}

	.tt-pagetitle:before {
		left: -18% !important;
		width: 86% !important;
		-webkit-transform: skew(-26deg) !important;
		transform: skew(-26deg) !important;
	}

	.tt-pagetitle__box,
	.tt-pagetitle__box img {
		min-height: auto !important;
	}

	.tt-pagetitle__title {
		max-width: 70% !important;
		font-size: 36px !important;
		line-height: 1.18 !important;
	}
}

@media (max-width: 767.98px) {
	.tt-pagetitle {
		padding-top: 12px !important;
		padding-bottom: 12px !important;
	}

	.tt-pagetitle:before {
		left: -26% !important;
		width: 102% !important;
		-webkit-transform: skew(-26deg) !important;
		transform: skew(-26deg) !important;
	}

	.tt-pagetitle__title {
		font-size: 24px !important;
		line-height: 1.25 !important;
		max-width: 82% !important;
	}
}

/* Remove decorative post border frame. */
.tt-post:before {
	content: none !important;
	display: none !important;
	border: 0 !important;
}

/* Keep long page/post titles inside the blue title ribbon. */
@media (min-width: 1025px) {
	.tt-pagetitle:before {
		left: -12% !important;
		width: 78% !important;
	}

	.tt-pagetitle__title {
		display: block;
		max-width: 60% !important;
		font-size: 56px;
		line-height: 1.15 !important;
	}
}

/* Single post featured image: 40% width with wrapped content. */
.single-post .tt-singlepost .tt-post__img {
	float: left;
	width: 30% !important;
	max-width: 30% !important;
	margin: 0 28px 18px 0;
}

.single-post .tt-singlepost.blog-details-content {
	margin-top: 30px;
}

.single-post .tt-singlepost .tt-post__img .tt-img,
.single-post .tt-singlepost .tt-post__img picture,
.single-post .tt-singlepost .tt-post__img img {
	width: 100%;
	height: auto;
	display: block;
}

@media (max-width: 767.98px) {
	.single-post .tt-singlepost .tt-post__img {
		float: none;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 16px 0;
	}
}

/* Single post body images: keep moderate size and let text flow around. */
.single-post .tt-post__layout .wp-block-image:not(.alignfull):not(.alignwide):not(.aligncenter):not(.alignleft):not(.alignright) {
	float: left;
	width: 40%;
	max-width: 40%;
	margin: 0 28px 18px 0;
	clear: none;
}

.single-post .tt-post__layout .wp-block-image:not(.alignfull):not(.alignwide):not(.aligncenter):not(.alignleft):not(.alignright) img {
	width: 100%;
	height: auto;
	display: block;
}

.single-post .tt-post__layout img.alignleft,
.single-post .tt-post__layout figure.alignleft {
	float: left;
	width: 40%;
	max-width: 40%;
	margin: 0 28px 18px 0;
}

.single-post .tt-post__layout img.alignright,
.single-post .tt-post__layout figure.alignright {
	float: right;
	width: 40%;
	max-width: 40%;
	margin: 0 0 18px 28px;
}

.single-post .tt-post__layout::after {
	content: "";
	display: table;
	clear: both;
}

@media (max-width: 767.98px) {
	.single-post .tt-post__layout .wp-block-image,
	.single-post .tt-post__layout figure.alignleft,
	.single-post .tt-post__layout figure.alignright,
	.single-post .tt-post__layout img.alignleft,
	.single-post .tt-post__layout img.alignright {
		float: none;
		width: 100%;
		max-width: 100%;
		margin: 0 0 16px 0;
	}
}

/* Final responsive guard: force single-post title wrapping before slanted edge. */
@media (max-width: 1024.98px) {
	.single-post .tt-pagetitle .tt-pagetitle__title {
		display: block;
		width: 68% !important;
		max-width: 68% !important;
		line-height: 1.18 !important;
		white-space: normal !important;
		overflow-wrap: anywhere;
		word-break: break-word;
	}
}

@media (max-width: 767.98px) {
	.single-post .tt-pagetitle .tt-pagetitle__title {
		width: 82% !important;
		max-width: 82% !important;
		line-height: 1.24 !important;
	}
}

/* Match breadcrumb wrapping behavior with title on smaller viewports. */
@media (max-width: 1024.98px) {
	.single-post .tt-pagetitle .tt-breadcrumbs {
		width: 68% !important;
		max-width: 68% !important;
		row-gap: 6px;
	}

	.single-post .tt-pagetitle .tt-breadcrumbs,
	.single-post .tt-pagetitle .tt-breadcrumbs li,
	.single-post .tt-pagetitle .tt-breadcrumbs li a,
	.single-post .tt-pagetitle .tt-breadcrumbs span {
		white-space: normal !important;
		overflow-wrap: anywhere;
		word-break: break-word;
	}
}

@media (max-width: 767.98px) {
	.single-post .tt-pagetitle .tt-breadcrumbs {
		width: 82% !important;
		max-width: 82% !important;
	}
}

/* Blog/category listing: add gap under page title strip. */
.archive .tt-post-list,
.blog .tt-post-list {
	margin-top: 30px;
}

/* Reuse calendar icon on post lists too. */
.tt-post__data .tt-icon-calendar {
	position: relative;
	display: inline-block;
	width: 14px;
	height: 14px;
	border: 1.8px solid currentColor;
	border-radius: 2px;
	vertical-align: -2px;
	margin-right: 6px;
	box-sizing: border-box;
}

.tt-post__data .tt-icon-calendar:before {
	content: "";
	position: absolute;
	left: -1px;
	right: -1px;
	top: 3px;
	height: 1.8px;
	background: currentColor;
}

.tt-post__data .tt-icon-calendar:after {
	content: "";
	position: absolute;
	left: 3px;
	top: -3px;
	width: 2px;
	height: 3px;
	background: currentColor;
	box-shadow: 6px 0 0 currentColor;
	border-radius: 1px;
}

/* Blog/category listing: make post titles about 15% smaller. */
.archive .tt-post-list .tt-post__title,
.blog .tt-post-list .tt-post__title {
	font-size: 36px;
	line-height: 47px;
}

@media (max-width: 1199.98px) {
	.archive .tt-post-list .tt-post__title,
	.blog .tt-post-list .tt-post__title {
		font-size: 29px;
		line-height: 40px;
	}
}

@media (max-width: 1024.98px) {
	.archive .tt-post-list .tt-post__title,
	.blog .tt-post-list .tt-post__title {
		font-size: 24px;
		line-height: 33px;
	}
}

/* Archive/blog list hard override: float image left and keep all text on right. */
.archive .tt-post-list .tt-post,
.blog .tt-post-list .tt-post {
	display: block !important;
}

.archive .tt-post-list .tt-post .tt-post__img,
.blog .tt-post-list .tt-post .tt-post__img {
	float: left;
	width: 25% !important;
	max-width: 25% !important;
	padding: 0 !important;
	margin: 0 !important;
}

.archive .tt-post-list .tt-post .tt-post__row,
.archive .tt-post-list .tt-post .tt-post__layout,
.blog .tt-post-list .tt-post .tt-post__row,
.blog .tt-post-list .tt-post .tt-post__layout {
	width: auto !important;
	max-width: none !important;
	margin-left: calc(25% + 28px) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.archive .tt-post-list .tt-post:after,
.blog .tt-post-list .tt-post:after {
	content: "";
	display: table;
	clear: both;
}

@media (max-width: 1024.98px) {
	.archive .tt-post-list .tt-post .tt-post__img,
	.blog .tt-post-list .tt-post .tt-post__img {
		width: 33% !important;
		max-width: 33% !important;
	}

	.archive .tt-post-list .tt-post .tt-post__row,
	.archive .tt-post-list .tt-post .tt-post__layout,
	.blog .tt-post-list .tt-post .tt-post__row,
	.blog .tt-post-list .tt-post .tt-post__layout {
		margin-left: calc(33% + 20px) !important;
	}
}

@media (max-width: 767.98px) {
	.archive .tt-post-list .tt-post .tt-post__img,
	.blog .tt-post-list .tt-post .tt-post__img {
		float: none;
		width: 100% !important;
		max-width: 100% !important;
	}

	.archive .tt-post-list .tt-post .tt-post__row,
	.archive .tt-post-list .tt-post .tt-post__layout,
	.blog .tt-post-list .tt-post .tt-post__row,
	.blog .tt-post-list .tt-post .tt-post__layout {
		margin-left: 0 !important;
	}
}

/* Single post CTA buttons: keep text readable on dark hover background. */
.single-post a.tt-btn.tt-btn__top:hover,
.single-post a.tt-btn.tt-btn__top:focus,
.single-post a.tt-btn.tt-btn__top:active {
	color: #ffffff !important;
}

.single-post a.tt-btn.tt-btn__top:hover span,
.single-post a.tt-btn.tt-btn__top:focus span,
.single-post a.tt-btn.tt-btn__top:active span {
	color: #ffffff !important;
}

/* Match Elementor page buttons to single-post CTA style site-wide. */
.elementor-widget-button .elementor-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	overflow: hidden;
	background: transparent !important;
	border: 2px solid #000071 !important;
	color: #000071 !important;
	font-family: "Mulish", sans-serif;
	font-weight: 800;
	line-height: 1;
	transition: color 0.4s ease;
	white-space: nowrap;
}

.elementor-widget-button .elementor-button:after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 150%;
	height: 0%;
	z-index: 0;
	background: #000071;
	transform: translateX(-50%) translateY(-50%) rotate(-25deg);
	transition: all 0.35s ease 0s;
}

.elementor-widget-button .elementor-button .elementor-button-content-wrapper,
.elementor-widget-button .elementor-button .elementor-button-text,
.elementor-widget-button .elementor-button > span {
	position: relative;
	z-index: 1;
	color: inherit !important;
}

.elementor-widget-button .elementor-button:hover,
.elementor-widget-button .elementor-button:focus,
.elementor-widget-button .elementor-button:active {
	color: #ffffff !important;
}

.elementor-widget-button .elementor-button:hover:after,
.elementor-widget-button .elementor-button:focus:after,
.elementor-widget-button .elementor-button:active:after {
	height: 450%;
	transition: all 1s ease 0s;
}

/* Brand color hard overrides for hero/about style blocks rendered by parent and dynamic styles. */
.tt-base-color,
.blocktitle__title {
	color: #000071 !important;
}

.blocktitle__subtitle {
	color: #4B7BC4 !important;
}

.blocktitle__subtitle:before {
	background-color: #4B7BC4 !important;
}

/* Footer background override. */
#colophon,
#colophon .elementor,
#colophon .elementor-section,
#colophon .e-con,
#tt-footer,
#tt-footer .footer-layout,
#tt-footer .footer-copyright {
	background-color: #000071 !important;
}

#colophon .elementor-background-overlay,
#colophon .elementor-widget-wrap {
	background-color: #000071 !important;
	background-image: none !important;
}

/* Header blue tone override: #000071 -> #000071 (keep white nav strip). */
#js-header,
#js-header .tt-header-holder,
#js-header .row-header-info,
#js-header .tt-col__objects,
#masthead .tt-header,
#masthead .tt-header-holder,
#masthead .row-header-info,
#masthead .tt-col__objects {
	background-color: #000071 !important;
}

/* Remove native bullets from template content lists on pages/posts. */
.page-content .elementor-widget-text-editor ul,
.page-content .elementor-widget-theme-post-content ul,
.elementor-widget-text-editor ul,
.elementor-widget-theme-post-content ul {
	list-style: none;
}

.page-content .elementor-widget-text-editor li,
.page-content .elementor-widget-theme-post-content li,
.elementor-widget-text-editor li,
.elementor-widget-theme-post-content li {
	list-style: none;
}

.page-content .elementor-widget-text-editor li::marker,
.page-content .elementor-widget-theme-post-content li::marker,
.elementor-widget-text-editor li::marker,
.elementor-widget-theme-post-content li::marker {
	content: '';
}

/* Plumbio native arrow lists: keep arrow pseudo-element, remove browser bullets. */
.tt-list,
.tt-list ul {
	list-style: none !important;
	padding-left: 0;
}

.tt-list li,
.tt-list ul li {
	list-style: none !important;
}

.tt-list li::marker,
.tt-list ul li::marker {
	content: '';
}
