/*
 * ----------------------------------------------------------------------------
 * 12.0 ESTILOS DE SINGLE POST (v2.1 - Mejoras de Diseño) - PALETA ANDINA
 * ----------------------------------------------------------------------------
 */

/* --- 1. Barra de Progreso --- */
.reading-progress-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 0%; /* Se controla con JS */
    height: 5px;
    background: var(--color-terracota-inca); /* Progreso en color cálido/energía */
    z-index: 1001; /* Encima del header sticky */
    transition: width 0.1s linear;
}

/* --- 2. Hero Dinámico --- */
.post-hero-dynamic {
    position: relative;
    padding: 80px 0;
    min-height: 400px;
    background-color: var(--color-piedra-andes); /* Fondo base oscuro */
    background-size: cover;
    background-position: center;
    color: var(--color-blanco);
    display: flex;
    align-items: center;
    text-align: center;
}
.post-hero-dynamic .hero-image-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(rgba(47, 47, 47, 0.6), rgba(31, 93, 140, 0.6)); /* Gradiente Piedra -> Azul */
    z-index: 1;
}
.post-hero-dynamic .hero-content-overlay {
    position: relative;
    z-index: 2;
    max-width: 900px; /* Un poco más ancho para títulos largos */
    margin: 0 auto;
}
.post-hero-category {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--color-blanco) !important;
    background: var(--color-terracota-inca); /* Categoría destacada */
    padding: 5px 15px;
    border-radius: 50px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}
.post-hero-category:hover {
    background: var(--color-blanco);
    color: var(--color-piedra-andes) !important;
    text-decoration: none;
}
.post-hero-dynamic .hero-title {
    font-family: var(--font-principal);
    font-size: 3rem;
    margin: 20px 0 15px 0;
    color: var(--color-blanco);
    text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}
.post-hero-meta {
    font-size: 0.95rem;
    color: var(--color-arena-valle); /* Color claro suave */
    opacity: 0.9;
}
.post-hero-meta a {
    color: var(--color-blanco);
    text-decoration: none;
}
.post-hero-meta a:hover {
    color: var(--color-verde-queuna);
    text-decoration: underline;
}
.post-hero-meta .meta-item-separator {
    margin: 0 10px;
}

/* --- 3. Contenido del Artículo --- */
.single-post-content {
    background: var(--color-blanco);
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.05);
    padding: 0; /* Quitamos padding aquí, lo ponemos en .entry-content */
}

/* Contenido de texto */
.entry-content {
    padding: 30px 40px;
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--color-gris-grafito);
    max-width: 720px; /* Ancho de lectura ideal */
    margin: 0 auto;
}
.entry-content p {
    margin-bottom: 1.5em;
}
.entry-content h2 {
    font-family: var(--font-principal);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--color-azul-andino); /* Títulos internos corporativos */
    margin-top: 2em;
    margin-bottom: 1em;
}
.entry-content h3 {
    font-family: var(--font-principal);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-piedra-andes);
    margin-top: 1.8em;
    margin-bottom: 1em;
}
.entry-content ul,
.entry-content ol {
    margin-bottom: 1.5em;
    padding-left: 1.5em;
}
.entry-content ul li {
    margin-bottom: 0.5em;
    list-style-type: disc; /* Asegurar bullets */
}
/* Citas estilo Andino */
.entry-content blockquote {
    border-left: 4px solid var(--color-verde-queuna); /* Borde verde naturaleza */
    background: var(--color-arena-valle); /* Fondo arena cálido */
    padding: 20px 30px;
    margin: 1.5em 0;
    font-size: 1.2rem;
    font-style: italic;
    font-weight: 500;
    color: var(--color-piedra-andes);
    border-radius: 0 8px 8px 0;
}
.entry-content blockquote p {
    margin-bottom: 0;
}
.entry-content a {
    color: var(--color-verde-queuna);
    text-decoration: underline;
    transition: color 0.2s ease;
}
.entry-content a:hover {
    color: var(--color-azul-andino);
}

