.emancipator-grid{
    --emancipator-cols:4;
    display:grid;
    grid-template-columns:repeat(var(--emancipator-cols),minmax(0,1fr));
    gap:24px;
}
.emancipator-card{
    position:relative;
    min-height:180px;
    overflow:hidden;
    border-radius:18px;
    background:#21184F;
    background-size:cover;
    background-position:center top;
    isolation:isolate;
    transition:transform .25s ease, box-shadow .25s ease;
}
.emancipator-card.has-pdf::before{
    content:"";
    position:absolute;
    inset:0;
    background:#10073F;
    opacity:.68;
    z-index:-1;
}
.emancipator-card.has-pdf:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(0,0,0,.18);
}
.emancipator-card-inner{
    min-height:inherit;
    padding:28px 24px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    position:relative;
    z-index:2;
}
.emancipator-title-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
}
.emancipator-month-title{
    margin:0;
    color:#B9C1C9;
    font-size:21px;
    line-height:1.2;
    font-weight:500;
}
.emancipator-card.has-pdf .emancipator-month-title{
    color:#fff;
    font-weight:700;
}
.emancipator-download-icon{
    width:24px;
    height:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:rgba(255,255,255,.32);
}
.emancipator-download-icon.active{
    color:#E6D500;
}
.emancipator-download-icon svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.emancipator-download-btn{
    display:inline-flex;
    margin-top:18px;
    padding:10px 17px;
    background:#477CE8;
    color:#fff;
    text-decoration:none!important;
    border-radius:5px;
    font-size:14px;
    line-height:1;
    transition:transform .2s ease,filter .2s ease;
}
.emancipator-download-btn:hover{
    color:#fff;
    filter:brightness(1.08);
    transform:translateY(-1px);
}
.emancipator-tooltip{
    position:absolute;
    left:50%;
    top:14px;
    transform:translate(-50%,-6px);
    background:#222;
    color:#fff;
    padding:9px 11px;
    border-radius:6px;
    font-size:12px;
    line-height:1.25;
    white-space:nowrap;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:.2s ease;
    z-index:5;
}
.emancipator-tooltip::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-5px;
    transform:translateX(-50%);
    border:5px solid transparent;
    border-top-color:#222;
    border-bottom:0;
}
.emancipator-card.is-empty:hover .emancipator-tooltip{
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
}
@media(max-width:1024px){
    .emancipator-grid{--emancipator-cols:2}
}
@media(max-width:767px){
    .emancipator-grid{--emancipator-cols:1}
    .emancipator-tooltip{white-space:normal;width:max-content;max-width:85%;text-align:center}
}


/* Uploaded-edition attention pulse */
.emancipator-download-icon.active{
    animation: emancipator-download-pulse 1.35s ease-in-out infinite;
    transform-origin:center;
    will-change:transform;
}

@keyframes emancipator-download-pulse{
    0%,100%{
        transform:scale(1);
    }
    50%{
        transform:scale(1.38);
    }
}

@media (prefers-reduced-motion: reduce){
    .emancipator-download-icon.active{
        animation:none;
    }
}


/* v1.1.1 — Force both English and French widgets to fill their Elementor container */
.elementor-widget-emancipator_english,
.elementor-widget-emancipator_french,
.elementor-widget-emancipator_english > .elementor-widget-container,
.elementor-widget-emancipator_french > .elementor-widget-container{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    align-self:stretch !important;
    flex:1 1 100% !important;
    box-sizing:border-box !important;
}

.elementor-widget-emancipator_english .emancipator-grid,
.elementor-widget-emancipator_french .emancipator-grid,
.emancipator-grid[data-language="en"],
.emancipator-grid[data-language="fr"]{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    justify-self:stretch !important;
    align-self:stretch !important;
}

.emancipator-grid > .emancipator-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}

/* Prevent long translated labels from influencing grid width */
.emancipator-title-row,
.emancipator-month-title{
    min-width:0 !important;
    max-width:100% !important;
}

.emancipator-month-title{
    overflow-wrap:anywhere;
}
