/* Página de servicio: blog
   Generado por _trabajo/construir-css.js — no editar a mano.
   Todo el CSS cuelga de .ksrv para no tocar el header/footer de Elementor. */
.ksrv{--orange:#FF5B00;
    --orange-dark:#e64f00;
    --peach:#FFF1E6;
    --black:#0B0C0E;
    --carbon:#21272A;
    --card-dark:#21272A;
    --gray:#6B7280;
    --gray-light:#9CA3AF;
    --bg:#F5F6F8;
    --bg2:#F1F2F5;
    --border:#E7E8EC;}
.ksrv .blog-hero{padding:60px 0 36px;
    background:linear-gradient(180deg, #FFFFFF 0%, var(--bg) 100%);
    border-bottom:1px solid var(--border);
    text-align:center;}
.ksrv .blog-hero-content{max-width:820px;
    margin:0 auto;}
.ksrv .blog-hero .kicker{font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--orange);
    margin-bottom:12px;}
.ksrv .blog-title{font-size:42px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:-.02em;
    color:var(--black);
    margin-bottom:16px;}
.ksrv .blog-title .accent{color:var(--orange);}
.ksrv .blog-subtitle{font-size:17px;
    color:var(--gray);
    line-height:1.6;
    margin-bottom:28px;}
.ksrv .blog-search-wrap{max-width:540px;
    margin:0 auto;}
.ksrv .blog-search-form{display:flex;
    align-items:center;
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
    padding:6px 6px 6px 16px;
    box-shadow:0 4px 16px rgba(0,0,0,.04);
    transition:border-color .2s, box-shadow .2s;}
.ksrv .blog-search-form:focus-within{border-color:var(--orange);
    box-shadow:0 4px 20px rgba(255,91,0,.12);}
.ksrv .search-ic{color:var(--gray-light);
    margin-right:10px;
    flex-shrink:0;}
.ksrv .blog-search-input{flex:1;
    border:none;
    outline:none;
    font-size:14.5px;
    font-family:inherit;
    color:var(--black);
    background:transparent;}
.ksrv .blog-search-input::placeholder{color:var(--gray-light);}
.ksrv .search-btn{padding:10px 18px;
    font-size:13.5px;
    border-radius:8px;}
.ksrv .blog-cats-bar{background:#fff;
    border-bottom:1px solid var(--border);
    padding:14px 0;
    position:sticky;
    top:0;
    z-index:20;}
.ksrv .blog-cats-scroll{display:flex;
    align-items:center;
    gap:10px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;}
.ksrv .blog-cats-scroll::-webkit-scrollbar{display:none;}
.ksrv .cat-chip{background:var(--bg);
    border:1px solid var(--border);
    color:var(--carbon);
    font-size:13.5px;
    font-weight:600;
    padding:8px 18px;
    border-radius:24px;
    white-space:nowrap;
    cursor:pointer;
    font-family:inherit;
    transition:all .2s ease;}
.ksrv .cat-chip:hover{background:#fff;
    border-color:var(--orange);
    color:var(--orange);}
.ksrv .cat-chip.active{background:var(--carbon);
    color:#fff;
    border-color:var(--carbon);}
.ksrv .blog-section{padding:48px 0 80px;
    background:var(--bg);}
.ksrv .blog-layout{display:grid;
    grid-template-columns:1fr 340px;
    gap:44px;
    align-items:start;}
.ksrv .blog-main{min-width:0;}
.ksrv .post-featured-card{background:#fff;
    border:1px solid var(--border);
    border-radius:18px;
    overflow:hidden;
    margin-bottom:36px;
    box-shadow:0 4px 20px rgba(0,0,0,.03);
    transition:transform .3s, box-shadow .3s;}
.ksrv .post-featured-card:hover{transform:translateY(-3px);
    box-shadow:0 12px 32px rgba(0,0,0,.08);}
.ksrv .featured-img-wrap{position:relative;
    width:100%;
    height:340px;
    overflow:hidden;
    background:var(--carbon);}
.ksrv .featured-img{width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top !important;
    transition:transform .4s cubic-bezier(.25,.46,.45,.94);
    display:block;}
.ksrv .post-featured-card:hover .featured-img{transform:scale(1.03);}
.ksrv .cat-badge{position:absolute;
    top:18px;
    left:18px;
    background:rgba(255,91,0,.92);
    backdrop-filter:blur(6px);
    color:#fff;
    font-size:12px;
    font-weight:700;
    padding:5px 14px;
    border-radius:20px;
    letter-spacing:.02em;
    text-transform:uppercase;}
.ksrv .featured-body{padding:32px 36px;}
.ksrv .post-meta{display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    color:var(--gray);
    font-weight:500;
    margin-bottom:12px;}
.ksrv .meta-dot{color:var(--gray-light);}
.ksrv .featured-title{font-size:26px;
    font-weight:800;
    line-height:1.3;
    color:var(--black);
    margin-bottom:14px;}
.ksrv .featured-title a{color:inherit;
    transition:color .2s;}
.ksrv .featured-title a:hover{color:var(--orange);}
.ksrv .featured-excerpt{font-size:15px;
    line-height:1.65;
    color:var(--gray);
    margin-bottom:24px;}
.ksrv .featured-footer{display:flex;
    align-items:center;
    justify-content:space-between;
    padding-top:20px;
    border-top:1px solid var(--border);
    gap:16px;}
.ksrv .author-info{display:flex;
    align-items:center;
    gap:12px;}
.ksrv .author-avatar-ph{width:40px;
    height:40px;
    border-radius:50%;
    background:var(--peach);
    color:var(--orange);
    font-weight:700;
    font-size:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #FFD9BC;}
.ksrv .author-name{font-size:14px;
    font-weight:700;
    color:var(--black);}
.ksrv .author-role{font-size:12px;
    color:var(--gray);}
.ksrv .posts-grid{display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:26px;
    margin-bottom:44px;}
.ksrv .blog-card{background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    box-shadow:0 3px 12px rgba(0,0,0,.02);
    transition:transform .3s, box-shadow .3s, border-color .3s;}
.ksrv .blog-card:hover{transform:translateY(-4px);
    box-shadow:0 10px 24px rgba(0,0,0,.06);
    border-color:#d5d8df;}
.ksrv .card-img-wrap{position:relative;
    width:100%;
    height:190px;
    overflow:hidden;
    background:var(--carbon);}
.ksrv .card-img{width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top !important;
    transition:transform .4s cubic-bezier(.25,.46,.45,.94);
    display:block;}
.ksrv .blog-card:hover .card-img{transform:scale(1.05);}
.ksrv .card-content{padding:22px;
    display:flex;
    flex-direction:column;
    flex:1;}
.ksrv .card-title{font-size:18px;
    font-weight:700;
    line-height:1.4;
    margin-bottom:10px;
    color:var(--black);}
.ksrv .card-title a{color:inherit;
    transition:color .2s;}
.ksrv .card-title a:hover{color:var(--orange);}
.ksrv .card-excerpt{font-size:14px;
    line-height:1.6;
    color:var(--gray);
    margin-bottom:18px;
    flex:1;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;}
.ksrv .card-footer{display:flex;
    align-items:center;
    justify-content:space-between;
    padding-top:14px;
    border-top:1px solid var(--border);
    font-size:13px;}
.ksrv .author-name-inline{color:var(--gray);
    font-weight:500;}
.ksrv .read-more{color:var(--orange);
    font-weight:700;
    display:inline-flex;
    align-items:center;
    gap:4px;
    transition:transform .2s;}
.ksrv .read-more:hover{transform:translateX(3px);}
.ksrv .blog-pagination{display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:20px 0;}
.ksrv .page-num, .ksrv .page-next{display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    font-weight:600;
    border-radius:10px;
    padding:8px 14px;
    background:#fff;
    border:1px solid var(--border);
    color:var(--black);
    transition:all .2s;}
.ksrv .page-num.current{background:var(--orange);
    color:#fff;
    border-color:var(--orange);}
.ksrv .page-num:hover:not(.current), .ksrv .page-next:hover{border-color:var(--orange);
    color:var(--orange);}
.ksrv .page-next{gap:6px;}
.ksrv .blog-sidebar{display:flex;
    flex-direction:column;
    gap:30px;}
.ksrv .sidebar-widget{background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    padding:24px;
    box-shadow:0 2px 10px rgba(0,0,0,.02);}
.ksrv .widget-title{font-size:16px;
    font-weight:800;
    color:var(--black);
    letter-spacing:-.01em;
    margin-bottom:18px;
    position:relative;
    padding-bottom:10px;
    border-bottom:2px solid var(--peach);}
.ksrv .widget-title::after{content:'';
    position:absolute;
    bottom:-2px;
    left:0;
    width:36px;
    height:2px;
    background:var(--orange);}
.ksrv .cats-list{list-style:none;
    display:flex;
    flex-direction:column;
    gap:8px;}
.ksrv .cat-item{display:flex;
    align-items:center;
    justify-content:space-between;
    padding:9px 12px;
    border-radius:10px;
    font-size:14px;
    font-weight:600;
    color:var(--carbon);
    transition:all .2s;}
.ksrv .cat-item:hover{background:var(--bg);
    color:var(--orange);
    padding-left:16px;}
.ksrv .cat-item.active{background:var(--peach);
    color:var(--orange-dark);}
.ksrv .cat-count{font-size:12px;
    font-weight:700;
    background:#fff;
    border:1px solid var(--border);
    padding:2px 8px;
    border-radius:12px;
    color:var(--gray);}
.ksrv .cat-item.active .cat-count{background:var(--orange);
    color:#fff;
    border-color:var(--orange);}
.ksrv .popular-list{display:flex;
    flex-direction:column;
    gap:16px;}
.ksrv .pop-item{display:flex;
    align-items:flex-start;
    gap:14px;
    transition:transform .2s;}
.ksrv .pop-item:hover{transform:translateX(3px);}
.ksrv .pop-num{font-size:18px;
    font-weight:800;
    color:var(--orange);
    line-height:1;
    padding-top:2px;}
.ksrv .pop-title{font-size:13.5px;
    font-weight:700;
    line-height:1.4;
    color:var(--black);
    margin-bottom:4px;
    transition:color .2s;}
.ksrv .pop-item:hover .pop-title{color:var(--orange);}
.ksrv .pop-date{font-size:11.5px;
    color:var(--gray);}
.ksrv .widget-cta{background:linear-gradient(135deg, var(--carbon) 0%, #15181b 100%);
    color:#fff;
    position:relative;
    overflow:hidden;}
.ksrv .widget-cta .dots{top:0;
    right:0;
    width:120px;
    height:120px;
    opacity:.15;}
.ksrv .widget-cta-badge{display:inline-block;
    background:rgba(255,91,0,.2);
    color:var(--orange);
    border:1px solid rgba(255,91,0,.4);
    font-size:11px;
    font-weight:700;
    padding:3px 10px;
    border-radius:14px;
    margin-bottom:12px;
    text-transform:uppercase;}
.ksrv .widget-cta-title{font-size:18px;
    font-weight:800;
    line-height:1.3;
    margin-bottom:10px;}
.ksrv .widget-cta-desc{font-size:13px;
    line-height:1.55;
    color:#B0B7C3;
    margin-bottom:20px;}
.ksrv .widget-cta .cta-btn{width:100%;
    justify-content:center;}
.ksrv .widget-desc{font-size:13px;
    line-height:1.5;
    color:var(--gray);
    margin-bottom:16px;}
.ksrv .news-form{display:flex;
    flex-direction:column;
    gap:10px;}
.ksrv .news-input{padding:11px 14px;
    border:1px solid var(--border);
    border-radius:8px;
    font-size:13.5px;
    font-family:inherit;
    outline:none;
    transition:border-color .2s;}
.ksrv .news-input:focus{border-color:var(--orange);}
.ksrv .news-btn{width:100%;
    justify-content:center;}
.ksrv .blog-no-posts{background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    padding:56px 24px;
    text-align:center;
    box-shadow:0 4px 16px rgba(0,0,0,.03);
    margin-bottom:32px;}
.ksrv .no-posts-icon{width:64px;
    height:64px;
    border-radius:50%;
    background:var(--peach);
    color:var(--orange);
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 16px;}
.ksrv .no-posts-title{font-size:22px;
    font-weight:700;
    color:var(--black);
    margin-bottom:10px;}
.ksrv .no-posts-desc{font-size:14.5px;
    color:var(--gray);
    line-height:1.6;
    max-width:440px;
    margin:0 auto 24px;}
.ksrv .blog-no-posts .cta-btn{display:inline-flex;
    margin:0 auto;}
@media(max-width:900px){
.ksrv .blog-hero{padding:40px 0 24px;}
.ksrv .blog-title{font-size:28px;}
.ksrv .blog-subtitle{font-size:15px;}
.ksrv .blog-layout{grid-template-columns:1fr !important;
      gap:36px;}
.ksrv .featured-img-wrap{height:220px;}
.ksrv .featured-body{padding:20px;}
.ksrv .featured-title{font-size:20px;}
.ksrv .featured-footer{flex-direction:column;
      align-items:flex-start;
      gap:14px;}
.ksrv .featured-footer .cta-btn{width:100%;
      justify-content:center;}
.ksrv .posts-grid{grid-template-columns:1fr !important;
      gap:20px;}
.ksrv .card-img-wrap{height:180px;}
}


