/**
Theme Name: Astra Child CAP
Author: CAP
Author URI: https://www.cap.org.pe
Description: CAP Astra website
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child-cap
Template: astra
*/

.ast-plain-container, .ast-page-builder-template, .ast-separate-container{
    background-color: #F5F5F5!important;
}

.capkit-hero-wrapper {
    position: relative;
    overflow: hidden;
}

.capkit-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background-color: rgba(0,0,0,0.5);
}
.capkit-hero-content {
    position: relative;
    z-index: 1;
}

.cap-hero-wrapper {
    position: relative;
    width: 100%;
    min-height: 60vh;
    padding: 100px 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
}

.capkit-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Color del overlay */
    z-index: 2;
}

.cap-hero-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: background-image 1s ease-in-out;
    z-index: 1;
}

.cap-hero-content {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cap-hero-logo {
    max-width: 200px;
    margin-bottom: 20px;
}

.cap-hero-logo img {
    max-width: 180px;
    height: auto;
}

.cap-hero-subtitle {
    font-size: 20px;
    margin-bottom: 10px !important;
}

.cap-hero-title {
    font-size: 40px;
    font-weight: bold;
}

h1.cap-hero-title {
    max-width: 780px;
}
.l-btnmenu{
    width: 110px;
    text-align: center;
}
.imput-header .hfe-search-form__container {
    height: 30px;
}

/*FORMULARIO DE CONTACTO*/
#responsive-form{
	
	margin:0 auto;
	width:100%;
}
.form-row{
	width: 100%;
}
.column-half, .column-full{
	float: left;
	position: relative;
	padding: 0.65rem;
	width:100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box
}
.clearfix:after {
	content: "";
	display: table;
	clear: both;
}

input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required, textarea.wpcf7-form-control.wpcf7-textarea{
    border-radius: 0px;
    background-color: transparent;
    border: none;
    border-bottom: solid 1px var(--e-global-color-secondary);
}

input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required:focus,
textarea.wpcf7-form-control.wpcf7-textarea:focus {
    border-bottom: solid 1px var(--e-global-color-primary);
    outline: none;
    background-color: transparent;
}

input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required:active,
textarea.wpcf7-form-control.wpcf7-textarea:active {
    background-color: #F5F5F5 !important;
}



#responsive-form textarea {
    resize: none;
  }

/**---------------- Media query ----------------**/
@media only screen and (min-width: 48em) { 
	.column-half{
		width: 50%;
	}
}


/*deco titulos*/
.deco-title h2 {
    position: relative;
    display: inline-block;
    margin-bottom: 1rem;
  }
  
  .deco-title .elementor-heading-title::after {
    content: "";
    display: block;
    width: 80px;
    height: 3px;
    background-color: var(--e-global-color-primary); 
    margin-top: 1.5rem;
  }

  .deco-title-center .elementor-heading-title::after {
    content: "";
    display: block;
    width: 30px;
    height: 3px;
    background-color: var(--e-global-color-primary); 
    margin: 0.5rem auto 0 auto;
  }
 
  .deco-title-tabs .e-n-tab-title{
    position: relative;
    display: inline-block;
    margin-bottom: 1rem;

  }

  .deco-title-tabs .e-n-tab-title::after {
    content: "";
    display: block;
    width: 80px;
    height: 3px;
    background-color: var(--e-global-color-primary);
    margin-top: 20px;
}

/*estilos blog*/
/* Post destacado (ancho completo) */
h2.entry-title {
    font-size: 18px;
}
.post-item.full-width {
    width: 100%;
    margin-bottom: 30px;
    background: transparent;  /* fondo transparente */
}

/* Línea decorativa y fecha en el grid */
.line-small {
    display: inline-block;
    width: 40px;
    height: 1px;
    background-color: #bbb;
}
.date-text-grid {
    font-style: italic;
    color: #555;
    white-space: nowrap;
}

/* Grilla de los posts restantes */
.blog-posts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

/* Cada post en la grilla */
.post-item {
    padding: 15px;
    background: transparent;  /* fondo transparente */
    border: none;             /* sin borde */
}

.post-thumbnail {
    margin-bottom: 10px;
}

.read-more-btn {
    display: inline-block;
    margin-top: 10px;
    padding: 10px 20px;
    background: #0073e6;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
}

.read-more-btn:hover {
    background: #005bb5;
}

/* Hacemos que la imagen de cada post en la grilla sea cuadrada y ocupe el ancho completo */
.blog-posts-grid .post-item .post-thumbnail img {
    width: 100%;
    aspect-ratio: 1 / 1;    /* mantiene proporción 1:1 */
    object-fit: cover;      /* recorta/cubre el espacio sin deformar */
    display: block;
}

/* Aseguramos que el contenedor post-thumbnail no añada márgenes extra */
.blog-posts-grid .post-item .post-thumbnail {
    margin: 0 0 10px 0;  /* solo margen inferior */
    overflow: hidden;    /* para que object-fit recorte bien */
}

