/* CSS con los estilos del Theme */

/***********************************************************/
/******************* CUN: Base en azules *******************/
/***********************************************************/
/* INI - Cookies */
.dark.cc_dialog button.cc_b_ok,
.dark.cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .cc_cp_container .cc_cp_footer .cc_cp_f_acceptAll button {
	background-color: #f68d59 !important;
        font-weight: bold;
}
.dark.cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .cc_cp_container .cc_cp_footer .cc_cp_f_save button {
	background-color: #eaeaea !important;
}
/* FIN - Cookies */

/* INI - General */
a, /*enlaces*/
a:hover /*hover de los enlaces*/,
.sede-info .sede-contact a /*enlace de la sede en la modal o en el menu de contacto del móvil*/,
header .header_menu nav .menu-top-mobile .menu-top .nav-item.contact-menu.dropdown.show .dropdown-menu a:not(.btn),
section.breadcrumbs .breadcrumbs li, /*migas de pan*/
.section-news .contenido-relacionado .tit-relacionaldo, /*titulo de contenido relacionado de las noticias*/
.chosen-container .chosen-results li.highlighted /* selector del buscador*/ {
	color: #4A6AA2;
}

.bg-primary, /* color de fondo corporativo */
.bg-secondary, /* colo corporativo 2*/
.header_menu.header_menu_in_page nav, /* Menu in page */
.header_menu.header_menu_in_page nav .navbar-collapse.collapse, /* Menu in page Mobile*/
.unidades-especializadas .header .icon, /* color de fondo para el icono de la especialidad */
.ui-widget-content .ui-state-active,  /* background de la fecha seleccionada en el calendario del datepicker */
.ui-widget-header .ui-state-active, 
.simple-pagination ul li.active span, /*paginacion*/
.simple-pagination ul li:not(.disabled) a:hover,
a.ui-button:active, .ui-button:active, 
.ui-button.ui-state-active:hover,
.datepicker .ui-datepicker-inline.ui-widget-content .dia-evento .ui-state-default {
	background-color: #1B2748 !important;	
}

.bg-primary .datepicker .ui-datepicker-inline.ui-widget-content .dia-evento .ui-state-default,
.bg-primary .datepicker .ui-datepicker-inline.ui-widget-content .ui-state-active {
	background-color: #ffffff !important;
}

.text-primary, /* color corporativo */
a.text-primary:focus, 
a.text-primary:hover,
.cc_css_reboot a,
.cc_css_reboot a:hover,
.unidades-especializadas .header h2, /*titular de las especialidades*/
section.category-carousel-filter .text-carousel.owl-carousel .owl-nav button:not(.disabled), /* carrusel categoria flechas */
section.category-carousel-filter .carousel-category a[class*="carousel-control-"]:not(.disabled),
.unidades-especializadas .body ul li, /*listado de las especialidades*/
.ficha-personal .detalle-cita .sede .tit, /*titulo de la sede de la ficha*/
.textImageComponent .blue, /*color para el texto del componente de texto e imagen*/ 
form.generic-form:not([class*="text-"]) .date-input i:not(.custom-color), /* icono de calendario en el formulario */
.ui-state-default, /*color del texto del calendario del datepicker */
.bg-primary .datepicker .ui-datepicker-inline.ui-widget-content .ui-state-active.ui-state-highlight,
.bg-primary .datepicker .ui-datepicker-inline.ui-widget-content .ui-state-active,
.bg-primary .datepicker .ui-datepicker-inline.ui-widget-content .dia-evento .ui-state-default,
.ui-widget-content .ui-state-default, 
.ui-widget-header .ui-state-default, 
.ui-button, 
html .ui-button.ui-state-disabled:hover, 
html .ui-button.ui-state-disabled:active,
.block-summary, /* Resumen de los formularios */
.ui-widget-header /*color del título del calendario del datepicker*/ {
	color: #1B2748 !important;	
}

.border-primary {
    border-color: #1B2748!important;
}

.bg-dark {
	background-color: #2e2e2e !important;
	color: #ffffff;
}

.text-dark {
    color: #2e2e2e!important;
}

.bg-success {
	background-color: #7ED321 !important;
}

