.grid-contenido {
  width                : 100%;
  /* !!! 85 */
  margin               : 0 auto;
  display              : grid;
  grid-template-columns: 25% 75%;
  grid-template-rows   : auto;
  grid-template-areas  : "head head""sidebar articulo";
}

.grid-contenido--blog {
  grid-template-columns: 400px 1fr;
}

.grid-contenido--nomenu {
  grid-template-columns: auto;
  grid-template-rows   : auto;
  grid-template-areas  : "head""articulo""paginacion";
}

.grid-contenido__head {
  grid-area: head;
}

.grid-contenido__sidebar {
  grid-area: sidebar;
  padding  : 0 20px 0 100px;
  /* !!! */
}

.grid-contenido__articulo {
  grid-area: articulo;
  padding  : 0 20px;
}
.grid-contenido__articulo--novedades {
  grid-area: articulo;
}
.grid-contenido__articulo--centrado {
  text-align: center;
}
.grid-contenido__articulo--centrado .CUERPO--bigtext, .grid-contenido__articulo--centrado .CUERPO--bigtext * {
  font-size  : 1.8rem;
  font-weight: 500;
  line-height: 1.2;
  width: 100%;
}
/* Recuadro destacado para formularios */
.grid-contenido__articulo--centrado .recuadro {
  font-size  : 1.8rem;
  font-weight: 500;
  line-height: 1.2;
  width: 90%;
  max-width: 600px;
  margin: auto;
  padding: 10px;
}
.grid-contenido__articulo--centrado .recuadro--exito {
  border: 2px solid #97cd74;
  border-radius: 10px;
  background-color: #efffeb;
  color: #453;
}
.grid-contenido__articulo--centrado .recuadro--error {
  border: 2px solid #c53e26;
  background-color: #ffc8b8;
  color: #543;
}