/* --- 4. Footer del Artículo (Etiquetas y Compartir) --- */
.entry-footer {
    margin: 30px 40px; /* Reajustado para que coincida con .entry-content */
    padding-top: 20px;
    border-top: 1px solid #eee;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    max-width: 720px; /* Para que coincida con el ancho del contenido */
    margin-left: auto;
    margin-right: auto;
}
.post-tags {
    font-size: 0.9rem;
    flex-basis: 60%;
    flex-grow: 1;
}
.post-tags .tags-title {
    font-weight: 700;
    color: var(--color-piedra-andes);
    margin-right: 10px;
}
.post-tags a {
    display: inline-block;
    background: var(--color-gris-platino);
    color: var(--color-gris-grafito);
    padding: 4px 10px;
    border-radius: 4px;
    margin-right: 5px;
    margin-bottom: 5px;
    text-decoration: none;
    transition: all 0.2s ease;
}
.post-tags a:hover {
    background: var(--color-azul-andino);
    color: var(--color-blanco);
    text-decoration: none;
}
.share-buttons {
    display: flex;
    align-items: center;
    gap: 10px;
}
.share-buttons .share-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--color-piedra-andes);
}
.share-buttons .share-icon {
    font-size: 1.2rem;
    color: #888;
    text-decoration: none;
    transition: all 0.3s ease;
}
.share-buttons .share-icon:hover {
    color: var(--color-verde-queuna);
    transform: scale(1.1);
}

/* --- 5. Caja de Autor (ELIMINADO) --- */

/* --- 6. Navegación Anterior/Siguiente --- */
.post-navigation {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    overflow: hidden;
}
.post-navigation .nav-links {
    display: contents;
}
.post-navigation .nav-previous,
.post-navigation .nav-next {
    flex-basis: 50%;
    padding: 25px;
    text-decoration: none;
    transition: background-color 0.3s ease;
}
.post-navigation .nav-previous {
    border-right: 1px solid #e0e0e0;
    text-align: left;
}
.post-navigation .nav-next {
    text-align: right;
}
.post-navigation a:hover {
    background: var(--color-arena-valle); /* Hover cálido */
    text-decoration: none;
}
.post-navigation .nav-subtitle {
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--color-gris-claro-texto);
    margin-bottom: 5px;
}
.post-navigation .nav-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-piedra-andes);
}
.post-navigation a:hover .nav-title {
    color: var(--color-azul-andino);
}

/* --- 7. Comentarios (ESTILOS MEJORADOS) --- */
#comments {
    margin-top: 30px;
    background: var(--color-blanco);
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 35px 40px; /* Más padding para mayor impacto */
    box-shadow: 0 8px 30px rgba(0,0,0,0.07); /* Sombra más pronunciada */
}
/* ... [Otros estilos de comentarios] ... */

/* Estilos del Formulario de Comentarios */
.comment-respond .comment-reply-title {
    font-size: 1.8rem;
    font-family: var(--font-principal);
    font-weight: 700;
    color: var(--color-azul-andino);
    margin-bottom: 15px;
}
.comment-form label {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 5px;
    color: var(--color-piedra-andes);
}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    margin-bottom: 15px;
    font-size: 1rem;
    transition: border-color 0.2s ease;
}
.comment-form input[type="text"]:focus,
.comment-form input[type="email"]:focus,
.comment-form textarea:focus {
    border-color: var(--color-verde-queuna);
    outline: none;
}
.comment-form .form-submit input[type="submit"] {
    background: var(--color-verde-queuna); /* Botón de acción verde */
    color: var(--color-blanco);
    padding: 12px 25px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 700;
    transition: background-color 0.3s ease;
}
.comment-form .form-submit input[type="submit"]:hover {
    background: var(--color-piedra-andes); /* Hover oscuro */
}

/* FIX: Consentimiento de Cookies en una sola línea */
.comment-form p.comment-form-cookies-consent {
    display: flex; 
    align-items: center;
    gap: 8px; 
    font-size: 0.9rem;
    margin-top: -5px; 
}
.comment-form-cookies-consent label {
    display: inline;
    font-weight: normal; 
    margin-bottom: 0;
    line-height: 1.4; /* Asegura que el texto no esté pegado */
}
.comment-form-cookies-consent input[type="checkbox"] {
    width: auto; 
    margin: 0;
    flex-shrink: 0; 
}


/* Campo Anti-Spam (Mejorado) */
.comment-form .comment-form-math-check {
    margin-bottom: 15px;
    padding: 15px;
    background: var(--color-gris-platino);
    border: 1px solid #eee;
    border-radius: 8px;
    font-size: 0.95rem;
    display: flex; 
    align-items: center;
    gap: 10px;
    justify-content: center;
}
.comment-form .comment-form-math-check label {
    margin-bottom: 0;
    font-weight: 700;
}
.comment-form .comment-form-math-check .math-question {
    font-weight: 700;
    color: var(--color-terracota-inca); /* Pregunta destacada */
}
.comment-form .comment-form-math-check input[type="text"] {
    display: inline-block;
    width: 100px; 
    margin: 0; 
    padding: 8px;
    flex-shrink: 0;
}

