/* --- ESTILOS GENERALES DEL PLUGIN --- */
.miph-contenedor-principal { max-width: 1100px; margin: 40px auto; padding: 20px; box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }
.miph-fila { display: flex; flex-wrap: wrap; gap: 50px; }
.miph-columna-izquierda { flex: 1; min-width: 300px; }
.miph-columna-derecha { flex: 2; min-width: 300px; }

/* --- FORMULARIO DE ENVÍO --- */
.miph-columna-izquierda h2 { margin-top: 0; color: #2c3338; }
.miph-campo-formulario { margin-bottom: 15px; }
.miph-campo-formulario label { display: block; margin-bottom: 5px; font-weight: bold; color: #555d66; }
.miph-campo-formulario input[type="text"], .miph-campo-formulario textarea, .miph-campo-formulario input[type="file"] { width: 100%; padding: 10px; border: 1px solid #8c8f94; border-radius: 4px; box-sizing: border-box; }
.miph-campo-formulario input[type="file"] { padding: 5px; }
.miph-boton-enviar { display: inline-block; background-color: #2271b1; color: #fff; padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; transition: background-color 0.2s, opacity 0.2s; }
.miph-boton-enviar:disabled { background-color: #949494; cursor: not-allowed; opacity: 0.7; }
/* NUEVO: Estilos para el campo Honeypot */
.miph-honeypot-field { position: absolute; left: -9999px; top: -9999px; }
/* NUEVO: Estilos para el campo de consentimiento */
.miph-consent-field label { display: flex; align-items: center; gap: 8px; font-weight: normal; }

/* --- CARRUSEL Y ELEMENTOS DE VISUALIZACIÓN --- */
.miph-carrusel { background-color: #f0f0f1; border-radius: 15px; height: 400px; overflow: hidden; position: relative; }
.miph-carrusel-item { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1s ease-in-out; }
.miph-carrusel-item.active { opacity: 1; }
.miph-image-bg { width: 100%; height: 100%; background-size: cover; background-position: center center; background-repeat: no-repeat; border-radius: 15px; }

/* --- BARRA DE CONTROL --- */
.miph-barra-control { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; margin: 10px 0; border-top: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0; }
.miph-barra-label { font-weight: bold; color: #555d66; margin-right: 15px; white-space: nowrap; }
.miph-carrusel-dots { text-align: left; flex-grow: 1; }
.miph-dot { display: inline-block; width: 12px; height: 12px; margin: 0 5px; background-color: #ccc; border-radius: 50%; cursor: pointer; transition: background-color 0.3s; }
.miph-dot.active { background-color: #2271b1; }
.miph-ver-mas-texto { font-weight: bold; font-size: 1.1em; color: #2271b1; cursor: pointer; padding: 0 15px; white-space: nowrap; margin-left: auto; }

.miph-info-carrusel { position: relative; padding: 15px 0 0 0; }
.miph-info-item { display: none; }
.miph-info-item.active { display: block; }
.miph-info-titulo { margin-top: 0; margin-bottom: 10px; font-size: 1.5em; color: #2c3338; text-align: center; }

/* --- DESCRIPCIÓN EXPANDIBLE --- */
.miph-descripcion-contenedor.needs-read-more { max-height: 4.8em; overflow: hidden; position: relative; transition: max-height 0.5s ease-out; }
.miph-descripcion-contenedor.needs-read-more.expanded { max-height: 1000px; transition: max-height 0.5s ease-in; }
.miph-descripcion-contenedor p { margin: 0 0 1em 0; padding: 0; font-size: 1em; line-height: 1.6em; color: #555d66; }
.miph-descripcion-contenedor p:last-child { margin-bottom: 0; }
.miph-read-more { display: block; text-align: center; margin-top: 10px; font-weight: bold; color: #2271b1; cursor: pointer; text-decoration: underline; }

/* --- BOTÓN DE "ME GUSTA" --- */
.miph-like-button { display: inline-flex; position: absolute; top: 15px; left: 15px; z-index: 10; align-items: center; gap: 8px; padding: 8px 15px; border: 1px solid #ccd0d4; border-radius: 20px; cursor: pointer; transition: all 0.2s ease-in-out; background-color: rgba(255, 255, 255, 0.8); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
.miph-like-button:hover { border-color: #a7aaad; }
.miph-like-button .dashicons-heart { font-size: 20px; color: #555d66; transition: color 0.2s, transform 0.2s; }
.miph-like-count { font-size: 14px; font-weight: bold; color: #3c434a; }
.miph-like-button.liked { pointer-events: none; background-color: #fbeaea; border-color: #e57373; }
.miph-like-button.liked .dashicons-heart { color: #e53935; transform: scale(1.1); }

/* --- GALERÍA COMPLETA Y FILTROS --- */
.miph-galeria-completa-contenedor { margin-top: 40px; }
.miph-filtros-barra { margin-bottom: 25px; display: flex; align-items: center; gap: 10px; }
.miph-filtros-barra label { font-weight: bold; }
.miph-filtros-barra select { padding: 8px; border-radius: 4px; border: 1px solid #ccd0d4; }
.miph-grid-historias { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 25px; }
.miph-historia-card { background-color: #fff; border: 1px solid #e0e0e0; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 8px rgba(0,0,0,0.05); transition: transform 0.2s, box-shadow 0.2s; }
.miph-historia-card:hover { transform: translateY(-5px); box-shadow: 0 8px 16px rgba(0,0,0,0.1); }
.miph-card-image-wrapper { position: relative; cursor: pointer; height: 200px; background-color: #f0f0f1; }
.miph-card-image-wrapper .miph-image-bg { border-radius: 0; }
.miph-card-image-wrapper .miph-like-button { top: 10px; left: 10px; }
.miph-gallery-indicator { position: absolute; top: 10px; right: 10px; background: rgba(0,0,0,0.6); color: white; padding: 5px 10px; border-radius: 15px; font-size: 12px; display: inline-flex; align-items: center; gap: 5px; }
.miph-card-content { padding: 20px; }
.miph-card-titulo { margin: 0 0 10px 0; font-size: 1.2em; color: #2c3338; }

/* --- MENSAJES DE RESPUESTA --- */
#miph-mensaje-respuesta { padding: 15px; border-radius: 4px; margin-top: 20px; font-weight: bold; display: none; }
#miph-mensaje-respuesta.success { background-color: #d1e7dd; color: #0f5132; border: 1px solid #badbcc; }
#miph-mensaje-respuesta.error { background-color: #f8d7da; color: #842029; border: 1px solid #f5c2c7; }

/* --- ESTILOS PARA LIGHTBOX --- */
.miph-lightbox-nav { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,0.5); color: white; border: none; font-size: 40px; cursor: pointer; padding: 10px 20px; z-index: 1000; border-radius: 5px;}
.miph-lightbox-nav.prev { left: 20px; }
.miph-lightbox-nav.next { right: 20px; }
.basicLightbox__placeholder { color: white; }