/* /Recuadro destacado para formularios */
.grid-contenido__paginacion {
  grid-area: paginacion;
  padding  : 0 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.grid-contenido__pagimg img {
  width: 32px;
  height: 32px;
  padding: 10px 10px 5px 10px;
  filter: saturate(0) opacity(50%);
}
.grid-contenido__paginacion span {
  /*display: inline-block;*/
  font-size: 1.6rem;
  font-weight: 600;
  padding: 10px;
  color:#4a4a4a;
}
.grid-contenido__paginacion a span {
  color:#ff4438;
}
/* Paginacion "nativa" de Prontus */
.grid-contenido__paginacion .actual, .grid-contenido__paginacion .current_page span {
  font-size: 1.6rem;
  font-weight: 600;
  padding: 10px;
  color:#4a4a4a;
}
.grid-contenido__paginacion a {
  font-size: 1.6rem;
  font-weight: 600;
  padding: 10px;
  color:#ff4438;
}
.grid-contenido__paginacion a:hover {
  color: red;
}
/* /Paginacion "nativa" de Prontus */

.grid-contenido__pagimg:hover img, .grid-contenido__paginacion a:hover span {
  transform:scale(1.2);
  filter:none;
  color:red;
}
.head-banner {
  height             : 25vh;
  background-position: center top;
  background-size    : auto 100%;
  background-repeat  : no-repeat;
  position: relative;
}

.head-banner__label {
	position: absolute;
	background: rgba(255, 255, 255, 0.6);
	border-radius: 10px;
	left: 5%;
	bottom: 10%;
	padding: 1.5rem 3rem 1.3rem;
}

.head-banner__label--main {
	color: #ff4438;
	font-size: 4em;
	margin: 0;
	font-family: 'DIN Next LT Pro', sans-serif;
	line-height: 1;
}

.head-banner__label--sec {
	margin: 0;
	color: #4a4a4a;
	font-family: 'DIN Next LT Pro', sans-serif;
}

.social-sharing {
  xborder: 1px solid green;
}
.social-sharing__title {
  font-size: 1.3rem;
  font-weight: 600;
  color: #333;
}
.social-sharing-icons {
  xborder: 1px solid red;
  display: flex;
  gap: 5px;
}

.social-sharing-icons__link {

}
.social-sharing-icons__svg {
  display:block;
  width: 30px;
  height: 30px;
  border-radius: 5px;
  opacity: 1;
  padding: 0 4px;
  overflow: hidden;
  padding: 0;
  cursor: pointer;
  box-sizing: content-box;
}

.breadcrumbs {
  margin   : 10px 100px;
  font-size: 1.1rem;
  color    : gray;
}

.breadcrumbs a {
  color: #4a4a4a;
}

.breadcrumb:after {
  content: " » ";
}

.breadcrumb:last-child:after {
  content: "";
}

.sidebar-menu {
  list-style: none;
  padding   : 0;
}

.sidebar-link {
  font-size    : 1.2rem;
  padding      : 6px;
  border-bottom: 1px solid #dfdfdf;
}

.sidebar-rotulo {
  font-size    : 1.2rem;
  font-weight  : 600;
  color        : #ff4438;
  padding      : 6px;
  margin-top   : 10px;
  border-bottom: 2px solid #ff4438;
}

.sidebar-link:hover {
  color: red;
}

.xgrid-contenido__articulo {
  color: #333;
}

.grid-contenido__articulo h1, .grid-contenido__articulo h2 {
  color      : #ff4438;
  font-size  : 2.5rem;
  font-weight: 400;
  line-height: 1.2;
}

.xgrid-contenido__articulo h3 {
  font-size        : 1.6rem;
  font-weight      : 600;
  padding-left     : 20px;
  border-left-width: 8px;
  border-left-style: solid;
  border-left-color: #ff4438;
  margin-top       : 20px;
  margin-bottom    : 10px;
  padding-top      : 10px;
}

.xgrid-contenido__articulo p {
  font-size  : 1.4rem;
  line-height: 1.2;
}

.xgrid-contenido__articulo strong {
  color: #ff4438;
}

/* Decoraciones VTXT */
.descargar a {
  margin   : 10px 10%;
  display  : block;
  font-size: 1.4rem;
  font-weight        : 500;
  background-image   : url(../imag/icons/descarga_link.png);
  background-repeat  : no-repeat;
  background-position: right center;
  padding            : 10px 75px 10px 35px;
  border-radius      : 80px;
  transition         : margin-left .1s;
  border             : 1px solid #ccc;
}

div:nth-child(odd).descargar a {
  background-color: #eee;
}

.descargar a:hover,
div:nth-child(odd).descargar a:hover {
  background-color: #ff4438;
  color           : white;
  margin-left     : 12%;
}

.descargar a:hover small {
  color: white;
}

.descargar small {
  display       : block;
  color         : gray;
  text-transform: uppercase;
  font-size     : 0.9rem;
}

/* /Decoraciones VTXT */

@media (max-width: 1280px) {

  /*
  .grid-contenido {
    width: 100%;
  }
  */
  .grid-contenido--blog {
    grid-template-columns: 300px 1fr;
  }

  .grid-contenido__sidebar {
    padding: 0 20px 0 20px;
    /* !!! */
  }

  .breadcrumbs {
    margin: 10px 20px;
  }
}

@media (max-width: 768px) {
  .grid-contenido {
    width                : 90%;
    grid-template-columns: auto;
    grid-template-rows   : auto;
    grid-template-areas  : "sidebar""articulo";
  }

  .grid-contenido--blog {
    grid-template-areas: "articulo""sidebar";
  }

  .grid-contenido__sidebar {
    padding: 0 20px 0 0;
    /* !!! */
  }

  .grid-contenido--nomenu {
    grid-template-columns: auto;
    grid-template-rows   : auto;
    grid-template-areas  : "articulo""paginacion";
  }

  .grid-contenido__head {
    display: none;
  }

  .descargar a {
    margin   : 10px 0;
    border-radius: 10px;
  }  
}


/***************** VTXT by CMC ******************/

/*vtxt*/

.CUERPO {
  color      : #4a4a4a;
  font-weight: 400;
  line-height: 1.5;
  font-family: BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
}

.CUERPO p, .CUERPO li, .CUERPO h5{
  font-size  : 1.4rem;
  line-height: 1.2;
  width: 90%;
}

.CUERPO a {
  color          : #ff4438;
  text-decoration: underline;
}

.CUERPO a:hover {
  color          : red;
}

.CUERPO .responsive-img {
  width: 100%;
  height: auto;
}

.CUERPO .boton {
  background-color:#ac1b1b;
  color:#e6e6e6;
  border:none;
  border-radius:60px;
  padding:10px 20px;
  font-size:1.5rem;
  cursor:pointer;
  text-decoration: none;
}

.CUERPO a > .boton {
  text-decoration: none;
  display: inline-block;
}


.CUERPO a > .boton:hover {
  background-color:red;
  color: white;
}

.CUERPO h1 {
  color      : #ff4438;
  font-size  : 2.5rem;
  font-weight: 400;
  line-height: 1.2;
}

.CUERPO h2 {
  color      : #ff4438;
  font-size  : 2rem;
  font-weight: 400;
  line-height: 1.2;
  border-bottom: 1px solid #ff4438;
  width: 90%;
}

.CUERPO h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #4a4a4a;
    width: 90%;
}