/* --- 8. Posts Relacionados --- */
.related-tours-dark { /* Mantener el nombre para consistencia con los tours si hay más sections así */
    padding: 2rem;
    background-color: var(--color-piedra-andes);
    border-top: 4px solid var(--color-terracota-inca);
}
.related-tours-dark .section-title-dark {
    margin-bottom: 30px;
    text-align: center;
}
.related-tours-dark .section-title-dark h2 {
    font-family: var(--font-principal);
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--color-blanco);
    margin: 0 0 10px 0;
}
.related-tours-dark .section-title-dark p {
    font-size: 1.1rem;
    color: var(--color-arena-valle);
    margin: 0;
}
/* Mejoras a las cards en el carrusel de relacionados */
.splide-related-posts .post-card {
    background: #3a3a3a; /* Tono ligeramente más claro que Piedra */
    border: none; /* Eliminar borde para un look más limpio */
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
    border-radius: 10px; /* Asegurar que las esquinas sean redondeadas */
    overflow: hidden; /* Para que la imagen también se ajuste */
}
.splide-related-posts .post-card-image {
    height: 180px; /* Ajustar altura para mantener consistencia */
}
.splide-related-posts .post-card-image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.splide-related-posts .post-card-content {
    padding: 20px; /* Ajustar padding */
}
.splide-related-posts .post-card-title {
    font-size: 1.1rem; /* Un poco más pequeño para mantener el layout */
    margin-bottom: 10px;
    height: 3.2em; /* 1.1rem * 1.4 * 2 líneas */
}
.splide-related-posts .post-card-title a {
    color: var(--color-blanco);
}
.splide-related-posts .post-card-title a:hover {
    color: var(--color-verde-queuna);
}
.splide-related-posts .post-card-category {
    color: var(--color-terracota-inca);
}
.splide-related-posts .post-card-readmore {
    color: var(--color-arena-valle);
}
.splide-related-posts .post-card-readmore:hover {
    color: var(--color-verde-queuna);
}

/* Estilos de los controles de Splide */
.splide__pagination {
    margin-top: 30px;
}
.splide__pagination__page.is-active {
    background: var(--color-verde-queuna);
}
.splide__pagination__page {
    background: rgba(255,255,255,0.4);
}

/* --- 9. Responsividad --- */
@media (max-width: 992px) {
    /* El layout de 1 columna se hereda de 'archive-tour.css' */

    /* **AÑADIDO/MODIFICADO:** Forzar el apilamiento de la barra lateral y el contenido principal */
    .single-tour-main-area .tour-content-layout {
        display: block; /* Desactiva Flex o Grid del layout de dos columnas */
    }

    /* Ajustar el orden para que la barra lateral aparezca DESPUÉS del contenido si es necesario */
    .tour-content-main {
        order: 1;
        width: 100% !important; /* Asegura ancho completo */
        margin-bottom: 30px; /* Espacio después del contenido principal */
    }

    .tour-archive-sidebar.blog-sidebar {
        order: 2; /* Mueve la barra lateral debajo del contenido */
        width: 100% !important; /* Asegura ancho completo */
        padding: 15px; /* Pequeño padding para el sidebar en móvil */
        border: 1px solid #e0e0e0;
        border-radius: 12px;
        box-shadow: 0 5px 15px rgba(0,0,0,0.05);
        background: var(--color-blanco);
    }
    
    /* Asegurar que la barra de búsqueda y los widgets se muestren bien en la barra lateral de móvil */
    .filter-widget {
        margin-bottom: 25px;
        padding-bottom: 15px;
        border-bottom: 1px solid #eee;
    }
    .filter-widget:last-child {
        border-bottom: none;
        margin-bottom: 0;
        padding-bottom: 0;
    }
}