.text-success {
    color: #7ED321!important;
}

.border-success {
    border-color: #7ED321!important;
}

.bg-danger {
	background-color: #E04D04 !important;
	color: #ffffff;
}

.text-danger {
    color: #E04D04!important;
}

.border-danger {
    border-color: #E04D04!important;
}

.bg-warning {
    background-color: #ffc107!important;
}

.text-warning {
    color: #ffc107!important;
}

.border-warning {
    border-color: #ffc107!important;
}

.bg-info {
	background-color: #178AC3 !important;
	color: #ffffff;
}

.text-info {
    color: #178AC3!important;
}

.border-info {
    border-color: #178AC3!important;
}

.bg-light {
	background-color: #E5E5E5!important;
	color: #2e2e2e;
}

.text-light {
    color: #E5E5E5!important;
}

.border-light {
    border-color: #E5E5E5!important;
}
/* FIN - General */


/* INI - Cabecera */
body.index.editMode header:not(.sticky) .header-top, /* cabecera en modo edición de magnolia */
header .header-top /*la franja superior de la cabecera*/,
header.sticky .header_menu, /*seccion del menu al estar en modo sticky*/
.sticky-wrapper.is-sticky .header .header_menu,
body.international header.sticky .header-top .header_top,
body.international .sticky-wrapper.is-sticky header .header-top .header_top,
body.index header .header-top.sticky,
.sticky-wrapper-menu-page.sticky .section-page-menu .section-page-menu-top, /*menu in page sticky*/
body.editMode .section-page-menu .section-page-menu-top,
.apartadosBuscador ul li.item-filtro a:hover, /*Filtro del buscador*/
.apartadosBuscador ul li.item-filtro.active a,
.destacado.bg-primary .ficha-personal.ficha-small /*ficha del médico cuando este encima de un destacado con color primary*/ {
	background-color: #141D38;
}

body.international header .header-top .header_top,
header .header_menu, /*seccion del menu*/
.sticky-wrapper-menu-page.sticky .section-page-menu .navbar, /*menu in page sticky*/
body.index header.sticky .header-top.sticky, /*la parte superior de la cabecera al estar en modo sticky*/
body.page header.sticky .header-top,
body.page .sticky-wrapper.is-sticky .header .header-top {
	background-color: #1B2748;
}

/* Menu Top */
.simple-pagination ul li:not(.disabled) a.page-link.prev, /*pagination*/
.simple-pagination ul li:not(.disabled) a.page-link.next, /*pagination*/
header .header-top .header_top .dropdown-toggle::after,
header .header-top .header_menu .dropdown-toggle::after {
	color: #1B2748;
}

header .header-top .header_top ul li.dropdown.show,
header .header-top .header_top .dropdown-menu,
header .header_menu ul li.dropdown.show,
header .header_menu .dropdown-menu,
header .header-top .header_top .dropdown-menu a:hover,
header .header_menu .dropdown-menu a:hover {
	background-color: #0E1526;
}

/*Menu principipal*/
.header_menu.header_menu_in_page .tablet-arrow,
.section-page-menu .tablet-arrow,
header .header_menu .tablet-arrow {
	background: #1B2748; /* fallback for old browsers */
}