.CUERPO h4 {
  color      : #ff4438;
  font-size  : 1.4rem;
  font-weight: 500;
  line-height: 1.2;
  border-bottom: 1px solid #ff4438;
  width: 90%;
}

.CUERPO .texto-rojo{
  color: #ff4438;
}

.anclas .subtitulos {
  display: inline-block;
  margin : 1rem 0;
}

.anclas .subtitulos a {
  font-size       : 1.2rem;
  color           : #ff4438;
  margin          : 0.3rem 5px;
  padding         : 10px 20px;
  background-color: #ffffff;
  border          : 1px solid #f0f0f0;
  border-radius   : 3px;
  font-weight     : 400;
}

.anclas .subtitulos a:hover {
  text-decoration : none;
  background-color: #ffffff;
  transition      : 0.2s all ease;
}

/* texto negro */
.CUERPO .subtit {
  font-size : 2rem;
  color     : #ff4438;
  margin-top: 2rem;
}

.CUERPO .subtit-sinlink {
  font-size : 2rem;
  color     : #ff4438;
  margin-top: 2rem;
}

.CUERPO blockquote p {
  border-left   : 4px solid #ff4438;
  font-weight   : 400;
  font-style    : italic;
  font-size     : 2rem;
  line-height   : 1.2;
  padding-bottom: 10px;
  margin        : 30px 0;
  padding-left  : 30px;
}

.CUERPO table {
  clear          : both;
  margin         : 20px 0px;
  padding        : 2px;
  empty-cells    : show;
  border         : none;
  border-collapse: collapse;
  background     : #ffffff;
  width          : 90%;
  font-weight    : 400;
  font-style     : normal;
}

.CUERPO table td {
  border-collapse: collapse;
  font-size      : 1.4rem;
  font-weight    : normal;
  text-align     : left;
  font-style     : normal;
  line-height    : 1.2;
  vertical-align : top;
  padding        : 5px;
  text-align     : left;
  border         : 1px solid #e2e2e4;
}

.CUERPO table td p {
  margin      : 0px;
  padding     : 0px;
  line-height : 1.2;
}

/*vtxt_td*/
.CUERPO .border-bottom-2px-red {
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 2px solid #ff4438;
}

.CUERPO .border-bottom-2px-gray {
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 2px solid gray;
}

.CUERPO .border-bottom-1px-gray {
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid gray;
}

.CUERPO .border-none {
  border: none;
}

.CUERPO .td-estilo-fondogris {
  background-color: #CCCCCC;
}

/*/vtxt_td*/

/* Pies de fotos */
.CUERPO figure {
  display   : table;
  margin    : 0 20px 20px;
  font-size : 1.1rem;
  color     : grey;
  font-style: italic;
  text-align: center;
}

.CUERPO figure.align-right {
  float: right;
}

.CUERPO figure.align-left {
  float: left;
}

.CUERPO figure figcaption {
  display     : table-caption;
  caption-side: bottom;
}

/* / Pies de fotos */

/*/vtxt*/


@media (max-width: 1280px) {

  /*
  .grid-contenido {
    width: 100%;
  }
  */
  .grid-contenido--blog {
    grid-template-columns: 300px 1fr;
  }

  .grid-contenido__sidebar {
    padding: 0 20px 0 20px;
    /* !!! */
  }

  .breadcrumbs {
    margin: 10px 20px;
  }
}

