.de631-shell,.de631-panel,.de631-row,.de631-athlete-card{font-family:"All Round Gothic",Arial,sans-serif}
.de631-athletes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.de631-athlete-card{position:relative;overflow:hidden;min-height:540px;background:#d9d9d9;background-size:cover;background-position:center;border:3px solid #3d3d3d;border-radius:32px}
.de631-athlete-nameplate{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:24px 22px 18px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.42) 58%,rgba(0,0,0,.82) 100%);color:#fff;transition:opacity .28s ease}.de631-athlete-nameplate-age{font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#e5e7ff;margin-bottom:8px}.de631-athlete-nameplate-name{font-size:26px;line-height:1.1;font-weight:800;text-transform:uppercase}
.de631-athlete-overlay{--de631-gradient-start: rgba(0,0,0,0.92);--de631-gradient-mid: rgba(0,0,0,0.56);--de631-gradient-top: rgba(0,0,0,0.02);position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;background:linear-gradient(180deg,var(--de631-gradient-top) 0%,var(--de631-gradient-mid) 52%,var(--de631-gradient-start) 100%);color:#fff;opacity:0;transition:opacity .3s ease}
.de631-athlete-card:hover .de631-athlete-overlay,.de631-athlete-card:focus-within .de631-athlete-overlay{opacity:1}
.de631-athlete-card:hover .de631-athlete-nameplate,.de631-athlete-card:focus-within .de631-athlete-nameplate{opacity:0}
.de631-athlete-age{margin-bottom:10px;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#e5e7ff}
.de631-athlete-discipline{margin-bottom:4px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#aabbff}
.de631-athlete-name{margin:0 0 10px;font-size:42px;line-height:.98;font-weight:900;font-style:italic;text-transform:uppercase;color:#fff}
.de631-athlete-birth{margin-bottom:14px;font-size:18px;line-height:1.25;color:rgba(255,255,255,.88)}
.de631-athlete-desc{font-size:17px;line-height:1.55;color:rgba(255,255,255,.94)}
.de631-shell{background:transparent;border-radius:48px;padding:18px;border:1px solid #cfcfcf;box-shadow:0 18px 30px rgba(0,0,0,.05)}
.de631-panel{background:#efefef;border-radius:22px;padding:22px}
.de631-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:22px;margin-bottom:10px}
.de631-nav{display:flex;gap:16px}
.de631-arrow{width:74px;height:64px;border-radius:14px;border:1px solid #c5cad6;background:#f5f5f5;color:#39435e;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 !important;box-sizing:border-box}
/* normalizar íconos de Elementor dentro de los botones */
.de631-arrow i,.de631-arrow svg,.de631-dropdown-toggle i,.de631-dropdown-toggle svg{font-size:18px;width:18px;height:18px;line-height:1;display:block;pointer-events:none;color:inherit;fill:currentColor}
.de631-arrow.de631-next{background:#d77ba0;color:#f1f3f7}
.de631-head-right{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:320px;position:relative}
.de631-head-main{display:flex;align-items:center;gap:14px}
.de631-current-label{font-size:60px;line-height:.92;font-weight:800;font-style:italic;text-transform:uppercase;color:#444654}
.de631-dropdown-toggle{width:54px;height:54px;border-radius:12px;border:1px solid #c5cad6;background:#f5f5f5;color:#444654;display:flex;align-items:center;justify-content:center;cursor:pointer}
.de631-dropdown{display:none;position:absolute;top:74px;left:0;z-index:10;background:#f5f5f5;border:1px solid #c5cad6;border-radius:14px;min-width:260px;box-shadow:0 12px 24px rgba(0,0,0,.10);padding:8px}
.de631-dropdown.is-open{display:block}
.de631-dropdown-title{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b7280;padding:4px 6px 8px}.de631-dropdown-list{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto}
.de631-dropdown-item{border:0;background:#fff;border-radius:10px;padding:12px 14px;text-align:left;color:#444654;font-weight:700;font-size:16px;cursor:pointer}
.de631-dropdown-item.is-active{background:#d77ba0;color:#fff}
.de631-group{display:none}.de631-group.is-active{display:block}
.de631-row{--de631-col-day:150px;--de631-col-meta:260px;--de631-col-image:160px;display:grid;grid-template-columns:var(--de631-col-day) var(--de631-col-meta) minmax(260px,1fr) var(--de631-col-image);gap:22px;align-items:center;padding:22px 0;border-top:1px solid #bfc0c6;background:transparent}
.de631-row-left{display:flex;flex-direction:column;align-items:center;justify-content:center}
.de631-day-week{font-size:26px;font-weight:800;letter-spacing:.04em;color:#11131c;text-transform:uppercase;line-height:1}
.de631-day-number{font-size:140px;line-height:.82;font-weight:900;font-style:italic;color:#11131c;letter-spacing:-0.05em}
.de631-row-meta{display:flex;flex-direction:column;gap:4px;color:#4f6079;font-size:28px;font-weight:800;font-style:italic;text-transform:uppercase}
.de631-row-main{display:flex;flex-direction:column;justify-content:center}.de631-row-category-inline{margin-bottom:6px;color:#4f6079;font-size:28px;font-weight:800;font-style:italic;text-transform:uppercase}.de631-row-title{font-size:62px;line-height:.95;font-weight:900;font-style:italic;text-transform:uppercase;color:#11131c;word-break:break-word}
.de631-row-image{display:flex;align-items:center;justify-content:flex-end}
.de631-row-image img{width:120px;max-width:100%;height:auto;object-fit:contain;display:block}
.de631-placeholder{width:96px;height:96px;border-radius:18px;background:#e0e3ee;display:block}
@media (max-width:1200px){.de631-current-label{font-size:48px}.de631-row{grid-template-columns:120px 220px minmax(220px,1fr) 130px}.de631-day-number{font-size:108px}.de631-row-meta{font-size:22px}.de631-row-title{font-size:46px}}
@media (max-width:1024px){.de631-athletes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.de631-athlete-card{min-height:430px}.de631-athlete-name{font-size:32px}.de631-head-right{min-width:220px}.de631-current-label{text-align:left}.de631-row{grid-template-columns:100px 1fr 110px;gap:16px}.de631-row-main{grid-column:2}.de631-row-image{grid-column:3;grid-row:1 / span 2}}
@media (max-width:767px){
.de631-athletes-grid{grid-template-columns:1fr}
.de631-athlete-card{min-height:340px;border-radius:24px}
.de631-athlete-nameplate{padding:20px 16px 14px}
.de631-athlete-nameplate-age{font-size:13px}
.de631-athlete-nameplate-name{font-size:20px}
.de631-athlete-age{font-size:13px;margin-bottom:8px}
.de631-athlete-discipline{font-size:12px}
.de631-athlete-name{font-size:24px}
.de631-athlete-birth{font-size:15px}
.de631-athlete-desc{font-size:14px;line-height:1.45}
.de631-athlete-overlay{padding:18px}
.de631-athletes-grid.de631-mobile-static .de631-athlete-overlay{opacity:1}
.de631-athletes-grid.de631-mobile-static .de631-athlete-nameplate{opacity:0;display:none}

.de631-shell{padding:10px;border-radius:28px}
.de631-panel{padding:14px;border-radius:18px}
.de631-toolbar{
    display:grid;
    grid-template-columns:auto 1fr;
    grid-template-areas:
        "nav head";
    align-items:center;
    gap:12px;
    padding-bottom:16px;
}
.de631-nav{grid-area:nav;gap:10px}
.de631-arrow{width:58px;height:50px}
.de631-head-right{
    grid-area:head;
    width:100%;
    min-width:0;
    align-items:flex-end;
    margin-left:0;
}
.de631-head-main{
    width:100%;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:10px;
}
.de631-current-label{
    font-size:28px;
    line-height:1;
    text-align:right;
}
.de631-dropdown-toggle{width:50px;height:50px}
.de631-dropdown{top:56px;right:0;left:auto;min-width:220px;padding-top:10px}

.de631-row{
    grid-template-columns:1fr 100px 90px;
    grid-template-areas:
        "category category category"
        "title title title"
        "meta day logo";
    gap:14px;
    padding:18px 0;
    align-items:end;
}
.de631-row-main{
    grid-area:title;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}
.de631-row-category-inline{
    grid-area:category;
    margin-bottom:0;
    font-size:14px;
    line-height:1;
}
.de631-row-title{
    font-size:24px;
    line-height:1.05;
    word-break:normal;
    overflow-wrap:anywhere;
}
.de631-row-meta{
    grid-area:meta;
    font-size:14px;
    line-height:1.05;
    gap:2px;
    align-self:end;
}
.de631-row-left{
    grid-area:day;
    align-self:end;
}
.de631-day-week{font-size:14px}
.de631-day-number{font-size:68px;line-height:.85}
.de631-row-image{
    grid-area:logo;
    justify-content:flex-end;
    align-self:end;
}
.de631-row-image img{width:86px}
}
.de631-arrow,
.de631-dropdown-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
}


/* v6.4.5 toolbar adjustments */
.de631-head-right{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:flex-start;
}
.de631-head-main{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    width:auto;
}
.de631-current-label{
    margin:0;
    display:flex;
    align-items:center;
    line-height:1;
}
.de631-dropdown-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 !important;
    box-sizing:border-box;
}

/* svg stroke weight is controlled via viewBox, no font hacks needed */

@media (max-width: 767px){
    .de631-head-right{
        align-items:flex-end;
    }
    .de631-head-main{
        width:100%;
        justify-content:flex-end;
    }
}


.de631-row-status{
    margin-bottom:6px;
    font-size:18px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.de631-row-status.is-upcoming{color:#2ea1dc}
.de631-row-status.is-active{color:#16a34a}
.de631-row-status.is-finished{color:#6b7280}

@media (max-width:1200px){
    .de631-row-status{font-size:16px}
}
@media (max-width:767px){
    .de631-row-status{
        font-size:13px;
        margin-bottom:4px;
    }
}
