:root {
	--neo-color-primary: #968772;
	--neo-color-secondary: #e6c64c;
	--neo-color-menu: #8d706a;
	--neo-color-dark: #000;
	--neo-color-light: #fff;
	--neo-color-muted: #eceaed;
	--neo-container: 1240px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--neo-color-dark); background: #fff; font-family: "M PLUS Rounded 1c", "Sans Serif", Roboto, sans-serif; font-size: 17px; line-height: 1.5; }
.wpcf7-list-item-label { font-size: 10px; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
.container { width: min(calc(100% - 40px), var(--neo-container)); margin-inline: auto; }
.elementor-section.elementor-section-boxed.elementor-element > .elementor-container,
.elementor-section.elementor-section-boxed > .elementor-container { width: min(calc(100% - 40px), 1210px); max-width: 1210px; margin-right: auto; margin-left: auto; }
.elementor .e-con { --container-max-width: 1210px; }
.container { width: min(calc(100% - 40px), 1240px); max-width: 1240px; margin-right: auto; margin-left: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.screen-reader-text:focus { z-index: 100000; width: auto; height: auto; padding: 12px; clip: auto; background: #fff; }

.publicidad { position: relative; z-index: 110; padding: 5px; text-align: center; background: #6099a6; color: #e6c64c !important; font-size: 15px; font-weight: bold; }
.publicidad_enlace { color: inherit !important; font-family: "M PLUS Rounded 1c", "Sans Serif", Roboto, sans-serif; font-size: inherit; font-weight: inherit; letter-spacing: .4px; text-decoration: none; }
.publicidad_enlace .blanco { color: #fff; }
.site-header { position: absolute; z-index: 100; top: 20px; right: 0; left: 0; padding-top: 0; background: transparent; }
.site-header.has-topbar { top: 50px; }
.site-header.header-solid { padding-block: 10px; background: #fff; }
.site-header.is-sticky { position: fixed; top: 0; padding-top: 0; background: #fff; box-shadow: 0 5px 20px rgba(0,0,0,.08); padding: 15px 0px; }
.site-header__inner { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.site-branding { margin-right: 0; }
.neocapilar-logo img { display: block; width: auto; height: 50px; }
.neocapilar-logo .logo-dark { display: none; }
.site-header.scheme-dark .logo-light, .site-header.header-solid .logo-light, .site-header.is-sticky .logo-light { display: none; }
.site-header.scheme-dark .neocapilar-logo .logo-dark, .site-header.header-solid .neocapilar-logo .logo-dark, .site-header.is-sticky .neocapilar-logo .logo-dark { display: block; }
.site-title { font-size: 1.5rem; font-weight: 700; text-decoration: none; }
.primary-navigation { padding-inline: 18px; background: #fff; border-radius: 30px; box-shadow: 0 2px 12px rgba(0,0,0,.03); }
.primary-navigation ul { display: flex; align-items: center; gap: 0; margin: 0; padding: 0; list-style: none; }
.primary-navigation li { position: relative; }
.primary-navigation ul.menu > li + li::before { position: absolute; top: 50%; left: -3px; width: 6px; height: 6px; border-radius: 50%; background: var(--pbmit-xcare-global-color, #968772); content: ''; transform: translateY(-50%); }
.primary-navigation a { display: block; padding: 19px 18px; color: var(--neo-color-menu); font-family: "M PLUS Rounded 1c", "Sans Serif", Roboto, sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .3px; line-height: 22px; text-decoration: none; text-transform: uppercase; transition: color .3s ease; }
.primary-navigation ul.menu > li:hover > a,
.primary-navigation ul.menu > li.current-menu-item > a,
.primary-navigation ul.menu > li.current-menu-parent > a,
.primary-navigation ul.menu > li.current-menu-ancestor > a,
.primary-navigation ul.menu > li.current_page_item > a,
.primary-navigation ul.menu > li.current_page_ancestor > a,
.primary-navigation .sub-menu li:hover > a,
.primary-navigation .sub-menu li.current-menu-item > a,
.primary-navigation .sub-menu li.current-menu-parent > a,
.primary-navigation .sub-menu li.current-menu-ancestor > a,
.primary-navigation a:focus { color: #e6c64c !important; }
.primary-navigation .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: 230px; padding: 12px 0; background: #fff; box-shadow: 0 8px 30px rgba(0,0,0,.12); border-radius: 12px; }
.primary-navigation li:hover > .sub-menu, .primary-navigation li:focus-within > .sub-menu { display: block; }
.primary-navigation .sub-menu a { padding: 9px 22px; font-size: 12px; }
@media (min-width: 1201px) {
	.primary-navigation.pbmit-navbar .sub-menu { min-width: 250px; border-top: 3px solid var(--pbmit-xcare-global-color); }
	.primary-navigation.pbmit-navbar .sub-menu > li { position: relative; display: block; padding: 0 30px; }
	.primary-navigation.pbmit-navbar .sub-menu > li > a { position: relative; display: block; padding: 10px 0 !important; line-height: 150%; transition: color .3s ease, padding .3s ease; }
	body:not(.mega-menu-pbminfotech-top) .primary-navigation.pbmit-navbar .sub-menu > li > a::before { position: absolute; top: 50%; right: auto; bottom: auto; left: 0; width: 0; height: 8px; background-color: var(--pbmit-xcare-global-color); border-radius: 100%; content: ''; transform: translateY(-50%); transition: width .3s ease-out; }
	body:not(.mega-menu-pbminfotech-top) .primary-navigation.pbmit-navbar .sub-menu > li:hover > a,
	body:not(.mega-menu-pbminfotech-top) .primary-navigation.pbmit-navbar .sub-menu > li.current-menu-item > a,
	body:not(.mega-menu-pbminfotech-top) .primary-navigation.pbmit-navbar .sub-menu > li.current-menu-parent > a,
	body:not(.mega-menu-pbminfotech-top) .primary-navigation.pbmit-navbar .sub-menu > li.current-menu-ancestor > a { padding-left: 18px !important; }
	body:not(.mega-menu-pbminfotech-top) .primary-navigation.pbmit-navbar .sub-menu > li:hover > a::before,
	body:not(.mega-menu-pbminfotech-top) .primary-navigation.pbmit-navbar .sub-menu > li.current-menu-item > a::before,
	body:not(.mega-menu-pbminfotech-top) .primary-navigation.pbmit-navbar .sub-menu > li.current-menu-parent > a::before,
	body:not(.mega-menu-pbminfotech-top) .primary-navigation.pbmit-navbar .sub-menu > li.current-menu-ancestor > a::before { width: 8px; }
}
.header-cta, .button { display: inline-flex; align-items: center; justify-content: center; padding: 23px 28px; color: #fff; font-family: "M PLUS Rounded 1c", "Sans Serif", Roboto, sans-serif; font-size: 13px; letter-spacing: .65px; line-height: 18px; text-decoration: none; text-transform: uppercase; border-radius: 30px; transition: color .4s ease, background-color .4s ease, transform .4s ease; }
.header-cta { background: #e6c64c; }
.header-cta:hover, .header-cta:focus { color: #e6c64c !important; background: #fff !important; }
.site-header.is-sticky .header-cta:hover, .site-header.is-sticky .header-cta:focus { color: #fff !important; background: #968772 !important; }
.button { background: #000; }
.button:hover, .button:focus { color: #fff; background: #968772; }
.header-cta__text { white-space: nowrap; }
.header-cta__icon { position: relative; display: inline-flex; width: 18px; height: 18px; margin-left: 6px; overflow: hidden; line-height: 18px; }
.header-cta__icon::before { position: absolute; top: 0; right: 0; width: 1em; height: auto; color: currentColor; content: "\e8dd"; font-family: "pbminfotech-base-icons"; transform: scale(.26) translate(-55px,50px); transition: transform .4s ease-in-out, opacity .4s ease-in-out; }
.header-cta__icon .pbmit-button-icon { display: inline-block; color: currentColor; transition: transform .4s ease-in-out, opacity .4s ease-in-out; }
.header-cta__icon i::before { margin: 0; }
.header-cta:hover .header-cta__icon::before, .header-cta:focus .header-cta__icon::before { transform: scale(1) translate(-2px,0); }
.header-cta:hover .header-cta__icon .pbmit-button-icon, .header-cta:focus .header-cta__icon .pbmit-button-icon { transform: scale(.26) translate(55px,-50px); }
.menu-toggle { display: none; padding: 8px; border: 0; background: transparent; }
.menu-toggle span[aria-hidden] { display: block; width: 26px; height: 2px; margin: 5px; background: currentColor; transition: opacity .2s ease, transform .2s ease; }
.menu-toggle[aria-expanded="true"] span[aria-hidden]:nth-of-type(2) { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span[aria-hidden]:nth-of-type(3) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span[aria-hidden]:nth-of-type(4) { transform: translateY(-7px) rotate(-45deg); }
.header-cta--mobile { display: none !important; }
@media (max-width: 1200px) {
	.site-header.is-sticky .nav-menu-toggle { color: #968772; }
}
.site-main { min-height: 55vh; }
.site-main.container, .error-404 { padding-block: 70px; }
.site-main--classic { padding-block: 70px; }
.site-main--classic .entry-content > :first-child { margin-top: 0; }
.site-main--classic .entry-content > :last-child { margin-bottom: 0; }
.site-main--elementor { width: 100%; }
.pbmit-service-layout { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 50px; align-items: start; padding-block: 60px; }
.pbmit-service-layout .site-main { grid-column: 2; min-width: 0; padding: 0; }
.pbmit-service-layout .site-main--classic { width: 100%; }
.pbmit-service-sidebar { position: sticky; top: 100px; grid-column: 1; grid-row: 1; min-width: 0; align-self: start; }
.pbmit-service-sidebar .widget { margin: 0 0 30px; }
.pbmit-service-sidebar .widget.neocapilar-service-menu-widget { display: block; width: 100%; margin: 0 0 30px !important; padding: 38px 35px 55px !important; overflow: hidden; box-sizing: border-box; background-color: #fff !important; background-image: none; border: 0 !important; border-radius: 40px !important; }
.pbmit-service-sidebar .widget.neocapilar-service-menu-widget:last-child { margin-bottom: 0 !important; }
.pbmit-service-sidebar .neocapilar-service-menu-widget .widget-title { display: flex; align-items: center; gap: 9px; margin: 0 0 20px; color: #968772; font-size: 28px; font-weight: 400; line-height: 34px; }
.pbmit-service-sidebar .neocapilar-service-menu-widget .widget-title { position: relative; padding-left: 0; }
.pbmit-service-sidebar .neocapilar-service-menu-widget .widget-title::before { display: none !important; content: none !important; }
.pbmit-service-sidebar .neocapilar-service-menu-widget .widget-title i { flex: 0 0 auto; color: #968772; font-size: 25px; }
.pbmit-service-sidebar .neocapilar-service-menu-widget .widget-title .neocapilar-service-menu-title-image { display: block; flex: 0 0 auto; width: 27px; height: 27px; object-fit: contain; }
.pbmit-service-sidebar .neocapilar-service-menu-widget ul { margin: 0; padding: 0; list-style: none; }
.pbmit-service-sidebar .neocapilar-service-menu-widget li { margin: 0; padding: 5px 0; }
.pbmit-service-sidebar .neocapilar-service-menu-widget li a { position: relative; display: block; padding-left: 22px; color: #968772; font-size: 17px; font-weight: 400; line-height: 24px; text-decoration: none; }
.pbmit-service-sidebar .neocapilar-service-menu-widget li a::before { position: absolute; top: 50%; left: 3px; width: 7px; height: 7px; background: #968772; border-radius: 50%; content: ''; transform: translateY(-50%); }
.pbmit-service-sidebar .neocapilar-service-menu-widget li.current-menu-item > a,
.pbmit-service-sidebar .neocapilar-service-menu-widget li a:hover { color: #e6c64c; }
.pbmit-service-sidebar .neocapilar-service-menu-widget li.current-menu-item > a::before,
.pbmit-service-sidebar .neocapilar-service-menu-widget li a:hover::before { background: #e6c64c; }
.pbmit-service-sidebar .neocapilar-service-cta-widget { overflow: hidden; padding: 0; background: transparent; border-radius: 30px; }
.pbmit-service-sidebar .neocapilar-service-cta-background { overflow: hidden; background-color: #968772; background-position: center; background-repeat: no-repeat; background-size: cover; border-radius: 30px; }
.pbmit-service-sidebar .neocapilar-service-cta-widget .pbmit-service-ads { padding: 35px 30px; }
.pbmit-service-sidebar .neocapilar-service-cta-widget .pbmit-element-title { margin: 0 0 15px; color: #fff; font-size: 18px; line-height: 24px; }
.pbmit-service-sidebar .neocapilar-service-cta-widget .pbmit-element-heading { margin: 0; color: #fff; font-size: 28px; line-height: 34px; }
.pbmit-service-sidebar .neocapilar-service-cta-widget .pbmit-element-heading a { color: inherit; text-decoration: none; }
.pbmit-service-sidebar .neocapilar-service-cta-widget .pbmit-btn a { display: inline-flex; align-items: center; text-decoration: none; }
.entry-content::after { display: table; clear: both; content: ''; }
.single-post .pbmit-blog-classic > .pbmit-img-wrapper .pbmit-featured-wrapper img { display: block; width: 100%; height: 420px; object-fit: cover; }
.single-post-main .pbmit-img-wrapper .pbmit-meta-cat { display: flex; flex-wrap: wrap; gap: 5px; }
.single-post-main .pbmit-img-wrapper .pbmit-meta-cat a { margin: 0; text-decoration: none; }
.single-post .pbmit-blog-classic .pbmit-img-wrapper { padding-top: 50px; }
.single-post .pbmit-blog-classic .pbmit-title-bar-wrapper,
.single-post .pbmit-blog-classic .pbmit-title-bar-content { min-height: 0 !important; height: auto !important; background-image: none !important; }
.single-post .pbmit-blog-classic .pbmit-title-bar-wrapper::before { background: transparent !important; opacity: 0 !important; }
.single-post .pbmit-blog-classic .pbmit-title-bar-wrapper.pbmit-titlebar-style-left .pbmit-title-bar-content { padding: 0; }
.single-post .pbmit-blog-classic .pbmit-title-bar-content-inner { width: 100%; }
.single-post .pbmit-title-bar-wrapper.pbmit-titlebar-style-left .pbmit-title-bar-content-inner { width: 100% !important; }
.single-post .pbmit-blog-classic .pbmit-tbar-inner.container { width: 100%; padding-inline: 0; }
.single-post .pbmit-blog-classic .pbmit-title-bar-wrapper.pbmit-titlebar-style-left .pbmit-title-bar-content h1.pbmit-tbar-title { color: #968772; font-size: 2.1em; line-height: 1.2em; }
.single-post .pbmit-post-title-separator { height: 1px; margin: 0 0 25px; padding: 0; background: #d5d5d5; border: 0; opacity: 1; }
.single-post .pbmit-blog-classic h2 { font-size: 19px; line-height: 19px; }
.single-post .pbmit-blog-classic h3 { font-size: 17px; line-height: 19px; }
.single .pbmit-blog-classic .pbmit-blog-meta.pbmit-blog-meta-top:not(:has(a)) { display: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.single-post .pbmit-blog-classic p { margin: 0 0 15px; }
.single-post .pbmit-blog-classic ul { margin-bottom: 15px !important; }
.single-post .pbmit-blog-classic ul li,
.single-post .pbmit-blog-classic ol li { margin: 5px 0 !important; }
.single-post .pbmit-blog-classic ul li ul { margin: -15px 0 15px !important; }
.single-post .post-navigation .nav-links .nav-title { text-transform: none; }
#toc_container { display: table; width: auto; margin-bottom: 1em; padding: 10px; background: #f9f9f9; border: 1px solid #aaa; font-size: 95%; }
#toc_container.toc_transparent { padding: 20px !important; background: #fff !important; border: 1px solid #aaa !important; border-radius: 30px !important; text-align: left !important; }
.single-post #toc_container a { line-height: 25px; text-decoration: none; }
.single-post #toc_container p.toc_title { text-align: left; font-weight: 700; }
.single-post .pbmit-blog-classic blockquote:not(.wp-block-quote):not(.has-text-color) { padding: 40px 95px; text-align: center; }
.single-post .pbmit-blog-classic blockquote::before { line-height: 25px !important; }
.single-post .pbmit-blog-classic blockquote::after { top: 45px; right: 35px; color: var(--pbmit-xcare-global-color); font-family: "pbminfotech-base-icons"; font-size: 70px; font-style: normal; content: '\e894'; transform: rotate(-180deg); }
.single-post-main .post-navigation a { text-decoration: none; }
.single-post-main .pbmit-post-related { margin-top: 65px; }
.single-post-main .pbmit-related-title { margin: 0 0 30px; color: #968772; font-size: 36px; line-height: 46px; }

.pbmit-title-bar-wrapper { position: relative; z-index: 2; min-height: 500px; overflow: hidden; background-color: inherit; background-position: center; background-repeat: no-repeat; background-size: cover; }
.pbmit-title-bar-wrapper::before { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; background: var(--neo-titlebar-overlay, #000) !important; content: ''; opacity: .2 !important; }
.pbmit-title-bar-wrapper > .container { position: relative; z-index: 1; }
.pbmit-title-bar-content { display: flex; min-height: 500px; align-items: center; padding: 100px 0 64px; }
.single-post .pbmit-blog-classic .pbmit-title-bar-content { width: 100%; }
.pbmit-title-bar-content-inner { width: 100%; }
.pbmit-title-bar-content .pbmit-tbar-inner { margin-bottom: 15px; padding: 0; }
.pbmit-title-bar-content .pbmit-tbar-title { margin: 0; color: var(--neo-titlebar-title, #ebebeb); font-size: 60px; font-weight: 500; line-height: 60px; }
.pbmit-breadcrumb, .pbmit-breadcrumb a, .pbmit-breadcrumb .current-item { color: var(--neo-titlebar-breadcrumb, #ebebeb); font-size: 15px; font-weight: 500; line-height: 25px; text-decoration: none !important; text-transform: capitalize; }
.pbmit-breadcrumb a::after { display: none !important; content: none !important; }
.pbmit-breadcrumb .sep { display: inline-block; padding: 0 7px; color: var(--neo-titlebar-breadcrumb, #ebebeb); }
.pbmit-tbar-description { max-width: 720px; margin: 18px 0 0; color: #000; font-size: 17px; }

/* Listado de Bitácora, basado en pbmit-blog-style-1. */
.blog .site-main, .archive .site-main, .search .site-main { padding-block: 80px; }
.pbmit-element-posts-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 58px 24px; }
.pbmit-blog-style-1 { min-width: 0; }
.pbmit-blog-style-1 .pbmit-featured-container { position: relative; margin-bottom: 25px; overflow: hidden; border-radius: 30px 30px 0 30px; }
.pbmit-blog-style-1 .pbmit-featured-wrapper { position: relative; display: block; overflow: hidden; border-radius: 30px 30px 0 30px; background: #dedadd; }
.pbmit-blog-style-1 .pbmit-featured-wrapper::before { position: absolute; z-index: 2; right: -1px; bottom: -1px; width: 119px; height: 112px; background-color: var(--neo-page-bg, #fff) !important; content: ''; -webkit-mask: url('../images/shape-bottom.png') no-repeat; mask: url('../images/shape-bottom.png') no-repeat; }
.pbmit-blog-style-1 .pbmit-featured-wrapper img, .pbmit-featured-placeholder { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .5s ease; }
.pbmit-featured-placeholder { background: linear-gradient(135deg, #dedadd, #eceaed); }
.pbmit-blog-style-1 .post-item:hover .pbmit-featured-wrapper img { transform: scale(1.05); }
.pbmit-blog-style-1 .pbmit-link { position: absolute; z-index: 1; inset: 0; }
.pbmit-blog-style-1 .pbmit-meta-cat-wrapper { position: absolute; z-index: 10; top: 20px; left: 25px; margin: 0; }
.pbmit-blog-style-1 .pbmit-meta-category { display: flex; flex-wrap: wrap; gap: 5px; }
.pbmit-blog-style-1 .pbmit-meta-category a { padding: 5px 15px; color: #000; background: rgba(255,255,255,.65); font-size: 12px; font-weight: 500; line-height: 23px; letter-spacing: .6px; text-decoration: none; text-transform: uppercase; border-radius: 15px; transition: color .3s, background-color .3s; }
.pbmit-blog-style-1 .pbmit-meta-category a:hover { color: #fff; background: #968772; }
.pbmit-blog-style-1 .pbmit-blog-btn { position: absolute; z-index: 12; right: 2px; bottom: 2px; display: flex; width: 50px; height: 50px; align-items: center; justify-content: center; padding: 0; color: #fff; background: #e6c64c; border-radius: 50%; transition: background-color .5s ease; }
.pbmit-blog-style-1 .post-item:hover .pbmit-blog-btn { color: #fff; background: #8d706a; }
.pbmit-blog-style-1 .pbmit-button-icon-wrapper { position: relative; display: inline-flex; margin: 0; overflow: hidden; }
.pbmit-blog-style-1 .pbmit-button-icon-wrapper::before { color: #fff; }
.pbmit-blog-style-1 .pbmit-button-icon { color: #fff; }
.pbmit-blog-style-1 .pbmit-category-date-wraper { display: flex; align-items: center; }
.pbmit-blog-style-1 .pbmit-meta-line, .pbmit-blog-style-1 .pbmit-meta-line a { color: #6e778c; font-size: 12px; line-height: 23px; letter-spacing: .6px; text-transform: uppercase; }
.pbmit-blog-style-1 .pbmit-post-date { display: inline-flex; align-items: center; gap: 5px; }
.pbmit-blog-style-1 .blog-calendar { width: 18px; height: 18px; fill: none; stroke: #968772; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.pbmit-blog-style-1 .pbmit-content-wrapper { margin-top: 10px; }
.pbmit-blog-style-1 .pbmit-post-title { display: -webkit-box; margin: 0; overflow: hidden; color: #968772; font-size: 26px; font-weight: 400; line-height: 32px; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.pbmit-blog-style-1 .pbmit-post-title a { color: inherit; text-decoration: none; transition: color .3s ease; }
.pbmit-blog-style-1 .pbmit-post-title a:hover { color: #e6c64c; }
.pbmit-pagination .nav-links { margin: 60px 0 20px; text-align: center; }
.pbmit-pagination .page-numbers { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; margin: 0 2px; color: #968772; background: #fff; border: 1px solid rgba(0,0,0,.2); border-radius: 20px; font-size: 15px; font-weight: 700; line-height: 40px; text-decoration: none; transition: color .3s, border-color .3s, background-color .3s; }
.pbmit-pagination .page-numbers:hover, .pbmit-pagination .page-numbers.current { color: #fff; border-color: #968772; background: #968772; }

.site-footer { padding: 0 18px; color: #8d706a; background: #fff; font-size: 15px; }
.site-footer .pbmit-footer-widget-area { padding-bottom: 25px; }
.footer-widgets { display: grid; grid-template-columns: repeat(var(--footer-columns), minmax(0, 1fr)); gap: 24px; }
.footer-column { min-width: 0; }
.footer-column .footer-widget { margin: 0; padding-top: 45px; }
.site-footer.pbmit-footer-style-2 .footer-column.pbmit-footer-widget-col-1 { margin-top: 30px !important; padding-top: 0; }
.footer-column.pbmit-footer-widget-col-1 .footer-widget { padding-top: 0; }
.footer-column.pbmit-footer-widget-col-1 .footer-widget + .footer-widget { padding-top: 24px; }
.footer-widget__title { margin: 0 0 20px; color: #968772; font-family: "M PLUS Rounded 1c", "Sans Serif", Roboto, sans-serif; font-size: 16px; font-weight: 500; line-height: 26px; text-transform: none; }
.site-footer .widget_media_image img { display: block; width: auto; max-width: min(100%, 300px) !important; height: auto !important; }
.site-footer .pbmit-footer-widget-col-1 .widget_media_image img { width: 300px !important; }
.site-footer .pbmit-footer-widget-col-4 .widget_media_image img { width: 300px !important; }
.site-footer .pbmit-social-links { display: block; margin: 0; padding: 0; list-style: none; }
.site-footer .pbmit-footer-widget .pbmit-social-links li.pbmit-social-li { display: inline-block; margin: 0 5px 8px 0; padding: 0; vertical-align: top; }
.site-footer.pbmit-footer-style-2 .pbmit-footer-widget .pbmit-social-links li.pbmit-social-li > a { display: inline-block; width: 40px; height: 40px; color: var(--neo-social-color, var(--pbmit-xcare-blackish-color, #000)) !important; background-color: var(--neo-social-bg, transparent) !important; border: 1px solid var(--neo-social-border, var(--pbmit-xcare-blackish-color, #000)) !important; border-radius: 50%; font-size: 15px; line-height: 40px; text-align: center; opacity: 1; text-decoration: none !important; transition: color .3s, background-color .3s, border-color .3s; }
.site-footer.pbmit-footer-style-2 .pbmit-footer-widget .pbmit-social-links li.pbmit-social-li > a:hover,
.site-footer.pbmit-footer-style-2 .pbmit-footer-widget .pbmit-social-links li.pbmit-social-li > a:focus { color: var(--neo-social-hover-color, #fff) !important; background-color: var(--neo-social-hover-bg, #000) !important; border-color: var(--neo-social-hover-bg, #000) !important; }
.site-footer .pbmit-social-links a span,
.site-footer .pbmit-social-links a i,
.site-footer .pbmit-social-links a i::before { color: inherit !important; }
.site-footer .pbmit-social-links i::before { margin: 0; }
.site-footer .pbmit-contact-widget-lines { display: grid; gap: 0; }
.pbminfotech-sidebar .pbmit-contact-widget-line:not(:last-child),
.site-footer .pbmit-contact-widget-line:not(:last-child) { position: relative; margin-bottom: 5px; }
.site-footer .pbmit-contact-widget-line { display: flex; align-items: flex-start; gap: 7px; color: #8d706a; font-size: 14px !important; line-height: 25px !important; opacity: 1; }
.site-footer .pbmit-contact-widget-line::before { display: none !important; content: none !important; }
.site-footer .pbmit-contact-widget-line i { flex: 0 0 auto; margin-top: 5px; color: #968772; font-size: 15px; line-height: 1; }
.site-footer .pbmit-contact-widget-line i::before { margin: 0; }
.site-footer.pbmit-footer-style-2 .pbmit-footer-widget .pbmit-contact-widget-line a { color: #8d706a !important; text-decoration: none !important; }
.site-footer.pbmit-footer-style-2 .pbmit-footer-widget .pbmit-contact-widget-email,
.site-footer.pbmit-footer-style-2 .pbmit-footer-widget .pbmit-contact-widget-email a,
.site-footer.pbmit-footer-style-2 .pbmit-footer-widget .pbmit-contact-widget-email a:hover,
.site-footer.pbmit-footer-style-2 .pbmit-footer-widget .pbmit-contact-widget-email a:focus { text-decoration: none !important; }
.site-footer.pbmit-footer-style-2 .pbmit-footer-widget .pbmit-contact-widget-line a:hover,
.site-footer.pbmit-footer-style-2 .pbmit-footer-widget .pbmit-contact-widget-line a:focus { color: var(--pbmit-xcare-link-color-hover, #e6c64c) !important; text-decoration: none !important; }
.site-footer.pbmit-footer-style-2 .pbmit-footer-widget a,
.site-footer.pbmit-footer-style-2 .pbmit-footer-text-area a { text-decoration: none; }
.site-footer .footer-column > .widget_neocapilar_image:only-child { height: 100%; padding-top: 0; box-sizing: border-box; }
.site-footer .neocapilar-image-widget { display: flex; width: 100%; height: 100%; box-sizing: border-box; padding-top: var(--neo-image-padding-top, 0); padding-bottom: var(--neo-image-padding-bottom, 0); }
.site-footer .neocapilar-image-widget.align-left { justify-content: flex-start; }
.site-footer .neocapilar-image-widget.align-center { justify-content: center; }
.site-footer .neocapilar-image-widget.align-right { justify-content: flex-end; }
.site-footer .neocapilar-image-widget.valign-top { align-items: flex-start; }
.site-footer .neocapilar-image-widget.valign-center { align-items: center; }
.site-footer .neocapilar-image-widget.valign-bottom { align-items: flex-end; }
.site-footer .neocapilar-image-widget img { display: block; width: min(100%, var(--neo-image-width, 300px)) !important; max-width: 100% !important; height: auto !important; }
.site-footer .pbmit-footer-text-area { padding: 0; background: transparent; }
.site-footer.pbmit-footer-style-2 .pbmit-footer-text-inner { margin-left: 0 !important; padding: 30px 0; border-top: 1px solid rgba(var(--pbmit-xcare-blackish-color-rgb, 0,0,0), .2); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-left: 0; padding: 30px 0; color: #8d7060; border-top: 1px solid rgba(var(--pbmit-xcare-blackish-color-rgb, 0,0,0), .2); }
.footer-bottom p { margin: 10px 0; }
.legal-navigation { text-align: left; }
.legal-navigation ul { display: flex; gap: 0; margin: 0; padding: 0; list-style: none; }
.legal-navigation li { position: relative; margin-right: 18px; }
.legal-navigation li::after { display: none !important; content: none !important; }
.site-footer .legal-navigation a { color: #8d7060 !important; font-size: 14px; text-decoration: none; transition: color .3s; }
.site-footer .legal-navigation a:hover, .site-footer .legal-navigation a:focus { color: #968772 !important; }
.pbmit-footer-copyright-text-area { margin-left: auto; text-align: right; }
.pbmit-footer-copyright-text-area p { color: #8d7060; font-size: 14px; }

@media (max-width: 900px) {
	.site-header { top: 10px; padding-top: 0; }
	.site-header__inner { padding: 0px; }
	.site-header.has-topbar { top: 50px; }
	.site-header.is-sticky { top: 0; padding-top: 0; }
	.neocapilar-logo img { height: 45px; }
	.menu-toggle { display: block; }
	.nav-menu-toggle { position: relative; top: 20px; right: 0px; }
	.primary-navigation,
	.menu-toggle[aria-expanded="false"] + .primary-navigation { display: none !important; position: absolute; inset: 65px 15px auto; padding: 15px 10px; background: #fff; border-radius: 12px; box-shadow: 0 8px 30px rgba(0,0,0,.12); }
	.primary-navigation.is-open,
	.menu-toggle[aria-expanded="true"] + .primary-navigation { display: block !important; }
	.primary-navigation ul { flex-direction: column; align-items: flex-start; }
	.primary-navigation ul.menu > li,
	.primary-navigation ul.menu > li::before,
	.primary-navigation ul.menu > li::after { border: 0 !important; box-shadow: none !important; }
	.primary-navigation ul.menu > li::before,
	.primary-navigation ul.menu > li::after { display: none !important; content: none !important; }
	.primary-navigation a { padding: 10px 15px; }
	.primary-navigation .sub-menu { display: block; position: static; padding: 0 0 0 15px; box-shadow: none; }
	.header-cta { display: none; }
	.primary-navigation .header-cta--mobile { display: inline-flex !important; width: calc(100% - 30px); margin: 15px; padding: 18px 22px; color: #fff; }
	.pbmit-title-bar-wrapper, .pbmit-title-bar-content { min-height: 350px; }
	.pbmit-title-bar-content { padding: 90px 0 45px; }
	.pbmit-title-bar-content .pbmit-tbar-title { font-size: 35px; line-height: 40px; }
	.pbmit-breadcrumb, .pbmit-breadcrumb a, .pbmit-breadcrumb .current-item { font-size: 12px; }
	.pbmit-element-posts-wrapper { gap: 45px 20px; }
	.pbmit-blog-style-1 .pbmit-post-title { font-size: 20px; line-height: 30px; }
	.footer-widgets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.site-footer.pbmit-footer-style-2 .footer-column.pbmit-footer-widget-col-1 { margin-top: 0 !important; padding-top: 32px; }
	.footer-bottom { margin-left: 0; }
	.pbmit-service-layout { grid-template-columns: 1fr; gap: 40px; }
	.pbmit-service-layout .site-main { grid-column: auto; }
	.pbmit-service-sidebar { display: none !important; }
}

@media (max-width: 575px) {
	button:not(.pbmit-nav-menu-toggle):not(.wp-element-button):not(.nav-menu-toggle), html input[type="button"], input[type="reset"], input[type="submit"] {
		padding: 15px 0 15px 15px;
	}
}

@media (max-width: 600px) {
	.container { width: min(calc(100% - 30px), var(--neo-container)); }
	.footer-widgets { grid-template-columns: 1fr; }
	.pbmit-element-posts-wrapper { grid-template-columns: 1fr; }
	.pbmit-blog-style-1 .pbmit-meta-cat-wrapper { top: 15px; left: 15px; }
	.footer-bottom { align-items: center; flex-direction: column; text-align: center; }
	.legal-navigation ul { align-items: center; flex-direction: column; }
	.legal-navigation li { margin: 0; }
	.legal-navigation li::after { display: none; }
	.pbmit-footer-copyright-text-area { margin-left: 0; text-align: center; }
}

@media (max-width: 768px) {
	.single-post .single-post-main { padding-inline: 10px !important; }
	.single-post .pbmit-blog-classic blockquote:not(.wp-block-quote):not(.has-text-color) { padding: 60px 15px !important; }
	.single-post .pbmit-blog-classic blockquote::before { top: 20px; left: 50px !important; transform: translate(-20%, 0); }
	.single-post .pbmit-blog-classic blockquote::after { top: auto; right: 20px !important; bottom: 20px !important; left: auto; transform: rotate(-180deg) translate(-10%, 0); }
}

@media (max-width: 767px) {
	.single .pbmit-blog-classic .pbmit-entry-content h2,
	.pbmit-service h2,
	.pbmit-custom-heading .pbmit-element-title,
	.pbmit-heading-subheading .pbmit-element-title {
		font-size: 30px;
		line-height: 40px;
	}
}

@media (min-width: 769px) and (max-width: 1200px) {
	.single-post .single-post-main { padding-inline: 12px !important; }
}

/* La identidad tipográfica de Neocapilar prevalece sobre Xcare y Elementor. */
body,
button,
input,
select,
textarea,
h1,
h2,
h3,
h4,
h5,
h6,
.primary-navigation a,
.publicidad_enlace,
.header-cta,
.footer-widget__title,
.pbmit-navbar a,
.pbmit-tbar-title,
.pbmit-tbar-subtitle,
.pbmit-breadcrumb,
.pbmit-heading-subheading .pbmit-element-title,
.pbmit-heading-subheading .pbmit-element-subtitle,
.elementor-heading-title,
.elementor-button,
.elementor-widget-text-editor {
	font-family: "M PLUS Rounded 1c", "Sans Serif", Roboto, sans-serif;
}

/*
 * El overlay heredado de Xcare debe ser exclusivamente visual. Con z-index: 1
 * cubria los controles interactivos de Elementor (acordeones, pestanas, etc.)
 * y capturaba sus clics.
 */
.elementor-element:not(.elementor-column)::before,
.elementor-element.elementor-column:not(.elementor-inner-column) .elementor-widget-wrap::before,
.pbmit-col-stretched-yes .pbmit-stretched-div::before {
	pointer-events: none;
}

/*
 * Xcare eleva los overlays de fondo a z-index: 1 dentro del editor. Deben
 * seguir viéndose, pero no pueden interceptar la selección de columnas y
 * widgets de Elementor.
 */
.elementor-editor-active .elementor-background-overlay {
	pointer-events: none !important;
}

.elementor-editor-active .elementor-shape,
.elementor-editor-active .elementor-shape::before,
.elementor-editor-active .elementor-shape::after {
	pointer-events: none !important;
}

/* La superficie del overlay es transparente; solo sus mandos deben pulsarse. */
.elementor-editor-active .elementor-element-overlay {
	pointer-events: none !important;
}

.elementor-editor-active .elementor-element-overlay .elementor-editor-element-settings,
.elementor-editor-active .elementor-element-overlay .elementor-editor-element-setting {
	pointer-events: auto !important;
}

/* El thumbnail transparente del vídeo no debe abrir el lightbox al editar. */
.elementor-editor-active .elementor-custom-embed-image-overlay {
	pointer-events: none !important;
}

/* Botón corporativo de los formularios Contact Form 7. */
.pbmit-form button.wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 150px;
	padding: 17px 28px;
	color: #fff;
	background-color: var(--pbmit-xcare-global-color, #968772);
	border: 0;
	border-radius: 30px;
	box-shadow: none;
	cursor: pointer;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .6px;
	line-height: 23px;
	text-transform: uppercase;
	transition: color .35s ease, background-color .35s ease;
}

.pbmit-form button.wpcf7-submit:hover,
.pbmit-form button.wpcf7-submit:focus-visible {
	color: #fff;
	background-color: var(--pbmit-xcare-link-color-hover, #e6c64c);
}

.pbmit-form button.wpcf7-submit .pbmit-button-icon-wrapper,
.pbmit-form button.wpcf7-submit .pbmit-button-icon,
.pbmit-form button.wpcf7-submit i {
	color: currentColor;
}

.pbmit-form button.wpcf7-submit:focus-visible {
	outline: 2px solid var(--pbmit-xcare-global-color, #968772);
	outline-offset: 3px;
}
