/*
====================================================
SINGLE.CSS
NewsCol - Política en Acción
====================================================
*/

/*====================================================
VARIABLES
====================================================*/

:root{

    --single-max-width:1320px;
    --single-sidebar:340px;

    --single-primary:#0b64c0;
    --single-dark:#111827;
    --single-text:#333;
    --single-light:#6b7280;

    --single-border:#e5e7eb;
    --single-bg:#ffffff;

    --single-radius:12px;

    --single-shadow:0 10px 30px rgba(0,0,0,.08);

}

/*====================================================
PÁGINA
====================================================*/

.nc-single-page{

    background:#f5f6f8;

    padding:40px 0 70px;

}

/*====================================================
CONTENEDOR
====================================================*/

.nc-wrap{

    max-width:var(--single-max-width);

    margin:auto;

    padding:0 20px;

}

/*====================================================
GRID
====================================================*/

.nc-single-grid{

    display:grid;

    grid-template-columns:minmax(0,1fr) var(--single-sidebar);

    gap:40px;

    align-items:start;

}

/*====================================================
CONTENIDO
====================================================*/

.nc-single-content{

    background:#fff;

    border-radius:var(--single-radius);

    box-shadow:var(--single-shadow);

    overflow:hidden;

}

/*====================================================
SIDEBAR
====================================================*/

.nc-single-sidebar{

    width:100%;

}

.nc-single-sidebar .nc-sidebar{

    width:100%;

}

.nc-single-sidebar .widget{

    background:#fff;

    border-radius:12px;

    margin-bottom:25px;

    padding:22px;

    box-shadow:0 5px 20px rgba(0,0,0,.06);

}

.nc-single-sidebar .widget-title{

    margin:0 0 18px;

    font-size:1.15rem;

    color:#111;

    padding-bottom:10px;

    border-bottom:2px solid var(--single-primary);

}

.nc-single-sidebar ul{

    list-style:none;

    margin:0;

    padding:0;

}

.nc-single-sidebar li{

    margin-bottom:15px;

}

.nc-single-sidebar li:last-child{

    margin-bottom:0;

}

.nc-single-sidebar a{

    color:#222;

    text-decoration:none;

    transition:.25s;

}

.nc-single-sidebar a:hover{

    color:var(--single-primary);

}

/*====================================================
HEADER
====================================================*/

.nc-single-header{

    padding:35px 40px 20px;

}

.nc-single-title{

    margin:0;

    font-size:1.5rem;

    line-height:1.15;

    color:#111;

    font-weight:800;

}

/*====================================================
IMAGEN
====================================================*/

.nc-single-image{

    margin:0;

}

.nc-single-image img{

    width:100%;

    display:block;

    height:auto;

}

.nc-single-image figcaption{

    padding:12px 20px;

    font-size:.90rem;

    color:#666;

    background:#fafafa;

    border-top:1px solid var(--single-border);

}
/*====================================================
AUTOR
====================================================*/

.nc-post-author{

    display:flex;

    align-items:center;

    gap:14px;

    padding:22px 40px;

    border-bottom:1px solid var(--single-border);

    background:#fff;

}

.nc-author-avatar{

    flex-shrink:0;

}

.nc-author-avatar img{

    width:40px;

    height:40px;

    border-radius:50%;

    display:block;

}

.nc-author-data{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:18px;

    font-size:.75rem;

    color:var(--single-light);

}

.nc-author-name{

    font-weight:700;

    color:var(--single-dark);

}

.nc-author-date,
.nc-reading-time{

    display:flex;

    align-items:center;

    gap:6px;

}

.nc-author-date i,
.nc-reading-time i{

    color:var(--single-primary);

}

/*====================================================
CONTENIDO
====================================================*/

.nc-entry-content{

    padding:35px 40px;

}

.nc-entry-content::after{

    content:"";

    display:block;

    clear:both;

}

.nc-entry-content p{

    margin:0 0 24px;

    font-size:0.8rem;

    line-height:2;

    color:var(--single-text);

}

.nc-entry-content h2{

    margin:45px 0 20px;

    font-size:2rem;

    line-height:1.3;

    color:var(--single-dark);

}

.nc-entry-content h3{

    margin:35px 0 18px;

    font-size:1.6rem;

    line-height:1.4;

    color:var(--single-dark);

}

.nc-entry-content h4{

    margin:30px 0 15px;

    font-size:1.3rem;

    color:var(--single-dark);

}

.nc-entry-content strong{

    font-weight:700;

}