.read-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;                              /* espacio entre texto e icono */
    text-transform: uppercase;            /* forzar mayúsculas */
    background: none;                     /* sin fondo normal */
    color: var(--e-global-color-secondary); /* color secundario de Elementor */
    padding: 5px 8px;                     /* 5px arriba/abajo, 8px lados */
    text-decoration: none;
    border-radius: 4px;
    transition: background-color .2s ease, color .2s ease;
  }
  
  .read-more-btn i {
    font-size: 1em;                       /* igual tamaño que el texto */
  }
  
  .read-more-btn:hover {
    background-color: var(--e-global-color-secondary);
    color: #fff;                          /* texto blanco en hover */
  }
  
  .read-more-btn:hover i {
    color: #fff;                          /* icono blanco en hover */
  }

  .centrado {
    text-align: center;
}


/*single post*/

.entry-title {
    font-size: 24px;
    margin-top: 20px;
    margin-bottom: 10px;
}


.entry-meta {
    color: #888;
    font-size: 14px;
    margin-bottom: 20px;
}

/*buscador*/
.is-form-style input.is-search-submit, .is-search-icon{
    background: #fff;
    border-left: none !important;
}

/*sidebar*/
a.wpp-post-title {
  text-transform: lowercase;          /* convierte todo en minúsculas */
  display: inline-block;             /* necesario para ::first-letter */
}

a.wpp-post-title::first-letter {
  text-transform: uppercase;         /* convierte solo la primera letra en mayúscula */
}

ul.wpp-list li {
  border-bottom: 1px solid #ccc;
  padding: 10px 0;
}

ul.wpp-list li:last-child {
  border-bottom: none;
}

ul.wp-block-list li {
  border-bottom: 1px solid #ccc;
  padding: 10px 0;
}

ul.wp-block-list li:last-child {
  border-bottom: none;
}

ul.wp-block-archives-list li {
  border-bottom: 1px solid #ccc;
  padding: 8px 0;
}

ul.wp-block-archives-list li:last-child {
  border-bottom: none;
}

body.blog .secondary li {
  margin-bottom: 0;
}


.wpp-list {
  list-style: none;
  padding-left: 0;
  counter-reset: wpp-counter;
}

.wpp-list li {
  counter-increment: wpp-counter;
  display: flex;
  align-items: center;
  gap: 8px; /* espacio entre número y texto */
  margin-bottom: 6px; /* separación entre items */
}

.wpp-list li::before {
  content: counter(wpp-counter);
  display: inline-block;
  min-width: 24px;       /* ancho fijo para alinear números */
  text-align: right;     /* número alineado a la derecha dentro del espacio */
  font-weight: bold;
  font-size: 38px;
  color: var(--e-global-color-text);
}

/*categorias*/


/* Ajustes responsive */

@media (max-width: 768px) {
p.cap-post-slide-excerpt
Especificidad: (0,1,1)
 {
    display: none;
}

.cap-post-slide-content {
    padding: 24px 0px 50px 8px;
}

.card-content h3 {
    font-size: 15px;
}
/*formulario*/
button.wpcf7-submit.btnenviar {
    padding: 0px 8px 14px 8px !important;
}
}

/*Eventos*/
/*
.titulo-banner {
  font-size: 36px;
  font-weight: bold;
  text-align: left;
  margin-bottom: 10px;
}

.linea-primaria {
  width: 60px;
  height: 4px;
  background-color: var(--e-global-color-primary);
  margin-bottom: 30px;
}

.grid-eventos {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.grid-eventos .evento {
  width: calc(50% - 15px);
}

.grid-eventos .evento img {
  max-width: 100%;
  height: auto;
  display: block;
}

.grid-eventos .evento h3 {
  font-size: 18px;
  margin-top: 10px;
}

.grid-eventos .evento p {
  font-size: 14px;
  color: #444;
}
*/


#secondary .widget {
    background-color: #fff;
    padding: 2em;
    margin-bottom: 2em;
}
.navigation.post-navigation
{
    display:none;
}
.featured-image-post img
{
    margin-bottom;
}







.ast-above-header.ast-above-header-bar
{
    background-color: #000!important;
}

.wp-social-link
{
    background-color: transparent!important;
}
.wp-block-social-links
{
    gap: 21px!important;
    display: inline-flex!important;
}
.wp-block-social-links .wp-social-link a
{
    padding: 0!important;
}
.wp-block-social-links svg
{
    fill: #CEAA47!important;
}

.site-above-header-wrap .main-header-bar-navigation a
{
    font-size: 12px;
    text-transform: uppercase;
    color: #fff!important;
}

.site-above-header-wrap .main-header-bar-navigation li .sub-menu
{
    background: #CEAA47;
}

.main-header-bar-navigation li .sub-menu
{
    border-top-width: 0px;    
}
/*
.site-header-above-section-right .fake-placeholder
{
    margin: 10px;
}
.site-header-above-section-right .is-search-input,
.site-header-above-section-right .fake-placeholder
{
    position: absolute;
}
*/

