/* ==========================================================================
   UnikaWeb Consulting — diseño de consultoría
   Header con menú, cabeceras de página, servicios, secciones de las páginas de Divi, servicio,
   franja de llamada a la acción y pie oscuro.

   Reglas para los módulos de Divi (requisito 17):
   - colores, fondos, bordes, esquinas, sombras, tipografía y alineación: selector suave
     (:where(...) + clase), sin !important, para que los ajustes de Divi del usuario ganen;
   - márgenes y rellenos de la raíz del módulo: :is(html, #ukc-guard) sin !important;
   - el HTML propio del theme (servicios, migas, tarjetas PHP) puede llevar más peso.
   No se redefinen variables --ukc-* en :root (los ajustes del Personalizador van después de main.css).
   ========================================================================== */

/* --------------------------------------------------------------------------
   Base
   ----------------------------------------------------------------------- */
.ukc { --ukc-shadow: 0 18px 50px -24px rgba(12, 30, 33, .28); --ukc-shadow-sm: 0 8px 24px -14px rgba(12, 30, 33, .25); }
.ukc .ukc-eyebrow { color: var(--ukc-accent); letter-spacing: .14em; }
.ukc .ukc-eyebrow--badge {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 8px 16px 8px 10px; border-radius: 999px;
	background: color-mix(in srgb, var(--ukc-accent) 10%, transparent);
	letter-spacing: .08em;
}
.ukc .ukc-eyebrow--badge::before {
	content: ""; width: 22px; height: 22px; flex: none; border-radius: 50%;
	background: #fff url("../img/icon-medal.svg") center / 14px no-repeat; box-shadow: 0 0 0 1px color-mix(in srgb, var(--ukc-accent) 25%, transparent);
	-webkit-mask: none;
	filter: none;
}
.ukc .ukc-d-soft:where(.et_pb_section) { background-color: var(--ukc-soft); }
:where(.ukc) .ukc-d-soft:where(.et_pb_section:not(.et_pb_with_background)) { background-color: var(--ukc-soft); }
.ukc .ukc-arrow { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform var(--ukc-speed) var(--ukc-ease); }