@media (max-width: 768px) {
  .grid-contenido {
    width                : 90%;
    grid-template-columns: auto;
    grid-template-rows   : auto;
    grid-template-areas  : "sidebar""articulo";
  }

  .grid-contenido--blog {
    grid-template-areas: "articulo""sidebar";
  }

  .grid-contenido__sidebar {
    padding: 0 20px 0 0;
    /* !!! */
  }

  .grid-contenido--nomenu {
    grid-template-columns: auto;
    grid-template-rows   : auto;
    grid-template-areas  : "articulo""paginacion";
  }

  .grid-contenido__head {
    display: none;
  }

  .CUERPO p, .CUERPO li, .CUERPO h2, .CUERPO h3, .CUERPO h4, .CUERPO table, .CUERPO h5 {
    width: 100%;
  }

}

@media (max-width: 425px) {
  .CUERPO blockquote {
    font-size    : 1rem;
    line-height  : 1.5;
    margin-top   : 20px;
    margin-bottom: 20px;
  }
}

@media (min-width: 426px) and (max-width: 767px) {
  .CUERPO blockquote {
    font-size    : 1rem;
    line-height  : 1.5;
    margin-top   : 20px;
    margin-bottom: 20px;
  }
}


/***************** /VTXT by CMC ******************/


/***************** ESTILOS MEDICOS EN CUERPO ******************/


.medicos-int {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 40px 0;
  max-width: 1000px;
}

.medicos__card {
  position: relative;
  background: white;
  border: 1px solid transparent;
  overflow: hidden;
  text-align: center;
  transition: border 0.3s;
  cursor: pointer;
}

.medicos__card-img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.medicos__card-info {
  padding: 10px;
  position: relative;
  z-index: 2;
}

.CUERPO .medicos__card-cargo {
  color: red;
  font-weight: bold;
  padding: 0;
  margin: 0;
}

.CUERPO .medicos__card-nombre {
  color: black;
  padding: 0;
  margin: 0;
  font-size: 12px;
}

.medicos__card-hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: baseline;
  justify-content: center;
  background: white;
  border: 1px solid red;
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 1;
}

.CUERPO p.medicos__card-hover-text {
  font-size: .9rem;
  width: 100%;
  line-height: 120%;
  padding: 0 15px;
  text-align: left;
}

.medicos__card:hover {
  border-color: red;
}

.medicos__card:hover .medicos__card-hover {
  opacity: 1;
}

.medicos__card:hover .medicos__card-info {
  position: relative;
  z-index: 3;
}

/* Responsive: 2 cards por fila y sin hover */

@media (max-width: 1024px) {
  .medicos__card-hover {
    display: none;
  }
}

@media (max-width: 768px) {
  .medicos-int {
    grid-template-columns: repeat(2, 1fr);
  }

  .medicos__card-hover {
    display: none;
  }
}

/***************** ESTILOS FAQ EN CUERPO ******************/

.faq-int {
  margin: 40px 0;
  max-width: 1000px;
}

.faq__item {
  border-bottom: 1px solid #ccc;
}

.faq__question {
  width: 100%;
  background: none;
  border: none;
  font-size: 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: 15px;
  text-align: left;
  font-weight: bold;
  color: #494949;
}

.faq__question:hover {
  color: #ff4438;
  }

.faq__icon {
  font-weight: normal;
  font-size: 20px;
  transition: transform 0.8s ease;
  color: #ff4438;
}

.faq__answer {
  display: none;
  opacity: 0;
  transform: scaleY(0);
  transform-origin: top;
  transition: all 1s;
  padding: 0 15px;
  font-size: 14px;
  color: #333;
}

.faq__item--active .faq__answer {
  display: block;
  opacity: 1;
  transform: scaleY(1);
  padding: 0 15px;
}

.faq__item--active .faq__icon {
  content: "-";
}

/***************** ESTILOS LISTADO 3 COLUMNAS CUERPO ******************/

.CUERPO .list-cols{
  display: flex;
  gap: 20px;
  justify-content: space-between;
  max-width: 90%;
}
@media (max-width: 950px) {
  .CUERPO .list-cols{
    flex-direction: column;
  }
}