.about-wrap{ max-width:820px; margin:0 auto; }
.about-full{ text-align:left; }

.about-full h2{ font-size:1.5rem; color:#1c3552; margin:0 0 1rem; }
.about-full h3{ font-size:1.2rem; color:#1c3552; margin:1.75rem 0 .75rem; }
.about-full p{ margin-bottom:1rem; line-height:1.7; color:#4b5b70; }
.about-full strong{ color:#1c3552; }

/* Colapsa los <p><br></p> / <h3><br></h3> vacíos que deja el editor entre bloques */
.about-full p:has(> br:only-child),
.about-full h3:has(> br:only-child){ display:none; }

/* Listas con viñetas exportadas por el editor (<ol> + li[data-list="bullet"]) */
.about-full ol{ list-style:none; margin:0 0 1.25rem; padding-left:0; }
.about-full li[data-list="bullet"]{
position:relative;
padding-left:1.4rem;
margin-bottom:.5rem;
line-height:1.6;
color:#4b5b70;
}
.about-full li[data-list="bullet"] .ql-ui:before{
content:"\2022";
position:absolute;
left:0;
color:#2d7db5;
font-weight:700;
}

.about-certs{ margin-top:2.5rem; }
.about-certs-tt{
text-align:center; font-size:.85rem;
text-transform:uppercase; letter-spacing:.05em;
color:#6b7c93; margin-bottom:1rem;
}
.about-certs-scroll{
display:flex; gap:1.5rem;
overflow-x:auto;
padding:.5rem 1rem 1rem;
scroll-snap-type:x proximity;
-webkit-overflow-scrolling:touch;
}
.about-cert-item{
flex:0 0 auto; width:120px; height:120px;
border-radius:.6rem; background:#fff;
box-shadow:0 4px 14px rgba(0,0,0,.06);
display:flex; align-items:center; justify-content:center;
scroll-snap-align:start; padding:.75rem;
}
.about-cert-item img{
max-width:100%; max-height:100%;
object-fit:contain;
filter:grayscale(20%);
transition:filter .2s ease;
}
.about-cert-item:hover img{ filter:grayscale(0%); }

/* ===== Bloque de certificados ===== */
.about-certs{ margin-top:2.5rem; }
.about-certs-tt{
    text-align:center; font-size:.85rem;
    text-transform:uppercase; letter-spacing:.05em;
    color:#6b7c93; margin-bottom:1.25rem;
}

.about-certs-row{
    position:relative;
    display:flex;
    align-items:center;
    gap:.5rem;
    max-width:900px;
    margin:0 auto;
}

/* Difuminado en los bordes para insinuar que hay más contenido al hacer scroll */
.about-certs-row::before,
.about-certs-row::after{
    content:"";
    position:absolute;
    top:0; bottom:0;
    width:40px;
    pointer-events:none;
    z-index:2;
}
.about-certs-row::before{
    left:44px;
    background:linear-gradient(to right, var(--Wsoft,#f7f9fb), transparent);
}
.about-certs-row::after{
    right:44px;
    background:linear-gradient(to left, var(--Wsoft,#f7f9fb), transparent);
}

.about-certs-scroll{
    display:flex;
    gap:1.25rem;
    overflow-x:auto;
    scroll-behavior:smooth;
    padding:.75rem .5rem 1.25rem;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    flex:1;
}
.about-certs-scroll::-webkit-scrollbar{ height:6px; }
.about-certs-scroll::-webkit-scrollbar-thumb{ background:#d7dee6; border-radius:3px; }
.about-certs-scroll::-webkit-scrollbar-track{ background:transparent; }

.about-cert-item{
    flex:0 0 auto;
    width:150px;
    background:#fff;
    border:none;
    border-radius:.75rem;
    box-shadow:0 4px 14px rgba(28,53,82,.08);
    padding:1rem 1rem .85rem;
    scroll-snap-align:start;
    cursor:pointer;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.6rem;
    transition:transform .2s ease, box-shadow .2s ease;
}
.about-cert-item:hover,
.about-cert-item:focus-visible{
    transform:translateY(-4px);
    box-shadow:0 10px 24px rgba(28,53,82,.14);
    outline:none;
}
.about-cert-item img{
    width:100%; height:110px;
    object-fit:contain;
    filter:grayscale(15%);
    transition:filter .2s ease;
}
.about-cert-item:hover img{ filter:grayscale(0%); }
.about-cert-label{
    font-size:.75rem;
    color:#4b5b70;
    text-align:center;
    line-height:1.3;
}

.about-certs-arrow{
    flex:0 0 auto;
    width:36px; height:36px;
    border-radius:50%;
    border:1px solid #e1e7ee;
    background:#fff;
    color:#1c3552;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    transition:background .2s ease, color .2s ease, transform .15s ease;
    z-index:3;
}
.about-certs-arrow:hover{
    background:#1c3552;
    color:#fff;
    transform:scale(1.06);
}

@media (max-width: 640px){
    .about-certs-arrow{ display:none; } /* en móvil ya se desliza con el dedo */
    .about-certs-row::before,
    .about-certs-row::after{ display:none; }
}

/* ===== Lightbox de certificados ===== */
.cert-modal{
    position:fixed; inset:0;
    display:flex; align-items:center; justify-content:center;
    z-index:1000;
    opacity:0;
    visibility:hidden;
    transition:opacity .2s ease;
}
.cert-modal.is-open{
    opacity:1;
    visibility:visible;
}
.cert-modal-backdrop{
    position:absolute; inset:0;
    background:rgba(12,20,32,.75);
}
.cert-modal-box{
    position:relative;
    background:#fff;
    border-radius:.9rem;
    padding:2.5rem 1.75rem 1.75rem;
    max-width:min(90vw, 480px);
    max-height:85vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:1rem;
    transform:scale(.96);
    transition:transform .2s ease;
}
.cert-modal.is-open .cert-modal-box{ transform:scale(1); }
.cert-modal-box img{
    max-width:100%;
    max-height:60vh;
    object-fit:contain;
}
.cert-modal-caption{
    font-size:.95rem;
    color:#2d3b4e;
    text-align:center;
    font-weight:600;
}
.cert-modal-close{
    position:absolute;
    top:.6rem; right:.6rem;
    width:32px; height:32px;
    border-radius:50%;
    border:none;
    background:#f1f4f8;
    color:#1c3552;
    font-size:1.4rem;
    line-height:1;
    cursor:pointer;
    display:flex; align-items:center; justify-content:center;
}
.cert-modal-close:hover{ background:#e1e7ee; }
