/*
Theme Name: Bugfree Child
Template:   bugfree
Theme URI: https://1.envato.market/bugfree-wp
Description: Bugfree Child Theme
Author: AwaikenThemes
Author URI: https://awaikenthemes.com/
Version: 1.0.0
Text Domain: bugfree-child
*/

/*
 * Breadcrumb contrast fix, scoped to two specific widget instances only
 * (Nosotros elementor-element-64f7a7e, Contacto elementor-element-22098c4).
 * The theme's global .trail-items rule (style.css) uses white text, correct
 * on Home/Servicios/Blog's photographic headers, but unreadable on these two
 * plain light-background interior headers. Does not touch the global rule
 * or any other breadcrumb instance.
 */
.elementor-element-64f7a7e .trail-items li,
.elementor-element-22098c4 .trail-items li,
.elementor-element-e9737c8 .trail-items li,
.elementor-element-64f7a7e .trail-items li a,
.elementor-element-22098c4 .trail-items li a,
.elementor-element-e9737c8 .trail-items li a {
	color: #3C3D40;
}

.elementor-element-64f7a7e .trail-items li a:hover,
.elementor-element-64f7a7e .trail-items li a:focus,
.elementor-element-22098c4 .trail-items li a:hover,
.elementor-element-22098c4 .trail-items li a:focus,
.elementor-element-e9737c8 .trail-items li a:hover,
.elementor-element-e9737c8 .trail-items li a:focus {
	color: #3C3D40;
	text-decoration: underline;
}

/*
 * Contacto: tarjeta oscura de WhatsApp/información (elementor-element-3824347),
 * acotada a este widget. El fondo ya usa el color global "text" (#3C3D40) vía
 * ajuste de Elementor; aquí solo se asegura contraste del texto/encabezados
 * dentro de esa tarjeta específica. Cada encabezado interno (Hablemos, H2,
 * teléfono) trae su propio color por __globals__ de Elementor con la misma
 * especificidad CSS que un selector de dos clases — !important es necesario
 * para ganar de forma confiable sin depender del orden de carga de hojas de
 * estilo. No afecta el formulario ni ninguna otra página.
 */
.elementor-element-3824347 .elementor-heading-title,
.elementor-element-3824347 .elementor-widget-text-editor,
.elementor-element-3824347 .elementor-widget-text-editor p {
	color: #FFFFFF !important;
}

/*
 * SOLVEM single-post articles (template-parts/single.php override, post_type
 * 'post' only). No inherited demo header photo (the PHP override simply
 * never sets one for this branch, so .page-header falls back to its plain
 * background) — this rule only adds spacing/readability on top of that.
 * Reading column capped for comfortable line length; related-post card and
 * label kept intentionally simple (one card, no icons/shadows borrowed from
 * elsewhere) since only two articles exist so far.
 */
.solvem-post-header .page-header-box {
	padding-top: 12px;
}

.solvem-post-content {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}

.solvem-post-content .post-entry img {
	max-width: 100%;
	height: auto;
}

.solvem-related-post {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid #E7E7E9;
}

.solvem-related-label {
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #7082BF;
	margin: 0 0 16px;
}

.solvem-related-card {
	display: flex;
	align-items: center;
	gap: 16px;
	text-decoration: none;
	border: 1px solid #E7E7E9;
	border-radius: 12px;
	padding: 12px;
	max-width: 480px;
	transition: border-color 150ms ease;
}

.solvem-related-card:hover,
.solvem-related-card:focus-visible {
	border-color: #E48546;
}

.solvem-related-thumb {
	flex-shrink: 0;
	width: 88px;
	height: 88px;
	border-radius: 8px;
	overflow: hidden;
	display: block;
}

.solvem-related-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.solvem-related-title {
	font-size: 16px;
	font-weight: 600;
	color: #3C3D40;
}

@media (max-width: 600px) {
	.solvem-related-card {
		max-width: 100%;
	}
}

/*
 * Blog empty state (template-parts/archive.php override), shown only on
 * /blog/ while there are no posts published yet. Light background, dark
 * text, orange accent — matches docs/CODEX_SIGUIENTE_BLOQUE_VISUAL.md #3.
 */
.blog-empty-state {
	max-width: 640px;
	margin: 0 auto;
	padding: 60px 20px;
	text-align: center;
	color: #3C3D40;
}