.nc-entry-content a{

    color:var(--single-primary);

    text-decoration:none;

    border-bottom:1px solid transparent;

    transition:.25s;

}

.nc-entry-content a:hover{

    border-color:var(--single-primary);

}

/*====================================================
IMÁGENES
====================================================*/

.nc-entry-content img{

    max-width:100%;

    height:auto;

    border-radius:10px;

    margin:25px auto;

    display:block;

}

.nc-entry-content figure{

    margin:35px auto;

}

.nc-entry-content figcaption{

    margin-top:12px;

    font-size:.9rem;

    color:#666;

    text-align:center;

}

/*====================================================
LISTAS
====================================================*/

.nc-entry-content ul,
.nc-entry-content ol{

    margin:25px 0 30px 25px;

    line-height:1.9;

}

.nc-entry-content li{

    margin-bottom:10px;

}

/*====================================================
CITAS
====================================================*/

.nc-entry-content blockquote{

    margin:40px 0;

    padding:25px 30px;

    border-left:5px solid var(--single-primary);

    background:#f8fafc;

    font-size:1.25rem;

    font-style:italic;

    color:#333;

    border-radius:8px;

}

/*====================================================
TABLAS
====================================================*/

.nc-entry-content table{

    width:100%;

    border-collapse:collapse;

    margin:35px 0;

}

.nc-entry-content th{

    background:var(--single-primary);

    color:#fff;

    padding:14px;

    text-align:left;

}

.nc-entry-content td{

    padding:14px;

    border:1px solid #ddd;

}

/*====================================================
VIDEOS
====================================================*/

.nc-entry-content iframe{

    width:100%;

    min-height:450px;

    border:0;

    border-radius:10px;

}

/*====================================================
PAGINACIÓN
====================================================*/

.page-links{

    display:flex;

    gap:10px;

    margin-top:40px;

}

.page-links a,
.page-links span{

    width:42px;

    height:42px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:6px;

    background:#f3f4f6;

    text-decoration:none;

}

.page-links .current{

    background:var(--single-primary);

    color:#fff;

}
/*====================================================
COMPARTIR
====================================================*/

.nc-share{

    padding:35px 40px;

    border-top:1px solid var(--single-border);

    background:#fff;

}

.nc-share-title{

    margin:0 0 20px;

    font-size:0.9rem;

    font-weight:700;

    color:var(--single-dark);

}

.nc-share-buttons{

    display:flex;

    align-items:center;

    gap:15px;

}

.nc-share-buttons a{

    width:46px;

    height:46px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    color:#fff;

    font-size:18px;

    text-decoration:none;

    transition:.30s;

}

.nc-share-buttons a:hover{

    transform:translateY(-3px);

}

.facebook{

    background:#1877f2;

}

.twitter{

    background:#000;

}

.whatsapp{

    background:#25D366;

}

/*====================================================
ANTERIOR / SIGUIENTE
====================================================*/

.nc-post-navigation{

    display:flex;

    justify-content:space-between;

    gap:20px;

    padding:35px 40px;

    border-top:1px solid var(--single-border);

    background:#fff;

}

.nc-post-prev,
.nc-post-next{

    width:50%;

}

.nc-post-prev a,
.nc-post-next a{

    display:block;

    padding:16px 20px;

    background:#f7f7f7;

    border-radius:10px;

    text-decoration:none;

    color:#222;

    font-weight:600;

    transition:.30s;

}

.nc-post-prev a:hover,
.nc-post-next a:hover{

    background:var(--single-primary);

    color:#fff;

}

.nc-post-next{

    text-align:right;

}

/*====================================================
PERFIL DEL AUTOR
====================================================*/

.nc-author-box{

    display:flex;

    gap:25px;

    padding:40px;

    border-top:1px solid var(--single-border);

    background:#fff;

}

.nc-author-photo{

    flex-shrink:0;

}

.nc-author-photo img{

    width:90px;

    height:90px;

    border-radius:50%;

    display:block;

}

.nc-author-info{

    flex:1;

}

.nc-author-info h3{

    margin:0 0 12px;

    font-size:0.9rem;

    color:var(--single-dark);

}

.nc-author-info p{

    margin:0 0 20px;

    line-height:1.8;

    color:#555;

}

.nc-author-info a{

    display:inline-block;

    padding:12px 20px;

    background:var(--single-primary);

    color:#fff;

    text-decoration:none;

    border-radius:6px;

    font-weight:600;

    transition:.30s;

}

