/* Programa de Sostenibilidad Corporativa UC — estilos del tema (Urantiacos SpA).
   Se carga después del Kit Digital UC y su CSS dev. Solo complementa al Kit: medidas del Figma. */

/* Tokens (Figma) */
:root {
	--psc-azul: #0176de;
	--psc-azul-oscuro: #173f8a;
	--psc-marino: #03122e;
	--psc-degrade: #08275c;
	--psc-amarillo: #fec60d;
	--psc-texto: #000;
	--psc-gris-texto: #707070;
	--psc-gris-fondo: #f6f6f6;
	--psc-borde: #eaeaea;
	--psc-borde-input: #c6c6c6;
	--psc-sombra: 0 0 8px rgba(136, 136, 136, .18);
	--psc-sangria: 60px;
	--psc-espacio: 64px;
}

/* Base */
html { scroll-behavior: smooth; }
body.psc { overflow-x: clip; }
.psc-main:focus { outline: none; }
[id] { scroll-margin-top: 24px; }
.psc-skip { position: absolute; left: -9999px; top: 8px; z-index: 10000; background: #fff; color: var(--psc-azul-oscuro); padding: 8px 16px; border-radius: 4px; box-shadow: var(--psc-sombra); }
.psc-skip:focus { left: 16px; }
.psc-gtm-frame { display: none; visibility: hidden; }
.psc-mx-auto { margin-left: auto; margin-right: auto; }
.psc p, .psc li { letter-spacing: .5px; }

/* Grilla: separaciones del diseño sobre row/col del Kit */
.psc-row-32 { margin-left: -16px; margin-right: -16px; row-gap: 32px; }
.psc-row-32 > [class*="col"] { padding-left: 16px; padding-right: 16px; }
.psc-row-28 { margin-left: -14px; margin-right: -14px; row-gap: 28px; }
.psc-row-28 > [class*="col"] { padding-left: 14px; padding-right: 14px; }
@media (min-width: 992px) {
	.col-lg-2-4 { flex: 0 0 20%; max-width: 20%; }
}
@media (max-width: 991.98px) {
	.psc-row-32, .psc-row-28 { margin-left: -15px; margin-right: -15px; }
	.psc-row-32 > [class*="col"], .psc-row-28 > [class*="col"] { padding-left: 15px; padding-right: 15px; }
}

/* Sangría interior: alinea el contenido con el título de la página (60 px en el Figma) */
@media (min-width: 992px) {
	.psc-indent { padding-left: var(--psc-sangria); padding-right: var(--psc-sangria); }
}
.psc-measure { max-width: 905px; }

/* Espaciado entre secciones (márgenes: se colapsan entre secciones contiguas) */
.psc-section { position: relative; }
.psc-space--normal { margin-top: var(--psc-espacio); margin-bottom: var(--psc-espacio); }
.psc-space--compacto { margin-top: 32px; margin-bottom: 32px; }
.psc-space--sin-arriba { margin-top: 0; margin-bottom: var(--psc-espacio); }
.psc-space--sin-abajo { margin-top: var(--psc-espacio); margin-bottom: 0; }
.psc-space--ninguno { margin-top: 0; margin-bottom: 0; }
.psc-bg--gris { background: var(--psc-gris-fondo); padding: var(--psc-espacio) 0; margin-bottom: 0; }
@media (max-width: 767.98px) {
	:root { --psc-espacio: 40px; }
}

/* Títulos de sección */
.psc-title { display: flex; align-items: center; flex-wrap: wrap; }
.psc-title__text { margin: 0; }
.psc-title--inline .uc-heading-decoration { flex: 0 0 auto; }
.psc-title--below, .psc-title--center { display: block; }
.psc-heading-decoration--azul { background-color: var(--psc-azul); margin-left: 10px; width: 30px; }
.psc-title--center .psc-title__text { text-align: center; }
.psc-section-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.psc-section-head__link { font-weight: 500; display: inline-flex; align-items: center; gap: 12px; }
.psc-section-head__link .psc-icon-plus { font-size: 24px; padding: 4px; background-color: var(--psc-azul); color: #fff; }

/* Texto enriquecido */
.psc-richtext > *:last-child { margin-bottom: 0; }
.psc-richtext p { margin-bottom: 24px; line-height: 1.5; }
.psc-richtext ul, .psc-richtext ol { padding-left: 24px; margin-bottom: 24px; }
.psc-richtext li { margin-bottom: 4px; }
.psc-richtext a { color: inherit; text-decoration: underline; }
.psc-richtext a:hover { color: var(--psc-azul); }
.psc-richtext img { max-width: 100%; height: auto; border-radius: 4px; }
.psc-richtext h3 { margin: 32px 0 16px; }
.psc-richtext--sm p, .psc-richtext--sm li { font-size: 14px; line-height: 20px; letter-spacing: .28px; margin-bottom: 12px; }
.psc-richtext--sm p:last-child { margin-bottom: 0; }

/* ---------- Header ---------- */
.uc-header { position: relative; z-index: 30; }
.psc-header__logo { display: inline-block; }
.psc-header__name, .psc-header__name:hover { text-decoration: none; display: block; }
.psc-header__name .h2 { margin-bottom: 0; }
.psc-navbar-nav--alpha { position: relative; z-index: 99; }
.psc-navbar-nav--alpha .psc-search-toggle .uc-icon { color: #fff; }
.psc-nav-search { flex-grow: 0 !important; padding-left: 24px !important; padding-right: 24px !important; }
.psc-search-toggle { background: none; border: 0; cursor: pointer; padding: 0 0 2px; }
.psc-search-toggle .uc-icon { font-size: 20px; vertical-align: middle; }
.navbar-transparent .psc-search-toggle { color: #fff; }
.psc-search { padding: 16px 0; background: #fff; border-bottom: 1px solid var(--psc-borde); box-shadow: 0 8px 16px rgba(3, 18, 46, .08); }
.psc-search[hidden] { display: none !important; }
.psc-header--alpha .psc-search { margin-top: 16px; }
.psc-mobile-name { font-size: 18px; line-height: 1.2; text-decoration: none; display: block; max-width: 230px; }
.psc-mobile-search { padding: 16px; }

/* Buscador (input del Kit + botón con ícono) */
.psc-searchform__field { position: relative; }
.psc-searchform__field .uc-input-style,
.psc-searchform__field input[type="search"] { width: 100%; height: 53px; padding: 12px 52px 12px 20px; border: 1px solid var(--psc-borde-input); border-radius: 4px; font-size: 16px; letter-spacing: .5px; min-width: 0; background: #fff; }
.psc-searchform__btn { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); background: none; border: 0; color: var(--psc-azul); padding: 8px; line-height: 1; cursor: pointer; }
.psc-searchform__btn .uc-icon { font-size: 22px; }

/* ---------- Carrusel principal (Header Alpha encima) ---------- */
.psc-hero { position: relative; }
.psc-hero .uc-carousel .uc-primary-carousel .primary-carousel_item { height: 480px; }
@media (max-width: 991.98px) {
	/* Deja espacio para la numeración del carrusel bajo el enlace. */
	.psc-hero .primary-carousel_item-content { padding-bottom: 72px; }
}
@media (min-width: 992px) {
	/* Especificidad mayor que la regla del Kit (508px) para respetar los 645px del diseño. */
	.psc-hero .uc-carousel .uc-primary-carousel .primary-carousel_item { height: 645px; }
}
.psc-hero .carousel-img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.62); }
.psc-hero__content .uc-tag { margin-bottom: 24px; }
.psc-hero__title { margin: 0 0 24px; font-size: 40px; line-height: 48px; font-weight: 700; }
.psc-hero__link { display: inline-flex; align-items: center; gap: 12px; font-weight: 500; }
.psc-hero__link .icon-shape--rounded { background-color: var(--psc-azul); color: #fff; }
@media (max-width: 767.98px) {
	.psc-hero__title { font-size: 28px; line-height: 34px; }
}
.psc-has-alpha .psc-hero .primary-carousel_item-content { padding-top: 140px; }

/* ---------- Noticias ---------- */
.psc-news-card.card-bg--image { height: 550px; max-width: none; }
.psc-news-card.uc-card.card-bg--image .uc-card-img { width: 100%; height: 100%; object-fit: cover; object-position: left center; }
.psc-news-card__placeholder { display: block; background: linear-gradient(160deg, var(--psc-azul), var(--psc-degrade)); }
.psc-news-card__title { font-size: 24px; line-height: 28px; font-weight: 700; letter-spacing: .18px; margin: 0; }
.psc-news-card .uc-card.card-bg--white { border-color: #c6c6c6; }
.psc-news-carousel .carousel-controls { justify-content: flex-end; align-items: center; gap: 24px; margin-top: 40px; color: var(--psc-azul); }
.psc-news-carousel .carousel-controls .prev, .psc-news-carousel .carousel-controls .next { cursor: pointer; color: var(--psc-azul); line-height: 0; }
.psc-news-carousel .carousel-controls [aria-disabled="true"], .psc-news-carousel .carousel-controls .disabled { color: #4a4a4a; opacity: .6; }

/* ---------- Cards con imagen (Lo que hacemos) ---------- */
.psc-card-img.card-bg--image { height: 264px; text-decoration: none; }
.psc-card-img .uc-card-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.psc-card-img.card-gradient--bottom-blue::before { height: 63%; z-index: 1; background-image: linear-gradient(180deg, rgba(8, 39, 92, 0), var(--psc-degrade)); }
.psc-card-img .uc-card_body--absolute { position: relative; z-index: 2; height: 100%; padding: 24px 32px; }
.psc-card-img__title { font-size: 20px; line-height: 24px; letter-spacing: .25px; font-weight: 700; margin: 0; }
.psc-card-img--link:hover .uc-card-img, .psc-card-img--link:focus .uc-card-img { transform: scale(1.04); }

/* ---------- Cards con enlace ---------- */
.psc-card-link { height: 100%; }
.psc-card-link__media { position: relative; height: 216px; overflow: hidden; background: var(--psc-gris-fondo); }
.psc-card-link__media .uc-card-img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.psc-card-link__media::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 87%; background: linear-gradient(180deg, rgba(8, 39, 92, 0) 37%, var(--psc-degrade)); pointer-events: none; }
.psc-card-link .uc-card_body { padding: 24px; display: flex; flex-direction: column; flex-grow: 1; }
.psc-card-link__title { margin: 0; font-size: 20px; line-height: 24px; letter-spacing: .25px; }
.psc-card-link__title a { color: var(--psc-texto); text-decoration: none; }
.psc-stretched::after { content: ""; position: absolute; inset: 0; z-index: 3; }
.psc-card-link:not(.uc-card--no-interaction):hover .uc-card-img { transform: scale(1.04); }
.psc-card-link:not(.uc-card--no-interaction):hover .psc-card-link__title a { color: var(--psc-azul); }
.psc-card-link .btn-inline { font-weight: 500; color: var(--psc-azul); }

/* ---------- Cards de información ---------- */
.psc-card-info { height: 100%; }
.psc-card-info .uc-card_body { padding: 24px; display: flex; flex-direction: column; flex-grow: 1; }
.psc-card-info__title { margin: 0; font-size: 20px; line-height: 24px; letter-spacing: .25px; }
.psc-btn-inline-flex { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; }
.psc-card-info .btn-cta { min-height: 48px; padding: 12px 16px; border-radius: 4px; text-decoration: none; }
.psc-card-info .psc-richtext a { color: var(--psc-azul); font-weight: 500; }
.psc-filtro-oculto { display: none !important; }

/* ---------- Filtro ---------- */
.psc-filtro__form select.uc-input-style { height: 53px; padding: 12px 44px 12px 20px; font-size: 16px; min-width: 0; }

/* ---------- Texto y caja gris ---------- */
.psc-box-gris { background: var(--psc-gris-fondo); border-radius: 4px; padding: 48px; }
@media (max-width: 767.98px) {
	.psc-box-gris { padding: 28px 20px; }
}

/* ---------- Imagen con texto destacado ---------- */
.psc-destacado { position: relative; }
.psc-destacado__img { width: 100%; height: 100%; object-fit: cover; border-radius: 4px; display: block; }
.psc-destacado__card.uc-card { border-color: var(--psc-borde); }
.psc-destacado__body { padding: 32px 24px; }
@media (min-width: 992px) {
	.psc-destacado { display: grid; grid-template-columns: repeat(100, 1fr); align-items: start; }
	.psc-destacado__media { grid-column: 1 / 73; grid-row: 1; min-height: 544px; }
	.psc-destacado__media .psc-destacado__img { min-height: 544px; }
	.psc-destacado__card { grid-column: 52 / 101; grid-row: 1; margin-top: 70px; z-index: 2; }
	.psc-destacado--derecha .psc-destacado__media { grid-column: 29 / 101; }
	.psc-destacado--derecha .psc-destacado__card { grid-column: 1 / 50; }
	.psc-destacado__body { padding: 48px; }
}
@media (max-width: 991.98px) {
	.psc-destacado__media { aspect-ratio: 16 / 11; }
	.psc-destacado__card { margin: -48px 16px 0; position: relative; }
}

/* ---------- Personas ---------- */
.psc-persona { height: 100%; }
.psc-persona__foto { height: 216px; overflow: hidden; background: var(--psc-gris-fondo); }
.psc-persona__foto .uc-card-img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.psc-persona .uc-card_body { padding: 24px; display: flex; flex-direction: column; flex-grow: 1; }
.psc-persona__nombre { margin: 0; font-size: 20px; line-height: 24px; letter-spacing: .25px; }
.psc-persona__cargo { font-size: 14px; line-height: 20px; letter-spacing: .28px; margin-bottom: 12px; }
.psc-persona__formacion p { font-size: 14px; line-height: 20px; letter-spacing: .28px; color: var(--psc-gris-texto); margin-bottom: 12px; }
.psc-email { display: flex; align-items: flex-start; gap: 5px; margin-bottom: 0; }
.psc-email .uc-icon { color: var(--psc-azul); font-size: 20px; }
.psc-email a { color: var(--psc-azul); text-decoration: underline; word-break: break-all; }
.psc-email--sm a { font-size: 14px; line-height: 20px; }
.psc-persona .btn-inline { font-weight: 500; }

/* ---------- Ficha persona ---------- */
.psc-ficha__crumbs { margin-bottom: 72px; }
.psc-ficha { margin-bottom: 104px; }
.psc-ficha__foto { width: 100%; height: auto; aspect-ratio: 332 / 400; object-fit: cover; object-position: center top; display: block; }
.psc-ficha__body { padding-top: 30px; }
.psc-ficha__nombre { font-size: 32px; line-height: 36px; font-weight: 500; letter-spacing: .23px; margin: 0; }
.psc-ficha__datos p { margin: 0; line-height: 24px; }
.psc-ficha__datos { margin-bottom: 32px; }
.psc-ficha .psc-email { margin-bottom: 32px; }
@media (max-width: 767.98px) {
	.psc-ficha { margin-bottom: 48px; }
	.psc-ficha__crumbs { margin-bottom: 32px; }
	.psc-ficha__foto { max-width: 332px; margin-bottom: 24px; }
	.psc-ficha__body { padding-top: 0; }
}

/* ---------- Logos ---------- */
.psc-logos__intro { font-weight: 700; margin-bottom: 48px; }
.psc-logos__grid { list-style: none; padding: 0; margin: 0 -16px; row-gap: 80px; justify-content: center; }
.psc-logos__item { padding: 0 16px; display: flex; align-items: center; justify-content: center; }
.psc-logos__link { display: flex; align-items: center; justify-content: center; height: 141px; width: 100%; }
.psc-logos__img { max-width: 100%; max-height: 141px; width: auto; height: auto; object-fit: contain; }
@media (max-width: 767.98px) {
	.psc-logos__grid { row-gap: 32px; }
	.psc-logos__link { height: 90px; }
	.psc-logos__img { max-height: 90px; }
}

/* ---------- Acordeón ---------- */
.psc-acc .uc-collapse { margin-bottom: 16px; }
.psc-acc__title { margin: 0; text-align: left; }
.psc-js .psc-acc .uc-collapse_body:not([data-open="true"]) { height: 0; overflow: hidden; }
.psc .psc-acc .psc-acc__icon.uc-icon--rotate-180,
.psc .psc-acc .js-accordion-active-element .psc-acc__icon { transform: none !important; }
.psc .psc-acc .uc-collapse_heading[aria-expanded="true"] .psc-acc__icon { transform: rotate(180deg) !important; }
.psc .psc-acc .uc-collapse_heading:focus:not(:focus-visible)::before { border-color: transparent; }

/* ---------- Cabecera de páginas interiores ---------- */
.psc-page-head--imagen .psc-page-head__media { height: 240px; overflow: hidden; background: var(--psc-marino); }
.psc-page-head__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.psc-page-head__box { position: relative; background: #fff; border-radius: 4px 4px 0 0; margin-top: -48px; padding: 24px 16px 0; }
.psc-page-head__title { margin-top: 24px; }
.psc-page-head__title h1 { font-size: 28px; line-height: 34px; font-weight: 700; }
@media (min-width: 992px) {
	.psc-page-head--imagen .psc-page-head__media { height: 446px; }
	.psc-page-head__box { margin-top: -93px; padding: 32px var(--psc-sangria) 0; }
	.psc-page-head__title { margin-top: 32px; }
	.psc-page-head__title h1 { font-size: 40px; line-height: 48px; }
}
.psc-page-head--simple { padding-top: 32px; }
.psc-page-head--simple + .psc-blocks > .psc-section:first-child,
.psc-page-head + .psc-blocks > .psc-section:first-child { margin-top: 56px; }
.psc-page-head--simple .psc-page-head__title { margin-bottom: 8px; }

/* ---------- Noticia ---------- */
.psc-article__title { font-size: 32px; line-height: 40px; font-weight: 700; margin: 0 0 12px; }
.psc-article__date { display: flex; align-items: center; font-size: 14px; margin: 0; }
.psc-article__media img { width: 100%; height: auto; border-radius: 4px; }
@media (min-width: 992px) {
	.psc-article__title { font-size: 40px; line-height: 48px; }
}

/* Cards de listados */
.psc-card-post .psc-card-post__media { display: block; height: 216px; overflow: hidden; }
.psc-card-post .uc-card-img { width: 100%; height: 100%; object-fit: cover; }
.psc-card-post__placeholder { display: block; height: 100%; background: linear-gradient(160deg, var(--psc-azul), var(--psc-degrade)); }
.psc-card-post .uc-card_body { display: flex; flex-direction: column; flex-grow: 1; padding: 24px; }
.psc-card-post__link { color: var(--psc-texto); text-decoration: none; }
.psc-card-post__link::after { content: ""; position: absolute; inset: 0; z-index: 3; }
.psc-card-post:hover .psc-card-post__link { color: var(--psc-azul); }
.psc-pagination { margin-top: 48px; justify-content: center; display: flex; align-items: center; }
.psc-publicacion__portada { width: 100%; height: auto; border-radius: 4px; box-shadow: var(--psc-sombra); }
.psc-publicacion__acciones { display: flex; flex-wrap: wrap; gap: 16px; }

/* ---------- Contacto ---------- */
.psc-contacto__lista { list-style: none; padding: 0; margin: 0; }
.psc-contacto__lista li { display: flex; gap: 8px; align-items: flex-start; margin-bottom: 16px; }
.psc-contacto__lista .uc-icon { color: var(--psc-azul); font-size: 20px; }
.psc-form .wpcf7-form-control-wrap { display: block; }
.psc-form .wpcf7 input[type="text"], .psc-form .wpcf7 input[type="email"], .psc-form .wpcf7 input[type="tel"], .psc-form .wpcf7 textarea, .psc-form .wpcf7 select { width: 100%; }
.psc-form .wpcf7-not-valid-tip { color: #950a0a; font-size: 14px; margin-top: 4px; }
.psc-form .wpcf7-response-output { margin: 24px 0 0 !important; padding: 12px 16px !important; border-radius: 4px; }
.psc-form .wpcf7-spinner { vertical-align: middle; }

/* ---------- Footer ---------- */
.psc-footer__name { font-size: 32px; line-height: 36px; margin-bottom: 16px; }
.psc-footer__datos { list-style: none; padding: 0; margin: 0; }
.psc-footer__datos li { display: flex; gap: 5px; align-items: flex-start; margin-bottom: 16px; font-size: 14px; line-height: 20px; letter-spacing: .28px; }
.psc-footer__datos .uc-icon { font-size: 20px; color: #fff; flex: 0 0 20px; }
.psc-footer__datos a { color: #fff; text-decoration: underline; }
.psc-footer__datos a.psc-footer__tel { text-decoration: none; }
.psc-footer__priv { display: inline-flex; align-items: center; gap: 4px; }
.psc-footer__priv .psc-icon-externo { font-size: 14px; flex: none; }
.psc-footer__social { margin-top: 0; padding: 0; }
.psc-footer__social img { width: 18px; height: 18px; }
@media (max-width: 767.98px) {
	.psc-footer__name { font-size: 24px; line-height: 30px; }
}

/* ---------- Efectos (reveal al hacer scroll) ---------- */
.psc-js .psc-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.psc-js .psc-reveal.psc-in { opacity: 1; transform: none; }
.psc-d1 { transition-delay: 60ms !important; }
.psc-d2 { transition-delay: 120ms !important; }
.psc-d3 { transition-delay: 180ms !important; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.psc-js .psc-reveal { opacity: 1; transform: none; transition: none; }
	.psc-card-img .uc-card-img, .psc-card-link__media .uc-card-img { transition: none; }
}

/* ---------- Avisos ---------- */
.psc-setup-notice .uc-btn { margin-top: 16px; }
