
/*
====================================================

* 	[Master Stylesheet]
	
	Theme Name :  
	Version    :  
	Author     :  
	Author URI :  

====================================================


/* ---------------------------------
1. PRIMARY STYLES
--------------------------------- */

html{ font-size: 100%; height: 100%;  overflow-x: hidden; touch-action: manipulation; }

body{ font-size: 15px; font-family: 'Roboto', sans-serif; width: 100%; height: 100%; margin: 0; font-weight: 300;
	-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; word-wrap: break-word; 
	background: #EDF3F3; color: #000; }

h1, h2, h3, h4, h5, h6, p, a, ul, span, li, img{ margin: 0; padding: 0; font-weight: 300; }

h1,h2,h3,h4,h5,h6{ line-height: 1.5; }

p{ line-height: 1.6; font-family: 'Maven Pro', sans-serif; font-weight: 400; color: #444; }

h1{ font-size: 4em; line-height: 1; }
h2{ font-size: 2.8em; line-height: 1.1; }
h3{ font-size: 1.5em; }
h4{ font-size: 1.2em; }
h5{ font-size: 1.1em; }
h6{ font-size: .9em; letter-spacing: 1px; }

a, button{ display: inline-block; text-decoration: none; color: inherit; transition: all .3s; }

a:focus, a:active, a:hover,
button:focus, button:active, button:hover{ text-decoration: none; color: #498BF9; }

b{ font-weight: 500; }

img{ width: 100%; }

li{ list-style: none; display: inline-block; }

span{ display: inline-block; }

header{ font-weight: 400; }



/* ---------------------------------
2. COMMONS FOR PAGE DESIGN
--------------------------------- */

.section{ padding: 70px 0 40px; }

.section .heading{ padding-bottom: 70px; }

.center-text{ text-align: center; } 

.color-white{ color: #fff; }

.display-table{ display: table; height: 100%; width: 100%; }

.display-table-cell{ display: table-cell; vertical-align: middle; }

.card{ background: transparent; border: 0; }

.no-side-padding{ padding-right: 0px; padding-left: 0px; }

.no-left-padding{ padding-left: 0px; }

.no-right-padding{ padding-right: 0px; }

.icon{ font-size: 2em; }


::-webkit-input-placeholder { font-size: .9em; letter-spacing: 1px; }

::-moz-placeholder { font-size: .9em; letter-spacing: 1px; }

:-ms-input-placeholder { font-size: .9em; letter-spacing: 1px;  }

:-moz-placeholder { font-size: .9em; letter-spacing: 1px;  }



/* ---------------------------------
3. MENU
--------------------------------- */

header{ overflow: hidden; background: #fff; box-shadow: 0px 2px 10px rgba(0,0,0, .3); }

header .logo{ float: left; height: 40px; margin: 10px 30px; }

header .logo img{ height: 100%; width: auto; }


header .main-menu{ display: inline-block; float: left; }

header .main-menu > li{ float: left; }

header .main-menu > li > a{ height: 60px; line-height: 60px; padding: 0 25px; border-right: 1px solid #eee; }

header .main-menu > li > a:hover{  background: #eee; }

header .main-menu > li:first-child > a{ border-left: 1px solid #eee; }


header .visible.main-menu{ display: block; }



/* SEARCH AREA */

header .src-area{ position: relative; height: 60px; width: 50%; float: right; display: inline-block; background: #F5F7F6; }

header .src-area .src-input{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%;
	padding: 0 20px 0 70px; background: transparent; border: 0; outline: 0; }

header .src-area .src-input:focus{ box-shadow: 0px 0px 1px #aaa; }

header .src-area .src-btn{ position: absolute; top: 0; bottom: 0; left: 0; width: 40px; background: none; border: 0; 
	font-size: 1.2em; outline: 0; margin-left: 20px; opacity: .6; cursor: pointer; z-index: 10; }


/* NAV ICON */

.menu-nav-icon{ display: none; height: 60px; width: 50px; text-align: center; line-height: 60px; cursor: pointer; 
	position: absolute; right: 0; font-size: 1.8em; }

	

/* ---------------------------------
4. SLIDER
--------------------------------- */

.main-slider{ width: 100%; padding-right: 150px; }  
 
.main-slider{ overflow: hidden; position: relative; }

.main-slider .swiper-container{ overflow: visible; }

.main-slider .category{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 1; color: #fff; }
 
.main-slider .category:after{ content:''; position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; 
	background: rgba(0,0,0,.4); } 


/* SLIDER CONTROLER */

.main-slider .swiper-button-prev, 
.main-slider .swiper-button-next{ top: 0; bottom: 0; width: auto; margin: 0; background: none; font-size: 4em; 
	top: 50%; margin-top: -50px; height: 100px; color: #fff; }

.main-slider .swiper-button-prev{ left: 20px; }

.main-slider .swiper-button-next{ right: 20px; }

 
/* ---------------------------------
5. SINGLE POST
--------------------------------- */

.blog-area .row div[class^="col"] { margin-bottom: 30px; }

.blog-area{ text-align: center; background: #EDF3F3; }

.blog-area .single-post{ height: 100%; position: relative; padding-bottom: 45px;
	overflow: hidden; box-shadow: 0px 0px 5px rgba(0,0,0,.1); border: 1px solid #ddd; background: #fff; }

.blog-area .single-post .title{ padding: 20px 30px 30px; }

.single-post .avatar{ margin: 0 auto; margin-top: -40px; width: 70px; height: 70px; overflow: hidden; z-index: 10;
	border-radius: 100px; position: relative; border: 7px solid #fff; box-shadow: 0px 0px 10px rgba(0,0,0,.2); }

.single-post .post-footer{ position: absolute; bottom: 0; left: 0; right: 0; text-align: center; }

.single-post .post-footer > li{ width: 33.33%; display: inline-block; border-right: 1px solid #fff; background: #EDF3F3; }

.single-post .post-footer > li:first-child{ float: left; }

.single-post .post-footer > li:last-child{ border: 0px; float: right; }

.single-post .post-footer > li > a{ line-height: 45px; width: 100%; }

.single-post .post-footer i{ display: inline-block; margin-right: 10px; opacity: .6; font-size: 1.1em; }


/* ---------------------------------
6. NORMAL BLOG
--------------------------------- */

.post-style-1 .blog-image{ max-height: 200px; overflow: hidden; }



/* ---------------------------------
7. EXTRA BIG BLOG
--------------------------------- */

.blog-area .post-style-2{ padding-bottom: 0; text-align: left; }

.blog-area .post-style-2 .title{ padding: 15px 0px 20px; }

.post-style-2 .avatar-area{ padding: 25px 0 15px; position: relative; }

.post-style-2 .avatar{ margin: 0px; }
	
.post-style-2 .avatar-area .right-area{ margin-left: 90px; position: absolute; top: 50%; transform: translateY(-50%); }

.post-style-2 .blog-image{ width: 50%; float: left; height: 100%; }

.post-style-2 .blog-image img{ height: 100%; width: 100%; }

.post-style-2 .blog-info{ width: 50%; float: left; height: 100%; position: relative; padding: 30px; padding-bottom: 45px; }



/* ---------------------------------
8. EXTRA MEDIUM BLOG
--------------------------------- */

.post-style-2.post-style-3 .blog-info{ width: 100%; float: none; }



/* ---------------------------------
9. EXTRA SMALL BLOG
--------------------------------- */

.blog-area .post-style-4{ margin-bottom: 30px; }

.display-table .display-table-cell.title{ padding: 30px; }

.load-more-btn{ padding: 15px 40px; margin: 10px 0 30px; transition: all .3s; box-shadow: 0px 0px 2px rgba(0,0,0,.4);
	background: #C3D8F5; }

.load-more-btn:hover{ transform: translateY(-2px); box-shadow: 5px 10px 20px rgba(0,0,0,.3); } 



/* ---------------------------------
10. FOOTER
--------------------------------- */

footer{ padding: 70px 0 30px; background: #fff; }

footer .footer-section{ margin-bottom: 40px; }

footer .footer-section .title{ margin-bottom: 20px; }

footer .footer-section ul > li{ margin-right: 10px; margin-top: 10px; }


footer .copyright{ margin: 10px 0; }


footer .icons > li > a{ height: 40px; width: 40px; border-radius: 40px; line-height: 40px; text-align: center; 
	transition: all .3s; font-size: 1.2em; box-shadow: 0px 0px 2px rgba(0,0,0,1); background: #498BF9; color: #fff; }

footer .icons > li > a:hover{ transform: translateY(-2px); box-shadow: 5px 10px 20px rgba(0,0,0,.3); }


footer .input-area{ position: relative; height: 50px; width: 100%; box-shadow: 0px 0px 1px #bbb; background: #F5F7F6; }

footer .input-area .email-input{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%;
	padding: 0 70px 0 20px; background: transparent; border: 0; outline: 0; }

footer .input-area .email-input:focus{ box-shadow: 0px 0px 1px #aaa; }

footer .input-area .submit-btn{ position: absolute; top: 0; bottom: 0; right: 0; width: 50px; background: none; 
	border: 0; outline: 0; margin-right: 10px; opacity: .8; cursor: pointer; transition: all .2s; }


/* ==============================
   ARPAFA HERO (mejorado)
   ============================== */

.arpafa-hero{
    position: relative;
    padding: 34px 0;
    background: linear-gradient(135deg, #0b2a4a 0%, #081d33 100%);
    overflow: hidden;
}

/* overlay sutil para profundidad */
.arpafa-hero:before{
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 10%, rgba(255,255,255,0.14), transparent 45%),
        radial-gradient(circle at 90% 80%, rgba(73,139,249,0.22), transparent 50%);
    pointer-events: none;
}

.arpafa-hero .container,
.arpafa-hero .row{
    position: relative;
    z-index: 1;
}
.arpafa-hero-head{
    margin-bottom: 14px;
}
.arpafa-badge{
    display: inline-block;
    padding: 5px 12px;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 999px;
    color: rgba(255,255,255,0.88);
    font-size: 12px;
    letter-spacing: .3px;
    background: rgba(255,255,255,0.06);
}

.arpafa-title{
    color: #fff;
    font-weight: 800;
    font-size: 38px;
    line-height: 1.1;
    margin: 0;
}

.arpafa-title-accent{
    display: inline-block;
    margin-left: 10px;
    font-size: 14px;
    font-weight: 500;
    color: rgba(255,255,255,0.72);
    letter-spacing: .2px;
}

.arpafa-subtitle{
    color: rgba(255,255,255,0.78);
    max-width: 600px;
    line-height: 1.6;
}

/* CTA spacing */
.arpafa-cta{
    gap: 10px;
}
.arpafa-cta .btn{
    border-radius: 10px;
    padding: 7px 12px;
}

/* métricas */
.arpafa-metrics{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.arpafa-metric{
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 12px;
    padding: 10px 12px;
    min-width: 170px;
    backdrop-filter: blur(2px);
}

.arpafa-metric-number{
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    margin-bottom: 2px;
}

.arpafa-metric-text{
    color: rgba(255,255,255,0.72);
    font-size: 12px;
}

/* Panel derecho: no usar .card del theme */
.arpafa-panel{
    border-radius: 14px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow: 0 18px 40px rgba(0,0,0,0.22);
}

.arpafa-panel-inner{
    background: #fff;
    border-radius: 14px;
    margin: 10px;
    padding: 18px;
}

.arpafa-card-title{
    font-weight: 800;
    color: #0b2a4a;
}

/* Fix crítico: tu theme pone li inline-block global */
.arpafa-list{
    padding-left: 18px;
    margin-top: 8px;
}
.arpafa-list li{
    display: list-item !important;
    list-style: disc;
    color: #333;
    margin-bottom: 6px;
}

.arpafa-divider{
    height: 1px;
    background: rgba(0,0,0,0.08);
    margin: 14px 0;
}

.arpafa-note{
    font-size: 13px;
    color: #666;
}
/* ==============================
   BOTÓN OUTLINE ARPAFA
   ============================== */

.btn-arpafa-outline{
    color: #ffffff;
    border: 1px solid rgba(255,255,255,0.65);
    background: rgba(255,255,255,0.10);
    border-radius: 10px;
}

.btn-arpafa-outline:hover,
.btn-arpafa-outline:focus{
    color: #0b2a4a;
    background: #ffffff;
    border-color: #ffffff;
    text-decoration: none;
}
/* ==============================
   ARPAFA ABOUT SECTION
   ============================== */

.arpafa-about{
    background: #EDF3F3;
}

.arpafa-box{
    background: #fff;
    border-radius: 14px;
    padding: 24px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

.arpafa-box-alt{
    background: #f8fafc;
}

.arpafa-section-title{
    font-weight: 800;
    color: #0b2a4a;
    margin-bottom: 12px;
}

.arpafa-section-title-sm{
    font-weight: 700;
    color: #0b2a4a;
    margin-bottom: 10px;
}

.arpafa-subtitle{
    font-weight: 700;
    margin-top: 20px;
    margin-bottom: 10px;
    color: #333;
}

.arpafa-about p{
    color: #444;
    line-height: 1.7;
}

.arpafa-about .arpafa-list{
    padding-left: 18px;
}

.arpafa-about .arpafa-list li{
    display: list-item !important;
    list-style: disc;
    margin-bottom: 6px;
    color: #444;
}
/* ==============================
   ARPAFA HERO – MANIFIESTO
   ============================== */

.arpafa-manifesto{
    margin-top: 10px;
    margin-bottom: 16px;
    padding: 14px 18px;

    color: rgba(255,255,255,0.92);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.6;

    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.18);
    border-left: 4px solid rgba(73,139,249,0.95);
    border-radius: 10px;
}
.arpafa-cta{
    gap: 10px;
}
.arpafa-list li{
    display: list-item !important;
    list-style: disc;
}
/* Ajuste responsive */
@media (max-width: 991px){
    .arpafa-manifesto{
        font-size: 15px;
        padding: 12px 14px;
    }
}
@media (max-width: 991px){
    .arpafa-hero{ padding: 26px 0; }
    .arpafa-manifesto{
        font-size: 15px;
        padding: 12px 14px;
    }
}