/* Fuentes */
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@300;400;700&display=swap');

/* Cuerpo */
body { font-family: 'Noto Sans', sans-serif; }
h1,.h1{font-size:2rem;font-weight:700;color:#0B2B64;margin-bottom:1rem;line-height:1.4;}
h2,.h2{font-size:1.75rem;font-weight:700;color:#0B2B64;margin-bottom:1rem;line-height:1.4;}
h3,.h3{font-size:1.5rem;font-weight:700;color:#0B2B64;margin-bottom:1rem;line-height:1.4;}
h4,.h4{font-size:1.25rem;font-weight:700;color:#0B2B64;margin-bottom:0.75rem;line-height:1.4;}
h5,.h5{font-size:1rem;font-weight:700;color:#0B2B64;margin-bottom:0.5rem;line-height:1.4;}
h6,.h6{font-size:0.875rem;font-weight:700;color:#0B2B64;margin-bottom:0.5rem;line-height:1.4;}

/* Estilos ocultos */
[hreflang="uk"], [hreflang="nl"], [hreflang="mt"], [hreflang="ru"], [hreflang="cy"] { visibility:hidden; position:absolute; }
.node--type-sol-cursos h1.title { visibility:hidden; position:absolute; }

/* Quitar bordes divisores */
.site-header, .navbar, .site-footer, .site-footer__bottom { border: 0 !important; box-shadow: none !important; }

/* Primary tabs (Ver, Editar, Eliminar, etc.) */
.nav-tabs .nav-link { color: #333 !important; }

/* Otros estilos específicos */
.nav-item a.main-button-login-register-logout { border-radius: 6px; border: 1px solid #3c87c6; margin-right:4px; }
.nav-item a.main-button-login-register-logout:hover { background-color: #dddddd; }
@media (max-width: 576px){
	.nav-item a.main-button-login-register-logout { border: 0; margin-right:0 }
	.nav-item a.main-button-login-register-logout:hover { background-color: #ffffff; }
}

/* Logo multilingüe */
html[lang="es"] .navbar-brand img { content: url("/sites/default/files/paho-virtual-campus-logos-blue-es.png"); }
html[lang="en"] .navbar-brand img { content: url("/sites/default/files/header-campusvirtual-2025-en.png"); }
html[lang="pt-br"] .navbar-brand img { content: url("/sites/default/files/header-campusvirtual-2025-pt.png"); }
html[lang="fr"] .navbar-brand img { content: url("/sites/default/files/header-campusvirtual-2025-fr.png"); }
.navbar-brand img {height:auto;max-height:80px;width:auto;max-width: 100%;display:block}

/* Navbar blanca con texto negro 100% */
.navbar.bg-white .navbar-brand, .navbar.bg-white .nav-link { color:#000000 !important; }
.navbar.bg-white .nav-link:hover, .navbar.bg-white .nav-link:focus, .navbar.bg-white .nav-link.active, .navbar.bg-white .nav-item.active > .nav-link { color:#000 !important; }
.menu--main .dropdown-menu a { color: #000 !important; text-decoration: none !important; }

/* Submenú (nivel 3) alineado a la derecha */
.menu--main .dropdown-menu li > ul.dropdown-menu { top: 0; left: 100%; margin-top: -9px; margin-left: 0; position: absolute; display: none; }

/* Créditos / Atribuciones de imágenes */
.caption { position: relative !important; display: inline-block !important; line-height: 0 !important; }
.caption > blockquote.image-field-caption { all: unset; position: absolute !important; right: 12px !important; bottom: 24px !important; display: inline-block !important; max-width: calc(100% - 24px) !important; padding: 4px 10px !important; background: rgba(0,0,0,.78) !important; color: #fff !important; font-weight: 500; font-size: 0.85rem; line-height: 1.15 !important; border-radius: 6px !important; text-shadow: 0 1px 2px rgba(0,0,0,.4) !important; box-shadow: 0 2px 6px rgba(0,0,0,.25) !important; pointer-events: none !important; white-space: nowrap;  z-index: 10 !important; }
.caption > blockquote.image-field-caption::before, .node__content .field--type-image.field__item > blockquote.image-field-caption::after { content: none !important; }
.caption > blockquote.image-field-caption > p { margin: 0 !important; padding: 0 !important; }

/* Sección superior ancho 100% */
.featured-top { position: relative; left: 50%; right: 50%; margin-left: calc(-50vw); margin-right: calc(-50vw); width: 100vw; max-width: 100vw; }
.featured-top__inner.section.container, .featured-top .region-wrapper-featured-top > .container { max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }

/* Banner principal */
.cvsp-bloque-banner-principal { position: relative; overflow: hidden; aspect-ratio: 4 / 1; width: 100%; }
.cvsp-bloque-banner-principal img { width: 100%; height: auto; display: block; }
.cvsp-bloque-banner-principal .banner-overlay { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: .6rem; text-align: center; line-height: normal; padding: clamp(6px,1.8vw,14px) clamp(8px,2vw,24px) clamp(8px,3.5vw,36px); }
.cvsp-bloque-banner-principal .banner-title { background: #0B2B64; color: #fff; border-radius: 6px; padding: 1rem 2.4rem; font-weight: 700; font-size: clamp(1.2rem, 4.5vw, 2.4rem); max-width: min(92vw, 1100px); }
.cvsp-bloque-banner-principal .banner-btn { display: inline-flex; align-items: center; justify-content: center; background: #fff; color: #0B2B64; border-radius: 6px; font-weight: 700; font-size: clamp(.9rem, 3vw, 1.4rem); padding: 1rem 2.2rem; text-decoration: none; transition: transform .15s ease, color .2s ease, background-color .2s ease; box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.cvsp-bloque-banner-principal .banner-btn:hover, .cvsp-bloque-banner-principal .banner-btn:focus { background: #000000; color: #fff; transform: translateY(-1px); }
.cvsp-bloque-banner-principal .banner-btn:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.cvsp-bloque-banner-principal .banner-credit { position: absolute; right: 10px; bottom: 6px; z-index: 3; font-size: clamp(.7rem, 1.9vw, .95rem); color: #fff; background: rgba(0,0,0,.45); padding: .3rem .6rem; border-radius: 4px; text-shadow: 0 1px 1px rgba(0,0,0,.35); }

/* Banners imágenes */
.cvsp-banner-img { width: 100vw; margin-left: calc(-50vw + 50%); aspect-ratio: 4 / 1; overflow: hidden; position: relative; }
.cvsp-banner-img img { width: 100%; height: 100%; object-fit: cover;  display: block; }
@media (max-width: 576px){
  .cvsp-banner-img{ aspect-ratio: 16 / 9; }
  .cvsp-banner-img img{ width: 100%; height: 100%; object-fit: cover; object-position: center; }
 }

/* Sección de descripción de bienvenida */
.cvsp-bloque-descripcion { margin: 80px auto !important; font-size: 150%; color: #0B2B64; }

/* Secciones global */
.views-element-container h2 { color:#000000; font-weight:700; margin-bottom: 50px; margin-left: 18px; }
.cvsp-seccion-titulo { color:#000000; font-weight:700; margin-bottom: 50px; }
.cvsp-landing-btn-left{ display:flex; justify-content:flex-start; margin-top:14px; }
.cvsp-landing-btn-right{ display:flex; justify-content:flex-end; margin-top:14px; }
.cvsp-landing-btn{ display:inline-flex; align-items:center; gap:6px; background:#0B2B64; color:#fff !important; font-weight:700; padding:10px 14px; border-radius:10px; text-decoration:none; box-shadow: 0 3px 10px rgba(11,43,100,.18); }
.cvsp-landing-btn:hover{ background:#000000; color:#fff; }

/* Sección fondo celeste (largo) */
.cvsp-seccion-bg-celeste-largo { background:#C9DDF3; padding:2.5rem 1rem; font-family:inherit; }

/* Sección fondo celeste (corto) */
.cvsp-seccion-bg-celeste-corto-padding { padding:2.5rem 1rem; font-family:inherit; }
.cvsp-seccion-bg-celeste-corto { background:#C9DDF3; border:1px solid #F6F6F6; border-radius:12px; padding:30px; box-shadow: 0 2px 8px rgba(16,42,67,.04); }

/* Sección fondo azul (corto) */
.cvsp-seccion-bg-azul-corto-padding { padding:2.5rem 1rem; font-family:inherit; }
.cvsp-seccion-bg-azul-corto { background:#00205C; border:1px solid #F6F6F6; border-radius:12px; padding:30px; box-shadow: 0 2px 8px rgba(16,42,67,.04); }

/* Sección fondo gris (corto) */
.cvsp-seccion-bg-gris-corto-padding { padding:2.5rem 1rem; font-family:inherit; }
.cvsp-seccion-bg-gris-corto { background:#f5f7fa; border:1px solid #F6F6F6; border-radius:12px; padding:30px; box-shadow: 0 2px 8px rgba(16,42,67,.04); }

/* Sección fondo blanco (corto) */
.cvsp-seccion-bg-blanco-corto-padding { padding:2.5rem 1rem; font-family:inherit; }
.cvsp-seccion-bg-blanco-corto { background:#ffffff; padding: 10px 30px 30px 30px; }

/* Sección grid (4 columnas) */
.cvsp-seccion-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(4, minmax(180px, 1fr)); gap:16px; }
.cvsp-seccion-grid-card{ background:#ffffff; border:1px solid #eef1f5; border-radius:10px; padding:12px; box-shadow: 0 2px 10px rgba(16,42,67,.05); }
.cvsp-seccion-grid-cardlink{ display:block; text-decoration:none; color:inherit; }
.cvsp-seccion-grid-thumb{ display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid #f0f3f8; border-radius:8px; margin-bottom:10px; }
.cvsp-seccion-grid-thumb img{ max-width:100%; width:auto; height:auto; display:block; }
.cvsp-seccion-grid-linktext{ display:inline-block; color:#0B2B64; font-weight:700; line-height:1.35; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.cvsp-seccion-grid-cardlink:hover .cvsp-seccion-grid-linktext{ opacity:.9; }

/* Sección grid (2 columnas) */
.cvsp-seccion-grid-2 { list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(2, minmax(180px, 1fr)); gap:40px; }
.cvsp-seccion-grid-2-card { background:#ffffff; border:1px solid #eef1f5; border-radius:10px; padding:16px; box-shadow: 0 2px 10px rgba(16,42,67,.05); }
.cvsp-seccion-grid-2-cardlink { display:flex; align-items:center; gap:16px; text-decoration:none; color:inherit; }
.cvsp-seccion-grid-2-thumb{ display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid #f0f3f8; border-radius:8px; margin-bottom:10px; }
.cvsp-seccion-grid-2-thumb img{ max-height:180px; max-width:100%; width:auto; height:auto; display:block; }
.cvsp-seccion-grid-2-linktext { flex:1; color:#0B2B64; font-weight:700; line-height:1.35; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.cvsp-seccion-grid-2-cardlink:hover .cvsp-seccion-grid-2-linktext { opacity:.9; }

/* Sección explore nuestros cursos */
.cursos-grid { display:flex; flex-wrap:wrap; gap:5rem; justify-content:center; }
.curso-card { position:relative; flex:0 1 380px; background:#0B2B64; color:#fff; border-radius:18px; padding:3rem 2.5rem 6rem; text-align:left; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
.curso-card:hover, .curso-card:focus { transform:translateY(-6px); box-shadow:0 8px 20px rgba(0,0,0,.25); }
.curso-title { margin:0 0 2.5rem; font-size: 150%; line-height:1.2; color:#fff; }
.curso-card .curso-btn { position:absolute; bottom:2.2rem; display:inline-block; background:#fff; color:#0B2B64; padding:.6rem 1.5rem; border-radius:10px; font-weight:700; transition:background .2s ease,color .2s ease; }
.curso-card:hover .curso-btn { background:#000000; color:#fff; }
.curso-card .curso-icon { position:absolute; bottom:2.2rem; right:2.2rem; font-size:4rem; line-height:1; color:#fff; }

/* Webinarios certificados */
.cvsp-webinars-section { padding:1rem 1rem; font-family:inherit; }
.cvsp-webinars-card { display: flex; justify-content: space-between; align-items: center; background:#f9fafc; border:1px solid #e6ecf5; border-radius:12px; padding: 50px; box-shadow: 0 2px 8px rgba(16,42,67,.04); }
.cvsp-webinars-content { flex: 1; }
.cvsp-webinars-text { color:#333; margin: 0 0 16px; }
.cvsp-webinars-icon { flex:0 0 120px; display:flex; align-items:center; justify-content:center; }
.cvsp-webinars-icon img { max-width:100%; height:auto; display:block; }

/* Boletín y App */
.cvsp-seccion-boletin-app-section{ padding:1rem 1rem; font-family:inherit; }
.cvsp-seccion-boletin-app-grid{ display:grid; grid-template-columns:repeat(2, minmax(280px,1fr)); gap:24px; }
.cvsp-seccion-boletin-app-card{ background:#e7f0fb; border:1px solid #d9e6f7; border-radius:12px; box-shadow:0 2px 10px rgba(16,42,67,.06); }
.cvsp-seccion-boletin-app-card-body{ padding:22px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.cvsp-seccion-boletin-app-card-copy{ flex:1 1 auto; }
.cvsp-seccion-boletin-app-title{ margin:0 0 20px; color:#000000; font-weight:800; font-size:30px; }
.cvsp-seccion-boletin-app-text{ margin:0 0 24px; color:#000000; line-height:1.5; }
.cvsp-seccion-boletin-app-img{ width:120px; height:auto; display:block; }
.cvsp-seccion-boletin-app-store{ display:flex; align-items:center; gap:14px; margin-top:10px; }
.cvsp-seccion-boletin-app-badges{ display:flex; flex-direction:column; gap:10px; }
.cvsp-seccion-boletin-app-qr{ width:120px; height:120px; }
.cvsp-seccion-boletin-app-circle img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Sección multimedia */
.cvsp-media-grid{ list-style:none; margin:0; padding:0; display:grid; gap:24px; grid-template-columns: repeat(3, minmax(220px, 1fr)); }
.cvsp-media-item{ background:#fff; border:1px solid #eef1f5; border-radius:10px; box-shadow:0 2px 10px rgba(16,42,67,.05); overflow:hidden; }
.cvsp-media{ aspect-ratio: 16 / 9; background:#000; }
.cvsp-media iframe{ width:100%; height:100%; border:0; display:block; }

/* Vistas de cursos */
.courses-style .view-content { margin-left:0!important; margin-right:0!important; --bs-gutter-x:0; --bs-gutter-y:0; display:grid!important; grid-template-columns:repeat(4,minmax(220px,1fr)); gap:22px; }
.courses-style .views-row { margin:0!important; float:none!important; width:auto!important; max-width:none!important; background:#fff; border:1px solid #e6e9ee; border-radius:12px; overflow:hidden; box-shadow:0 2px 6px rgba(9,30,66,.06); transition:transform .18s,box-shadow .18s,border-color .18s; }
.courses-style .views-row:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(9,30,66,.12); border-color:#d6dbe3; }
.courses-style .views-field-field-image-curso .field-content > a { display:block; position:relative; width:100%; aspect-ratio:1/1; overflow:hidden; background:#f7f9fc; border-bottom:1px solid #eef1f5; border-top-left-radius:12px; border-top-right-radius:12px; }
.courses-style .views-field-field-image-curso img { position:absolute; inset:0; width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; object-position:center; display:block; border:0; margin:0; padding:0; }
.courses-style .views-row { border-radius:12px; }
.courses-style .views-field-field-nombre-del-curso { margin:10px 12px 14px; }
.courses-style a { color:#000000; }

/* Vistas últimas noticias */
.courses-style .views-field-field-imagen-principal-noticias .field-content > a { display:block; position:relative; width:100%; aspect-ratio:1/1; overflow:hidden; background:#f7f9fc; border-bottom:1px solid #eef1f5; border-top-left-radius:12px; border-top-right-radius:12px; }
.courses-style .views-field-field-imagen-principal-noticias img { position:absolute; inset:0; width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; object-position:center; display:block; border:0; margin:0; padding:0; }
.courses-style .views-field-title { margin:10px 12px 14px; }

/* Acerca de */
.cvsp-seccion-acerca-intro{ background:#F6F6F6; width:100vw; margin-left:calc(-50vw + 50%); margin-top: -20px !important; }
.cvsp-seccion-acerca-intro .acintro-wrap{ margin:0 auto; padding:32px 20px; }
.cvsp-seccion-acerca .cvsp-note { color:#374151; font-weight:600; margin:24px 0; }
.cvsp-seccion-acerca .cvsp-card { background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:18px 20px; margin-bottom:20px; box-shadow:0 1px 2px rgba(0,0,0,.05); }
.cvsp-seccion-acerca .cvsp-card h2 { margin:0 0 12px; color:#0B2B64; font-weight:800; font-size:20px; }
.cvsp-seccion-acerca .cvsp-video-section { background:#C9DDF3; width:100vw; margin-left:calc(-50vw + 50%); padding:40px 0; }
.cvsp-seccion-acerca .cvsp-wrap { margin:0 auto; padding:0 20px; }
.cvsp-seccion-acerca .cvsp-video-section h2 { margin:0 0 18px; color:#0B2B64; font-weight:800; font-size:22px; line-height:1.3; }
.cvsp-seccion-acerca .cvsp-video-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.cvsp-seccion-acerca .cvsp-video-card { background:#fff; border-radius:10px; padding:12px; box-shadow:0 2px 8px rgba(0,0,0,.1); display:flex; flex-direction:column; align-items:center; }
.cvsp-seccion-acerca .cvsp-video-embed { position:relative; width:100%; padding-top:56.25%; border-radius:8px; overflow:hidden; margin-bottom:10px; }
.cvsp-seccion-acerca .cvsp-video-embed iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:0; }
.cvsp-seccion-acerca .cvsp-video-title { margin:0; color:#0B2B64; font-weight:700; font-size:14px; text-align:center; }
@media (max-width:768px) { .cvsp-seccion-acerca .cvsp-video-grid { grid-template-columns:1fr; gap:14px; } }
.cvsp-seccion-acerca-organizacion{color:#101828;line-height:1.65;}
.cvsp-seccion-acerca-organizacion .acorg-wrap{margin:0 auto;padding:0 20px;}
.cvsp-seccion-acerca-organizacion h3{margin:0 0 10px;color:#0B2B64;font-weight:800;font-size:18px;line-height:1.3;}
.cvsp-seccion-acerca-organizacion p{margin:0 0 12px;}
.cvsp-seccion-acerca-organizacion strong{font-weight:700;}
.cvsp-seccion-acerca-organizacion .acorg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;}
.cvsp-seccion-acerca-organizacion .acorg-col{padding:20px;}
.cvsp-seccion-acerca-organizacion .acorg-col + .acorg-col{border-left:1px solid #e5e7eb;}
.cvsp-seccion-acerca-organizacion .acorg-bullets{margin:0;padding-left:20px;}
.cvsp-seccion-acerca-organizacion .acorg-bullets li{margin-bottom:8px;}
.cvsp-seccion-acerca-organizacion .acorg-stats{display:flex;gap:14px;align-items:flex-start;background:#F3F6FB;border:1px solid #e5e7eb;border-radius:10px;padding:16px 20px;margin-top:20px;box-shadow:0 1px 2px rgba(16,24,40,.04);}
.cvsp-seccion-acerca-organizacion .acorg-stats__icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;}
.cvsp-seccion-acerca-organizacion .acorg-stats__icon img{width:64px;height:64px;object-fit:contain;}
.cvsp-seccion-acerca-organizacion .acorg-stats p{margin:0;}
.cvsp-seccion-acerca-organizacion .acorg-link{color:#0B2B64;font-weight:700;text-decoration:underline;}
@media (max-width:768px){
  .cvsp-seccion-acerca-organizacion .acorg-wrap{padding:0 16px;}
  .cvsp-seccion-acerca-organizacion h3{font-size:17px;margin:0 0 8px;line-height:1.25;}
  .cvsp-seccion-acerca-organizacion .acorg-grid{grid-template-columns:1fr;border-radius:10px;margin:16px 0;}
  .cvsp-seccion-acerca-organizacion .acorg-col{padding:16px;}
  .cvsp-seccion-acerca-organizacion .acorg-col + .acorg-col{border-left:0;border-top:1px solid #e5e7eb;}
  .cvsp-seccion-acerca-organizacion .acorg-bullets{padding-left:18px;}
  .cvsp-seccion-acerca-organizacion .acorg-bullets li{margin-bottom:10px;}
  .cvsp-seccion-acerca-organizacion .acorg-stats{flex-direction:row;gap:10px;padding:14px;margin-top:16px;}
  .cvsp-seccion-acerca-organizacion .acorg-stats__icon img{width:28px;height:28px;}
  .cvsp-seccion-acerca-organizacion .acorg-stats p{font-size:15px;line-height:1.5;}
}
@media (max-width:480px){
  .cvsp-seccion-acerca-organizacion .acorg-wrap{padding:0 12px;}
  .cvsp-seccion-acerca-organizacion h3{font-size:16px;}
  .cvsp-seccion-acerca-organizacion .acorg-col{padding:14px 12px;}
  .cvsp-seccion-acerca-organizacion .acorg-stats{padding:12px;gap:8px;}
  .cvsp-seccion-acerca-organizacion .acorg-stats__icon img{width:24px;height:24px;}
  .cvsp-seccion-acerca-organizacion .acorg-stats p{font-size:14.5px;}
}
.cvsp-seccion-historia { background:#0B2B64; color:#fff; width:100vw; margin-left:calc(-50vw + 50%); }
.cvsp-historia-wrap { display:flex; flex-wrap:wrap; align-items:stretch; justify-content:center; max-width:1160px; margin:0 auto; padding:40px 20px; }
.cvsp-historia-texto { flex:1 1 320px; padding-right:24px; display:flex; flex-direction:column; justify-content:center; }
.cvsp-historia-texto h2 { font-size:24px; font-weight:800; margin:0 0 14px; }
.cvsp-historia-texto p { font-size:16px; line-height:1.6; margin:0 0 16px; }
.cvsp-historia-btn { display:inline-flex; align-items:center; gap:8px; background:#fff; color:#0B2B64; font-weight:700; padding:10px 18px; border-radius:8px; text-decoration:none; font-size:15px; transition:all 0.2s ease; box-shadow:0 2px 6px rgba(0,0,0,.15); }
.cvsp-historia-btn:hover { background:#000; color:#fff; }
.cvsp-historia-btn .material-icons { font-size:20px; }
.cvsp-historia-imagen { flex:1 1 300px; display:flex; align-items:center; justify-content:center; }
.cvsp-historia-imagen img { max-width:100%; height:auto; border-radius:4px; }
@media (max-width:768px) { .cvsp-historia-wrap { flex-direction:column; padding:30px 16px; } .cvsp-historia-texto { padding-right:0; margin-bottom:20px; } }

/* Red de nodos */
.cvsp-seccion-acerca-nodos{background:#fff;padding:32px 0;}
.cvsp-seccion-acerca-nodos .nodos-wrap{margin:0 auto;padding:0 20px;}
.cvsp-seccion-acerca-nodos p{margin-bottom:20px;}
.cvsp-seccion-acerca-nodos strong{font-weight:700;color:#000;}
.cvsp-seccion-acerca-nodos .nodos-destacado{background:#C9DDF3;padding:24px;border-radius:8px;margin-bottom:32px;}
.cvsp-seccion-acerca-nodos .nodos-destacado h2{margin:0 0 12px;font-size:20px;font-weight:700;color:#0B2B64;}
.cvsp-seccion-acerca-nodos .nodos-card{display:flex;align-items:flex-start;gap:16px;border:1px solid #e5e7eb;border-radius:8px;padding:20px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);}
.cvsp-seccion-acerca-nodos .nodos-card__icon img{width:75px;height:75px;object-fit:contain;}
.cvsp-seccion-acerca-nodos .nodos-card__content h3{font-size:18px;margin:0 0 8px;font-weight:700;color:#0B2B64;}
.cvsp-seccion-acerca-nodos .nodos-card__content h3 span{font-weight:400;color:#101828;}
.cvsp-seccion-acerca-nodos .nodos-card__content p{margin:0;}
.cvsp-seccion-acerca-nodos .nodos-card__action{margin-left:auto;align-self:center;}
.cvsp-seccion-acerca-nodos .nodos-btn{display:inline-block;background:#0B2B64;color:#fff;padding:8px 20px;border-radius:4px;font-weight:600;text-decoration:none;white-space:nowrap;min-width:140px;text-align:center;}
.cvsp-seccion-acerca-nodos .nodos-btn:hover{background:#09306a;}
@media(max-width:768px){.cvsp-seccion-acerca-nodos .nodos-card{flex-direction:column;text-align:left;} .cvsp-seccion-acerca-nodos .nodos-card__action{margin-left:0;margin-top:12px;}}
.cvsp-nodos-grid ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));max-width:100%;gap:15px;list-style:none;padding:0;margin:0;}
@media (min-width:1200px){.cvsp-nodos-grid ul{grid-template-columns:repeat(5,1fr);}}
.cvsp-nodos-grid li a{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-weight:600;color:#0B2B64;text-decoration:none;transition:all 0.3s ease;}
.cvsp-nodos-grid li a:hover{background:#f4f8fc;color:#de7344;border-color:#de7344;}
.cvsp-nodos-grid img{width:20px;height:16px;object-fit:cover;}
.cvsp-cards-nodos{margin:16px 0 8px;}
.cvsp-cards-nodos .cvsp-cards-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;}
.cvsp-cards-nodos .cvsp-card{position:relative;display:flex;align-items:stretch;justify-content:space-between;gap:16px;padding:18px 20px;background:#F6F6F6;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 20px rgba(11,43,100,0.06);}
.cvsp-cards-nodos .cvsp-card-body{flex:1 1 auto;min-width:0;}
.cvsp-cards-nodos .cvsp-card-title{margin:0 0 8px;font-size:clamp(16px,2vw,18px);line-height:1.3;font-weight:700;color:#0B2B64;}
.cvsp-cards-nodos .cvsp-card-text{margin:0 0 12px;line-height:1.5;color:#24324a;}
.cvsp-cards-nodos .cvsp-btn{display:inline-block;padding:8px 14px;border-radius:8px;background:#0B2B64;color:#fff;font-weight:700;text-decoration:none;box-shadow:0 2px 0 rgba(0,0,0,0.06);transition:transform .15s ease,background .2s ease;}
.cvsp-cards-nodos .cvsp-btn:hover{background:#08224c;transform:translateY(-1px);}
.cvsp-cards-nodos .cvsp-card-illo{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:110px;}
.cvsp-cards-nodos .cvsp-card-illo img{display:block;max-width:88px;height:auto;opacity:.95;}
.cvsp-cards-nodos .cvsp-card::before{display:none;}
@media(max-width:600px){.cvsp-cards-nodos .cvsp-card{flex-direction:row;gap:12px;}.cvsp-cards-nodos .cvsp-card-illo{width:84px;}.cvsp-cards-nodos .cvsp-card-illo img{max-width:72px;}}

/* Landing page de cursos */
.page-view-lista-cursos-grid #block-bootstrap-barrio-subtheme-page-title .title { display: flex; align-items: center; gap: 12px; font-size: 2rem; font-weight: 700; color: #0B2B64; }
.page-view-lista-cursos-grid #block-bootstrap-barrio-subtheme-page-title .title::before { content: ""; display: inline-block; width: 48px; height: 48px; background-image: url('/sites/default/files/2025-10/ico-cursos.png'); background-repeat: no-repeat; background-size: contain; background-position: center; }
.node--type-sol-cursos .field--name-field-sol-cursos-version-es,.node--type-sol-cursos .field--name-field-sol-cursos-version-en,.node--type-sol-cursos .field--name-field-sol-cursos-version-pt, .node--type-sol-cursos .field--name-field-sol-cursos-version-fr{display:inline-block;margin-right:10px;margin-bottom:1rem;}
.node--type-sol-cursos .field--name-field-sol-cursos-version-es a,.node--type-sol-cursos .field--name-field-sol-cursos-version-en a,.node--type-sol-cursos .field--name-field-sol-cursos-version-pt a, .node--type-sol-cursos .field--name-field-sol-cursos-version-fr a{display:inline-block;padding:6px 16px;font-weight:600;color:#0B2B64;border:1px solid #0B2B64;border-radius:8px;text-decoration:none;transition:background-color 0.2s ease,color 0.2s ease;}
.node--type-sol-cursos .field--name-field-sol-cursos-version-es a:hover,.node--type-sol-cursos .field--name-field-sol-cursos-version-en a:hover,.node--type-sol-cursos .field--name-field-sol-cursos-version-pt a:hover, .node--type-sol-cursos .field--name-field-sol-cursos-version-fr a:hover{background-color:#0B2B64;color:#fff;}
.imagen-curso{float: left; text-align:center;margin-bottom:1rem;}
.imagen-curso img{max-width:100%;width:100%;max-width:400px;height:auto;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,0.1);}
.entrar-curso{text-align:center;margin-bottom:40px;}
.entrar-curso a{display:inline-block;margin-top:1.5rem;background-color:#fc671a;color:#fff;font-weight:bold;padding:10px 24px;border-radius:8px;text-decoration:none;text-align:center;transition:background-color 0.2s ease;}
.entrar-curso a:hover{background-color:#d7530f;}
@media(max-width:768px){.node--type-sol-cursos{padding-left:10px;padding-right:10px;}}

/* Acordeones del curso */
.node--type-sol-cursos details { margin-bottom: 10px; border-radius: 6px; overflow: hidden; }
.node--type-sol-cursos details:nth-of-type(odd) > summary { background-color: #0B2B64; }
.node--type-sol-cursos details:nth-of-type(even) > summary { background-color: #144a85; }
.node--type-sol-cursos summary { font-weight: 700; font-size: 1.1rem; color: #fff; padding: 12px 16px; cursor: pointer; list-style: none; border-radius: 6px; transition: background-color 0.2s ease; }
.node--type-sol-cursos .details-wrapper { padding: 1rem; background-color: #dddddd; color: #333; }
.node--type-sol-cursos details[open] summary { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }

/* Ícono + o - */
.node--type-sol-cursos summary::after { content: " +"; font-weight: bold; font-size: 1.2rem; color: #fff; transition: transform 0.2s ease; }
.node--type-sol-cursos details[open] summary::after { content: " −"; }

/* Sección pié de página (Footer) */
.site-footer { background:#0B2B64; color:#fff; font-size:18px; }
.site-footer a { color:#fff !important; }
.site-footer .contextual-region, .site-footer .block, .site-footer .block-content-basic, .site-footer .content, .site-footer .field__item { background:transparent !important; border:0 !important; box-shadow:none !important; margin:0 !important; padding:0 !important; }
.site-footer h2 { font-size:20px; font-weight:700; color:#fff; text-transform:none !important; border:0 !important; }
.site-footer .site-footer__top .row { padding:20px; }
.site-footer .site-footer__top .region:not(.region-footer-fourth) ul { list-style:none; margin:0; padding:0; }
.site-footer .site-footer__top .region:not(.region-footer-fourth) ul li { position:relative; margin:6px 0; padding-left:18px; line-height:1.35; }
.site-footer .site-footer__top .region:not(.region-footer-fourth) ul li::before { content:"•"; position:absolute; left:0; top:0.42em; color:#fff; font-size:14px; line-height:1; }
.site-footer .site-footer__top .region:not(.region-footer-fourth) ul li a { display:inline; padding:0; }
.site-footer .site-footer__top .region:not(.region-footer-fourth) ul ul { margin-top:4px; margin-bottom:4px; padding-left:14px; }
.cvsp-footer-social { display:flex; gap:18px; align-items:center; margin-top:10px !important; }
.cvsp-footer-social a { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.cvsp-footer-social i { line-height:1; transition:transform 0.2s ease, opacity 0.2s ease; }
.cvsp-footer-social a:hover i { transform:scale(1.1); opacity:0.85; }
.site-footer .bg-white { background:#fff !important; color:#000 !important; border-radius:10px !important; margin-top:10px !important; padding:14px !important; font-size:medium !important; box-shadow:0 6px 18px rgba(0,0,0,.12) !important; }

/* ===== Expandir menú ===== */
@media (min-width: 992px) {
  /* Mostrar submenú al pasar el mouse */
  .menu--main .dropdown:hover > .dropdown-menu {
    display: block;
  }

  /* Submenús anidados */
  #navbar-main .dropdown-menu li:hover > ul.dropdown-menu {
    display: block;
  }
}

@media(max-width:600px){
  .curso-card{padding:2.2rem 1.8rem 5rem}
  .curso-btn{font-size:1rem}
  .curso-icon{font-size:3.2rem;bottom:1.8rem;right:1.8rem}
}
@media (max-width: 1024px){
  .cvsp-seccion-grid{ grid-template-columns: repeat(3, minmax(180px, 1fr)); }
}
@media (max-width: 780px){
  .cvsp-seccion-grid{ grid-template-columns: repeat(2, minmax(180px, 1fr)); }
}
@media (max-width: 640px) {
  .cvsp-seccion-grid-2-cardlink { flex-direction: column; text-align: center; }
  .cvsp-seccion-grid-2-linktext { margin-top: 12px; }
}
@media (max-width:720px){
  .cvsp-webinars-card{ flex-direction: column; text-align: center; gap: 20px; }
  .cvsp-webinars-content{ flex:unset; }
  .cvsp-webinars-icon{ flex:unset; }
  .cvsp-webinars-icon { display:none; }
}
@media (max-width: 1024px){
  .cvsp-media-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .cvsp-media-grid{ grid-template-columns: 1fr; }
}
@media (max-width:780px){
  .cvsp-seccion-boletin-app-grid{ grid-template-columns:1fr; }
  .cvsp-seccion-boletin-app-card-body{ flex-direction:column; text-align:center; }
  .cvsp-seccion-boletin-app-illustration{ margin-top:16px; }
  .cvsp-seccion-boletin-app-store{ justify-content:center; }
}
@media (max-width:1200px) { .courses-style .view-content { grid-template-columns:repeat(3,minmax(220px,1fr)); } }
@media (max-width:900px) { .courses-style .view-content { grid-template-columns:repeat(2,minmax(220px,1fr)); } }
@media (max-width:560px) { .courses-style .view-content { grid-template-columns:1fr; } }

/* Tablets pequeñas (opcional): transición suave entre desktop y móvil */
@media (min-width: 577px) and (max-width: 820px){
  .cvsp-bloque-banner-principal{ aspect-ratio: 2.2 / 1; }
  .cvsp-bloque-banner-principal img{ height: 100%; object-fit: cover; }
  .cvsp-bloque-banner-principal .banner-overlay{ padding: 12px 16px calc(24px + env(safe-area-inset-bottom)); }
  .cvsp-bloque-banner-principal .banner-title{ font-size: clamp(1.05rem, 3.6vw, 1.35rem); padding: .7rem 1.2rem; }
  .cvsp-bloque-banner-principal .banner-btn{ font-size: clamp(.95rem, 2.8vw, 1.1rem); padding: .75rem 1.3rem; }
}

/* ===== Banner principal en móvil (texto aún más grande) ===== */
@media (max-width: 576px){
  .cvsp-bloque-banner-principal{ aspect-ratio: 16 / 9; }
  .cvsp-bloque-banner-principal img{ width: 100%; height: 100%; object-fit: cover; object-position: center; }
  .cvsp-bloque-banner-principal .banner-overlay{ justify-content: flex-end; gap: .9rem; padding: 14px 16px calc(28px + env(safe-area-inset-bottom)); }
  .cvsp-bloque-banner-principal .banner-title{ padding: .8rem 1.2rem; font-size: clamp(1.35rem, 7vw, 1.6rem); line-height: 1.28; border-radius: 6px; max-width: min(92vw, 680px); }
  .cvsp-bloque-banner-principal .banner-btn{ padding: .85rem 1.4rem; font-size: clamp(1.05rem, 5vw, 1.3rem); font-weight: 700; box-shadow: 0 3px 10px rgba(0,0,0,.15); }
  .cvsp-bloque-banner-principal .banner-credit{ right: 8px; bottom: 8px; font-size: .78rem; background: rgba(0,0,0,.35); padding: .32rem .6rem; border-radius: 4px; }
  .cvsp-bloque-descripcion { margin: 20px !important; width: auto !important; font-size: 120% !important; }
}

/* Pié de página (Footer) */
@media (max-width:1024px) { .site-footer .site-footer__top { grid-template-columns:repeat(2, 1fr); gap:32px; padding:20px; } }
@media (max-width:600px) { .site-footer { font-size:16px; } .site-footer .site-footer__top, .region-footer-fifth { grid-template-columns:1fr; gap:24px; padding:20px; } }

/* Idiomas izquierda */
@media (max-width: 768px) {
  #navbar-top .form-inline.navbar-form.ms-auto { margin-left: 0 !important; margin-right: auto !important; }
  #block-bootstrap-barrio-subtheme-alternadordeidioma,
  #block-bootstrap-barrio-subtheme-alternadordeidioma .content { text-align: left !important; }
  #block-bootstrap-barrio-subtheme-alternadordeidioma .links.nav { display: flex !important; justify-content: flex-start !important; flex-wrap: wrap; gap: 8px; margin: 0 !important; }
}