@media (max-width: 768px) {
    .post-hero-dynamic {
        padding: 50px 0; /* Menos padding vertical para el héroe */
        min-height: 300px;
    }
    .post-hero-dynamic .hero-title {
        font-size: 2.2rem;
    }
    .single-tour-main-area.container {
        padding: 0.5rem; /* Ajustar padding del contenedor principal */
    }
    .single-post-content {
        padding: 0;
    }
    .entry-content {
        padding: 20px 20px; /* Reducir el padding para ganar espacio horizontal */
    }
    .entry-footer {
        margin: 20px 20px; /* Ajustar el margen para coincidir con el padding del contenido */
        flex-direction: column;
        align-items: flex-start;
    }
    .post-navigation {
        flex-direction: column; /* Apilar la navegación anterior/siguiente */
    }
    .post-navigation .nav-previous {
        border-right: none;
        border-bottom: 1px solid #e0e0e0;
    }
    .post-navigation .nav-previous,
    .post-navigation .nav-next {
        flex-basis: 100%;
        padding: 15px 20px; /* Ajustar padding */
    }
    #comments {
        padding: 20px;
    }
    .comment-list .children {
        padding-left: 15px;
    }
    .splide-related-posts .post-card-image {
        height: 150px;
    }
    .splide-related-posts .post-card-title {
        font-size: 1rem;
        height: 2.8em; /* 1rem * 1.4 * 2 líneas */
    }
    .search-form {
        /* Centralizar el formulario para que se vea bien en el ancho 100% del sidebar */
        max-width: 300px; /* Limitar el ancho máximo del formulario en el sidebar móvil */
        margin: 0 auto 20px auto; /* Centrarlo y añadir espacio inferior */
        padding: 0; /* Asegurar que el padding interno no lo empuje */
    }

    .search-form .search-field {
        width: 100%; /* El campo de texto ocupa el ancho disponible */
        padding: 10px; /* Reducir padding si es necesario */
        font-size: 0.95rem;
    }
    
    .search-form .search-submit {
        /* Ajustar el botón si es necesario */
        padding: 10px 15px; 
    }
}

@media (max-width: 576px) {
    .search-form {
        max-width: 90%; /* Ajusta al 90% del contenedor si el ancho fijo es muy grande */
        margin: 0 auto 20px auto;
    }
    .post-hero-dynamic .hero-title {
        font-size: 1.8rem; /* Títulos aún más pequeños */
    }
    .entry-content {
        font-size: 1rem;
        padding: 20px 15px; /* Un padding más pequeño */
    }
    .entry-footer {
        margin: 15px 15px; /* Un margen más pequeño */
    }
    .post-tags {
        flex-basis: 100%; /* Las etiquetas ocupan toda la línea */
        margin-bottom: 10px;
    }
    .share-buttons {
        justify-content: flex-start; /* Los botones de compartir se alinean a la izquierda */
    }
    /* **AÑADIDO/MODIFICADO:** Anti-Spam en móviles */
    .comment-form .comment-form-math-check {
        flex-direction: column; /* Apilar la pregunta y la respuesta */
        align-items: flex-start;
        padding: 10px 15px;
    }
    .comment-form .comment-form-math-check input[type="text"] {
        width: 100%; /* El campo de respuesta se expande */
        max-width: 150px; /* Pero con un máximo razonable */
    }
    .recent-post-image {
        width: 60px; /* Imágenes de posts recientes ligeramente más pequeñas */
        height: 60px;
    }
}

.search-form{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    gap: 0.5rem;
}

.single-tour-main-area.container{
    padding: 1rem;
}

/* --- 10. Sidebar - Widget de Posts Recientes --- */
.recent-posts-widget .widget-title {
    /* No es un botón */
    cursor: default;
    margin-bottom: 20px;
    color: var(--color-azul-andino);
}
.recent-posts-widget .widget-content {
    /* A diferencia de los filtros, este está siempre abierto */
    max-height: 1000px; 
}
.recent-posts-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.recent-post-item {
    display: flex;
    gap: 15px;
    align-items: center;
}
.recent-post-image {
    flex-shrink: 0;
    width: 70px;
    height: 70px;
    border-radius: 8px;
    overflow: hidden;
    background: var(--color-gris-platino);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border: 1px solid #eee;
}
.recent-post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.recent-post-image:hover img {
    transform: scale(1.1);
}
.recent-post-placeholder .dashicons {
    font-size: 30px;
    color: #ccc;
}
.recent-post-content {
    flex-grow: 1;
    min-width: 0; /* Arreglo para flexbox */
}
.recent-post-title {
    font-family: var(--font-principal);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 5px 0;
}
.recent-post-title a {
    color: var(--color-piedra-andes);
    text-decoration: none;
    transition: color 0.2s ease;
}
.recent-post-title a:hover {
    color: var(--color-azul-andino);
}
.recent-post-date {
    font-size: 0.8rem;
    color: var(--color-gris-claro-texto);
    font-weight: 600;
}

.comment-list{
    margin: 0px;
    padding: 0.5rem;
}