.blog-empty-state h2 {
	margin-bottom: 16px;
}

.blog-empty-state p {
	margin-bottom: 8px;
}

.blog-empty-state-links {
	margin-top: 24px;
}

.blog-empty-state-links a {
	color: #3C3D40;
	font-weight: 600;
	margin: 0 12px;
	text-decoration: underline;
}

.blog-empty-state-links a:hover,
.blog-empty-state-links a:focus {
	color: #E48546;
}
/* Final Blog listing QA: two equal columns and uncropped editorial photos. */
@media (min-width:768px) {
 body.blog .page-blog-archive .col-xl-4 { flex:0 0 50%; max-width:50%; }
}
body.blog .post-item .post-featured-image img { object-fit:contain; background:#ededee; }
body.blog .post-item .post-btn a { color:#293f85; }
body.single-post .post-single-image img { width:100%; height:auto; max-height:560px; object-fit:contain; background:#ededee; }

/* SOLVEM editorial header. Local integration, 17 September 2026. */
body.single-post .solvem-post-single .solvem-editorial-hero{max-width:1180px;margin:0 auto;padding:185px 24px 48px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:44px;align-items:center;color:#29344b}
body.single-post .solvem-post-single .solvem-editorial-no-cover{grid-template-columns:1fr;max-width:808px}
body.single-post .solvem-editorial-intro h1{font-size:clamp(32px,3.5vw,50px);line-height:1.13;letter-spacing:-.035em;color:#29344b;margin:18px 0 22px;opacity:1;overflow-wrap:break-word}
body.single-post .solvem-editorial-back{font-size:14px;color:#334681;text-decoration:underline;text-underline-offset:4px}
body.single-post .solvem-editorial-cover{margin:0;min-width:0}
body.single-post .solvem-editorial-cover img{display:block;width:100%;height:auto;max-height:335px;object-fit:contain;border-radius:16px;background:#eeeee9}
body.single-post .solvem-editorial-cover figcaption{font-size:12px;line-height:1.5;color:#555f70;margin-top:8px}
body.single-post .solvem-editorial-hero .post-single-meta ul{display:flex;flex-wrap:wrap;gap:10px 20px;padding:0;margin:0;list-style:none}
body.single-post .solvem-editorial-hero .post-single-meta li,body.single-post .solvem-editorial-hero .post-single-meta a{font-size:13px;color:#49556b}
body.single-post .solvem-post-single .page-single-post{padding-top:15px}
body.single-post .solvem-post-content{max-width:760px;margin:0 auto}
body.single-post .solvem-post-content .post-entry{color:#303846;line-height:1.8}
body.single-post .solvem-post-content .post-entry > h2,body.single-post .solvem-post-content .post-entry > h3{color:#29344b;line-height:1.25}
body.single-post .solvem-editorial-back:focus-visible{outline:3px solid #e48546;outline-offset:5px}
@media(max-width:767px){body.single-post .solvem-post-single .solvem-editorial-hero{grid-template-columns:1fr;gap:24px;padding:155px 20px 30px}body.single-post .solvem-editorial-cover img{max-height:250px}}


/* Scoped resource: no global theme selectors. */
.solvem-hermeticidad,.solvem-hermeticidad *{box-sizing:border-box}
.solvem-hermeticidad{margin:36px 0;color:#25334a;font-size:16px;line-height:1.65}
.solvem-hermeticidad header{margin-bottom:24px}
.solvem-hermeticidad .sh-eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#805022}
.solvem-hermeticidad h2{color:#25334a;font-size:30px;line-height:1.2;margin:12px 0 18px}
.solvem-hermeticidad h3{color:#25334a;font-size:20px;line-height:1.3;margin:0 0 14px}
.solvem-hermeticidad .sh-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.solvem-hermeticidad .sh-card{background:#fff;border:1px solid #dce0e3;border-radius:14px;overflow:hidden;min-width:0}
.solvem-hermeticidad .sh-drawing{background:#e9edf1;border-bottom:1px solid #dce0e3}
.solvem-hermeticidad .sh-drawing svg{display:block;width:100%;height:auto}
.solvem-hermeticidad .sh-copy{padding:18px}
.solvem-hermeticidad .sh-copy p{font-size:15px;line-height:1.65;margin:12px 0}
.solvem-hermeticidad .sh-copy strong{display:block}
.solvem-hermeticidad .sh-letter{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;margin-right:6px;background:#e48546;color:#181d27;font-weight:700}
.solvem-hermeticidad .sh-note{margin-top:20px;padding:20px;border-radius:12px;background:#25334a;color:#fff;font-size:15px}
.solvem-hermeticidad .sh-note p{margin:0;color:#fff}
.solvem-hermeticidad .sh-caption{font-size:13px;line-height:1.6;color:#566173;margin-top:18px}
@media(max-width:767px){.solvem-hermeticidad .sh-grid{grid-template-columns:1fr}.solvem-hermeticidad .sh-drawing svg{max-height:220px}.solvem-hermeticidad h2{font-size:27px}}

/*
 * Nosotros: las dos fotografías reales (revisión técnica, detalle de equipo)
 * son retratos verticales de alta resolución (966x1207 y 720x1280) que el
 * widget Elementor renderiza a width:100% sin límite de alto, ocupando una
 * franja vertical desproporcionada. Se acota el alto conservando la imagen
 * completa (sin recortar), centrada en su columna. Sin tocar otras imágenes.
 */
.elementor-element-dce7223 .elementor-widget-container,
.elementor-element-ev1img01 .elementor-widget-container{display:flex;justify-content:center}
.elementor-element-dce7223 img,
.elementor-element-ev1img01 img{width:auto!important;max-width:100%;max-height:480px!important;margin:0 auto;object-fit:contain}

/* Editorial banners: text and link remain native HTML, not flattened into an image. */
.journey-banner{display:grid;grid-template-columns:1.05fr 1fr;isolation:isolate;border-radius:20px;overflow:hidden;margin:42px 0;background:#28344d;color:#fff;border:1px solid #445575;box-shadow:0 14px 38px #1b2d4714}.journey-copy{padding:30px;position:relative}.journey-copy:before{content:'';position:absolute;left:0;top:32px;width:5px;height:44px;background:#e48546}.journey-banner .journey-kicker{color:#f5b588;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:750;line-height:1.5;margin:0 0 16px}.journey-banner h2,.body .journey-banner h2{color:inherit;font-size:clamp(25px,2.3vw,36px);line-height:1.15;margin:0 0 16px}.journey-banner p{font-size:15px;line-height:1.65;margin:0 0 23px}.journey-banner .journey-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;color:#232c3d;background:#f3a76f;min-height:48px;padding:12px 18px;border-radius:8px;text-decoration:none;font-size:14px;font-weight:750;transition:background .18s,box-shadow .18s}.journey-button:hover{background:#ffc18e;box-shadow:0 4px 14px #0002}.journey-banner figure,.body .journey-banner figure{margin:0;min-width:0;display:flex;flex-direction:column;justify-content:center;background:#efeee8;padding:18px}.journey-banner figure img,.body .journey-banner figure img{width:100%;height:auto;max-height:260px;object-fit:contain;border-radius:10px}.journey-banner figcaption{font-size:10px;color:#555d66;line-height:1.5}.journey-learn{background:#eef0f8;color:#293650;border-color:#dbe0ed}.journey-learn .journey-kicker{color:#415488}.journey-learn figure{background:#e4e7ef}.journey-learn .journey-button,.journey-compare .journey-button{background:#334681;color:white}.journey-learn .journey-button:hover,.journey-compare .journey-button:hover{background:#263668}.journey-compare{background:#faf5ed;color:#293650;border-color:#eadfd2}.journey-compare .journey-kicker{color:#785027}.journey-compare figure{background:#f0e9df}.journey-learn figure img{max-height:290px}.body .journey-banner .journey-copy{padding:24px}.body .journey-banner h2{font-size:27px}@media(max-width:650px){.journey-banner{grid-template-columns:1fr}.journey-copy{padding:26px}.journey-banner figure{padding:18px}.journey-banner figure img{max-height:230px}.journey-banner .journey-button{width:100%}.journey-learn figure img{max-height:200px}}@media(prefers-reduced-motion:reduce){.journey-button{transition:none!important}}
.journey-banner,.journey-banner *{box-sizing:border-box}.journey-banner .journey-button:focus-visible{outline:3px solid #e48546;outline-offset:5px}.journey-banner img{display:block;max-width:100%}