.header_menu.header_menu_in_page .tablet-arrow-left,
.section-page-menu .tablet-arrow-left:not([class*="bg-"]):not([style*=background-color]),
header .header_menu .tablet-arrow-left {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#1B2748+0,006292+100&amp;1+0,1+62,0.7+94,0+100 */
	background: -moz-linear-gradient(left, rgba(27,39,72,1) 0%, rgba(27,39,72,1) 50%, rgba(27,39,72,0.7) 75%, rgba(27,39,72,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(27,39,72,1) 0%,rgba(27,39,72,1) 50%,rgba(27,39,72,0.7) 75%,rgba(27,39,72,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(27,39,72,1) 0%,rgba(27,39,72,1) 50%,rgba(27,39,72,0.7) 75%,rgba(27,39,72,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1B2748', endColorstr='#000E1526',GradientType=1 ); /* IE6-9 */
}

.header_menu.header_menu_in_page .tablet-arrow-right,
.section-page-menu .tablet-arrow-right:not([class*="bg-"]):not([style*=background-color]),
header .header_menu .tablet-arrow-right {
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#1B2748+0,006292+100&amp;0+0,0.7+25,1+50,1+100 */
	background: -moz-linear-gradient(left, rgba(27,39,72,0) 0%, rgba(27,39,72,0.7) 25%, rgba(27,39,72,1) 50%, rgba(27,39,72,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(27,39,72,0) 0%,rgba(27,39,72,0.7) 25%,rgba(27,39,72,1) 50%,rgba(27,39,72,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(27,39,72,0) 0%,rgba(27,39,72,0.7) 25%,rgba(27,39,72,1) 50%,rgba(27,39,72,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000E1526', endColorstr='#1B2748',GradientType=1 ); /* IE6-9 */
}

body:not(.navbar-showing):not(.sub-navbar-showing) .header_menu nav.navbar .navbar-nav .nav-item:hover .nav-link:after,
body:not(.navbar-showing):not(.sub-navbar-showing):not(.sub-section-menu-navbar-showing) .section-page-menu .navbar .ul-menu-page .nav-item.submenu:hover .nav-link:after,
.header_menu.header_menu_in_page nav.navbar .navbar-nav > .nav-item.active, /* Menu in Page */
.ficha-personal .ficha-info  .datos .sede.madrid, /*Sede Madrid en ficha profesional*/
.destacado-sede.sede.madrid /*Sede Madrid destacado en listados*/ {
    background: #4A6AA2;
}

.ficha-personal .ficha-info  .datos .sede.pamplona, /*Sede Pamplona en ficha profesional*/
.destacado-sede.sede.pamplona /*Sede Pamplona destacado en listados*/ {
	background-color: #FF9500
}


/*body:not(.sub-section-menu-navbar-showing) .section-page-menu .navbar .ul-menu-page > li > ul.subnavcontainer > li a,*/
.header_menu nav.navbar .navbar-nav .subnavcontainer li a {
	border-bottom: 1px solid #EAEEF7;
	color: #4A6AA2;
}

.header_menu nav.navbar .navbar-nav .subnavcontainer li.active > a,
.header_menu nav.navbar .navbar-nav .subnavcontainer li:hover > a {
	border-bottom: 1px solid #1B2748;
}

.header_menu nav.navbar .navbar-nav .subnavcontainer li a:hover {
	text-decoration: none;
}
/* FIN - Cabecera */

/* INI - Migas de Pan */
section.breadcrumbs .breadcrumbs, /*migas de pan*/
section.section .row.rowTitle.border-bottom, /*titulo de la seccion con borde*/
.accordion > .card, /* borde por defecto para el componente de acordeón */
.accordion>.card:first-of-type,
.accordion>.card:not(:first-of-type):not(:last-of-type),
.border-left, /* border izquierda */
.table td, /* Tablas: borders */
.table thead th,
.table th, 
.table-bordered,
.hero.no-bg:not(.full-height) > .container > .row, /*componente hero sin imagen de fondo*/
.ficha-personal .detalle-cita, /*borde de la ficha*/
.list-publicaciones ul li, /*listado de publicaciones de profesionales por ejemplo*/
.header-evento .calendario-evento .calendario-evento-fechas .fechas.fecha-fin .dia strong /* border separación fechas de eventos */ {
	border-color: rgba(0, 98, 146, 0.2);
}
/* FIN - Migas de Pan */

/* INI - Botones */
.simple-pagination ul li:not(.disabled) a.page-link.prev:hover, /*pagination*/
.simple-pagination ul li:not(.disabled) a.page-link.next:hover, /*pagination*/
a.btn.btn-default,
button.btn.btn-default {
    color: #fff;
	background-color: #1B2748 !important;
	border-color: #1B2748;
}

a.btn.btn-default:hover,
button.btn.btn-default:hover {
    color: #fff;
	background-color: #141D38 !important;
	border-color: #141D38;
}

a.btn.btn.btn-info,
button.btn.btn.btn-info {
	background-color: #DCD9DD;
	border-color: #DCD9DD;
}

a.btn.btn.btn-info:hover,
button.btn.btn.btn-info:hover {
	background-color: #2E2E2E;
	border-color: #2E2E2E;
}

a.btn.btn.btn-link,
button.btn.btn.btn-link,
a.btn.btn.btn-link:hover,
button.btn.btn.btn-link:hover {
	color: #4A6AA2;
}

a.btn.btn-white,
button.btn.btn-white {
	background-color: #ffffff;
	border-color: #ffffff;
}

a.btn.btn-primary,
button.btn.btn-primary {
	background-color: #1B2748;
	border-color: #1B2748;
}

.btn-primary:not(:disabled):not(.disabled).active, 
.btn-primary:not(:disabled):not(.disabled):active,
a.btn.btn-primary:hover,
button.btn.btn-primary:hover {
	background-color: #141D38;
	border-color: #141D38;
}

a.btn.btn.btn-danger,
button.btn.btn.btn-danger {
	background-color: #E04D04;
	border-color: #E04D04;
}

a.btn.btn.btn-danger:hover,
button.btn.btn.btn-danger:hover {
	background-color: #D41F08;
	border-color: #D41F08;
}

a.btn.btn.btn-warning,
button.btn.btn.btn-warning {
	background-color: #F68D59;
	border-color: #F68D59;
	color: #ffffff;
}

a.btn.btn.btn-warning:hover,
button.btn.btn.btn-warning:hover {
	background-color: #FF5400;
	border-color: #FF5400;
	color: #ffffff;
}

a.btn.btn.btn-success,
button.btn.btn.btn-success {
	background-color: #7ED321;
	border-color: #7ED321;
}

a.btn.btn.btn-success:hover,
button.btn.btn.btn-success:hover {
	background-color: #64a21f;
	border-color: #64a21f;
}
/* FIN - Botones */

/* INI - Modal */
.modal-open .modal:not(.modal-light),
.overlay-page {
	background-color: rgba(10, 63, 89, 0.9);
}

.cta-mobile, /*CTA Mobile Footer*/
.modal.headerModal .modal-header p,
.modal.headerModal .modal-body {
	background-color: #0E1526;
	color: #ffffff;
}

.modal .modal-header .close {
    color: #fff;
	background-color: #1B2748;
	border-color: #1B2748;	
}

.modal .modal-header .close:hover {
    color: #fff;
	background-color: #141D38;
	border-color: #141D38;
}
/* FIN - Modal */

/* INI - Sedes */
.sede-destacado.right {
	border-left: 1px solid #1B2748;	
}
/* FIN - Sedes */

/* INI - Tabs */
.nav-tabs,
.responsive-tab.tabs-left > .nav-tabs .nav-item .nav-link, /*Pestañas*/
.responsive-tab.tabs-right > .nav-tabs .nav-item .nav-link,
.responsive-tab .tab-content .r-tabs-accordion-title,
.responsive-tab:not(.tabs-left):not(.tabs-right) ul.nav > li.nav-item, 
.responsive-tab.not-active .tab-content .tab-pane,
section.category-carousel-filter .carousel-category .carousel-inner .carousel-item .categoria a, /*carrusel categorias*/
form:not(.form-custom-border) .form-control:focus, /*borde para los input de los formularios*/
form:not(.form-custom-border) input:focus, 
form:not(.form-custom-border) textarea:focus,
form:not(.form-custom-border) select:focus,
.custom-file-input:focus~.custom-file-label,
form:not(.form-custom-border) .chosen-container .chosen-drop,
form:not(.form-custom-border) .chosen-container-active.chosen-container-multi .chosen-choices,
form:not(.form-custom-border) .chosen-container-active.chosen-with-drop .chosen-single,
.form-filter select:focus, /*borde para los input de los formularios*/
.pagenavi-letters, /*borde para la paginacion alfabética*/
hr /* color de las lineas de separación */	{
	border-color: #EAEEF7 !important;
}

section.category-carousel-filter .carousel-category .carousel-inner .carousel-item .categoria a.active, /*carrusel categorias*/
section.category-carousel-filter .carousel-category .carousel-inner .carousel-item .categoria a:hover,
.responsive-tab.tabs-left > .nav-tabs .nav-link:hover, /*pestañas*/
.responsive-tab.tabs-left > .nav-tabs .nav-link.active,
.responsive-tab.tabs-right > .nav-tabs .nav-link:hover,
.responsive-tab.tabs-right > .nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link, 
.responsive-tab .tab-content .r-tabs-accordion-title.r-tabs-state-active {
	border-color: #1B2748 !important;
}
/* FIN - Tabs */

.section-page-menu button.section-menu-subnavbar-toggler .text-page .text-current-menu-page, /*menu in page*/
.bg-primary .datepicker .ui-datepicker-inline.ui-widget-content .ui-state-highlight, /* today del calendario */
.ensayos-list .ensayos .title .code, /*Code del ensayo*/ 
.page-content .textImageComponent ul li::before, /*Bullet del li del componente titule/texto/img*/
.list.no-order li::before,
.bg-primary a:not(.btn):not(.text-primary), /*links con fondo corporativo*/
.bg-primary a.btn.btn.btn-link, /*botones de tipo enlace en fondo corporativo*/
.bg-primary a.btn.btn.btn-link:hover, 
.bg-primary a:not(.btn):not(.text-primary):hover /*hover de los links con fondo corporativo*/ {
	color: #4A6AA2 !important;
}

/* INI - Formularios */
.switch-field .slider:before, 
.form-wrapper form.generic-form .checkbox-container input:checked ~ .checkmark,
.formulario-steps.progress li.actual,
.progress li.actual .step::before {
	background-color: #1B2748;
}

.form-wrapper form.generic-form .errorMessage.alert,
ul.ui-autocomplete li a.link {
	color: #1B2748;
}

.form-control:disabled, 
.form-control[readonly],
form input:disabled,
.chosen-container.chosen-disabled,
.chosen-container.chosen-disabled a,
.form-wrapper form.generic-form .checkbox-container input:disabled ~ .checkmark {
    background-color: #e9ecef;
}

.block-summary {
	background-color: #E3F5FF;	
}
/* FIN - Formularios */

/* INI - Cuestionario */
.cuestionario .section-form-progress  .formulario-steps.progress ul li,
.cuestionario .section-form-progress  .formulario-steps.progress ul li .step::before {
	background-color: #EAEEF7;
}

.cuestionario .section-form-progress  .formulario-steps.progress ul li.actual,
.cuestionario .section-form-progress  .formulario-steps.progress ul li.actual .step::before {
	background-color: #1B2748;
}
/* FIN - Cuestionario */

/* 	Estilos Responsive.
	Los cortes que se tienen en cuenta son:
		- <1200
		- <992
		- <768
		- <576
*/

@media (min-width: 768px) {
	/* INI - Menu */
	body.international.index header.sticky .header-top,
	body.international.page header.sticky .header-top {
		background-color: #1B2748;
	}	
	/* INI - Menu */
}

/* INI - <1200px */
@media (max-width:1199.98px) {
	/* FIN - Cabecera */
}
/* FIN - >1200px */


/* INI - <992px */
@media (max-width:991.98px) {
}
/* FIN - >1200px */


/* INI - <768 */
@media (max-width:767.98px) {
	/* INI - Cabecera */
	/*Menu center*/
	header .header-top,
	body.index header:not(.sticky) .header-top,
	.carrusel-menu.owl-carousel,
	.sede-destacado /*sedes*/ {
		background-color: #1B2748;
	}	
	
	/*Buscador*/
	header .header-top .header_center .search .searchFormMenu .btn,
	.header_menu nav.navbar .navbar-nav .nav-item .nav-link i,
	.section-page-menu .navbar .ul-menu-page .nav-item .nav-link i,
	.sede-info h5,
	body.sub-navbar-showing .header_menu_in_page nav.navbar .navbar-nav .nav-item.active a i,
	header .header_menu nav .menu-top-mobile .menu-secondary .nav-item a i,
	header .header_menu nav .menu-top-mobile .menu-top .nav-item.contact-menu.dropdown.show > a /* al mostrar el menu en mobile de contacto */ { 	
		color: #1B2748;
 	}
 	
	/*Menu principipal*/
	header .header_menu nav .navbar-collapse.collapse,
	.section-page-menu:not([class*="bg-"]) .navbar,
	.section-page-menu:not([style*="background-color:"]) .navbar,
	.sticky-wrapper-menu-page.sticky .section-page-menu:not([class*="bg-"]) .navbar,
	.sticky-wrapper-menu-page.sticky .section-page-menu:not([style*="background-color:"]) .navbar {
		background-color: #141D38 !important;
	}
	
	.header_menu .navbar .menu-top-mobile {
		border-bottom: 1px solid #246381;
	}
	
	header .header_menu nav .menu-top-mobile .menu-top .nav-item {
		border-left: 1px solid #246381;
	}
	
	.header_menu nav.navbar .navbar-nav .nav-item .nav-link {
		color: #AAD9F0;
		border-bottom: 1px solid #246381;
	}
	
	.header_menu nav.navbar .navbar-nav .nav-item .subnavcontainer .nav-item a {
		color: #619BB7;
	}
	/* FIN - Cabecera */	

	/* INI - Menu */
	.page-content .section-page-menu .navbar .ul-menu-page > li.active > a,
	.page-content .sticky-wrapper-menu-page .section-page-menu:not([class*="text-"]) .navbar .ul-menu-page > li.active > a,
	.page-content .sticky-wrapper-menu-page.sticky .section-page-menu:not([class*="text-"]) .navbar .ul-menu-page > li.active > a:hover,
	.header_menu.header_menu_in_page nav.navbar #menu-page-content.navbar-nav .principal.nav-item.active > a {
		color: #4A6AA2 !important;
	}
	/* FIN - Menu */

	/* INI - Modales */
	.modal.headerModal .modal-header {
		background-color: #0E1526;
	}	
	/* FIN - Modales */
}
/* FIN - >1200px */


/* INI - <576 */
@media (max-width:575.98px) {

}
/* FIN - >1200px */


/* ============================================================
   CUN — Fondo de página · blanco en todas las páginas (Dev Guide v4.1:
   "el blanco es la base de página")
   ============================================================ */
html, body {
	background-color: #ffffff !important;
}

/* ============================================================
   CUN — Design System v4.1 · Componentes, Motion y Spacing
   Añadido para integrar Botones, Tarjetas, Motion completo y
   fundamentos de espaciado (grid, radios, sombras) del nuevo
   sistema de diseño índigo en el sitio existente.
   ============================================================ */

:root {
  --ds-radius-card: 18px;
  --ds-radius-btn:  999px;
  --ds-radius-sm:   9px;
  --ds-radius-pill: 999px;
  --ds-shadow-card:        0 2px 10px rgba(27,39,72,0.05), 0 14px 30px rgba(27,39,72,0.05);
  --ds-shadow-card-hover:  0 4px 14px rgba(27,39,72,0.10), 0 18px 40px rgba(27,39,72,0.08);
  --ds-shadow-dropdown:    0 12px 32px rgba(27,39,72,0.18);
  --ds-container-max: 1480px;
  --ds-gutter: 30px;
  --ds-container-pad: 15px;
  --ds-motion-fast:   120ms;
  --ds-motion-base:   180ms;
  --ds-motion-slow:   320ms;
  --ds-motion-slower: 480ms;
  --ds-dur-fast:     150ms;
  --ds-dur:          180ms;
  --ds-dur-reveal:   0.7s;
  --ds-dur-textin:   0.9s;
  --ds-dur-kenburns: 22s;
  --ds-ease-out:    cubic-bezier(.22,.61,.36,1);
  --ds-ease-in:     cubic-bezier(.4,0,1,1);
  --ds-ease-in-out: cubic-bezier(.4,0,.2,1);
  --ds-hover-lift: scale(1.03);
}

/* ---------- INI - Spacing: grid ---------- */
.container { max-width: var(--ds-container-max) !important; }
/* gutter 30px (15px/lado) y padding de container 15px ya vienen de Bootstrap 4 y coinciden con el sistema. */
/* FIN - Spacing: grid ---------- */

/* ---------- INI - Spacing: radios ---------- */
.radius-card { border-radius: var(--ds-radius-card) !important; }
.radius-btn, .radius-pill { border-radius: var(--ds-radius-pill) !important; }
.radius-sm { border-radius: var(--ds-radius-sm) !important; }
/* FIN - Spacing: radios ---------- */

/* ---------- INI - Spacing: sombras ---------- */
.shadow-card { box-shadow: var(--ds-shadow-card) !important; }
.shadow-card-hover:hover { box-shadow: var(--ds-shadow-card-hover) !important; }
.shadow-dropdown { box-shadow: var(--ds-shadow-dropdown) !important; }
/* FIN - Spacing: sombras ---------- */

/* ---------- INI - Componente: Botones (radio píldora, motion) ---------- */
.btn {
  border-radius: var(--ds-radius-pill) !important;
  transition: background-color var(--ds-dur) var(--ds-ease-out), color var(--ds-dur) var(--ds-ease-out), border-color var(--ds-dur) var(--ds-ease-out), transform var(--ds-dur) var(--ds-ease-out);
}
.btn:active { transform: scale(.98); }
/* FIN - Componente: Botones ---------- */

/* ---------- INI - Componente: Tarjetas ---------- */
.cun-card {
  background: #ffffff;
  border: 1px solid #EAEEF7;
  border-radius: var(--ds-radius-card);
  padding: 22px;
  box-shadow: var(--ds-shadow-card);
  transition: box-shadow var(--ds-dur) var(--ds-ease-out), transform var(--ds-dur) var(--ds-ease-out);
}
.cun-card:hover { box-shadow: var(--ds-shadow-card-hover); transform: translateY(-3px); }
.cun-card .eb { font-size: 11px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: #4A6AA2; }
.cun-card .link { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; font-size: 14px; color: #1B2748; }

.cun-card-photo {
  position: relative;
  border-radius: var(--ds-radius-card);
  overflow: hidden;
  background: linear-gradient(135deg, #4A6AA2, #1B2748);
}
.cun-card-photo .grad { position: absolute; inset: 0; background: linear-gradient(to top, rgba(27,39,72,.85) 0%, rgba(27,39,72,.25) 55%, transparent 100%); }
.cun-card-photo .seal { position: absolute; top: 14px; left: 14px; display: inline-flex; align-items: center; gap: 6px; background: rgba(226,122,95,.16); color: #FBEDE7; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 5px 11px; border-radius: 999px; }
.cun-card-photo .txt { position: absolute; left: 18px; bottom: 16px; right: 18px; color: #fff; }
.cun-card-photo .eb { color: #B9C6E0; }
.cun-card-photo h3 { color: #fff; margin: 4px 0 0; font-weight: 400; font-size: 24px; }
/* FIN - Componente: Tarjetas ---------- */

/* ---------- INI - Motion: características completas (doc v4.2) ---------- */
:focus-visible { outline: 2px solid #1B2748; outline-offset: 2px; }
.bg-dark :focus-visible, .on-dark:focus-visible { outline-color: #fff; }

@media (hover: hover) and (pointer: fine) {
  .hover-lift { transition: transform var(--ds-motion-slow) var(--ds-ease-out), box-shadow var(--ds-motion-slow) var(--ds-ease-out); }
  .hover-lift:hover { transform: var(--ds-hover-lift); }
}
.press:active { transform: scale(.98); }

@keyframes cun-kenburns { from { transform: scale(1); } to { transform: scale(1.06); } }
.ambient-kenburns { animation: cun-kenburns 22s var(--ds-ease-in-out) infinite alternate; }

@keyframes cun-reveal { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.reveal { animation: cun-reveal var(--ds-motion-slower) var(--ds-ease-out) both; }

@keyframes cun-hero-kenburns { from { transform: scale(1.14) translateY(0); } to { transform: scale(1.05) translateY(-1.2%); } }
.mo-kenburns { transform-origin: 58% 40%; animation: cun-hero-kenburns var(--ds-dur-kenburns) var(--ds-ease-out) forwards; }

@keyframes cun-textin { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
.mo-textin { animation: cun-textin var(--ds-dur-textin) var(--ds-ease-out) .15s both; }

.mo-reveal { opacity: 0; transform: translateY(20px); transition: opacity var(--ds-dur-reveal) var(--ds-ease-out), transform var(--ds-dur-reveal) var(--ds-ease-out); }
.mo-reveal.is-visible { opacity: 1; transform: none; }

.mo-reveal-clip { clip-path: inset(0 0 100% 0); transform: scale(1.06); transition: clip-path var(--ds-dur-textin) var(--ds-ease-out), transform var(--ds-dur-textin) var(--ds-ease-out); }
.mo-reveal-clip.is-visible { clip-path: inset(0); transform: scale(1); }

[data-mo-mask] { overflow: hidden; display: block; padding: .1em 0; margin: -.1em 0; }
[data-mo-mask] > span { display: block; transform: translateY(105%); transition: transform var(--ds-dur-textin) var(--ds-ease-out); }
[data-mo-mask].is-visible > span { transform: none; }
[data-mo-mask][data-mo-mask="eyebrow"] { padding: .14em 0; margin: -.14em 0; }
[data-mo-mask][data-mo-mask="eyebrow"] > span { transform: translateY(115%); transition-duration: .6s; }

.mo-arrow { display: inline-block; transition: transform var(--ds-dur-fast) var(--ds-ease-out); }
a:hover .mo-arrow, a:focus-visible .mo-arrow, button:hover .mo-arrow, button:focus-visible .mo-arrow { transform: translateX(3px); }
@keyframes cun-scroll-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(5px); } }
.mo-scroll-arrow { animation: cun-scroll-bob 1.8s cubic-bezier(.5,0,.5,1) infinite; }

.mo-news-card { transition: transform var(--ds-dur) var(--ds-ease-out), box-shadow var(--ds-dur) var(--ds-ease-out); box-shadow: 0 2px 10px rgba(27,39,72,.06), 0 12px 30px rgba(27,39,72,.06); }
.mo-news-card:hover { transform: translateY(-3px); box-shadow: 0 6px 16px rgba(27,39,72,.10), 0 18px 42px rgba(27,39,72,.10); }
.mo-card-arrow { border-radius: 999px; border: 1.5px solid #E27A5F; color: #E27A5F; transition: background var(--ds-dur) var(--ds-ease-out), color var(--ds-dur) var(--ds-ease-out); }
.mo-card-photo:hover .mo-card-arrow, .mo-news-card:hover .mo-card-arrow { background: #E27A5F; color: #fff; }
.mo-card-photo img { transition: transform var(--ds-dur) var(--ds-ease-out); }
.mo-card-photo:hover img { transform: scale(1.03); }

.mo-btn-primary { background: #1B2748; color: #fff; transition: background var(--ds-dur) var(--ds-ease-out); }
.mo-btn-primary:hover { background: #141D38; }
.mo-btn-primary:active { background: #0E1526; }
.mo-btn-secondary { background: transparent; color: #4A6AA2; border: 1.5px solid #4A6AA2; transition: background var(--ds-dur) var(--ds-ease-out), color var(--ds-dur) var(--ds-ease-out); }
.mo-btn-secondary:hover { background: #4A6AA2; color: #fff; }

[data-count] { font-variant-numeric: tabular-nums; }

@keyframes cun-megamenu-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.mo-megamenu { opacity: 0; pointer-events: none; backdrop-filter: blur(18px) saturate(160%); background: rgba(255,255,255,.82); box-shadow: 0 12px 32px rgba(27,39,72,.18); }
.mo-megamenu.is-open { opacity: 1; pointer-events: auto; animation: cun-megamenu-in var(--ds-dur-reveal) var(--ds-ease-out); }
html.is-scrolling .mo-megamenu { backdrop-filter: blur(8px) saturate(1.4); }

@media (prefers-reduced-motion: reduce) {
  .mo-kenburns, .mo-textin, .mo-scroll-arrow, .mo-megamenu.is-open { animation: none !important; }
  .mo-reveal, .mo-reveal-clip, [data-mo-mask] > span { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
  .ambient-kenburns, .reveal { animation: none !important; }
  .hover-lift:hover { transform: none !important; }
}
/* FIN - Motion: características completas ---------- */
