.card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  border: 1px solid #ddd;
  border-bottom-left-radius: 14px;
  border-bottom-right-radius: 14px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  background-color: #fff;
  box-shadow: 0 6px 12px rgba(0,0,0,0.15);
  overflow: hidden;
}

/* Hover */
.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.2); /* sombra más marcada al pasar el mouse */
}



.card-img img {
  height: 250px;
  object-fit: contain;
  border-radius: 8px;
}

.card-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* Títulos y descripciones */
.card-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.alinear h6 {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}


#card-detalle > div {
  display: flex;
}

#card-detalle > .col-12,
#card-detalle > .col-sm-6,
#card-detalle > .col-md-3 {
    margin-bottom: 30px;/* aumenta el espacio vertical*/  
}




.tabladetalle {
	padding-top:20px;
}


.table td {
	padding: 0px !important;
	border: 0px !important;
}

tbody > tr > td {
	border: 0px !important;
}

.lineaarriba {
	border-top: 1px solid lightgrey;
}

.lineaderecha {
	border-right: 1px solid lightgrey;
}

.centrar{
	text-align:center;
}

.pormateria{
	font-weight:bold;

	color:dimgrey;

}

fieldset legend {
	font-weight:bold;
	color:#114b7d;
	margin-top:10px;
	margin-bottom:10px;
	border-bottom-color: #1c94c4;
}

body{
	font-family: Arial, "Helvetica Neue", sans-serif !important;
	font-size: 1.6em !important;
}

.centrarVertical{
	display: flex;
	justify-content: center;
	align-content: center;
	flex-direction: column;
}

.h5SinMargen{
	padding-bottom: 0px;
	margin-top: 0px;
	margin-bottom: 0px;
}

h4 {
    text-align: left !important; /* !important sobrescribe cualquier regla heredada */
}

.col-md-8 {
    text-align: left; /* Alinea el texto a la izquierda */
}

.col-md-7 {
    text-align: left !important; /* Alinea el texto a la izquierda */
}

.alinear {
    text-align: justify;
}



.book-cover {
    position: relative;
    display: inline-block;
}

.small-img {
    width: 300px; 
    transition: all 0.3s ease;
    cursor: pointer;
    display: block;
}

.large-img {
    max-width: 50vw;  /* no más ancho que la ventana */
    max-height: 50vh; /* no más alto que la ventana */
    display: none;            /* oculta inicialmente */
    position: fixed;          /* se muestra sobre todo el contenido */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1.7);
    z-index: 9999;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

.book-cover:hover .large-img {
    display: block;           /* se muestra al pasar el ratón */
}

.book-cover:hover .small-img {
    opacity: 0.3;             /* opcional: difumina la imagen pequeña */
}


/*para ajustar contenido del formulario de búsqueda en el móvil*/

@media (max-width: 768px) {
    /* Reset de la ventana completa */
    html, body {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden; /* evita scroll horizontal */
    }

    /* Contenedores principales */
    .cuerpopaginapadre,
    .cuerpopagina,
    .container,
    .row,
    [class*="col-"],
    #entrada,
    .Formulario,
    .bloquebusqueda {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* Ajuste de filas y columnas de Bootstrap */
    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    [class*="col-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Hijos internos */
    .contenedor-tabla,
    .contenedor-fila,
    .contenedor-columna,
    .contenedor-columna > div {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    /* ESPACIO VERTICAL SOLO EN MÓVIL 
.contenedor-columna,
.contenedor-columna > div {
    margin: 0 !important;
    padding: 0 !important;
}*/
}

/*Fin ajuste movil*/


/* Contenedor de filas: flex con envoltura */
.contenedor-fila {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

/* Columnas: por defecto 3 columnas */
.contenedor-columna {
  flex: 1 1 33.333% !important;
  max-width: 33.333% !important;
  box-sizing: border-box;
}

/* Para tablet y móvil: 2 columnas */
@media (max-width: 768px) {
  .contenedor-columna {
    flex: 1 1 50% !important;
    max-width: 50% !important;
  }
}

/* Para móviles muy pequeños: 1 columna */
@media (max-width: 480px) {
  .contenedor-columna {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}
