/* Cátedra Faro Bloques v41 - accordion sin límite + autor actualizado */
html,body{overflow-x:hidden}
body:has(.cfb-front) .entry-content,
body:has(.cfb-front) .wp-block-post-content{max-width:none!important;width:100%!important;overflow:visible!important}
.cfb-front{--cfb-base-left:10vw;width:100vw!important;max-width:100vw!important;position:relative;left:50%;margin-left:-50vw;margin-right:-50vw;padding:0 0 72px;background:var(--cfb-bg);color:var(--cfb-text)!important;font-family:'Montserrat',Arial,sans-serif!important;box-sizing:border-box;overflow-x:hidden}
.cfb-front *,.cfb-front *:before,.cfb-front *:after{box-sizing:border-box}.cfb-front p,.cfb-front li,.cfb-front a,.cfb-front span,.cfb-front div,.cfb-front button{font-family:'Montserrat',Arial,sans-serif!important;color:var(--cfb-text)}.cfb-front h1,.cfb-front h2,.cfb-front h3,.cfb-front h4,.cfb-accordion-title{font-family:'Rubik',Arial,sans-serif!important;color:var(--cfb-primary)!important}
.cfb-section,.cfb-accordion{position:relative;margin-top:38px;margin-bottom:38px}.cfb-width-custom{width:min(var(--cfb-custom-width),90vw)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}.cfb-width-100{width:100vw!important;max-width:100vw!important;left:50%!important;margin-left:-50vw!important;margin-right:-50vw!important}.cfb-width-100.cfb-section,.cfb-width-100.cfb-accordion{position:relative}
.cfb-content-align-left{text-align:left!important}.cfb-content-align-center{text-align:center!important}.cfb-content-align-right{text-align:right!important}.cfb-content-align-left .cfb-content,.cfb-content-align-left .cfb-doc-copy{text-align:left!important}.cfb-content-align-center .cfb-content,.cfb-content-align-center .cfb-doc-copy{text-align:center!important;margin-left:auto;margin-right:auto}.cfb-content-align-right .cfb-content,.cfb-content-align-right .cfb-doc-copy{text-align:right!important;margin-left:auto}
.cfb-content-align-left .cfb-inner,.cfb-content-align-left.cfb-section{text-align:left!important}.cfb-content-align-center .cfb-inner,.cfb-content-align-center.cfb-section{text-align:center!important}.cfb-content-align-right .cfb-inner,.cfb-content-align-right.cfb-section{text-align:right!important}
.cfb-section h2{font-size:var(--cfb-title-size)!important;line-height:1.12;font-weight:700;letter-spacing:-.02em;margin:0 0 12px!important;color:var(--cfb-primary)!important}.cfb-subtitle{font-size:var(--cfb-subtitle-size)!important;line-height:1.55;font-weight:600;margin:0 0 12px!important;color:var(--cfb-primary)!important}.cfb-content{font-size:var(--cfb-text-size)!important;line-height:1.75;font-weight:500;color:var(--cfb-text)!important}.cfb-content p{margin:0 0 14px!important;color:var(--cfb-text)!important}.cfb-content strong{font-weight:800;color:var(--cfb-primary)!important}.cfb-content a{font-weight:600;text-decoration:underline;text-underline-offset:3px;color:var(--cfb-primary)!important}.cfb-content ul{list-style:disc!important;padding-left:1.5rem!important;margin:0 0 14px 1rem!important}.cfb-content ol{list-style:decimal!important;padding-left:1.5rem!important;margin:0 0 14px 1rem!important}.cfb-content li{display:list-item!important;margin-bottom:.45rem!important}
.cfb-accordion{border-radius:6px;overflow:hidden;background:#fff;border:1px solid rgba(20,69,96,.08);box-shadow:none}.cfb-accordion-title{width:100%;border:0;background:#fff!important;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;text-align:left!important}.cfb-accordion-title span{font-size:var(--cfb-title-size)!important;line-height:1.15;font-weight:700;color:var(--cfb-primary)!important}.cfb-accordion-title strong{font-size:20px;color:var(--cfb-primary)!important;line-height:1}.cfb-accordion-body{max-height:0;overflow:hidden;padding:0 18px;background:#fff;border-top:1px solid rgba(20,69,96,.06);transition:max-height .25s ease,padding .2s ease;text-align:inherit!important}.cfb-accordion.is-open .cfb-accordion-body{max-height:none!important;overflow:visible!important;padding:18px}.cfb-accordion.is-open .cfb-accordion-title{background:#fff!important;color:var(--cfb-primary)!important}
.cfb-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:11px 24px;border-radius:999px;background:var(--cfb-primary);color:#fff!important;text-decoration:none!important;font-weight:800;font-size:14px;line-height:1;border:0;box-shadow:none;transition:.2s ease}.cfb-button:hover{transform:translateY(-1px);filter:saturate(1.05);color:#fff!important}.cfb-button-block.cfb-content-align-left{text-align:left!important}.cfb-button-block.cfb-content-align-center{text-align:center!important}.cfb-button-block.cfb-content-align-right{text-align:right!important}
.cfb-download{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;background:rgba(255,255,255,.92);border:1px solid rgba(20,69,96,.08);border-radius:10px;padding:16px;box-shadow:0 10px 28px rgba(20,69,96,.04)}
.cfb-pdf-block.cfb-width-custom.cfb-pdf-block-align-left{margin-left:var(--cfb-base-left)!important;margin-right:auto!important}
.cfb-pdf-block.cfb-width-custom.cfb-pdf-block-align-center{margin-left:auto!important;margin-right:auto!important}
.cfb-pdf-block.cfb-width-custom.cfb-pdf-block-align-right{margin-left:auto!important;margin-right:var(--cfb-base-left)!important}
.cfb-pdf-block .cfb-download{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.cfb-download.cfb-content-align-left{grid-template-columns:auto 1fr auto;justify-content:stretch;text-align:left!important}.cfb-download.cfb-content-align-left .cfb-doc-copy{text-align:left!important;margin-left:0!important;margin-right:0!important}.cfb-download.cfb-content-align-left .cfb-button{justify-self:end}
.cfb-download.cfb-content-align-center{grid-template-columns:auto auto auto;justify-content:center;text-align:left!important}.cfb-download.cfb-content-align-center .cfb-doc-copy{text-align:left!important;margin-left:0!important;margin-right:0!important}.cfb-download.cfb-content-align-center .cfb-button{justify-self:auto}
.cfb-download.cfb-content-align-right{grid-template-columns:auto auto auto;justify-content:end;text-align:left!important}.cfb-download.cfb-content-align-right .cfb-doc-copy{text-align:left!important;margin-left:0!important;margin-right:0!important}.cfb-download.cfb-content-align-right .cfb-button{justify-self:end}
.cfb-download h2{font-family:'Montserrat',Arial,sans-serif!important;font-size:var(--cfb-title-size)!important;font-weight:500;line-height:1.35;color:#33383C!important;margin:0!important;letter-spacing:0}.cfb-download .cfb-content{font-size:var(--cfb-text-size)!important;margin-top:4px}.cfb-doc-icon{width:30px;height:34px;display:block;position:relative;border-radius:3px;background:linear-gradient(180deg,#eef2f3,#dfe5e7)}.cfb-doc-icon:before{content:"";position:absolute;top:0;right:0;border-top:9px solid #cfd8dc;border-left:9px solid transparent}.cfb-doc-icon:after{content:"PDF";position:absolute;left:4px;right:4px;bottom:6px;height:12px;display:flex;align-items:center;justify-content:center;border-radius:2px;background:#ff665a;color:#fff!important;font-size:7px;font-weight:800}.cfb-download .cfb-button{background:#68A878;min-width:110px;padding:11px 20px}
.cfb-download,.cfb-image,.cfb-video-wrap,.cfb-button-block{margin-top:38px;margin-bottom:38px}.cfb-pdf-block .cfb-download{margin-top:0!important;margin-bottom:0!important}.cfb-video-wrap{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:16px;background:#0E3447;margin-top:0;margin-left:auto;margin-right:auto}.cfb-video-wrap iframe{position:absolute;inset:0;width:100%;height:100%}.cfb-image img{display:block;width:100%;height:auto;border-radius:0;margin:0;box-shadow:none}.cfb-image:not(.cfb-width-100) img{border-radius:16px}.cfb-image.cfb-width-100{margin-top:0!important;margin-bottom:0!important;padding:0!important}.cfb-image.cfb-width-100 img{width:100vw!important;max-width:100vw!important;border-radius:0!important;margin:0!important}
@media(max-width:780px){.cfb-front{--cfb-base-left:4vw;padding-bottom:42px}.cfb-width-custom{width:min(var(--cfb-custom-width),92vw)!important;margin-left:auto!important;margin-right:auto!important}.cfb-pdf-block.cfb-width-custom.cfb-pdf-block-align-left{margin-left:4vw!important;margin-right:auto!important}.cfb-pdf-block.cfb-width-custom.cfb-pdf-block-align-center{margin-left:auto!important;margin-right:auto!important}.cfb-pdf-block.cfb-width-custom.cfb-pdf-block-align-right{margin-left:auto!important;margin-right:4vw!important}.cfb-section,.cfb-accordion{margin-top:28px;margin-bottom:28px}.cfb-download{grid-template-columns:32px 1fr!important;gap:12px;padding:14px 12px;justify-content:stretch!important}.cfb-download .cfb-button{grid-column:2;justify-self:start;margin-top:4px;min-width:96px}.cfb-content-align-center.cfb-download .cfb-button{justify-self:center}.cfb-content-align-right.cfb-download .cfb-button{justify-self:end}}

/* v39 - Ajustes responsive para celular: acordeones largos y documentos PDF */
.cfb-accordion-title span{
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
}
.cfb-accordion-title{
    overflow:visible!important;
}
.cfb-accordion.is-open .cfb-accordion-body{
    max-height:none!important;
    overflow:visible!important;
}
.cfb-accordion-body,
.cfb-accordion-body *{
    max-width:100%!important;
    overflow-wrap:break-word!important;
}

@media(max-width:780px){
    /* En celular, los desplegables y PDFs usan ancho cómodo aunque en escritorio estén configurados más angostos */
    .cfb-accordion.cfb-width-custom,
    .cfb-pdf-block.cfb-width-custom{
        width:92vw!important;
        max-width:92vw!important;
        margin-left:auto!important;
        margin-right:auto!important;
    }

    .cfb-accordion{
        overflow:visible!important;
    }
    .cfb-accordion-title{
        align-items:flex-start!important;
        padding:16px 18px!important;
        gap:12px!important;
    }
    .cfb-accordion-title span{
        display:block!important;
        flex:1 1 auto!important;
        min-width:0!important;
        font-size:clamp(19px,6vw,24px)!important;
        line-height:1.18!important;
        letter-spacing:-.01em!important;
    }
    .cfb-accordion-title strong{
        flex:0 0 auto!important;
        margin-top:1px!important;
    }
    .cfb-accordion.is-open .cfb-accordion-body{
        max-height:none!important;
        overflow:visible!important;
        padding:16px 18px 18px!important;
    }

    /* PDF mobile más legible: tarjeta ancha, título con espacio y botón prolijo */
    .cfb-pdf-block .cfb-download{
        width:100%!important;
        max-width:100%!important;
        display:grid!important;
        grid-template-columns:32px minmax(0,1fr) auto!important;
        align-items:center!important;
        gap:12px!important;
        padding:16px 14px!important;
        border-radius:12px!important;
    }
    .cfb-download h2{
        font-size:clamp(16px,4.8vw,20px)!important;
        line-height:1.28!important;
        overflow-wrap:break-word!important;
        word-break:normal!important;
    }
    .cfb-download .cfb-doc-copy{
        min-width:0!important;
        max-width:100%!important;
    }
    .cfb-download .cfb-button{
        grid-column:auto!important;
        justify-self:end!important;
        min-width:auto!important;
        white-space:nowrap!important;
        padding:11px 16px!important;
        font-size:14px!important;
        margin-top:0!important;
    }
}

@media(max-width:420px){
    .cfb-pdf-block .cfb-download{
        grid-template-columns:32px minmax(0,1fr)!important;
    }
    .cfb-download .cfb-button{
        grid-column:2!important;
        justify-self:start!important;
        margin-top:8px!important;
    }
}


/* v40 - Responsive general para todos los bloques */
.cfb-section,
.cfb-accordion,
.cfb-download,
.cfb-video-wrap,
.cfb-image,
.cfb-button-block{
    max-width:100%!important;
}
.cfb-content,
.cfb-content *,
.cfb-section h2,
.cfb-subtitle{
    max-width:100%!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
}
.cfb-video-wrap iframe,
.cfb-image img{
    max-width:100%!important;
}

@media(max-width:780px){
    /* Todos los bloques quedan cómodos en celular, sin depender del porcentaje de escritorio */
    .cfb-section.cfb-width-custom,
    .cfb-accordion.cfb-width-custom,
    .cfb-video.cfb-width-custom,
    .cfb-image.cfb-width-custom,
    .cfb-button-block.cfb-width-custom,
    .cfb-text.cfb-width-custom{
        width:92vw!important;
        max-width:92vw!important;
        margin-left:auto!important;
        margin-right:auto!important;
    }

    .cfb-section,
    .cfb-accordion{
        margin-top:28px!important;
        margin-bottom:28px!important;
    }

    .cfb-section h2{
        font-size:clamp(20px,6vw,28px)!important;
        line-height:1.18!important;
        letter-spacing:-.01em!important;
    }
    .cfb-subtitle{
        font-size:clamp(15px,4.4vw,18px)!important;
        line-height:1.45!important;
    }
    .cfb-content{
        font-size:clamp(14px,4.1vw,16px)!important;
        line-height:1.65!important;
    }
    .cfb-content p{
        margin-bottom:12px!important;
    }
    .cfb-content ul,
    .cfb-content ol{
        padding-left:1.25rem!important;
        margin-left:.45rem!important;
    }

    /* Videos: que no queden angostos ni corridos en mobile */
    .cfb-video-wrap{
        width:100%!important;
        max-width:100%!important;
        border-radius:14px!important;
        margin-left:auto!important;
        margin-right:auto!important;
    }

    /* Imágenes: adaptadas a pantalla chica */
    .cfb-image:not(.cfb-width-100) img{
        width:100%!important;
        max-width:100%!important;
        height:auto!important;
        border-radius:14px!important;
    }
    .cfb-image.cfb-width-100 img{
        width:100vw!important;
        max-width:100vw!important;
        height:auto!important;
        object-fit:contain!important;
    }

    /* Botones: que no se salgan del contenedor */
    .cfb-button-block{
        width:92vw!important;
        max-width:92vw!important;
    }
    .cfb-button{
        max-width:100%!important;
        white-space:normal!important;
        text-align:center!important;
        line-height:1.25!important;
        padding:12px 18px!important;
    }

    /* PDF mobile: más compacto y legible */
    .cfb-pdf-block .cfb-download{
        grid-template-columns:32px minmax(0,1fr)!important;
        gap:12px!important;
        padding:16px 14px!important;
    }
    .cfb-pdf-block .cfb-download .cfb-button{
        grid-column:2!important;
        justify-self:start!important;
        margin-top:8px!important;
        white-space:nowrap!important;
    }
    .cfb-pdf-block .cfb-download h2{
        font-size:clamp(16px,4.8vw,20px)!important;
        line-height:1.3!important;
    }
}

@media(max-width:420px){
    .cfb-section.cfb-width-custom,
    .cfb-accordion.cfb-width-custom,
    .cfb-video.cfb-width-custom,
    .cfb-image.cfb-width-custom,
    .cfb-button-block.cfb-width-custom,
    .cfb-text.cfb-width-custom,
    .cfb-pdf-block.cfb-width-custom{
        width:90vw!important;
        max-width:90vw!important;
    }
    .cfb-accordion-title{
        padding:15px 16px!important;
    }
    .cfb-accordion-title span{
        font-size:clamp(18px,6.2vw,23px)!important;
    }
}


/* v41 - Desplegables sin límite de altura */
.cfb-accordion.is-open .cfb-accordion-body{
    max-height:none!important;
    overflow:visible!important;
}
.cfb-accordion.is-open{
    overflow:visible!important;
}
