/* Content-type hero | FINAL SINGLE SOURCE
   One shared layout for all 16 canonical content kinds.
   Main listing hero and 1:1 published content cards are not modified.
   Matching /kesifler gutters, navy/teal typography and red accents.
*/
.ef-ct__detail-hero--editorial{
    --type-navy:#142844;
    --type-teal:#07918c;
    --type-red:#f00443;
    --type-border:#d4e6e9;
    position:relative;
    isolation:isolate;
    display:grid;
    grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
    align-items:center;
    column-gap:clamp(20px,3vw,48px);
    /* Directory hero can be taller for its long text; individual content-kind
       heroes must follow their own text/photo height, not inherit 536px. */
    min-height:0;
    height:auto;
    margin:10px -16px 0;
    padding:32px 22px 34px;
    border:0;
    border-radius:23px;
    overflow:hidden;
    background:linear-gradient(118deg,#f9fdff 0%,#e5f7fd 59%,#d6f1fa 100%);
    box-shadow:none;
}
/* Turn off the previous full-hero color veil inherited from the base CSS. */
.ef-ct__detail-hero--editorial::before{content:none;display:none}
.ef-ct__detail-hero--editorial::after{
    content:"";
    position:absolute;
    z-index:-1;
    right:-130px;
    bottom:-280px;
    width:450px;
    height:450px;
    border-radius:50%;
    background:rgba(41,201,186,.13);
    pointer-events:none;
}
.ef-ct__detail-hero--editorial .ef-ct__detail-copy{
    position:relative;
    z-index:2;
    display:block;
    flex:none;
    order:0;
    min-width:0;
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
    align-self:start;
    text-align:left;
    background:transparent;
}
.ef-ct__detail-hero--editorial .ef-ct__eyebrow{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:7px 14px;
    border-radius:7px;
    background:var(--type-red);
    color:#fff;
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    line-height:1.35;
}
.ef-ct__detail-hero--editorial .ef-ct__detail-copy h1{
    margin:18px 0 14px;
    max-width:740px;
    color:var(--type-navy);
    font-size:clamp(37px,4.5vw,64px);
    line-height:1.09;
    font-weight:850;
    letter-spacing:-.052em;
    text-wrap:balance;
}
.ef-ct__detail-hero--editorial .ef-ct__detail-copy h1 em{
    color:var(--type-teal);
    font-style:normal;
}
.ef-ct__editorial-stroke{
    display:block;
    width:175px;
    height:6px;
    margin:0 0 22px 32px;
    border-radius:100%;
    background:var(--type-red);
    transform:rotate(-2deg);
}
.ef-ct__detail-hero--editorial .ef-ct__detail-copy>p{
    max-width:47ch;
    margin:0;
    color:#263b54;
    font-size:16px;
    line-height:1.6;
}
.ef-ct__editorial-signals{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    margin-top:17px;
}
.ef-ct__editorial-signals span{
    padding:5px 9px;
    border:1px solid var(--type-border);
    border-radius:999px;
    background:#fff;
    color:#31546d;
    font-size:10px;
    font-weight:750;
}
.ef-ct__editorial-signals .ef-ct__editorial-signals-label{
    padding:0;
    border:0;
    background:transparent;
    color:#0b8884;
    font-size:9px;
    font-weight:850;
    letter-spacing:.06em;
}
.ef-ct__editorial-status{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:5px;
    margin-top:14px;
    color:#476479;
    font-size:12px;
    line-height:1.5;
}
.ef-ct__editorial-status strong{
    color:var(--type-navy);
    font-weight:850;
}
.ef-ct__editorial-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:9px;
    margin-top:17px;
}
.ef-ct__detail-hero--editorial .ef-ct__detail-copy .ef-ct__editorial-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:47px;
    margin:0;
    padding:10px 17px;
    border-radius:12px;
    font-size:12px;
    font-weight:850;
    line-height:1.35;
    text-align:center;
    text-decoration:none;
}
.ef-ct__detail-hero--editorial .ef-ct__detail-copy .ef-ct__editorial-primary{
    border:1px solid var(--type-red);
    background:var(--type-red);
    color:#fff;
}
.ef-ct__detail-hero--editorial .ef-ct__detail-copy .ef-ct__editorial-primary:hover{
    border-color:#d2003b;
    background:#d2003b;
    color:#fff;
}
.ef-ct__detail-hero--editorial .ef-ct__detail-copy .ef-ct__editorial-secondary{
    border:1px solid #cadfe7;
    background:#fff;
    color:var(--type-navy);
}
.ef-ct__detail-hero--editorial .ef-ct__detail-copy .ef-ct__editorial-secondary:hover{
    border-color:#90c9c8;
    background:#f9ffff;
    color:#0b7372;
}
/* The photo is a separate visible column *within the same hero*. No white
   image card, opaque text overlay, mask, blend, or absolute positioning. */