.nc-author-info a:hover{

    background:#084d91;

}
/*====================================================
COMENTARIOS
====================================================*/

.nc-comments-area{

    margin-top:40px;

    background:#fff;

    border-radius:var(--single-radius);

    box-shadow:var(--single-shadow);

    padding:40px;

}

.nc-section-title{

    margin:0 0 30px;

    font-size:0.8rem;

    font-weight:700;

    color:var(--single-dark);

}

.nc-section-title i{

    color:var(--single-primary);

    margin-right:10px;

}

.comment-list{

    list-style:none;

    margin:0;

    padding:0;

}

.comment{

    margin-bottom:30px;

    padding-bottom:30px;

    border-bottom:1px solid var(--single-border);

}

.comment:last-child{

    border-bottom:0;

    margin-bottom:0;

    padding-bottom:0;

}

.comment-body{

    background:#fafafa;

    padding:20px;

    border-radius:10px;

}

.comment-author{

    font-weight:700;

    color:#111;

}

.comment-meta{

    font-size:.40rem;

    color:#777;

    margin-bottom:15px;

}

.comment-content{

    line-height:1.8;

}

/*====================================================
FORMULARIO
====================================================*/

.comment-respond{

    margin-top:40px;

}

.comment-form{

    display:grid;

    gap:18px;

}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="tel"],
.comment-form textarea{

    width:100%;

    padding:15px;

    border:1px solid #d8d8d8;

    border-radius:8px;

    font-size:14px;

    transition:.30s;

    box-sizing:border-box;

}

.comment-form textarea{

    min-height:180px;

    resize:vertical;

}

.comment-form input:focus,
.comment-form textarea:focus{

    outline:none;

    border-color:var(--single-primary);

}

.comment-form input[type="submit"]{

    width:220px;

    padding:15px;

    background:var(--single-primary);

    color:#fff;

    border:0;

    border-radius:8px;

    cursor:pointer;

    font-size:12px;

    font-weight:700;

    transition:.30s;

}

.comment-form input[type="submit"]:hover{

    background:#084d91;

}

/*====================================================
RELACIONADAS
====================================================*/

.nc-related-posts{

    margin-top:50px;

}

.nc-related-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}

.nc-related-card{

    background:#fff;

    border-radius:12px;

    overflow:hidden;

    box-shadow:0 5px 20px rgba(0,0,0,.08);

    transition:.30s;

}

.nc-related-card:hover{

    transform:translateY(-6px);

}

.nc-related-card img{

    width:100%;

    height:220px;

    object-fit:cover;

    display:block;

    transition:.30s;

}

.nc-related-card:hover img{

    transform:scale(1.05);

}

.nc-related-content{

    padding:20px;

}

.nc-related-content h3{

    margin:0 0 10px;

    font-size:0.8rem;

    line-height:1.5;

}

.nc-related-content h3 a{

    color:#222;

    text-decoration:none;

}

.nc-related-content h3 a:hover{

    color:var(--single-primary);

}

.nc-related-content span{

    font-size:.70rem;

    color:#777;

}

/*====================================================
RESPONSIVE
====================================================*/

@media(max-width:1100px){

    .nc-single-grid{

        grid-template-columns:1fr 300px;

    }

}

@media(max-width:992px){

    .nc-single-grid{

        grid-template-columns:1fr;

    }

    .nc-single-sidebar{

        margin-top:40px;

    }

    .nc-related-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .nc-single-header{

        padding:25px;

    }

    .nc-single-title{

        font-size:0.8rem;

    }

    .nc-post-author{

        padding:20px 25px;

        flex-wrap:wrap;

    }

    .nc-entry-content{

        padding:25px;

    }

    .nc-share{

        padding:25px;

    }

    .nc-post-navigation{

        padding:25px;

        flex-direction:column;

    }

    .nc-post-prev,
    .nc-post-next{

        width:100%;

    }

    .nc-post-next{

        text-align:left;

    }

    .nc-author-box{

        padding:25px;

        flex-direction:column;

        text-align:center;

    }

    .nc-comments-area{

        padding:25px;

    }

    .nc-related-grid{

        grid-template-columns:1fr;

    }

}

@media(max-width:480px){

    .nc-wrap{

        padding:0 15px;

    }

    .nc-single-title{

        font-size:1.5rem;

    }

    .nc-author-data{

        display:block;

    }

    .nc-author-date,
    .nc-reading-time{

        display:block;

        margin-top:5px;

    }

    .nc-share-buttons{

        justify-content:center;

        flex-wrap:wrap;

    }

}