/* Lista con marcas */
.ukc .ukc-checks { margin: 0; padding: 0 !important; list-style: none; display: grid; gap: 12px; }
.ukc .ukc-checks li {
	position: relative; padding-left: 34px; line-height: 1.5; list-style: none;
}
.ukc .ukc-checks li::before {
	content: ""; position: absolute; left: 0; top: .1em; width: 22px; height: 22px; border-radius: 50%;
	background: var(--ukc-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 13px no-repeat;
}

/* Espacio entre módulos dentro de las columnas de las secciones del theme */
:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .et_pb_module + .et_pb_module,
:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .et_pb_module + .et_pb_button_module_wrapper,
:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .et_pb_button_module_wrapper + .et_pb_module { margin-top: 24px; }
:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row + .et_pb_row.ukc-d-row { margin-top: clamp(28px, 4vw, 52px); }

/* Título de sección (módulo Texto) */
:where(.ukc) .ukc-d-heading .ukc-eyebrow { display: block; margin-bottom: 12px; }
.ukc .ukc-d-heading .ukc-d-heading__title { margin: 0; padding: 0; font-size: var(--ukc-fs-h2); line-height: 1.12; }
:where(.ukc) .ukc-d-heading .ukc-d-heading__text { margin-top: 16px; max-width: 62ch; font-size: 17px; color: var(--ukc-muted); }
:where(.ukc) .ukc-d-heading--center { max-width: 760px; margin-inline: auto; }
.ukc .ukc-d-heading--center .ukc-d-heading__text { margin-inline: auto; }
:is(html, #ukc-guard) .ukc .ukc-d-heading--center { margin-left: auto; margin-right: auto; }
.ukc .ukc-dark .ukc-d-heading__text { color: rgba(255, 255, 255, .72); }
.ukc .et_pb_column:has(> .ukc-d-heading--row) > .ukc-d-title .ukc-d-heading__title { font-size: var(--ukc-fs-h2); }
.ukc a.et_pb_button.ukc-d-title-link,
.ukc a.et_pb_button.ukc-d-title-link:hover { color: var(--ukc-accent) !important; text-transform: none; letter-spacing: 0; font-size: 15px !important; font-weight: 600; line-height: 1.4 !important; }
.ukc a.et_pb_button.ukc-d-title-link::after { top: auto !important; right: auto !important; margin: 0 !important; line-height: 1 !important; align-self: center; transform: none !important; }
.ukc a.et_pb_button.ukc-d-title-link:hover::after { transform: translateX(6px) !important; }

/* Botones de las secciones */
.ukc .et_pb_button.ukc-d-btn-ghost,
.ukc .ukc-d-btn-ghost .et_pb_button { background: transparent; border-color: var(--ukc-line); color: var(--ukc-ink) !important; }
.ukc .et_pb_button.ukc-d-btn-ghost:hover { color: #fff !important; border-color: var(--ukc-ink); }

/* --------------------------------------------------------------------------
   Header: menú en línea en pantallas grandes, botón y hamburguesa
   ----------------------------------------------------------------------- */
.ukc .ukc-site-header { background: rgba(255, 255, 255, .92); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); }
.ukc .ukc-site-header.is-scrolled { box-shadow: 0 10px 30px -22px rgba(12, 30, 33, .45); }
.ukc .ukc-logo__text { font-weight: 800; text-transform: none; letter-spacing: -.03em; font-size: min(calc(var(--ukc-logo-h) * .68), 7vw); }
.ukc .ukc-logo--dark .ukc-logo__text::before {
	content: ""; display: inline-block; width: .62em; height: .62em; margin-right: .32em; border-radius: .18em;
	background: var(--ukc-accent); transform: rotate(45deg) translateY(-.08em);
}
.ukc .ukc-site-footer .ukc-logo__text::before {
	content: ""; display: inline-block; width: .62em; height: .62em; margin-right: .32em; border-radius: .18em;
	background: var(--ukc-accent); transform: rotate(45deg) translateY(-.08em);
}
.ukc-nav { display: none; flex: 1 1 auto; justify-content: center; min-width: 0; }
.ukc-nav__menu { display: flex; align-items: center; gap: clamp(4px, 1.2vw, 18px); margin: 0; padding: 0; list-style: none; }
.ukc-nav__menu > li { position: relative; list-style: none; }
.ukc .ukc-nav__menu > li > a {
	display: inline-flex; align-items: center; gap: 6px; padding: 10px 12px; border-radius: 999px;
	color: var(--ukc-ink); font-size: 15px; font-weight: 600; white-space: nowrap;
}
.ukc .ukc-nav__menu > li > a:hover,
.ukc .ukc-nav__menu > li.current-menu-item > a,
.ukc .ukc-nav__menu > li.current-menu-ancestor > a,
.ukc .ukc-nav__menu > li.current_page_item > a { color: var(--ukc-accent); }
.ukc .ukc-nav__menu > li.menu-item-has-children > a::after {
	content: ""; width: 8px; height: 8px; margin-top: -4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg); opacity: .6; transition: transform var(--ukc-speed) var(--ukc-ease);
}
.ukc .ukc-nav__menu .ukc-overlay__text::before,
.ukc .ukc-nav__menu .ukc-overlay__text::after { display: none !important; content: none !important; }
.ukc-nav__menu .sub-menu {
	position: absolute; top: calc(100% + 8px); left: 50%; z-index: 30;
	min-width: 280px; margin: 0; padding: 10px; list-style: none;
	background: #fff; border: 1px solid var(--ukc-line); border-radius: var(--ukc-radius);
	box-shadow: var(--ukc-shadow);
	opacity: 0; visibility: hidden; transform: translate(-50%, 8px);
	transition: opacity .25s, transform .25s var(--ukc-ease), visibility .25s;
}
.ukc-nav__menu .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.ukc-pointer .ukc-nav__menu > li:hover > .sub-menu,
.ukc-nav__menu > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.ukc-pointer .ukc-nav__menu > li:hover > a::after,
.ukc-nav__menu > li:focus-within > a::after { transform: rotate(225deg) translate(-2px, -2px); }
.ukc-nav__menu .sub-menu li { list-style: none; }
.ukc .ukc-nav__menu .sub-menu a {
	display: block; padding: 10px 14px; border-radius: calc(var(--ukc-radius) * .6);
	color: var(--ukc-ink); font-size: 14px; font-weight: 500; line-height: 1.35;
}
.ukc .ukc-nav__menu .sub-menu a:hover,
.ukc .ukc-nav__menu .sub-menu .current-menu-item > a { background: var(--ukc-soft); color: var(--ukc-accent); }
.ukc .ukc-header__cta { display: none; padding: .85em 1.5em !important; font-size: 14px !important; }
.ukc .ukc-header__cta .ukc-arrow { width: 16px; height: 16px; }
.ukc .ukc-header__cta:hover .ukc-arrow { transform: translateX(3px); }

@media (min-width: 1200px) {
	.ukc-has-nav .ukc-nav { display: flex; }
	.ukc-has-nav .ukc-burger { display: none; }
	.ukc-has-nav .ukc-header__cta { display: inline-flex; }
}
@media (min-width: 768px) {
	.ukc:not(.ukc-has-nav) .ukc-header__cta { display: inline-flex; }
}

/* Menú móvil (pantalla completa): submenús discretos */
.ukc .ukc-overlay__menu .sub-menu a { font-size: 17px; font-weight: 500; opacity: .8; }

/* --------------------------------------------------------------------------
   Cabecera de página (Divi: sección ukc-d-pagehead2 · PHP: .ukc-pagehead)
   ----------------------------------------------------------------------- */
.ukc-d-pagehead2 { --ukc-d-pt: clamp(70px, 9vw, 130px); --ukc-d-pb: clamp(60px, 8vw, 110px); }
.ukc .et_pb_section.ukc-d-pagehead2 { position: relative; isolation: isolate; }
.ukc .et_pb_section.ukc-d-pagehead2::after {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background: linear-gradient(100deg, rgba(12, 30, 33, .88), rgba(12, 30, 33, .55));
}
.ukc .ukc-d-pagehead2 > .et_pb_row { position: relative; z-index: 1; }
:where(.ukc) .ukc-d-pagehead2:where(.et_pb_section) { background-size: cover; background-position: center; color: #fff; }
:where(.ukc) .ukc-d-pagehead2 .et_pb_text_inner { color: rgba(255, 255, 255, .78); font-size: 18px; }
.ukc .ukc-d-pagehead2 .ukc-d-pagehead__title { margin: 0; padding: 0; color: #fff; font-size: var(--ukc-fs-h1); line-height: 1.08; }
:where(.ukc) .ukc-d-pagehead2 .ukc-d-pagehead__text { max-width: 60ch; margin: 14px auto 0; }
.ukc .ukc-d-pagehead2 .ukc-d-pagehead__text:empty { display: none; }

.ukc .ukc-crumbs ol { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 10px; margin: 0; padding: 0 !important; list-style: none; font-size: 14px; font-weight: 500; }
.ukc .ukc-crumbs li { list-style: none; display: inline-flex; align-items: center; gap: 10px; color: rgba(255, 255, 255, .7); }
.ukc .ukc-crumbs li + li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ukc-accent); }
.ukc .ukc-crumbs a { color: #fff !important; }
.ukc .ukc-crumbs a:hover { color: var(--ukc-accent) !important; }
.ukc .ukc-crumbs [aria-current] { color: rgba(255, 255, 255, .7); }
.ukc .ukc-d-pagehead__crumbs { display: flex; justify-content: center; }
:is(html, #ukc-guard) .ukc .ukc-d-pagehead2 .ukc-d-pagehead__crumbs { margin-top: 26px; }
.ukc .ukc-d-pagehead__crumbs .ukc-crumbs ol { padding: 10px 20px !important; border: 1px solid rgba(255, 255, 255, .2); border-radius: 999px; background: rgba(255, 255, 255, .06); }

.ukc .ukc-pagehead {
	position: relative; isolation: isolate; padding-block: clamp(70px, 9vw, 130px) clamp(60px, 8vw, 110px);
	background: var(--ukc-ink) var(--ukc-pagehead-img, none) center / cover no-repeat; color: #fff; text-align: center;
}
.ukc .ukc-pagehead::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(12, 30, 33, .9), rgba(12, 30, 33, .55)); }
.ukc .ukc-pagehead .ukc-crumbs ol { display: inline-flex; padding: 10px 20px !important; border: 1px solid rgba(255, 255, 255, .2); border-radius: 999px; background: rgba(255, 255, 255, .06); }
.ukc .ukc-pagehead__title { margin: 22px auto 0; padding: 0; max-width: 20ch; color: #fff; font-size: var(--ukc-fs-h1); line-height: 1.08; }
.ukc .ukc-pagehead__text { max-width: 60ch; margin: 14px auto 0; color: rgba(255, 255, 255, .78); font-size: 18px; }

/* --------------------------------------------------------------------------
   Hero de la portada: tarjeta oscura (textos) | foto a toda la altura con tarjeta de clientes
   ----------------------------------------------------------------------- */
.ukc-d-hero2 { --ukc-d-pt: clamp(10px, 1.2vw, 20px); --ukc-d-pb: clamp(10px, 1.2vw, 20px); --ukc-hero-gap: clamp(10px, 1.2vw, 20px); }
:where(.ukc) .ukc-d-hero2:where(.et_pb_section) { background-color: var(--ukc-soft); }
.ukc .ukc-d-hero2 .ukc-d-hero2__row { --ukc-d-rw: 2560px; --ukc-d-rx: var(--ukc-hero-gap); }
.ukc .ukc-d .et_pb_row.ukc-d-hero2__row:has(> .et_pb_column + .et_pb_column) { gap: var(--ukc-hero-gap); align-items: stretch; }
.ukc .ukc-d-hero2__row > .et_pb_column { min-height: clamp(560px, calc(100svh - var(--ukc-header-h) - 2 * var(--ukc-hero-gap)), 900px); }

/* Columna izquierda: tarjeta oscura con brillo de color */
.ukc .ukc-d-hero2__row > .et_pb_column:first-child {
	position: relative; isolation: isolate; overflow: hidden;
	display: flex; flex-flow: row wrap; align-content: center; align-items: center; justify-content: flex-start;
	padding: clamp(36px, 6vw, 110px) clamp(24px, 6vw, 120px);
	border-radius: calc(var(--ukc-radius) * 1.6);
	background: var(--ukc-ink);
	color: #fff;
}
.ukc .ukc-d-hero2__row > .et_pb_column:first-child::before {
	content: ""; position: absolute; z-index: -1; left: -15%; top: -25%; width: 75%; aspect-ratio: 1; border-radius: 50%;
	background: radial-gradient(closest-side, color-mix(in srgb, var(--ukc-accent) 38%, transparent), transparent);
	pointer-events: none;
}
.ukc .ukc-d-hero2__row > .et_pb_column:first-child > * { flex: 0 0 100%; width: 100%; max-width: 760px; }
.ukc .ukc-d-hero2__row > .et_pb_column:first-child > .et_pb_button_module_wrapper { flex: 0 0 auto; }
.ukc .ukc-d-hero2__row > .et_pb_column:first-child > .et_pb_button_module_wrapper { width: auto; display: inline-block; }
:where(.ukc) .ukc-d-hero2 .ukc-d-hero__texts .et_pb_text_inner { color: #fff; }
.ukc .ukc-d-hero2 .ukc-eyebrow--badge {
	padding: 10px 18px 10px 12px; border: 1px dashed rgba(255, 255, 255, .18); border-radius: calc(var(--ukc-radius) * .5);
	background: rgba(255, 255, 255, .03); color: #fff; letter-spacing: .14em; font-size: 13px;
}
.ukc .ukc-d-hero2 .ukc-eyebrow--badge::before { width: 24px; height: 24px; background: transparent url("../img/icon-medal.svg") center / 22px no-repeat; box-shadow: none; }
.ukc .ukc-d-hero2 .ukc-d-hero__title { margin: 28px 0 0; padding: 0; color: #fff; font-size: clamp(36px, 4.6vw, var(--ukc-h1-max)); font-weight: 600; line-height: 1.12; letter-spacing: -.025em; }
.ukc .ukc-d-hero2 .ukc-d-hero__title .ukc-hl { color: color-mix(in srgb, var(--ukc-accent) 72%, #fff); }

/* Entradilla con flecha entre rayas de puntos */
:is(html, #ukc-guard) .ukc .ukc-d-hero2 .et_pb_column > .ukc-d-hero__lead { margin-top: clamp(28px, 4vw, 56px); }
.ukc .ukc-d-hero2 .ukc-d-hero__lead { position: relative; padding: clamp(22px, 2.6vw, 34px) 0 clamp(22px, 2.6vw, 34px) clamp(96px, 9vw, 150px); border-top: 1px dashed rgba(255, 255, 255, .16); border-bottom: 1px dashed rgba(255, 255, 255, .16); }
.ukc .ukc-d-hero2 .ukc-d-hero__lead::before {
	content: ""; position: absolute; left: 0; top: 50%; width: clamp(48px, 4.6vw, 70px); aspect-ratio: 1; transform: translateY(-50%);
	background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='square'%3E%3Cpath d='M5 19 19 5M8 5h11v11'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='square'%3E%3Cpath d='M5 19 19 5M8 5h11v11'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ukc .ukc-d-hero2 .ukc-d-hero__lead::after { content: ""; position: absolute; left: clamp(72px, 6.8vw, 112px); top: 18%; bottom: 18%; border-left: 1px dashed rgba(255, 255, 255, .16); }
:where(.ukc) .ukc-d-hero2 .ukc-d-hero__lead .et_pb_text_inner { color: rgba(255, 255, 255, .72); font-size: clamp(16px, 1.2vw, 19px); line-height: 1.6; }
.ukc .ukc-d-hero2 .ukc-d-hero__lead p { padding: 0; }

/* Botones del hero (sobre fondo oscuro) */
:is(html, #ukc-guard) .ukc .ukc-d-hero2 .et_pb_column > .et_pb_button_module_wrapper { margin-top: clamp(28px, 3.4vw, 44px); margin-right: 12px; }
.ukc .ukc-d-hero2 .et_pb_button.ukc-d-btn-ghost { background: transparent; border-color: rgba(255, 255, 255, .28); color: #fff !important; }
.ukc .ukc-d-hero2 .et_pb_button.ukc-d-btn-ghost::before { background: #fff; }
.ukc .ukc-d-hero2 .et_pb_button.ukc-d-btn-ghost:hover { color: var(--ukc-ink) !important; border-color: #fff; }
.ukc .ukc-d-hero2 .et_pb_button.ukc-d-hero__btn:not(.ukc-d-btn-ghost)::before { background: #fff; }
.ukc .ukc-d-hero2 .et_pb_button.ukc-d-hero__btn:not(.ukc-d-btn-ghost):hover { color: var(--ukc-ink) !important; border-color: #fff; }

/* Columna derecha: foto a toda la altura + tarjeta blanca de clientes recortada en la esquina */
.ukc .ukc-d-hero2__row > .et_pb_column:last-child { position: relative; overflow: hidden; border-radius: calc(var(--ukc-radius) * 1.6); }
.ukc .ukc-d-hero2 .ukc-d-hero__img { position: absolute !important; inset: 0; z-index: 0; }
:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .ukc-d-hero__img { margin: 0; }
.ukc .ukc-d-hero2 .ukc-d-hero__img .et_pb_image_wrap { display: block; width: 100%; height: 100%; }
.ukc .ukc-d-hero2 .ukc-d-hero__img img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: 60% 30%; aspect-ratio: auto; }
.ukc .ukc-d-hero2__row > .et_pb_column:last-child::after {
	content: ""; position: absolute; z-index: 1; left: 0; bottom: 0; width: min(330px, 70%); height: 230px;
	background: #fff; border-top-right-radius: calc(var(--ukc-radius) * 1.6);
	box-shadow: 0 0 0 var(--ukc-hero-gap) var(--ukc-soft);
	clip-path: inset(calc(-1 * var(--ukc-hero-gap)) calc(-1 * var(--ukc-hero-gap)) 0 0 round 0 calc(var(--ukc-radius) * 1.6 + var(--ukc-hero-gap)) 0 0);
}
.ukc .ukc-d-hero2 .ukc-d-hero__clients-img { position: absolute !important; z-index: 2; left: clamp(22px, 2.4vw, 36px); bottom: 140px; width: auto !important; }
:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .ukc-d-hero__clients-img { margin: 0; }
.ukc .ukc-d-hero2 .ukc-d-hero__clients-img img { width: 168px !important; height: auto; }
.ukc .ukc-d-hero2 .ukc-d-hero__clients { position: absolute !important; z-index: 2; left: clamp(22px, 2.4vw, 36px); bottom: 30px; right: auto; width: min(270px, calc(70% - 44px)); }
:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .ukc-d-hero__clients { margin: 0; }
:where(.ukc) .ukc-d-hero__clients .et_pb_text_inner { font-size: 15px; color: var(--ukc-muted); line-height: 1.35; }
.ukc .ukc-d-hero__clients p { padding: 0; }
.ukc .ukc-d-hero__clients strong { display: block; color: var(--ukc-ink); font-family: var(--ukc-font-display); font-size: clamp(40px, 3.4vw, 52px); font-weight: 700; line-height: 1.05; letter-spacing: -.03em; }

/* Tarjeta flotante (hero y Quiénes somos) */
.ukc .ukc-d-float { position: absolute !important; z-index: 2 !important; left: -24px; bottom: 32px; width: min(240px, 60%); }
:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .ukc-d-float { margin-top: 0; }
:where(.ukc) .ukc-d-float { padding: 20px 22px; background: #fff; border-radius: var(--ukc-radius); box-shadow: var(--ukc-shadow); }
:where(.ukc) .ukc-d-float .et_pb_text_inner { font-size: 14px; line-height: 1.4; color: var(--ukc-muted); }
.ukc .ukc-d-float .ukc-d-float__num { margin: 0 0 4px; padding: 0; color: var(--ukc-accent); font-family: var(--ukc-font-display); font-size: 40px; font-weight: 800; line-height: 1; }
.ukc .ukc-d-float p { padding: 0; }
.ukc .ukc-d-float--left { left: auto; right: -24px; }

/* --------------------------------------------------------------------------
   Tarjetas con icono (módulo Propaganda)
   ----------------------------------------------------------------------- */
.ukc .ukc-d-cards3.et_pb_row { align-items: stretch; }
.ukc .ukc-d-cards3 > .et_pb_column { display: flex; }
.ukc .ukc-d-cards3 > .et_pb_column > .et_pb_module { flex: 1 1 auto; }
:where(.ukc) .ukc-d-blurb--card {
	padding: clamp(28px, 3vw, 40px); background: #fff; border: 1px solid var(--ukc-line); border-radius: var(--ukc-radius);
	transition: transform .4s var(--ukc-ease), box-shadow .4s var(--ukc-ease), border-color .4s;
}
.ukc .ukc-d-blurb--card:hover { transform: translateY(-6px); box-shadow: var(--ukc-shadow); }
:where(.ukc) .ukc-d-blurb--card:hover { border-color: transparent; }
.ukc .ukc-d-blurb .et_pb_main_blurb_image { margin-bottom: 22px; text-align: left; }
.ukc .ukc-d-blurb .et_pb_main_blurb_image .et_pb_image_wrap {
	display: inline-flex; align-items: center; justify-content: center; width: 68px; height: 68px; border-radius: calc(var(--ukc-radius) * .9);
	background: color-mix(in srgb, var(--ukc-accent) 10%, transparent);
}
.ukc .ukc-d-blurb .et_pb_main_blurb_image img { width: 38px !important; height: 38px; max-width: none; }
:where(.ukc) .ukc-d-blurb .et_pb_module_header { font-size: 21px; line-height: 1.25; padding-bottom: 10px; }
:where(.ukc) .ukc-d-blurb .et_pb_blurb_description { color: var(--ukc-muted); font-size: 16px; line-height: 1.6; }
.ukc .ukc-d-blurb .et_pb_blurb_content { max-width: none; text-align: left; }
:where(.ukc) .ukc-d-blurb--step { padding: clamp(24px, 3vw, 36px); background: #fff; border-radius: var(--ukc-radius); box-shadow: var(--ukc-shadow-sm); }
.ukc .ukc-dark .ukc-d-blurb--card { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .12); }

/* --------------------------------------------------------------------------
   Foto + texto (Quiénes somos, enfoque)
   ----------------------------------------------------------------------- */
.ukc .ukc-d-split .et_pb_row.ukc-d-row { align-items: center; }
.ukc .ukc-d-split .et_pb_column:has(> .ukc-d-split__img) { position: relative; }
:where(.ukc) .ukc-d-split__img { border-radius: calc(var(--ukc-radius) * 1.6); overflow: hidden; }
.ukc .ukc-d-split__img img { aspect-ratio: 5 / 5.2; object-fit: cover; }
.ukc .ukc-d-split .ukc-d-float { left: auto; right: -24px; bottom: 32px; }
.ukc .ukc-d-split--reverse .et_pb_row.ukc-d-row > .et_pb_column:first-child { order: 0; }
:where(.ukc) .ukc-d-values h3 { font-size: 21px; padding-bottom: 6px; }
.ukc .ukc-d-values h3 { position: relative; padding-left: 34px; }
.ukc .ukc-d-values h3::before { content: ""; position: absolute; left: 0; top: .2em; width: 22px; height: 22px; border-radius: 6px; background: var(--ukc-accent); }
:where(.ukc) .ukc-d-values .et_pb_text_inner p { color: var(--ukc-muted); }
.ukc .ukc-d-values p + h3 { margin-top: 22px; }

/* Barras */
:where(.ukc) .ukc-d-bars .et_pb_counter_title { font-weight: 600; color: var(--ukc-ink); font-size: 15px; }
.ukc .ukc-d-bars { --gcid-primary-color: var(--ukc-accent); }
:where(.ukc) .ukc-d-bars .et_pb_counter_container { border-radius: 999px; background-color: var(--ukc-soft); }
:where(.ukc) .ukc-d-bars .et_pb_counter_amount { border-radius: 999px; background-color: var(--ukc-accent); }
:where(.ukc) .ukc-d-bars .et_pb_counter_amount_number { font-size: 12px; font-weight: 700; }

/* --------------------------------------------------------------------------
   Servicios (pieza automática [ukc_services_grid])
   ----------------------------------------------------------------------- */
.ukc .ukc-services { display: grid; grid-template-columns: repeat(var(--ukc-services-cols, 3), minmax(0, 1fr)); gap: var(--ukc-gap); }
.ukc .ukc-service-card {
	position: relative; display: flex; flex-direction: column; overflow: hidden;
	background: #fff; border: 1px solid var(--ukc-line); border-radius: var(--ukc-radius);
	transition: transform .4s var(--ukc-ease), box-shadow .4s var(--ukc-ease), border-color .4s;
}
.ukc .ukc-service-card:hover { transform: translateY(-6px); box-shadow: var(--ukc-shadow); border-color: transparent; }
.ukc .ukc-service-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--ukc-media); }
.ukc .ukc-service-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ukc-ease); }
.ukc .ukc-service-card:hover .ukc-service-card__media img { transform: scale(1.05); }
.ukc .ukc-service-card__body { position: relative; display: flex; flex-direction: column; flex: 1; padding: clamp(24px, 2.6vw, 34px); }
.ukc .ukc-service-card__icon {
	display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 20px;
	border-radius: calc(var(--ukc-radius) * .9); background: color-mix(in srgb, var(--ukc-accent) 10%, transparent);
	transition: background .4s;
}
.ukc .ukc-service-card__icon img { width: 36px; height: 36px; }
.ukc .ukc-services--image .ukc-service-card__icon { position: absolute; top: -32px; right: 24px; margin: 0; background: #fff; box-shadow: var(--ukc-shadow-sm); }
.ukc .ukc-service-card__num { position: absolute; top: clamp(24px, 2.6vw, 34px); right: clamp(24px, 2.6vw, 34px); font-family: var(--ukc-font-display); font-size: 40px; font-weight: 800; line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--ukc-line); }
.ukc .ukc-service-card__title { margin: 0 0 10px; padding: 0; font-size: 21px; line-height: 1.25; }
.ukc .ukc-service-card__title a { color: var(--ukc-ink); }
.ukc .ukc-service-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ukc .ukc-service-card__text { margin: 0 0 22px; padding: 0; color: var(--ukc-muted); font-size: 16px; line-height: 1.6; }
.ukc .ukc-service-card__more { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: var(--ukc-accent); font-weight: 600; font-size: 15px; }
.ukc .ukc-service-card:hover .ukc-service-card__more .ukc-arrow { transform: translateX(5px); }
.ukc .ukc-services--cards .ukc-service-card:hover { background: var(--ukc-ink); }
.ukc .ukc-services--cards .ukc-service-card:hover .ukc-service-card__title a { color: #fff; }
.ukc .ukc-services--cards .ukc-service-card:hover .ukc-service-card__text { color: rgba(255, 255, 255, .7); }
.ukc .ukc-services--cards .ukc-service-card:hover .ukc-service-card__icon { background: rgba(255, 255, 255, .92); }
.ukc .ukc-services-empty { padding: 24px; border: 1px dashed var(--ukc-line); border-radius: var(--ukc-radius); color: var(--ukc-muted); }

/* Lista de servicios (barra lateral) */
.ukc .ukc-service-list { padding: 28px; background: var(--ukc-soft); border-radius: var(--ukc-radius); }
.ukc .ukc-service-list__title { margin: 0 0 16px; padding: 0; font-size: 20px; }
.ukc .ukc-service-list ul { display: grid; gap: 8px; margin: 0; padding: 0 !important; list-style: none; }
.ukc .ukc-service-list li { list-style: none; }
.ukc .ukc-service-list a {
	display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: calc(var(--ukc-radius) * .7);
	background: #fff; color: var(--ukc-ink); font-weight: 600; font-size: 15px; line-height: 1.3;
	transition: background .3s, color .3s;
}
.ukc .ukc-service-list a img { width: 24px; height: 24px; flex: none; }
.ukc .ukc-service-list a span { flex: 1; }
.ukc .ukc-service-list a:hover,
.ukc .ukc-service-list .is-current a { background: var(--ukc-accent); color: #fff; }
.ukc .ukc-service-list a:hover img,
.ukc .ukc-service-list .is-current a img { filter: brightness(0) invert(1); }
.ukc .ukc-service-list a:hover .ukc-arrow { transform: translateX(4px); }

/* --------------------------------------------------------------------------
   Cifras (contadores sobre fondo oscuro con mapa)
   ----------------------------------------------------------------------- */
.ukc-d-stats { --ukc-d-pt: clamp(56px, 7vw, 100px); --ukc-d-pb: clamp(56px, 7vw, 100px); }
.ukc .et_pb_section.ukc-d-stats { position: relative; isolation: isolate; overflow: hidden; }
.ukc .et_pb_section.ukc-d-stats::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("../img/map.svg") center / min(1200px, 120%) no-repeat; opacity: .35; }
.ukc .ukc-d-stats__row.et_pb_row > .et_pb_column { position: relative; }
.ukc .ukc-d-stats__row.et_pb_row > .et_pb_column + .et_pb_column::before { content: ""; position: absolute; left: calc(clamp(32px, 5vw, 96px) / -2); top: 10%; bottom: 10%; width: 1px; background: rgba(255, 255, 255, .14); }
.ukc .ukc-d-stats .ukc-d-counter { --gcid-primary-color: #ffffff; }
:where(.ukc) .ukc-d-counter .percent { height: auto; }
:where(.ukc) .ukc-d-counter .percent p { font-family: var(--ukc-font-display); font-size: clamp(40px, 4.4vw, 60px); font-weight: 800; line-height: 1.1; color: #fff; }
:where(.ukc) .ukc-d-counter .title { font-family: var(--ukc-font-body); font-size: 15px; font-weight: 500; color: rgba(255, 255, 255, .7); text-transform: none; letter-spacing: 0; }
.ukc .ukc-d-counter .percent-value::after { content: "+"; color: var(--ukc-accent); }
.ukc .ukc-d-counter:has(.percent-sign:not(:empty)) .percent-value::after { content: none; }
:where(.ukc .ukc-d-counter) .percent-sign { color: var(--ukc-accent); }

/* --------------------------------------------------------------------------
   Testimonios
   ----------------------------------------------------------------------- */
:where(.ukc) .ukc-d-testimonial { border-color: var(--ukc-line); box-shadow: var(--ukc-shadow-sm); }
:where(.ukc) .ukc-d-testimonial .et_pb_testimonial_content { color: var(--ukc-muted); font-size: 16px; }
.ukc .ukc-d-testimonial .et_pb_testimonial_content::before {
	content: "★★★★★"; display: block; margin: 4px 0 12px; color: #f5b301; font-size: 15px; letter-spacing: 2px;
}
:where(.ukc) .ukc-d-testimonial .et_pb_testimonial_author { text-transform: none; letter-spacing: 0; font-size: 17px; color: var(--ukc-ink); }
:where(.ukc) .ukc-d-testimonial .et_pb_testimonial_meta { color: var(--ukc-accent); font-size: 14px; }
.ukc .ukc-d-testimonial .et_pb_testimonial_portrait { border: 4px solid #fff; box-shadow: var(--ukc-shadow-sm); }

/* --------------------------------------------------------------------------
   Preguntas frecuentes
   ----------------------------------------------------------------------- */
.ukc .ukc-d-faq .et_pb_column:first-child { position: relative; }
:where(.ukc) .ukc-d-faq__img { border-radius: calc(var(--ukc-radius) * 1.6); overflow: hidden; }
.ukc .ukc-d-faq__img img { aspect-ratio: 4 / 4.4; object-fit: cover; }
:where(.ukc) .ukc-d-help { padding: 28px 28px 0; background: var(--ukc-ink); border-radius: var(--ukc-radius) var(--ukc-radius) 0 0; }
:where(.ukc) .ukc-d-help .et_pb_text_inner { color: rgba(255, 255, 255, .72); font-size: 15px; }
.ukc .ukc-d-help .ukc-d-help__title { margin: 0 0 6px; padding: 0 0 0 54px; position: relative; color: #fff; font-size: 22px; }
.ukc .ukc-d-help .ukc-d-help__title::before { content: ""; position: absolute; left: 0; top: 50%; width: 42px; height: 42px; margin-top: -21px; border-radius: 50%; background: #fff url("../img/icon-headset.svg") center / 24px no-repeat; }
.ukc .ukc-d-help .ukc-d-help__title::before { background-blend-mode: normal; }
:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .ukc-d-help { margin-top: -90px; margin-left: 24px; margin-right: 24px; }
.ukc .ukc-d-help { position: relative; z-index: 2; }
.ukc .et_pb_column > .et_pb_button_module_wrapper:has(.ukc-d-help__btn) { position: relative; z-index: 2; margin-left: 24px; margin-right: 24px; padding: 18px 28px 28px; background: var(--ukc-ink); border-radius: 0 0 var(--ukc-radius) var(--ukc-radius); }
:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .et_pb_button_module_wrapper:has(.ukc-d-help__btn) { margin-top: 0; }
.ukc .et_pb_button.ukc-d-help__btn { font-size: 18px !important; }
.ukc .ukc-d-service .ukc-d-help,
.ukc .ukc-d-service .et_pb_button_module_wrapper:has(.ukc-d-help__btn) { margin-left: 0; margin-right: 0; }
:is(html, #ukc-guard) .ukc .ukc-d-service .et_pb_row.ukc-d-row > .et_pb_column > .ukc-d-help { margin: 24px 0 0; }

:where(.ukc) .ukc-d-toggle { padding: 20px 24px; background: #fff; border: 1px solid var(--ukc-line); border-radius: var(--ukc-radius); }
:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .ukc-d-toggle + .ukc-d-toggle { margin-top: 12px; }
:where(.ukc) .ukc-d-toggle .et_pb_toggle_title { font-family: var(--ukc-font-body); font-size: 17px; font-weight: 600; text-transform: none; letter-spacing: 0; line-height: 1.4; color: var(--ukc-ink); padding: 0 40px 0 0; }
:where(.ukc) .ukc-d-toggle.et_pb_toggle_open { border-color: var(--ukc-accent); box-shadow: var(--ukc-shadow-sm); }
:where(.ukc) .ukc-d-toggle .et_pb_toggle_content { color: var(--ukc-muted); font-size: 16px; padding-top: 12px; }
.ukc .ukc-d-toggle .et_pb_toggle_title::before { color: var(--ukc-accent); }

/* --------------------------------------------------------------------------
   Equipo (módulo Persona)
   ----------------------------------------------------------------------- */
:where(.ukc) .ukc-d-person { padding: 0 0 26px; background: #fff; border-radius: var(--ukc-radius); overflow: hidden; text-align: center; box-shadow: var(--ukc-shadow-sm); }
.ukc .ukc-d-person .et_pb_team_member_image { float: none !important; width: 100% !important; max-width: none !important; margin: 0 0 22px !important; background: var(--ukc-media); }
.ukc .ukc-d-person .et_pb_team_member_image img { display: block; width: 100%; aspect-ratio: 1 / 1.05; object-fit: cover; object-position: top; }
.ukc .ukc-d-person .et_pb_team_member_description { display: block; padding: 0 24px; text-align: center; }
:where(.ukc) .ukc-d-person .et_pb_module_header { font-size: 21px; padding-bottom: 2px; }
:where(.ukc) .ukc-d-person .et_pb_member_position { color: var(--ukc-accent); font-weight: 600; font-size: 14px; }
:where(.ukc) .ukc-d-person .et_pb_team_member_description p { color: var(--ukc-muted); font-size: 15px; }

/* --------------------------------------------------------------------------
   Llamada a la acción
   ----------------------------------------------------------------------- */
.ukc .ukc-d-cta .et_pb_row.ukc-d-cta__box { position: relative; isolation: isolate; align-items: center; overflow: hidden; }
.ukc .ukc-d-cta__box { --ukc-d-rt: clamp(36px, 5vw, 72px); --ukc-d-rb: clamp(36px, 5vw, 72px); --ukc-d-rx: clamp(24px, 5vw, 72px); --ukc-d-rwd: calc(100% - 2 * var(--ukc-side)); --ukc-d-rw: var(--ukc-container); }
:where(.ukc) .ukc-d-cta__box:where(.et_pb_row) { background-color: var(--ukc-accent); border-radius: calc(var(--ukc-radius) * 1.6); }
.ukc .ukc-d-cta__box::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(50% 80% at 100% 100%, rgba(12, 30, 33, .4), transparent 70%), radial-gradient(30% 50% at 0% 0%, rgba(255, 255, 255, .14), transparent 70%); pointer-events: none; }
.ukc .ukc-d-cta .ukc-eyebrow { color: rgba(255, 255, 255, .85); }
.ukc .ukc-d-cta .ukc-d-heading__title { color: #fff; }
:where(.ukc) .ukc-d-cta .ukc-d-heading__text { color: rgba(255, 255, 255, .82); }
.ukc .ukc-d-cta .et_pb_button.ukc-d-btn-light { margin-top: 30px; }
.ukc .ukc-d-cta .et_pb_button.ukc-d-btn-light::before { background: var(--ukc-ink); }
:where(.ukc) .ukc-d-cta__img { max-width: 440px; margin-inline: auto; border-radius: calc(var(--ukc-radius) * 1.2); overflow: hidden; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .5); }
.ukc .ukc-d-cta__img img { aspect-ratio: 657 / 338; object-fit: cover; }

/* Franja de llamada a la acción de las plantillas PHP */
.ukc .ukc-cta-band { padding-block: clamp(56px, 7vw, 100px); }
.ukc .ukc-cta-band__box { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px; padding: clamp(36px, 5vw, 72px); border-radius: calc(var(--ukc-radius) * 1.6); background: var(--ukc-accent) radial-gradient(50% 80% at 100% 100%, rgba(12, 30, 33, .4), transparent 70%); color: #fff; }
.ukc .ukc-cta-band__title { margin: 0; padding: 0; max-width: 20ch; color: #fff; font-size: var(--ukc-fs-h2); line-height: 1.12; }

/* --------------------------------------------------------------------------
   Contacto
   ----------------------------------------------------------------------- */
.ukc .ukc-d-contact2 .ukc-contact__hello { margin: 0; padding: 0; font-size: var(--ukc-fs-h2); line-height: 1.12; }
.ukc .ukc-d-contact2 .ukc-contact__hello::after { display: none; }
:where(.ukc) .ukc-d-contact2 .ukc-contact__lead { margin-top: 16px; color: var(--ukc-muted); font-size: 17px; }
.ukc .ukc-d-contact2 .ukc-eyebrow { display: block; margin-bottom: 12px; }
.ukc .ukc-d-contact2 .ukc-contact__write { margin: 0; padding: 0; font-size: 26px; line-height: 1.2; color: var(--ukc-ink) !important; -webkit-text-stroke: 0; }
:where(.ukc) .ukc-d-contact2 .ukc-contact__write-wrap { padding: clamp(26px, 3.4vw, 46px) clamp(26px, 3.4vw, 46px) 8px; }
:where(.ukc) .ukc-d-contact2 .ukc-contact__formwrap { padding: 16px clamp(26px, 3.4vw, 46px) clamp(26px, 3.4vw, 46px); }
:is(html, #ukc-guard) .ukc .ukc-d-contact2 .et_pb_column > .ukc-contact__write-wrap + .ukc-contact__formwrap { margin-top: 0; }
.ukc .ukc-d-contact2 .et_pb_column:has(> .ukc-contact__formwrap) { background: #fff; border: 1px solid var(--ukc-line); border-radius: calc(var(--ukc-radius) * 1.4); box-shadow: var(--ukc-shadow); }
.ukc .ukc-d-contact2 .ukc-form { padding: 0; background: none; }
.ukc .ukc-d-contact2 .ukc-contact__info { display: grid; gap: 14px; margin-top: 8px; }
.ukc .ukc-d-contact2 .ukc-contact__item { padding: 18px 20px 18px 66px; position: relative; background: var(--ukc-soft); border-radius: var(--ukc-radius); }
.ukc .ukc-d-contact2 .ukc-contact__item::before { content: ""; position: absolute; left: 18px; top: 50%; width: 34px; height: 34px; margin-top: -17px; border-radius: 50%; background: var(--ukc-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 16px no-repeat; }
.ukc .ukc-d-contact2 .ukc-contact__item .ukc-eyebrow { display: block; margin-bottom: 2px; font-size: 11px; }
.ukc .ukc-d-contact2 .ukc-contact__value { font-family: var(--ukc-font-body); font-size: 16px; font-weight: 600; line-height: 1.45; text-transform: none; color: var(--ukc-ink); }
.ukc .ukc-d-contact2 .ukc-contact__value a { color: var(--ukc-ink); overflow-wrap: anywhere; }
:is(html, #ukc-guard) .ukc .ukc-d-contact2 .et_pb_column > .ukc-contact__details { margin-top: 28px; }

/* --------------------------------------------------------------------------
   Servicio (contenido de Divi y plantilla PHP)
   ----------------------------------------------------------------------- */
.ukc .ukc-d-service__row.et_pb_row { align-items: flex-start; }
.ukc .ukc-d-service__row > .et_pb_column:last-child { position: sticky; top: calc(var(--ukc-header-h) + 24px); }
:where(.ukc) .ukc-d-service__img { border-radius: calc(var(--ukc-radius) * 1.4); overflow: hidden; }
.ukc .ukc-d-service__img img { aspect-ratio: 16 / 9; object-fit: cover; }
:where(.ukc) .ukc-d-service__text .et_pb_text_inner { font-size: 17px; color: var(--ukc-muted); }
.ukc .ukc-d-service__text h2,
.ukc .ukc-d-service__text h3 { color: var(--ukc-ink); }
.ukc .ukc-d-service__text h2 { font-size: var(--ukc-fs-h3); margin-top: 8px; }
.ukc .ukc-d-service__text h3 { margin-top: 28px; font-size: 22px; }
.ukc .ukc-d-service__text .ukc-checks { margin: 14px 0 6px; color: var(--ukc-ink); }
.ukc .ukc-d-service__text blockquote,
.ukc .ukc-service blockquote {
	margin: 28px 0; padding: 22px 26px; border: 0; border-left: 4px solid var(--ukc-accent); border-radius: 0 var(--ukc-radius) var(--ukc-radius) 0;
	background: var(--ukc-soft); color: var(--ukc-ink); font-size: 19px; font-weight: 600; font-style: normal; line-height: 1.5;
}
.ukc .ukc-d-service__text blockquote p { padding: 0; }

.ukc .ukc-service__layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: clamp(32px, 5vw, 80px); padding-block: clamp(56px, 7vw, 100px); align-items: start; }
.ukc .ukc-service__aside { position: sticky; top: calc(var(--ukc-header-h) + 24px); display: grid; gap: 24px; }
.ukc .ukc-service__image { margin: 0 0 32px; border-radius: calc(var(--ukc-radius) * 1.4); overflow: hidden; }
.ukc .ukc-service__image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.ukc .ukc-help-card { padding: 28px; border-radius: var(--ukc-radius); background: var(--ukc-ink); color: rgba(255, 255, 255, .75); }
.ukc .ukc-help-card__icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin-bottom: 16px; border-radius: 50%; background: var(--ukc-accent); }
.ukc .ukc-help-card__icon img { width: 30px; height: 30px; filter: brightness(0) invert(1); }
.ukc .ukc-help-card__title { margin: 0 0 8px; padding: 0; color: #fff; font-size: 22px; }
.ukc .ukc-help-card__phone { display: inline-block; margin-top: 10px; color: #fff !important; font-family: var(--ukc-font-display); font-size: 24px; font-weight: 800; }
.ukc .ukc-help-card__phone:hover { color: var(--ukc-accent) !important; }

/* --------------------------------------------------------------------------
   Pie
   ----------------------------------------------------------------------- */
.ukc .ukc-site-footer { background: var(--ukc-ink); color: rgba(255, 255, 255, .7); }
.ukc .ukc-site-footer h4 { color: #fff; font-size: 17px; text-transform: none; letter-spacing: 0; }
.ukc .ukc-site-footer a { color: rgba(255, 255, 255, .75) !important; }
.ukc .ukc-site-footer a:hover { color: var(--ukc-accent) !important; }
.ukc .ukc-site-footer .ukc-logo--light { color: #fff !important; }
.ukc .ukc-site-footer__bottom { border-color: rgba(255, 255, 255, .12) !important; color: rgba(255, 255, 255, .55); }
.ukc .ukc-site-footer__grid { grid-template-columns: minmax(0, 1.5fr) repeat(auto-fit, minmax(150px, 1fr)) !important; }

/* --------------------------------------------------------------------------
   Responsive
   ----------------------------------------------------------------------- */
@media (max-width: 1100px) {
	.ukc .ukc-services { grid-template-columns: repeat(min(var(--ukc-services-cols, 3), 2), minmax(0, 1fr)); }
}
@media (max-width: 980px) {
	.ukc .ukc-d-hero2__row > .et_pb_column { min-height: 0; }
	.ukc .ukc-d .et_pb_row.ukc-d-hero2__row > .et_pb_column:first-child { margin-bottom: var(--ukc-hero-gap); }
	.ukc .ukc-d-hero2__row > .et_pb_column:last-child { min-height: 520px; }
	.ukc .ukc-d-float { left: 12px; }
	.ukc .ukc-d-split .ukc-d-float,
	.ukc .ukc-d-float--left { right: 12px; left: auto; }
	.ukc .ukc-d-service__row > .et_pb_column:last-child,
	.ukc .ukc-service__aside { position: static; }
	.ukc .ukc-service__layout { grid-template-columns: minmax(0, 1fr); }
	.ukc .ukc-d-stats__row.et_pb_row > .et_pb_column { flex: 1 1 40% !important; flex-basis: 40% !important; }
	.ukc .ukc-d-stats__row.et_pb_row > .et_pb_column::before { display: none; }
	.ukc .ukc-d-cta__img { display: none; }
}
@media (max-width: 680px) {
	.ukc .ukc-services { grid-template-columns: minmax(0, 1fr); }
	.ukc .ukc-d-hero2__row > .et_pb_column:last-child { min-height: 440px; }
	.ukc .ukc-d-hero2 .ukc-d-hero__lead { padding-left: 78px; }
	.ukc .ukc-d-hero2 .ukc-d-hero__lead::after { left: 62px; }
	.ukc .ukc-d-hero2__row > .et_pb_column:first-child > .et_pb_button_module_wrapper { flex: 0 0 100%; display: block; width: 100%; margin-right: 0; }
	:is(html, #ukc-guard) .ukc .ukc-d-hero2 .et_pb_column > .et_pb_button_module_wrapper + .et_pb_button_module_wrapper { margin-top: 12px; }
	.ukc .ukc-d-hero2 .ukc-d-hero__btn { width: 100%; }
	.ukc .ukc-d-hero2__row > .et_pb_column:last-child::after { width: 82%; height: 200px; }
	.ukc .ukc-d-hero2 .ukc-d-hero__clients-img { bottom: 122px; }
	.ukc .ukc-d-hero2 .ukc-d-hero__clients-img img { width: 140px !important; }
	.ukc .ukc-d-hero2 .ukc-d-hero__clients { width: calc(82% - 44px); bottom: 24px; }
	.ukc .ukc-d-float { position: relative !important; left: auto !important; right: auto !important; bottom: auto; width: auto; }
	:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .ukc-d-float { margin: -40px 16px 0; }
	:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .ukc-d-help { margin-top: -60px; margin-left: 12px; margin-right: 12px; }
	.ukc .et_pb_column > .et_pb_button_module_wrapper:has(.ukc-d-help__btn) { margin-left: 12px; margin-right: 12px; }
	.ukc .ukc-cta-band__box { flex-direction: column; align-items: flex-start; }
	.ukc .ukc-d-stats__row.et_pb_row > .et_pb_column { flex-basis: 100% !important; }
}
@media (prefers-reduced-motion: reduce) {
	.ukc .ukc-service-card,
	.ukc .ukc-d-blurb--card,
	.ukc .ukc-service-card__media img { transition: none; }
	.ukc .ukc-service-card:hover,
	.ukc .ukc-d-blurb--card:hover { transform: none; }
}

/* Botón de la tarjeta de ayuda (teléfono o contacto) */
:where(.ukc) .et_pb_button.ukc-d-help__btn { background-color: var(--ukc-accent); border-color: var(--ukc-accent); }
.ukc .et_pb_button.ukc-d-help__btn::before { background: #fff; }
.ukc .et_pb_button.ukc-d-help__btn:hover { color: var(--ukc-ink) !important; border-color: #fff; }

/* --------------------------------------------------------------------------
   Cabeceras del resto de plantillas (blog, archivos, búsqueda, páginas sin Divi)
   ----------------------------------------------------------------------- */
.ukc .ukc-hero-page { padding-block: clamp(64px, 8vw, 120px) clamp(52px, 7vw, 100px); border: 0; background: var(--ukc-ink) url("../demo/pagehead.jpg") center / cover no-repeat; color: #fff; }
.ukc .ukc-hero-page::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(12, 30, 33, .9), rgba(12, 30, 33, .55)); }
.ukc .ukc-hero-page .ukc-eyebrow { color: color-mix(in srgb, var(--ukc-accent) 55%, #fff); }
.ukc .ukc-hero-page__title,
.ukc .ukc-hero-page--xl .ukc-hero-page__title,
.ukc .ukc-hero-page--compact .ukc-hero-page__title { max-width: 22ch; font-size: var(--ukc-fs-h1); line-height: 1.08; color: #fff; }
.ukc .ukc-hero-page__text { color: rgba(255, 255, 255, .78); }
.ukc .ukc-hero-page .ukc-filter--links a { color: rgba(255, 255, 255, .7); }
.ukc .ukc-hero-page .ukc-filter--links a.is-active,
.ukc .ukc-hero-page .ukc-filter--links a:hover { color: #fff; }
.ukc .ukc-hero-page.has-image { min-height: 0; display: block; }

/* Cabecera de las páginas de Divi sencillas (favoritos, mi cuenta) */
:where(.ukc) .ukc-d-pagehead .ukc-hero-page__title { font-size: var(--ukc-fs-h1); line-height: 1.08; }
:where(.ukc) .ukc-d-pagehead:where(.et_pb_section) { background-color: var(--ukc-soft); border-bottom: 0; }

/* Cabecera de la tienda (plantilla del Theme Builder) */
:where(.ukc) .ukc-d-shophead:where(.et_pb_section) { background-color: var(--ukc-soft); border-bottom: 0; }
.ukc .ukc-d-shophead--split { border-bottom: 0; }
:where(.ukc .ukc-d-shophead--split) .et_pb_text_inner .ukc-hero-page__title { font-size: var(--ukc-fs-h1); line-height: 1.08; color: var(--ukc-ink); }
:where(.ukc) .ukc-d-shophead .ukc-eyebrow { color: var(--ukc-accent); }
.ukc .ukc-d-shophead .ukc-shop-hero-img { padding: clamp(20px, 3vw, 40px) var(--ukc-side) clamp(20px, 3vw, 40px) 0; }
.ukc .ukc-d-shophead .ukc-shop-hero-img img { border-radius: calc(var(--ukc-radius) * 1.6); min-height: 300px; max-height: 420px; }
.ukc .ukc-d-shophead .ukc-filter--links a { text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 600; }

/* Ficha de producto y listados */
.ukc .product_title { font-size: clamp(30px, 3.4vw, 46px) !important; line-height: 1.12 !important; }
.ukc .related > h2,
.ukc .upsells > h2,
.ukc .ukc-section__title { font-size: var(--ukc-fs-h2); line-height: 1.12; }
.ukc .ukc-post-card__title { font-size: clamp(20px, 1.8vw, 24px); line-height: 1.25; }
.ukc .ukc-post-card--featured .ukc-post-card__title,
.ukc .is-featured .ukc-post-card__title { font-size: clamp(26px, 2.8vw, 38px); }
.ukc .ukc-hero-page--compact { padding-block: clamp(48px, 6vw, 84px) clamp(40px, 5vw, 70px); }

@media (max-width: 980px) {
	.ukc .ukc-d-shophead .ukc-shop-hero-img { padding: 0 var(--ukc-side) 28px; }
}

/* Entrada del blog */
.ukc .ukc-single__title { font-size: var(--ukc-fs-h1) !important; line-height: 1.08 !important; max-width: 22ch; margin-inline: auto; }
.ukc .ukc-post-content blockquote { padding: 22px 26px; border-left: 4px solid var(--ukc-accent); border-radius: 0 var(--ukc-radius) var(--ukc-radius) 0; background: var(--ukc-soft); font-family: var(--ukc-font-body); font-size: 20px; font-weight: 600; line-height: 1.5; text-transform: none; letter-spacing: 0; }
.ukc .ukc-post-content h2 { font-size: var(--ukc-fs-h3); }

/* Favoritos en la portada: la sección solo se ve cuando el visitante tiene alguno */
body:not(.et-fb):not(.ukc-vb-canvas) .et_pb_section.ukc-d-favs:not(:has(.ukc-card)) { display: none; }

/* --------------------------------------------------------------------------
   Botones de Divi dentro de tipos de contenido propios (servicios, proyectos)
   Ahí Divi envuelve el contenido en #et-boc .et-l y pinta su botón base con peso de ID
   (.et-db #et-boc .et-l .et_pb_button). Se repite el estilo del theme con ese prefijo y un
   elemento más; los ajustes del botón que pongas en Divi (body … .et_pb_button_N) siguen ganando.
   ----------------------------------------------------------------------- */
html .et-db #et-boc .et-l .et_pb_button {
	display: inline-flex; align-items: center; justify-content: center; gap: .6em;
	padding: 1.05em 2.2em; border: 1.5px solid var(--ukc-accent); border-radius: var(--ukc-btn-radius);
	background-color: var(--ukc-accent); line-height: 1 !important; overflow: hidden; isolation: isolate;
}
html .et-db #et-boc .et-l .et_pb_button:hover { padding: 1.05em 2.2em; border: 1.5px solid var(--ukc-ink); background-color: var(--ukc-accent); }
html .et-db #et-boc .et-l .et_pb_button::before { transform: scaleX(0); transform-origin: right; font-size: 0; }
html .et-db #et-boc .et-l .et_pb_button:hover::before { transform: scaleX(1); transform-origin: left; }
/* Variantes */
html .et-db #et-boc .et-l .et_pb_button.ukc-d-btn-light { margin-top: 30px; background-color: #fff; border-color: #fff; }
html .et-db #et-boc .et-l .et_pb_button.ukc-d-btn-light:hover { border-color: var(--ukc-ink); background-color: #fff; }
html .et-db #et-boc .et-l .et_pb_button.ukc-d-help__btn { background-color: var(--ukc-accent); border-color: var(--ukc-accent); }
html .et-db #et-boc .et-l .et_pb_button.ukc-d-help__btn:hover { border-color: #fff; }
html .et-db #et-boc .et-l .et_pb_button.ukc-d-btn-ghost { background-color: transparent; border-color: var(--ukc-line); }
html .et-db #et-boc .et-l .et_pb_button.ukc-d-btn-ghost:hover { border-color: var(--ukc-ink); background-color: transparent; }
html .et-db #et-boc .et-l a.et_pb_button.ukc-d-title-link,
html .et-db #et-boc .et-l a.et_pb_button.ukc-d-title-link:hover { padding: 0; border: 0; background: none; }

/* --------------------------------------------------------------------------
   Servicio: fotos a media anchura, subtítulos, pasos en fila, datos clave
   ----------------------------------------------------------------------- */
.ukc .et_pb_column > .ukc-d-service__duo { display: inline-block; width: calc(50% - 10px); vertical-align: top; }
:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .ukc-d-service__duo + .ukc-d-service__duo { margin-left: 20px; }
:where(.ukc) .ukc-d-service__duo { border-radius: var(--ukc-radius); overflow: hidden; }
.ukc .ukc-d-service__duo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .ukc-d-service__sub { margin-top: clamp(40px, 5vw, 64px); }
.ukc .ukc-d-service__sub .ukc-d-heading__title { font-size: var(--ukc-fs-h3); }
:where(.ukc) .ukc-d-blurb--row { padding: 22px 24px; background: var(--ukc-soft); border-radius: var(--ukc-radius); }
:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .ukc-d-blurb--row + .ukc-d-blurb--row { margin-top: 12px; }
.ukc .ukc-d-blurb--row .et_pb_blurb_content { display: flex; align-items: flex-start; gap: 20px; max-width: none; }
.ukc .ukc-d-blurb--row .et_pb_main_blurb_image { flex: none; margin: 0; }
.ukc .ukc-d-blurb--row .et_pb_main_blurb_image .et_pb_image_wrap { width: 56px; height: 56px; background: #fff; }
.ukc .ukc-d-blurb--row .et_pb_main_blurb_image img { width: 30px !important; height: 30px; }
:where(.ukc) .ukc-d-blurb--row .et_pb_module_header { font-size: 18px; padding-bottom: 4px; }
:where(.ukc) .ukc-d-blurb--row .et_pb_blurb_description { font-size: 15px; }
:where(.ukc) .ukc-d-facts { padding: 26px 28px; background: #fff; border: 1px solid var(--ukc-line); border-radius: var(--ukc-radius); }
:is(html, #ukc-guard) .ukc .ukc-d-service .et_pb_row.ukc-d-row > .et_pb_column > .ukc-d-facts { margin-top: 24px; }
.ukc .ukc-d-facts .ukc-d-facts__title { margin: 0 0 12px; padding: 0; font-size: 20px; color: var(--ukc-ink); }
.ukc .ukc-d-facts ul { margin: 0; padding: 0 !important; list-style: none; }
.ukc .ukc-d-facts li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px dashed var(--ukc-line); list-style: none; font-size: 15px; }
:where(.ukc) .ukc-d-facts li span { color: var(--ukc-muted); }
:where(.ukc) .ukc-d-facts li strong { color: var(--ukc-ink); text-align: right; }

/* --------------------------------------------------------------------------
   Entradas del blog: imágenes con pie, listas y tablas
   ----------------------------------------------------------------------- */
.ukc .ukc-post-content .wp-block-image { margin: 36px 0; }
.ukc .ukc-post-content .wp-block-image img { width: 100%; border-radius: calc(var(--ukc-radius) * 1.2); }
.ukc .ukc-post-content .wp-block-image figcaption { margin-top: 10px; color: var(--ukc-muted); font-size: 14px; text-align: center; }
.ukc .ukc-post-content ul.wp-block-list { padding-left: 0; list-style: none; }
.ukc .ukc-post-content ul.wp-block-list li { position: relative; padding-left: 30px; margin-bottom: 10px; }
.ukc .ukc-post-content ul.wp-block-list li::before { content: ""; position: absolute; left: 0; top: .55em; width: 10px; height: 10px; border-radius: 3px; background: var(--ukc-accent); }
.ukc .ukc-post-content .wp-block-table { margin: 32px 0; overflow-x: auto; }
.ukc .ukc-post-content .wp-block-table table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--ukc-line); border-radius: var(--ukc-radius); overflow: hidden; font-size: 15px; }
.ukc .ukc-post-content .wp-block-table th { background: var(--ukc-ink); color: #fff; font-weight: 600; text-align: left; padding: 14px 18px; border: 0; }
.ukc .ukc-post-content .wp-block-table td { padding: 13px 18px; border: 0; border-top: 1px solid var(--ukc-line); }
.ukc .ukc-post-content .wp-block-table tbody tr:nth-child(even) td { background: var(--ukc-soft); }
.ukc .ukc-post-content h3 { font-size: 22px; }

@media (max-width: 600px) {
	.ukc .ukc-d-service__row > .et_pb_column:first-child > .ukc-d-service__duo { flex-basis: 100%; }
	:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .ukc-d-service__duo + .ukc-d-service__duo { margin-left: 0; margin-top: 16px; }
}

/* Anterior / siguiente de las entradas */
.ukc .ukc-post-nav__title { font-family: var(--ukc-font-display); font-weight: 700; text-transform: none; letter-spacing: -.02em; line-height: 1.15; font-size: clamp(22px, 2.4vw, 34px); }

/* Servicio: las dos fotos en paralelo (la columna principal se ordena en fila con salto) */
.ukc .ukc-d-service__row > .et_pb_column:first-child { display: flex; flex-wrap: wrap; column-gap: 20px; align-content: flex-start; }
.ukc .ukc-d-service__row > .et_pb_column:first-child > * { flex: 0 0 100%; min-width: 0; max-width: 100%; }
.ukc .ukc-d-service__row > .et_pb_column:first-child > .ukc-d-service__duo { flex: 1 1 calc(50% - 10px); width: auto; display: block; }
:is(html, #ukc-guard) .ukc .ukc-d .et_pb_row.ukc-d-row > .et_pb_column > .ukc-d-service__duo + .ukc-d-service__duo { margin-left: 0; }

/* Pasos en fila: icono a la izquierda */
.ukc .ukc-d-blurb--row .et_pb_blurb_content { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 20px; align-items: start; text-align: left; }
.ukc .ukc-d-blurb--row .et_pb_main_blurb_image { width: 56px; max-width: 56px; margin: 0 !important; }
.ukc .ukc-d-blurb--row .et_pb_main_blurb_image .et_pb_image_wrap { display: flex; width: 56px; height: 56px; }
.ukc .ukc-d-blurb--row .et_pb_blurb_container { min-width: 0; padding: 0; }

/* Preguntas plegables dentro de los servicios: Divi pinta el cerrado en gris con #et-boc */
html .et-db #et-boc .et-l .ukc-d-toggle.et_pb_toggle_close { background-color: #fff; }
html .et-db #et-boc .et-l .ukc-d-toggle { border: 1px solid var(--ukc-line); border-radius: var(--ukc-radius); }
html .et-db #et-boc .et-l .ukc-d-toggle.et_pb_toggle_open { border-color: var(--ukc-accent); }
.ukc .ukc-d-blurb .et_pb_main_blurb_image .et_pb_image_wrap { display: inline-flex !important; align-items: center; justify-content: center; }
.ukc .ukc-d-blurb .et_pb_main_blurb_image .et_pb_image_wrap img { display: block; }
html .et-db #et-boc .et-l .ukc-d-blurb .et_pb_main_blurb_image img { margin: 0; }
html .et-db #et-boc .et-l .ukc-d-blurb .et_pb_blurb_content { max-width: none; margin: 0; text-align: left; }
html .et-db #et-boc .et-l .ukc-d-blurb .et_pb_main_blurb_image { text-align: left; }

/* ==========================================================================
   Entradas del blog: plantilla "Blog posts" del Theme Builder (1.0.6, requisito 29)
   Mismo aspecto que single.php. Pesos bajos y sin !important: lo que se cambie en Divi gana.
   ======================================================================= */
.ukc-single__body--divi { padding-top: 0; }

/* Cabecera */
.ukc .et_pb_section.ukc-d-posthead { --ukc-d-pt: clamp(56px, 9vw, 140px); --ukc-d-pb: clamp(40px, 6vw, 80px); position: relative; isolation: isolate; }
:is(html, #ukc-guard) .ukc-d-posthead .et_pb_module { margin-bottom: 0; }
/* El theme pone 24px entre módulos; en la cabecera de la entrada mandan los márgenes de single.php (meta 22px, autor 28px) */
:is(html, #ukc-guard) .ukc .ukc-d.ukc-d-posthead .et_pb_row.ukc-d-row > .et_pb_column > .et_pb_module + .et_pb_module { margin-top: 0; }
:where(.ukc-d-posthead) .et_pb_code_inner { text-align: center; }
.ukc-d-posthead .ukc-meta { justify-content: center; margin-bottom: 22px; }
.ukc-post-has-img .et_pb_section.ukc-d-posthead { min-height: 78vh; display: flex; flex-direction: column; justify-content: flex-end; }
:is(html, #ukc-guard) .ukc-post-has-img .ukc-d-posthead > .et_pb_row { margin-block: auto 0; }
.ukc-post-has-img .ukc-d-posthead::before,
.ukc-post-has-img .ukc-d-posthead::after { content: ""; position: absolute; inset: 0; z-index: -1; }
.ukc-post-has-img .ukc-d-posthead::before { background: var(--ukc-post-img) center / cover no-repeat; }
.ukc-post-has-img .ukc-d-posthead::after { background: linear-gradient(to top, rgba(14, 14, 14, .9), rgba(14, 14, 14, .2)); }
.ukc-post-has-img .ukc-d-posthead :where(.ukc-single__title, .ukc-single__author) { color: var(--ukc-bg); }
.ukc-post-has-img .ukc-d-posthead :where(.ukc-meta, .ukc-single__lead) { color: rgba(243, 241, 236, .8); }
.ukc-post-has-img .ukc-d-posthead .ukc-meta > * + *::before { color: rgba(243, 241, 236, .35); }

/* Contenido, pie, anterior / siguiente, relacionadas y comentarios */
.ukc .et_pb_section.ukc-d-postbody { --ukc-d-pt: clamp(48px, 7vw, 100px); --ukc-d-pb: 0px; }
.ukc .et_pb_section.ukc-d-postbody:has(.ukc-post-content--divi) { --ukc-d-pt: 0px; }
.ukc .ukc-d-postbody .ukc-post-content { box-sizing: content-box; padding-inline: var(--ukc-side); }
.ukc.ukc-post-dropcap .ukc-d-postbody .ukc-post-content > p:first-of-type::first-letter {
	float: left;
	margin: .06em .12em 0 0;
	font-family: var(--ukc-font-display);
	font-size: 5.2em;
	line-height: .8;
	color: var(--ukc-accent);
}
/* + 25 px: el padding-bottom que Divi pone a las entradas (.single .post) en single.php. */
.ukc .et_pb_section.ukc-d-postfoot { --ukc-d-pt: 0px; --ukc-d-pb: calc(clamp(48px, 7vw, 100px) + 25px); }
.ukc .et_pb_section.ukc-d-postnav { --ukc-d-pt: 0px; --ukc-d-pb: 0px; }
:where(.ukc) .et_pb_section.ukc-d-related,
:where(.ukc) .et_pb_section.ukc-d-postcomments { border-top: 1px solid var(--ukc-line); }
:is(html, #ukc-guard) .ukc-d-related .et_pb_text { margin-bottom: 0; }
.ukc-d-related .ukc-section__title { margin-bottom: 40px; }
.ukc .ukc-d .et_pb_row.ukc-d-row.ukc-d-row--narrow { --ukc-d-rw: calc(820px + var(--ukc-side) * 2); }
/* Divi pone `.et-l--body ul { line-height: 26px; padding… }` en el Theme Builder. */
.et-l--body :is(.ukc-tags, .ukc-comment-list, .ukc-comment-list .children) { line-height: inherit; }

/* Entradas hechas con Divi (Divi 4 o 5), en la plantilla y en single.php: aspecto de artículo.
   Filas de UNA columna → columna de lectura; las de varias columnas conservan el ancho de Divi y las
   secciones van a todo el ancho. Peso (1,6,0) sin !important: gana al 80 % / 1080 px de Divi y
   pierde con el ancho que el usuario pone a la fila (Divi lo pinta con !important). */
:is(html, #ukc-guard) :is(.ukc-post-content--divi, .ukc-single__divi) .et_pb_row.et_pb_row:not(.ukc-d-row):has(> .et_pb_column_4_4:only-child) {
	width: calc(100% - 2 * var(--ukc-side));
	max-width: 760px;
}
/* Tipografía del blog con peso bajo: lo que se ponga al módulo en Divi gana. */
:where(.ukc-post-content--divi, .ukc-single__divi) .et_pb_text { font-size: 18px; line-height: 1.75; }
:where(.ukc-post-content--divi, .ukc-single__divi) .et_pb_text_inner p { padding-bottom: 1.4em; }
:where(.ukc-post-content--divi, .ukc-single__divi) .et_pb_text_inner > :last-child { padding-bottom: 0; }
:where(.ukc-post-content--divi, .ukc-single__divi) .et_pb_text_inner h2 { font-size: var(--ukc-fs-h3); margin-top: 1em; }
:where(.ukc-post-content--divi, .ukc-single__divi) .et_pb_text_inner h3 { font-size: 22px; margin-top: .8em; }
:where(.ukc-post-content--divi, .ukc-single__divi) .et_pb_text_inner a { color: var(--ukc-ink); text-decoration: underline; text-decoration-color: var(--ukc-accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
:where(.ukc-post-content--divi, .ukc-single__divi) .et_pb_text_inner blockquote { margin: 1.6em 0; padding: 22px 26px; border-left: 4px solid var(--ukc-accent); border-radius: 0 var(--ukc-radius) var(--ukc-radius) 0; background: var(--ukc-soft); font-family: var(--ukc-font-body); font-size: 20px; font-weight: 600; line-height: 1.5; }
:where(.ukc-post-content--divi, .ukc-single__divi) .et_pb_text_inner blockquote p { padding: 0; }
:where(.ukc-post-content--divi, .ukc-single__divi) .et_pb_text_inner ul li::marker { color: var(--ukc-accent); }
:where(.ukc-post-content--divi, .ukc-single__divi) .et_pb_text_inner img { display: block; margin: 1.6em auto; border-radius: calc(var(--ukc-radius) * 1.2); }
/* Letra capital: primer párrafo del primer módulo Texto (si está encendida en Personalizar). */
:where(.ukc-post-dropcap .ukc-post-content--divi, .ukc-single__divi.ukc-dropcap) .et_pb_section:first-of-type .et_pb_row:first-of-type .et_pb_column:first-child > .et_pb_text:first-of-type .et_pb_text_inner > p:first-of-type::first-letter {
	float: left;
	margin: .06em .12em 0 0;
	font-family: var(--ukc-font-display);
	font-size: 5.2em;
	line-height: .8;
	color: var(--ukc-accent);
}
@media (max-width: 767px) {
	:where(.ukc-post-content--divi, .ukc-single__divi) .et_pb_text { font-size: 17px; }
}
/* Entradas de Divi sin plantilla: Divi pone en el móvil las filas a todo el ancho (texto pegado al borde) con
   .et_pb_pagebuilder_layout.single-post:not(.et-tb-has-body) #main-content .et_pb_row (1,4,0). Igual que en la
   plantilla: ancho normal de Divi. El ancho que el usuario pone a la fila (Divi lo pinta con !important) gana. */
:is(html, #ukc-guard) .ukc .ukc-single__divi .et_pb_row.et_pb_row:not(.ukc-d-row) { width: var(--content-width, 80%); }