.ef-ct__detail-hero--editorial .ef-ct__editorial-gallery{
    position:relative;
    inset:auto;
    z-index:1;
    display:block;
    align-self:stretch;
    justify-self:stretch;
    order:1;
    min-width:0;
    width:100%;
    height:clamp(285px,29vw,370px);
    margin:0;
    padding:0;
    overflow:hidden;
    border:0;
    border-radius:18px;
    background:#cce8ed;
    box-shadow:none;
    opacity:1;
    pointer-events:auto;
    -webkit-mask-image:none;
    mask-image:none;
}
.ef-ct__detail-hero--editorial .ef-ct__editorial-gallery>img{
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    border-radius:inherit;
    background:transparent;
}
.ef-ct__detail-hero--editorial .ef-ct__editorial-gallery>img[hidden]{display:none!important}
.ef-ct__editorial-image-fallback{
    position:absolute;
    inset:0;
    z-index:0;
    display:grid;
    place-items:center;
    border-radius:inherit;
    background:linear-gradient(140deg,#deeff1,#8fc9c8);
}
.ef-ct__editorial-fallback-icon{
    width:68px;
    height:68px;
    fill:none;
    stroke:#fff;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.ef-ct__editorial-gallery figcaption{
    position:absolute;
    z-index:2;
    right:13px;
    bottom:13px;
    max-width:calc(100% - 26px);
    padding:6px 10px;
    border-radius:999px;
    background:#142844d9;
    color:#fff;
    font-size:10px;
    line-height:1.3;
    font-weight:800;
    text-align:right;
}
.ef-ct__section--results{padding-top:38px}
.ef-ct__section--results .ef-ct__section-heading{margin-bottom:18px}
/* Truthful and useful empty result state, shared by all 16 types. */
.ef-ct__empty--editorial{
    padding:29px clamp(18px,3vw,36px);
    border:1px solid #cee5e9;
    border-radius:18px;
    background:linear-gradient(120deg,#fff,#effbf9);
}
.ef-ct__empty-eyebrow{
    display:block;
    margin-bottom:9px;
    color:#078c88;
    font-size:10px;
    font-weight:850;
    letter-spacing:.11em;
}
.ef-ct__empty--editorial h3{
    max-width:650px;
    margin:0 0 9px;
    color:#142844;
    font-size:clamp(19px,2.1vw,25px);
    line-height:1.3;
}
.ef-ct__empty--editorial p{
    max-width:73ch;
    margin:0;
    color:#496477;
    font-size:13px;
    line-height:1.6;
}
.ef-ct__empty-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:11px;
    margin-top:20px;
}
.ef-ct__empty--editorial .ef-ct__empty-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:43px;
    padding:9px 14px;
    border-radius:11px;
    font-size:12px;
    font-weight:850;
    text-decoration:none;
}
.ef-ct__empty-apply{background:#f00443;color:#fff!important}
.ef-ct__empty-more{border:1px solid #cbdfe5;background:#fff;color:#142844!important}
.ef-ct__detail-hero--editorial a:focus-visible,
.ef-ct__empty--editorial a:focus-visible{
    outline:3px solid #078e8b;
    outline-offset:3px;
}
/* Stack once, within the same blue hero, at tablet/mobile sizes.
   The photo remains fully opaque and can never obscure headings or buttons. */
@media(max-width:740px){
    .ef-ct__detail-hero--editorial{
        display:grid;
        grid-template-columns:minmax(0,1fr);
        min-height:0;
        margin:7px -12px 0;
        padding:23px 14px 21px;
        row-gap:16px;
        border-radius:17px;
    }
    .ef-ct__detail-hero--editorial .ef-ct__detail-copy{
        z-index:2;
        width:100%;
        max-width:none;
        padding:0;
        align-self:start;
        background:transparent;
    }
    .ef-ct__detail-hero--editorial .ef-ct__eyebrow{
        min-height:31px;
        padding:7px 11px;
        font-size:10px;
    }
    .ef-ct__detail-hero--editorial .ef-ct__detail-copy h1{
        max-width:100%;
        margin:12px 0;
        font-size:clamp(32px,8.2vw,44px);
        line-height:1.12;
    }
    .ef-ct__editorial-stroke{
        width:125px;
        height:5px;
        margin:0 0 17px 24px;
    }
    .ef-ct__detail-hero--editorial .ef-ct__detail-copy>p{
        max-width:40ch;
        font-size:13px;
        line-height:1.5;
    }
    .ef-ct__editorial-signals{gap:5px;margin-top:13px}
    .ef-ct__editorial-signals span{font-size:9px;padding:5px 7px}
    .ef-ct__editorial-signals .ef-ct__editorial-signals-label{padding:0}
    .ef-ct__editorial-status{margin-top:11px;font-size:11px}
    .ef-ct__editorial-actions{margin-top:16px;gap:7px}
    .ef-ct__detail-hero--editorial .ef-ct__detail-copy .ef-ct__editorial-actions a{
        min-height:44px;
        padding:9px 12px;
        font-size:11px;
    }
    .ef-ct__detail-hero--editorial .ef-ct__editorial-gallery{
        position:relative;
        inset:auto;
        width:100%;
        height:clamp(185px,44vw,230px);
        min-height:0;
        border-radius:14px;
        overflow:hidden;
        opacity:1;
        -webkit-mask-image:none;
        mask-image:none;
    }
    .ef-ct__editorial-gallery figcaption{
        right:10px;
        bottom:10px;
        font-size:9px;
    }
    .ef-ct__section--results{padding-top:26px}
    .ef-ct__empty--editorial{padding:21px 17px}
    .ef-ct__empty-actions{flex-direction:column;align-items:stretch;gap:8px}
    .ef-ct__empty--editorial .ef-ct__empty-actions a{width:100%}
}
@media(max-width:390px){
    .ef-ct__detail-hero--editorial .ef-ct__detail-copy h1{font-size:33px}
    .ef-ct__editorial-actions{
        display:grid;
        grid-template-columns:minmax(0,1fr);
    }
    .ef-ct__detail-hero--editorial .ef-ct__detail-copy .ef-ct__editorial-actions a{width:100%}
}
@media(prefers-reduced-motion:reduce){
    .ef-ct__detail-hero--editorial .ef-ct__detail-copy a{transition:none}
}