.content-row-top
{
    background-color: #000;
}
.content-row-top .ast-container
{
    display: flex;
}
.content-row-top .ast-container a
{
    font-size: 12px;
    text-transform: uppercase;
    color: #fff;
}


.site-logo-img img
{
    width: auto;
    height: 85px;
}
.site-primary-header-wrap a
{
    font-size: 13px!important;
    text-transform: uppercase!important;
}

.site-primary-header-wrap .menu-item.current-menu-item > .menu-link
{
    color: #CEAA47!important;
}
.site-primary-header-wrap .menu-item:hover
{
    background-color: #CEAA47;
}
.site-primary-header-wrap .menu-item:hover > .menu-link
{
    color: #fff!important;
}
.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item {
    line-height: 33px!important;
}

.ast-article-post .post-thumb-img-content a
{
    overflow-y: hidden;
    aspect-ratio: 1 / 1!important;
    
}
.ast-article-post .post-thumb-img-content img
{
    object-fit: cover;
    aspect-ratio: 1 / 1!important;
}

header,
footer {
    background: #fff;
}

.elementor-widget-n-tabs .e-n-tab-title
{
    padding: 0!important;
}

@media (max-width: 544px) {
    h1.entry-title
    {
        font-size: 30px!important;
    }
    .footer-widget-area
    {
        text-align: center!important;
        margin-bottom: 20px!important;
    }
    div.beneficios-filters .filter-element
    {
        width: 100%;
    }
    .beneficio_detalle
    {
        padding: 0;
    }
}

header.site-header
{
    position: sticky!important;
    top: 0!important;
}

article.post.type-post .entry-meta,
article.post.type-post .entry-meta .author-name
{
    font-size: 0!important;
}
article.post.type-post .ast-breadcrumbs
{
    display: none;
}
.posted-on .published
{
    font-size: 13px!important;
}
.directorio
{
    font-size: 16px!important
}
.directorio h5
{
    margin-bottom: 0px;
    font-size: 16px!important;
    font-weight: 600!important;
    text-transform: uppercase;
}
.directorio p
{
    color: #7a7a7a;
    font-weight: 600!important;
    font-size: 16px!important;
    border-bottom: 2px solid #d9d9d9;
    padding-bottom: 15px;
}



.beneficio_detalle .post-thumb-img-content.post-thumb.featured_image img
{
    object-fit: cover;
    aspect-ratio: 2.242 / 1 !important;
    width: 100%;
}

article.beneficio.ast-article-post a .excerpt
{
    color: #000;
}

div.beneficios-filters
{
    display: flex;
}

div.beneficios-filters .filter-element
{
    padding: 0 5px;
    width: 50%;
    float:left;
}

div.beneficios-filters .filter-element select,
div.beneficios-filters .filter-element input
{
    border: 1px solid #ddd;
    border-radius: 0;
}
div.beneficios-filters .filter-element input
{
    padding: 6px 10px;
    width: 100%;
}

.beneficio_detalle
{
	background: #fff;
	padding: 0 50px 30px 50px;
}
.beneficio_detalle h3
{
    margin-top: 0;
    padding-top: 10px;
}
.beneficio_detalle p
{
	margin-bottom: 5px;
}
.entry-content
{
    font-size: 120%;
    padding: 30px 0 30px 0;
}
.post-type-archive-beneficio .ast-archive-description
{
    margin-bottom: 0px!important;
}
.main-header-bar-navigation ul li a 
{
    padding: 0 0.4em!important;
}

.ast-archive-description
{
    padding-bottom: 10px!important;
}
.ast-archive-description.filters-content
{
    padding-bottom: 3em!important;
    padding-top: 0!important;
}

.archive.post-type-archive .site-main
{
    padding: 3em;
}

article.beneficio.ast-grid-common-col.ast-article-post
{
    width: 50%!important;
}
.ast-article-inner
{
    padding: 0;
}
.p50
{
    margin-left: 0!important;
    margin-right: 0!important;
    float:left;
    width: 50%!important;
}
article.beneficio.ast-article-post .post-thumb-img-content img
{
    aspect-ratio: auto!important;
}
.details
{
    padding: 1.4em;
}
.details p
{
    font-size: 16px;
    line-height: normal;
    margin-bottom: 0;
}
.details h2
{
    margin-top: 0;
    text-transform: uppercase;
    font-size: 20px;
}
.details h3
{
    text-transform: uppercase;
    font-size: 18px;
    margin-bottom: 10px;
}
.details buttom 
{
    color: #000;
    background: #ceaa47;
    padding: 10px 30px;
    display: inline-block;
    margin-top: 20px;
}
.details buttom:hover
{
    background: #000;
    color: #ceaa47;
}

.beneficio.type-beneficio.status-publish  header
{
    margin-top: 20px;
}

.beneficio.type-beneficio.status-publish .entry-title
{
    margin-top: 0;
    text-transform: uppercase;
}
.beneficio.type-beneficio.status-publish .category
{
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 0;
}

.ast-breadcrumbs a:hover
{
    color: #ceaa47;
    text-transform: underline!important;
}