@charset "utf-8";
@import url("fontawesome-4.6.3.min.css");
@import url("custom.flexslider.css");
@import url("framework.css");
@import url('https://fonts.googleapis.com/css?family=Muli:300,700|Nunito');


   

/* Rows
--------------------------------------------------------------------------------------------------------------- */
.row0, .row0 a{}
.row1, .row1 a{}
.row2{border-bottom:1px solid;}
.row3, .row3 a{}
.row4, .row4 a{}
.row5{border-top:1px solid;}

.titulomedio { color: #333; font-size: 21px; font-family: "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, "sans-serif";}

#alerta { width: 96%; height: auto; background-color:#67F59A; border-color:#67F59A; border-width: medium; border-radius: 25px;  margin-top: 55px; padding: 20px;}

#alertanew { width: 96%; height: auto; background-color:#EAF6F9; border-color:#EAF6F9; border-width: medium; border-radius: 25px;  margin-top: 55px; padding: 20px; color: #0B3C49; }

.fechapublicacion { font-size: 9px!important;}

/* Header
--------------------------------------------------------------------------------------------------------------- */
#header{padding:20px 0;}

#header #logo *{margin:0; padding:0; line-height:1;}
#header #logo h1{margin-top:8px; font-size:26px; letter-spacing:3px;}

#header #quickinfo{ padding: 15px 30px 0 0; font-size:14px;  color: #fff; }
#header #quickinfo li{margin-right:50px;}
#header #quickinfo li:last-child{margin-right:0;}
#header #quickinfo strong{display:block; margin:0 0 -5px 0; padding:0; font-size:.9rem;}
#header #quickinfo br{display:none;}

.textoresaltadoblanco  { font-size: 18px; font-weight: bold; line-height: 12px; font-family: 'Muli', sans-serif;}
.textochicoblanco  { font-size: 11px; line-height: 9px; }
.textochicohome  { font-size: 16px; line-height: 16px;   }
.linkblanco { font-size: 13px; line-height: 12px; color: #fff; }
.linkblanco:hover { color: #8572D5; }

.linkblanco2 { font-size: 13px; color: #fff; font-weight: bold; line-height: 5px!important; }
.linkblanco2:hover { color: #8572D5; }

.textonoticias { font-size: 16px; }
.textochico { font-size: 11px; line-height: 10px; text-justify: auto; }
.margenright { margin-right: 30px; padding-right: 30px;}


.etiquetatablablanco  { font-size: 18px; color: #fff;  font-weight: normal; margin-left: 25px; }
/*   esta no sé para donde la había creado
.etiquetatablablanco  { font-size: 18px; color: #fff; font-family: "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, "sans-serif"; font-weight: normal; margin-left: 25px; }*/

 .sectionachicomargen { padding-top: 40px!important; padding-bottom: 20px!important;width: 50%!important; float: right!important;}

/* Popup oculto por defecto */
.popup {
  display: none;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.78);
  justify-content: center;
  align-items: center;
  z-index: 99999;
  padding: 18px;
}

.popup-content {
  background: #fff;
  padding: 1em;
  border-radius: 10px;
  max-width: 90%;
  max-height: 85%;
  position: relative;
}

.popup-content--imagen {
  padding: 0;
  background: transparent;
  border-radius: 0;
  max-width: 920px;
  width: 100%;
  max-height: 90vh;
}

.popup-img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 90vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 18px 45px rgba(0,0,0,.35);
}

.closeBtn {
  position: absolute;
  top: -18px;
  right: -18px;
  width: 42px;
  height: 42px;
  line-height: 38px;
  cursor: pointer;
  background: #fff;
  color: #111;
  font-size: 34px;
  font-weight: bold;
  border: none;
  border-radius: 50%;
  z-index: 2;
  box-shadow: 0 8px 20px rgba(0,0,0,.25);
}

.closeBtn:hover {
  background: #6fc72a;
  color: #fff;
}

.muted { font-size: 12px; }

@media screen and (max-width:750px){
  .popup{ padding: 12px; }
  .popup-content--imagen{ max-width: 96vw; }
  .closeBtn{
    top: -14px;
    right: -10px;
    width: 38px;
    height: 38px;
    line-height: 34px;
    font-size: 30px;
  }
}
/* fin Popup */


/* Page Intro
--------------------------------------------------------------------------------------------------------------- */
#pageintro{
    padding-top: 120px;
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 120px;
}

#pageintro li{text-align:center;}
#pageintro li article{display:block; max-width:75%; margin:0 auto; padding-bottom:10px; overflow:hidden;}
#pageintro li article *{word-wrap:break-word;}
#pageintro li .heading{margin-bottom:20px; font-size:2.5rem;}
#pageintro li p:first-of-type{margin:0 0 20px 0; font-weight:700; font-size:1.2rem;}
#pageintro li p:last-of-type{max-width:70%; margin:0 auto;}
#pageintro li footer{margin-top:50px;}

.logoarriba { margin-top: -48px!important; margin-left: 55px!important;}

/* Split Box
--------------------------------------------------------------------------------------------------------------- */
.split{}

.split section{display:block; position:relative; float:right; width:50%; padding:100px 0 100px 50px;}
.split section::after{display:block; position:absolute; top:0; right:-1000%; bottom:0; left:100%; content:"";}
.split section footer{margin-top:30px;}


/* Content Area
--------------------------------------------------------------------------------------------------------------- */
.container{padding:50px 0 80px 0;}

/* Content */
.container .content{}

.sectiontitle{display:block; margin-bottom:30px;}
.sectiontitle *{margin:0;}

.etiqueta { color: #6fc72a; }
.underline{  width: 100%; border-bottom: dashed thin; height: 35px; color: #6fc72a; }

#titulonoticias  {
    background-color: #439006;
    color: #fff;
    height: 50px;
    padding: 10px;
    margin-top: -20px;
    margin-left: -20px;
    margin-right: -20px;
}

.imgagenredondeosuperior {
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}

.elements{}
.elements article{}
.elements article figure{display:block; position:relative;}
.elements article figure img{}
.elements article figure figcaption{position:absolute; top:0; left:10px; width:50px;}
.elements article figure figcaption *{display:block; margin:0; padding:0; text-align:center; font-style:normal; line-height:1;}
.elements article figure figcaption time{width:100%;}
.elements article figure figcaption time strong{padding:12px 0; font-size:18px;}
.elements article figure figcaption time em{padding:8px 0;}
.elements article .txtwrap{padding:20px; border-bottom:1px solid;}
.elements article .txtwrap .heading{margin:0; font-size:1.2rem;}
.elements article .txtwrap .meta{}
.elements article .txtwrap .meta li{display:inline-block; font-size:.8rem;}
.elements article .txtwrap .meta li::after{margin-left:5px; content:"/";}
.elements article .txtwrap .meta li:last-child::after{margin:0; content:"";}
.elements article .txtwrap p{}
.elements article .txtwrap footer{}

/* Comments */
#comments ul{margin:0 0 40px 0; padding:0; list-style:none;}
#comments li{margin:0 0 10px 0; padding:15px;}
#comments .avatar{float:right; margin:0 0 10px 10px; padding:3px; border:1px solid;}
#comments address{font-weight:bold;}
#comments time{font-size:smaller;}
#comments .comcont{display:block; margin:0; padding:0;}
#comments .comcont p{margin:10px 5px 10px 0; padding:0;}

#comments form{display:block; width:100%;}
#comments input, #comments textarea{width:100%; padding:10px; border:1px solid;}
#comments textarea{overflow:auto;}
#comments div{margin-bottom:15px;}
#comments input[type="submit"], #comments input[type="reset"]{display:inline-block; width:auto; min-width:150px; margin:0; padding:8px 5px; cursor:pointer;}

 
 


/* Footer
--------------------------------------------------------------------------------------------------------------- */
#footer{padding:80px 0;}

#footer .heading{margin-bottom:50px; font-size:1.2rem;}

#footer nav{margin-bottom:15px;  }
#footer nav ul{}
#footer nav ul li{display:inline-block; margin-right:15px;}
#footer nav ul li:last-child{margin-right:0;}

#footer .linklist li{display:block; margin-bottom:12px; padding:0 0 12px 0; border-bottom:1px solid;}
#footer .linklist li:last-child{margin:0; padding:0; border:none;}
#footer .linklist li::before, #footer .linklist li::after{display:table; content:"";}
#footer .linklist li, #footer .linklist li::after{clear:both;}


/* Copyright
--------------------------------------------------------------------------------------------------------------- */
#copyright{padding:20px 0;}
#copyright *{margin:0; padding:0;}


/* Transition Fade
--------------------------------------------------------------------------------------------------------------- */
*, *::before, *::after{transition:all .3s ease-in-out;}
#mainav form *{transition:none !important;}


/* Navigation
--------------------------------------------------------------------------------------------------------------- */
nav ul, nav ol{margin:0; padding:0; list-style:none; font-size: 16px; }
#mainav, #breadcrumb, .sidebar nav{line-height:normal;}
#mainav .drop::after, #mainav li li .drop::after, #breadcrumb li a::after, .sidebar nav a::after{position:absolute; font-family:"FontAwesome"; font-size:10px; line-height:10px;}

/* Top Navigation */





#mainav{ }
#mainav ul{ text-align:center; }
#mainav ul ul{z-index:9999; position:absolute; width: 380px; text-transform:none; text-align:left; font-size: 15px;}
#mainav ul ul ul{left:260px; top:0;}
#mainav li{display:inline-block; position:relative; margin:0 10px 0 0; padding:0;}
#mainav li:last-child{margin-right:0;}
#mainav li li{width:100%; margin:0;}
#mainav li a{display:block; padding:20px 0;}
#mainav li li a{border:solid; border-width:0 0 1px 0;}
#mainav .drop{padding-left:15px;}
#mainav li li a, #mainav li li .drop{display:block; margin:0; padding:10px 15px;}
#mainav .drop::after, #mainav li li .drop::after{content:"\f0d7";}
#mainav .drop::after{top:25px; left:5px;}
#mainav li li .drop::after{top:15px; left:5px;}
#mainav ul ul{visibility:hidden; opacity:0;}
#mainav ul li:hover > ul{visibility:visible; opacity:1; }

#mainav form{display:none; margin:0; padding:20px 0;}
#mainav form select, #mainav form select option{display:block; cursor:pointer; outline:none;}
#mainav form select{width:100%; padding:5px; border:1px solid;}
#mainav form select option{margin:5px; padding:0; border:none;}

/* Breadcrumb */
#breadcrumb{padding:120px 0 30px;}
#breadcrumb ul{margin:0 0 30px 0; padding:0 0 8px 0; list-style:none; border-bottom:1px solid;}
#breadcrumb li{display:inline-block; margin:0 6px 0 0; padding:0;}
#breadcrumb li a{display:block; position:relative; margin:0; padding:0 12px 0 0; font-size:12px;}
#breadcrumb li a::after{top:3px; right:0; content:"\f101";}
#breadcrumb li:last-child a{margin:0; padding:0;}
#breadcrumb li:last-child a::after{display:none;}
#breadcrumb .heading{margin:0; font-size:2rem;}

/* Sidebar Navigation */
.sidebar nav{display:block; width:100%;}
.sidebar nav li{margin:0 0 3px 0; padding:0;}
.sidebar nav a{display:block; position:relative; margin:0; padding:5px 10px 5px 15px; text-decoration:none; border:solid; border-width:0 0 1px 0;}
.sidebar nav a::after{top:9px; left:5px; content:"\f101";}
.sidebar nav ul ul a{padding-left:35px;}
.sidebar nav ul ul a::after{left:25px;}
.sidebar nav ul ul ul a{padding-left:55px;}
.sidebar nav ul ul ul a::after{left:45px;}

/* Pagination */
.pagination{display:block; width:100%; text-align:center; clear:both;}
.pagination li{display:inline-block; margin:0 2px 0 0;}
.pagination li:last-child{margin-right:0;}
.pagination a, .pagination strong{display:block; padding:8px 11px; border:1px solid; background-clip:padding-box; font-weight:normal;}

/* Back to Top */
#backtotop{z-index:999; display:inline-block; position:fixed; visibility:hidden; bottom:20px; right:20px; width:36px; height:36px; line-height:36px; font-size:16px; text-align:center; opacity:.2;}
#backtotop i{display:block; width:100%; height:100%; line-height:inherit;}
#backtotop.visible{visibility:visible; opacity:.5;}
#backtotop:hover{opacity:1;}


/* Tables
--------------------------------------------------------------------------------------------------------------- */
table, th, td{border:1px solid; border-collapse:collapse; vertical-align:top;}
table, th{table-layout:auto;}
table{width:100%; margin-bottom:15px;}
th, td{padding:5px 8px;}
td{border-width:0 1px;}


/* Gallery
--------------------------------------------------------------------------------------------------------------- */
#gallery{display:block; width:100%; margin-bottom:50px;}
#gallery figure figcaption{display:block; width:100%; clear:both;}
#gallery li{margin-bottom:30px;}


/* Font Awesome Social Icons
--------------------------------------------------------------------------------------------------------------- */
.faico{margin:0; padding:0; list-style:none;}
.faico li{display:inline-block; padding:0; line-height:normal;}
.faico li:last-child{margin-right:0;}
.faico a{display:inline-block; width:30px; height:30px; line-height:30px; font-size:18px; text-align:center; border-radius:50%; background-clip:padding-box;}

.faico a{color:#494f8b; background-color:#fff;}
.faico a:hover{color:#000;}

.faicon-dribble:hover{background-color:#EA4C89;}
.faicon-facebook:hover{background-color:#3B5998;}
.faicon-google-plus:hover{background-color:#DB4A39;}
.faicon-linkedin:hover{background-color:#0E76A8;}
.faicon-twitter:hover{background-color:#00ACEE;}
.faicon-vk:hover{background-color:#4E658E;}


/* ------------------- ---------------------- */
/* --------- cursos cortos copia campus ---------------------------------- */
  .contenedor_home {
      font-family: 'Segoe UI', sans-serif;
      background-color: #f4f4f4;
      padding: 2rem;
      display: flex;
      flex-wrap: wrap;
      gap: 2rem;
      justify-content: center;
    }
 .cardce { 
     float: left;
 background: white;
      border-radius: 16px;
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
      overflow: hidden;
      width: 220px;
      display: flex;
      flex-direction: column;
      transition: transform 0.3s;
margin: 10px;
    }

    .cardce:hover {
      transform: translateY(-5px);
    }

    .cardce-header {
    
      display: flex;
      align-items: center;
      justify-content: center;
     
    }

    .cardce-content {
      padding: 1rem;
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }

    .cardce h3 {
      margin: 0;
      font-size: 1.1rem;
      color: #555;
      font-weight: normal;
    }

    .cardce-content h4 {
       color: #5f53d3; font-weight: bold!important;
        font-size: 1.1rem;
    }

    .cardce p {
      margin: 0;
      color: #777;
      font-size: 0.9rem;
    }

    .cardce a.button {
      margin-top: 1rem;
      padding: 0.6rem;
      background-color: #5f53d3;
      color: white;
      border-radius: 8px;
      text-align: center;
      text-decoration: none;
      font-weight: bold;
      transition: background 0.3s;
    }

    .cardce a.button:hover {
      background-color: #660087;
    }
 
/* -------------------------- -------------------------------- */
/* --------------------------- -------------------------------- */


/* Colours
------------------------------ ------------------------------ */
body{color:#474747; background-color:#FFFFFF;}
a{color:#494f8b;}
a:active, a:focus{background:transparent;}/* IE10 + 11 Bugfix - prevents grey background */
hr, .borderedbox{border-color:#F4F4F4;}
label span{color:#FF0000; background-color:inherit;}
input:focus, textarea:focus, *:required:focus{border-color:#494f8b;}
.overlay{color:#FFFFFF; background-color:inherit;}
.overlay::after{color:inherit; background-color:rgba(0,0,0,.55);}
.overlay.coloured::after{background-color:rgba(6,107,184,0.35);/* #821603 */}

.btn, .btn.inverse:hover{color:#FFFFFF; background-color:#6fc72a; border-color:#ffffff; border-width: medium;}
.btn:hover, .btn.inverse{color:#c2f39b; background-color:#6fc72a; border-color:#6fc72a; border-width: medium;}
.btn:visited {color:#FFFFFF; background-color:#6fc72a; border-color:#ffffff; border-width: medium;}



/* =========================
   Slideshow (movido desde el HTML)
   ========================= */
.mySlides{display:none;}
img{vertical-align:middle;}

/* Slideshow container donde estan las imagenes */
.slideshow-container{
  max-width:100%;
  position:relative;
  margin:auto;
}

/* Dots */
.slideshow-container .dot{
  height:10px;
  width:10px;
  margin:0 2px;
  background-color:#6fc72a;
  border-radius:50%;
  display:inline-block;
  transition:background-color 2.6s ease;
}

/* OJO: .active es genérico → lo acotamos al slideshow */
.slideshow-container .dot.active{
  background-color:#31640a;
}

.fondobotones{background-color:#fff;}

/* Fading animation */
.fade{
  animation-name:fade;
  animation-duration:1.5s;
}

@keyframes fade{
  from{opacity:.4;}
  to{opacity:1;}
}

@media only screen and (max-width:300px){
}
/* Flexslider */
.flex-direction-nav a, .flex-direction-nav .flex-disabled:hover{color:#FFFFFF;}
.flex-direction-nav a:hover{color:#494f8b;}


/* Rows */
.row0, .row0 a{}
.row1{
    color: #474747;
    background-color: #494F8B;
}
.row2{
    background-color: #6fc72a;/* #821603 */
    border-color: rgba(255,255,255,.2);
}
.row3{color:#474747; background-color:#FFFFFF;}
.row4{color:#A8A7A6;}
.row5{color:#A8A7A6; background-color:rgba(0,0,0,.35); border-color:rgba(255,255,255,.2);}
.row5 a{color:inherit;}


/* Header */
#header #logo a{color:inherit;}


/* Page Intro */
#pageintro li p:first-of-type{color:rgba(255,255,255,.5);}


/* Split Box */
.split section, .split section::after{color:#474747; background-color:#F9F9F9;}
.split section{background:linear-gradient(to right, rgba(249,249,249,.7), rgba(249,249,249,1));}


/* Content Area */
.elements article figure figcaption{color:#FFFFFF;}
.elements article figure figcaption time strong{background-color:#494f8b;}
.elements article figure figcaption time em{background-color:#821603;}
.elements article .txtwrap{color:#474747; background-color:#fafafa;}
.elements article:hover .txtwrap{border-color:#fafafa;}

.rollimagen {  }
.rollimagen:hover{ opacity: 0.5;}

/* Footer */
#footer .heading{color:#FFFFFF;}

#footer nav a{color:inherit;}
#footer nav li:first-child a, #footer nav a:hover{color:#494f8b;}

#footer .linklist li{border-color:rgba(255,255,255,.2);}

#footer input, #footer button{border-color:transparent;}
#footer input{color:#FFFFFF; background-color:#283F6C;}
#footer input:focus{border-color:#494f8b;}
#footer button{color:#FFFFFF; background-color:#494f8b;}


/* Navigation */
#mainav {color:inherit; padding-left: 10px; padding-right: 10px;}
#mainav li a{color:inherit; padding-left: 10px; padding-right: 10px;}
#mainav .active a, #mainav a:hover, #mainav li:hover > a{
    color: #fff;
    background-color: #10A546;
}
#mainav li li a, #mainav .active li a{color:#FFFFFF; background-color:rgba(80,171,8,.82); border-color:rgba(0,0,0,.6); }
#mainav li li:hover > a, #mainav .active .active > a{
    color: #FFFFFF;
    background-color: #519B53;
}
#mainav form select{color:#FFFFFF; background-color:#000000; border-color:rgba(255,255,255,.2);}

#breadcrumb ul{border-color:rgba(255,255,255,.2);}
#breadcrumb a{color:inherit; background-color:inherit;}
#breadcrumb li:last-child a{color:#494f8b;}

.container .sidebar nav a{color:inherit; border-color:#F4F4F4;}
.container .sidebar nav a:hover{color:#494f8b;}

.pagination a, .pagination strong{border-color:#F4F4F4;}
.pagination .current *{color:#FFFFFF; background-color:#494f8b;}

#backtotop{color:#FFFFFF; background-color:#494f8b;}


/* Tables + Comments */
table, th, td, #comments .avatar, #comments input, #comments textarea{border-color:#F4F4F4;}
#comments input:focus, #comments textarea:focus, #comments *:required:focus{border-color:#494f8b;}
th{color:#FFFFFF; background-color:#373737;}
tr, #comments li, #comments input[type="submit"], #comments input[type="reset"]{color:inherit; background-color:#FBFBFB;}
tr:nth-child(even), #comments li:nth-child(even){color:inherit; background-color:#F7F7F7;}
table a, #comments a{background-color:inherit;}


/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */


/* Media Queries
--------------------------------------------------------------------------------------------------------------- */
@-ms-viewport{width:device-width;}


/* Max Wrapper Width - Laptop, Desktop etc.
--------------------------------------------------------------------------------------------------------------- */
@media screen and (min-width:978px){
	.hoc{max-width:978px;}
}


/* Mobile Devices
--------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width:900px){
	.hoc{max-width:90%;}

	#header{}

	#mainav{}
	#mainav ul{display:none;}
	#mainav form{display:block;}

	#breadcrumb{}

	.container{}
	#comments input[type="reset"]{margin-top:10px;}
	.pagination li{display:inline-block; margin:0 5px 5px 0;}

	#footer{}

	#copyright{}
	#copyright p:first-of-type{margin-bottom:10px;}
}


@media screen and (max-width:750px){
	.imgl, .imgr{display:inline-block; float:none; margin:0 0 10px 0;}
	.fl_left, .fl_right{display:block; float:none;}
	.group .group > *:last-child, .clear .clear > *:last-child, .clear .group > *:last-child, .group .clear > *:last-child{margin-bottom:0;}/* Experimental - Needs more testing in different situations, stops double margin when stacking */
	.one_half, .one_third, .two_third, .one_quarter, .two_quarter, .three_quarter{display:block; float:none; width:auto; margin:0 0 30px 0; padding:0;}

	#header{text-align:center;}
	#header #logo{margin:0 0 10px 0;}

	#pageintro li article, #pageintro li p:last-of-type{max-width:none; width:100%; overflow:visible;}

	.elements article{max-width:320px;}

	.container, #footer{padding-bottom:70px;}/* Not neccessary - just looks better */
}


/* Other
--------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width:650px){
	.scrollable{display:block; width:100%; margin:0 0 30px 0; padding:0 0 15px 0; overflow:auto; overflow-x:scroll;}
	.scrollable table{margin:0; padding:0; white-space:nowrap;}

	.inline li{display:block; margin-bottom:10px;}
	.pushright li{margin-right:0;}

	.font-x2{font-size:1.4rem;}
	.font-x3{font-size:1.6rem;}

	.hoc.split{max-width:none; width:100%;}
	.split section{float:none; width:100%; padding:10% 5%;}

	#header #quickinfo li{display:block; margin-right:0; }
 
}

/* =========================
   Cursos SAEGRE (cards inspiradas en flyer)
   Colores del sitio: azul #494f8b / verde #6fc72a
========================= */

.cursos-saegre .group.elements{
  display:flex;
  flex-wrap:wrap;
  gap:28px;
  justify-content:center;
}

.cursos-saegre .one_third{
  float:none;
  flex:0 0 calc((100% - 96px) / 3);
  width:calc((100% - 96px) / 3);
  min-width:0;
  margin:0 0 30px 0;
}

/* Card */
.cursoCard{
  min-height: 100%;
  border:0;
  border-radius:20px;
  overflow:hidden;
  background:linear-gradient(160deg, #263f5e 0%, #405a63 58%, #6b8d25 100%);
  box-shadow:0 12px 28px rgba(0,0,0,.12);
  transition:transform .25s ease, box-shadow .25s ease;
  color:#fff;
}

.cursoCard:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 34px rgba(0,0,0,.18);
}

/* franja/icono superior */
.cursoCard__visual{
  height:88px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.12);
}

.cursoCard__visual i{
  color:#fff;
  font-size:44px;
  line-height:1;
  opacity:.95;
}

.cursoCard__body{
  padding:20px 20px 22px;
}

.cursoTag{
  display:inline-block;
  width:auto;
  max-width:100%;
  margin:0 0 13px 0;
  padding:5px 9px;
  border-radius:6px;
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.2px;
  text-transform:uppercase;
  color:#24446b;
  background:#d6e2ed;
  border:1px solid rgba(255,255,255,.45);
}

.tag-edicion,
.tag-segundo,
.tag-nuevo{
  color:#24446b;
  background:#d6e2ed;
  border-color:rgba(255,255,255,.45);
}

.cursoCard__title{
  margin:0 0 12px 0;
  color:#fff;
  font-family:'Muli', Arial, sans-serif;
  font-size:23px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-.3px;
}

.cursoCard__desc{
  margin:0;
  color:rgba(255,255,255,.92);
  font-size:14px;
  line-height:1.35;
}

.cursoCard__datos{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:20px;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.18);
}

.cursoDato{
  display:flex;
  align-items:center;
  gap:8px;
  flex:1 1 120px;
  min-width:0;
  color:#fff;
  font-size:12px;
  line-height:1.1;
}

.cursoDato i{
  width:24px;
  height:24px;
  min-width:24px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#395461;
  background:#fff;
  font-size:13px;
}

.cursoDato strong{
  display:inline-block;
  color:#fff;
  font-size:11px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.4px;
}

.cursoCard__actions{
  margin-top:18px;
}

.btn--mini{
  padding:6px 12px !important;
  font-size:12px !important;
  border-radius:12px !important;
  display:inline-block;
  border:0 !important;
  background:#6fc72a !important;
  color:#fff !important;
}

.btn--mini:hover{
  background:#5ab31d !important;
  color:#fff !important;
}

.cursoCard--destacado{
  background:linear-gradient(160deg, #2b315f 0%, #454c7c 58%, #6b8d25 100%);
}

.etiquetastabla{
  font-size:12px;
}

@media screen and (max-width:900px){
  .cursos-saegre .one_third{
    width:calc((100% - 28px) / 2);
  }
}

@media screen and (max-width:750px){
  .cursos-saegre .group.elements{
    display:block;
  }
  .cursos-saegre .one_third{
    width:auto;
    max-width:360px;
    margin:0 auto 26px auto;
  }
  .cursoCard__title{
    font-size:22px;
  }
}

/* ===============================
   FORMULARIO SOCIOS – LOOK MODERNO
================================ */

.form-socios{
  max-width: 900px;
  margin: 0 auto;
}

.form-row{
  display:flex;
  align-items:center;
  gap:20px;
  margin-bottom:18px;
}

.form-row label{
  width:260px;
  text-align:right;
  font-family:'Muli';
  font-weight:700;
  color:#353535;
}

.form-row input,
.form-row select{
  flex:1;
  padding:14px 18px;
  border-radius:14px;
  border:1px solid #d7d7d7;
  font-size:14px;
  background:#fff;
}

.form-row input::placeholder{
  color:#9ca3af;
}

.form-row input:focus,
.form-row select:focus{
  border-color:#24bbaf;
  outline:none;
  box-shadow:0 0 0 2px rgba(36,187,175,.15);
}

.form-row.checkbox{
  align-items:flex-start;
}

.form-row.checkbox label{
  width:auto;
  text-align:left;
  font-weight:400;
}

.form-actions{
  text-align:center;
  margin-top:30px;
}

/* Responsive */
@media screen and (max-width:750px){
  .form-row{
    flex-direction:column;
    align-items:stretch;
  }
  .form-row label{
    width:100%;
    text-align:left;
  }
}

/* ===============================
   FORM SOCIOS – FONDO SUAVE
================================ */

.form-socios-wrap{
  background:#f3f8f6;           /* gris verdosito (no copia literal) */
  border:1px solid #e5e7eb;
  border-radius:20px;
  padding:28px;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}

@media screen and (max-width:750px){
  .form-row{
    flex-direction:column;
    align-items:stretch;
  }
  .form-row label{
    width:100%;
    text-align:left;
  }
  .form-socios-wrap{
    padding:11px;
    border-radius:16px;
  }
}

/* ===============================
   PAGO / CUOTAS – SUPER COMPACTO
   (texto + radio juntitos, sin ancho gigante)
================================ */

/* contenedor opciones */
.pay-options-inline{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

/* cada opción: NO ocupar todo el ancho */
.pay-inline{
  display:inline-flex;
  align-items:center;
  gap:6px;                 /* 👈 acá el radio queda CERCA del texto */
  padding:2px 8px;         /* compacto */
  border:1px solid #d7d7d7;
  border-radius:10px;
  background:#fff;
  /* 👈 clave */
  min-
  /* 👈 clave */
  flex:0 0 auto;           /* 👈 no se estira */
  white-space:nowrap; }

/* el texto NO empuja */
.pay-inline span{margin:0;padding:0;}

/* radio sin márgenes raros */
.pay-inline input[type="radio"]{
  margin:0;
  transform:scale(.9); 
}

.pay-inline2{
  display:inline-flex;
  align-items:center;
  gap:6px;                 /* 👈 acá el radio queda CERCA del texto */
  padding:2px 8px;         /* compacto */
  border:1px solid #d7d7d7;
  border-radius:10px;
  background:#fff;
  /* 👈 clave */
  min-
  /* 👈 clave */
  flex:0 0 auto;           /* 👈 no se estira */
  white-space:nowrap; }


/* el texto NO empuja */
.pay-inline2 span{margin:0;padding:0;}

/* radio sin márgenes raros */
.pay-inline2 input[type="radio"]{
  margin:0;
  transform:scale(.9); 
}

/* mobile: que bajen, pero SIN que se hagan largos */
@media (max-width:750px){
  .pay-options-inline{flex-wrap:wrap;}
}


/* ===============================
   FORM ROW DOBLE (2 CAMPOS EN UNA LÍNEA)
================================ */

.form-row-2{
  align-items:flex-start;
}

.form-row-2 .form-col{
  display:flex;
  align-items:center;
  gap:20px;
  flex:1;
}

.form-row-2 label{
  width:140px;
  text-align:right;
}

@media screen and (max-width:750px){
  .form-row-2{
    flex-direction:column;
  }
  .form-row-2 .form-col{
    flex-direction:column;
    align-items:stretch;
  }
  .form-row-2 label{
    width:100%;
    text-align:left;
  }
}

.acciones-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 25px 0;
  gap: 10px;
}

.acciones-izq,
.acciones-der {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* =========================
   Biblioteca online – mejoras front
   ========================= */

.biblio-title{
  font-size: 34px;
  font-weight: 800;
  color:#494f8b;
  margin: 0 0 10px 0;
}

.biblio-subtitle{
  color:#555;
  font-size: 15px;
  margin: 0 0 25px 0;
}

/* Form filtros */
.biblio-filters{
  background:#fafafa;
  border: 1px solid #eaeaea;
  border-radius: 16px;
  padding: 18px;
  margin: 18px 0 18px 0;
}

.biblio-filters .field-label{
  display:block;
  font-weight: 800;
  color:#494f8b;
  margin-bottom: 8px;
}

.biblio-filters input[type="text"],
.biblio-filters select{
  width: 100%;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid #d7d7d7;
  background:#fff;
  font-size: 14px;
}

.biblio-filters .actions{
  display:flex;
  align-items:end;
  justify-content:flex-end;
  gap:10px;
}

/* Categorías: abajo del buscador */
.biblio-cats{
  margin-top: 14px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.biblio-cats a.bth{
  display:inline-block;
  padding: 10px 14px;
  border: 2px solid #6fc72a;
  border-radius: 12px;
  color:#494f8b;
  background:#fff;
  font-weight: 700;
  text-decoration:none;
}

.biblio-cats a.bth:hover{
  background:#6fc72a;
  color:#fff;
}

/* Lista */
.biblio-item{
  padding: 12px 6px;
  border-bottom: 1px solid #eee;
}
.biblio-item a{
  font-weight: 700;
}

/* =========================
   Resultados Biblioteca
   ========================= */

.biblio-result{
  background:#ffffff;
  border:1px solid #eaeaea;
  border-left:6px solid #6fc72a; /* guiño verde institucional */
  border-radius:14px;
  padding:18px 22px;
  margin-bottom:18px;
  box-shadow:0 6px 16px rgba(0,0,0,.05);
  transition:transform .2s ease, box-shadow .2s ease;
}

.biblio-result:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}

.biblio-result-title{
  font-size:18px;
  font-weight:800;
  color:#000;
  margin-bottom:6px;
  line-height:1.35;
}

.biblio-result-meta{
  font-size:13px;
  color:#666;
  margin-bottom:12px;
}

.biblio-result-meta span{
  font-weight:700;
  color:#494f8b;
}

.biblio-result-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:#6fc72a;
  color:#fff;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  width:fit-content;
}

.biblio-result-btn i{
  font-size:14px;
}

.biblio-result-btn:hover{
  background:#519b53;
  color:#fff;
}

.tabla-responsive{
  width:100%;
  overflow-x:auto;
}

/* =========================
   Admin Biblioteca – tabla
   (evita que el PDF “estire” toda la tabla)
   ========================= */
.tabla-responsive{
  -webkit-overflow-scrolling: touch;
}

table.admin-biblio-table{
  table-layout: fixed;
}

table.admin-biblio-table th,
table.admin-biblio-table td{
  overflow-wrap: anywhere;
}

table.admin-biblio-table td.col-pdf,
table.admin-biblio-table th:nth-child(4){
  white-space: normal;
}

/* =====================================================
   HEADER CONTACTOS SAEGRE
   ===================================================== */

#header #quickinfo{
  padding: 12px 15px 0 0;
  color: #fff;
  max-width: 690px;
}

.top-contactos{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

.contacto-box{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 260px;
  max-width: 310px;
  padding: 14px 15px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 18px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

.contacto-icono{
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 50%;
  background: #6fc72a;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
}

.contacto-box--academico .contacto-icono{
  background: #ffffff;
  color: #25D366;
}

.contacto-texto{
  flex: 1;
}

.contacto-titulo{
  margin: 0 0 4px 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 2;
  font-family: 'Muli', sans-serif;
  color: #fff;
}

.contacto-linea{
  font-size: 12px;
  line-height: 1.35;
  margin-bottom: 2px;
   
}

.link-contacto{
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.link-contacto:hover{
  color: #dff7c9;
}

.contacto-horario{
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.35;
  color: #dbe6ff;
}

.direccion-saegre{
  margin: 10px 0 0 0;
  text-align: right;
  font-size: 12px;
  line-height: 1.35;
  color: #dbe6ff;
}