/* =========================================================
   HOME BUILDER FRONT - KÖŞELİ GAZETE / MANŞET TASARIMI
   ========================================================= */

.hb-front-builder{
    --hb-pink:#f00057;
    --hb-red:#990000;
    --hb-red-dark:#6f0000;
    --hb-dark:#070707;
    --hb-black:#111111;
    --hb-text:#111111;
    --hb-muted:#666666;
    --hb-bg:#f4f4f1;
    --hb-card:#ffffff;
    --hb-border:#deded8;
    --hb-soft:#f8fafc;

    width:100%;
    display:grid;
    gap:54px;
    padding:24px 0 60px;
    background:transparent;
    color:var(--hb-text);
}

.hb-front-builder *,
.hb-front-builder *::before,
.hb-front-builder *::after{
    box-sizing:border-box;
}

.hb-front-builder a{
    text-decoration:none;
}

.hb-front-builder img{
    max-width:100%;
}

/* =========================================================
   ROW / COLUMN
   ========================================================= */

.hb-front-row{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:24px;
    align-items:start;
}

.hb-front-col{
    min-width:0;
}

.hb-col-1{grid-column:span 1;}
.hb-col-2{grid-column:span 2;}
.hb-col-3{grid-column:span 3;}
.hb-col-4{grid-column:span 4;}
.hb-col-5{grid-column:span 5;}
.hb-col-6{grid-column:span 6;}
.hb-col-7{grid-column:span 7;}
.hb-col-8{grid-column:span 8;}
.hb-col-9{grid-column:span 9;}
.hb-col-10{grid-column:span 10;}
.hb-col-11{grid-column:span 11;}
.hb-col-12{grid-column:span 12;}

/* =========================================================
   SECTION TITLE
   ========================================================= */

.hb-section-title{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    margin:4px 0 26px;
    --hb-accent:#f00057;
}

.hb-section-title::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:50%;
    height:1px;
    background:#222;
    opacity:.75;
    transform:translateY(-50%);
}

.hb-section-title span{
    position:relative;
    z-index:2;
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 22px;
    background:var(--hb-accent,var(--hb-pink));
    color:#fff;
    font-size:18px;
    line-height:1;
    font-weight:950;
    font-style:italic;
    text-transform:uppercase;
    letter-spacing:-.03em;
    transform:skew(-10deg);
}

.hb-section-title a{
    position:absolute;
    right:0;
    z-index:3;
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 14px;
    background:#111;
    color:#fff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.hb-section-title a:hover{
    background:var(--hb-red);
    color:#fff;
}

/* =========================================================
   DARK OVERLAY CARD
   ========================================================= */

.hb-dark-card{
    position:relative;
    overflow:hidden;
    background:#000;
}

.hb-dark-card-link{
    position:relative;
    display:block;
    min-height:260px;
    color:#fff;
    overflow:hidden;
    background:#000;
}

.hb-dark-card img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .35s ease, opacity .25s ease;
}

.hb-dark-card:hover img{
    transform:scale(1.045);
}

.hb-dark-mask{
    position:absolute;
    inset:0;
    z-index:2;
    background:
        linear-gradient(to bottom, rgba(0,0,0,.02) 0%, rgba(0,0,0,.20) 42%, rgba(0,0,0,.90) 100%),
        linear-gradient(to right, rgba(0,0,0,.34), rgba(0,0,0,.03));
}

.hb-dark-content{
    position:absolute;
    z-index:3;
    left:26px;
    right:26px;
    bottom:24px;
    color:#fff;
}

.hb-dark-content strong{
    display:block;
    max-width:850px;
    color:#fff;
    font-family:Impact, Haettenschweiler, "Arial Narrow Bold", Arial, sans-serif;
    font-size:42px;
    line-height:.98;
    font-weight:900;
    letter-spacing:-.03em;
    text-shadow:0 3px 18px rgba(0,0,0,.45);
}

.hb-dark-content small{
    display:block;
    max-width:640px;
    margin-top:14px;
    color:rgba(255,255,255,.90);
    font-size:17px;
    line-height:1.45;
    font-weight:500;
}

/* =========================================================
   HEADLINE SLIDER
   ========================================================= */

.hb-headline-slider{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(330px,.62fr);
    gap:22px;
    align-items:stretch;
}

.hb-headline-main{
    position:relative;
    min-height:520px;
    background:#000;
    overflow:hidden;
}

.hb-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transition:opacity .35s ease, visibility .35s ease;
}

.hb-slide.active{
    opacity:1;
    visibility:visible;
}

.hb-headline-main .hb-dark-card,
.hb-headline-main .hb-dark-card-link{
    height:100%;
}

.hb-headline-side{
    display:grid;
    gap:20px;
}

.hb-slider-btn{
    position:absolute;
    top:50%;
    z-index:8;
    width:42px;
    height:58px;
    border:0;
    background:rgba(0,0,0,.45);
    color:#fff;
    font-size:42px;
    font-weight:300;
    cursor:pointer;
    transform:translateY(-50%);
    transition:.2s ease;
}

.hb-slider-btn:hover{
    background:var(--hb-pink);
}

.hb-slider-btn.prev{
    left:0;
}

.hb-slider-btn.next{
    right:0;
}

.hb-slider-dots{
    position:absolute;
    z-index:8;
    left:22px;
    bottom:18px;
    display:flex;
    gap:7px;
}

.hb-slider-dots button{
    width:9px;
    height:9px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.55);
    cursor:pointer;
}

.hb-slider-dots button.active{
    width:26px;
    border-radius:20px;
    background:var(--hb-pink);
}

.hb-dark-card.is-slider-main .hb-dark-card-link{
    min-height:520px;
}

.hb-dark-card.is-slider-main .hb-dark-content{
    left:34px;
    right:34px;
    bottom:56px;
}

.hb-dark-card.is-slider-main .hb-dark-content strong{
    max-width:760px;
    font-size:58px;
}

.hb-dark-card.is-slider-side .hb-dark-card-link{
    min-height:250px;
}

.hb-dark-card.is-slider-side .hb-dark-content{
    left:20px;
    right:20px;
    bottom:20px;
}

.hb-dark-card.is-slider-side .hb-dark-content strong{
    font-size:32px;
}

/* =========================================================
   CATEGORY SHOWCASE
   ========================================================= */

.hb-category-showcase{
    display:grid;
    grid-template-columns:minmax(240px,.7fr) minmax(360px,1.18fr) minmax(260px,.72fr);
    gap:24px;
    align-items:start;
}

.hb-show-left{
    display:grid;
    gap:34px;
}

.hb-show-center{
    min-width:0;
}

.hb-show-right{
    display:grid;
    gap:22px;
}

/* =========================================================
   PLAIN CARD
   ========================================================= */

.hb-plain-card{
    background:transparent;
}

.hb-plain-card a{
    display:block;
    color:#111;
}

.hb-plain-card img{
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
    display:block;
    margin-bottom:16px;
    background:#eee;
}

.hb-plain-card strong{
    display:block;
    color:#171717;
    font-family:Impact, Haettenschweiler, "Arial Narrow Bold", Arial, sans-serif;
    font-size:26px;
    line-height:1.1;
    font-weight:900;
    letter-spacing:-.02em;
}

.hb-plain-card:hover strong{
    color:var(--hb-pink);
}

/* =========================================================
   SHOWCASE MAIN
   ========================================================= */

.hb-dark-card.is-showcase-main .hb-dark-card-link{
    min-height:650px;
}

.hb-dark-card.is-showcase-main .hb-dark-content strong{
    max-width:540px;
    font-size:58px;
}

.hb-dark-card.is-showcase-main .hb-dark-content small{
    max-width:560px;
    font-size:18px;
}

/* =========================================================
   AD / MINI LIST
   ========================================================= */

.hb-ad-box{
    position:relative;
    min-height:300px;
    display:grid;
    place-items:center;
    background:#ff7a1a;
    color:#fff;
    text-align:center;
}

.hb-ad-box span{
    position:absolute;
    top:-18px;
    left:0;
    right:0;
    color:#999;
    font-size:10px;
    letter-spacing:.35em;
    font-weight:500;
}

.hb-ad-box strong{
    font-size:44px;
    line-height:1;
    font-weight:950;
    letter-spacing:.02em;
}

.hb-mini-list{
    display:grid;
    gap:14px;
}

.hb-mini-list a{
    display:grid;
    grid-template-columns:74px minmax(0,1fr);
    gap:12px;
    align-items:center;
    color:#111;
}

.hb-mini-list img{
    width:74px;
    height:56px;
    object-fit:cover;
    background:#eee;
}

.hb-mini-list strong{
    color:#111;
    font-family:Impact, Haettenschweiler, "Arial Narrow Bold", Arial, sans-serif;
    font-size:18px;
    line-height:1.15;
    font-weight:900;
}

.hb-mini-list a:hover strong{
    color:var(--hb-pink);
}

.hb-more-link{
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    color:var(--hb-pink);
    font-size:16px;
    font-weight:900;
    text-transform:uppercase;
}

.hb-more-link:hover{
    color:#111;
}

/* =========================================================
   MOSAIC
   ========================================================= */

.hb-mosaic-news{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px;
}

.hb-dark-card.is-mosaic-big{
    grid-column:span 2;
}

.hb-dark-card.is-mosaic-big .hb-dark-card-link{
    min-height:360px;
}

.hb-dark-card.is-mosaic-big .hb-dark-content strong{
    font-size:36px;
}

.hb-dark-card.is-mosaic-small .hb-dark-card-link{
    min-height:210px;
}

.hb-dark-card.is-mosaic-small .hb-dark-content{
    left:18px;
    right:18px;
    bottom:18px;
}

.hb-dark-card.is-mosaic-small .hb-dark-content strong{
    font-size:24px;
}

/* =========================================================
   DEFAULT GRID
   ========================================================= */

.hb-default-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px;
}

/* =========================================================
   AUTHORS STRIP - YAN YANA KÖŞELİ YAZAR LİSTESİ
   ========================================================= */

.hb-writers-strip{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.hb-writer-card{
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    min-height:260px;
    background:#fff;
    border:1px solid var(--hb-border);
    overflow:hidden;
    color:#111;
}

.hb-writer-avatar{
    position:relative;
    display:block;
    min-height:100%;
    background:#111;
    overflow:hidden;
}

.hb-writer-avatar::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.35));
}

.hb-writer-avatar img{
    width:100%;
    height:100%;
    min-height:260px;
    object-fit:cover;
    display:block;
    filter:saturate(.95) contrast(1.05);
    transition:transform .25s ease, filter .25s ease;
}

.hb-writer-card:hover .hb-writer-avatar img{
    transform:scale(1.045);
}

.hb-writer-info{
    min-width:0;
    display:flex;
    flex-direction:column;
    padding:17px;
}

.hb-writer-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
}

.hb-writer-top span{
    min-height:25px;
    display:inline-flex;
    align-items:center;
    padding:4px 9px;
    background:var(--hb-red);
    color:#fff;
    font-size:10px;
    font-weight:950;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.hb-writer-top small{
    min-width:0;
    color:#6b7280;
    font-size:11px;
    font-weight:850;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.hb-writer-info h3{
    margin:0;
    color:#111;
    font-family:Impact, Haettenschweiler, "Arial Narrow Bold", Arial, sans-serif;
    font-size:28px;
    line-height:.98;
    letter-spacing:-.04em;
    font-weight:900;
}

.hb-writer-info h3 a{
    color:#111;
}

.hb-writer-info h3 a:hover{
    color:var(--hb-red);
}

.hb-writer-info p{
    margin:11px 0 0;
    color:#4b5563;
    font-size:13px;
    line-height:1.45;
    font-weight:600;
}

.hb-writer-stats{
    display:grid;
    grid-template-columns:1fr 1fr;
    border:1px solid var(--hb-border);
    margin-top:auto;
}

.hb-writer-stats div{
    padding:9px 8px;
    background:#f8fafc;
    border-right:1px solid var(--hb-border);
}

.hb-writer-stats div:last-child{
    border-right:0;
}

.hb-writer-stats strong{
    display:block;
    color:#111;
    font-size:15px;
    line-height:1;
    font-weight:950;
}

.hb-writer-stats em{
    display:block;
    margin-top:5px;
    color:#6b7280;
    font-size:10px;
    font-style:normal;
    font-weight:950;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.hb-writer-last{
    display:block;
    margin-top:12px;
    padding:10px;
    background:#111;
    color:#fff;
}

.hb-writer-last small{
    display:block;
    color:rgba(255,255,255,.62);
    font-size:10px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:5px;
}

.hb-writer-last strong{
    display:block;
    color:#fff;
    font-size:13px;
    line-height:1.25;
    font-weight:900;
}

.hb-writer-btn{
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:12px;
    background:var(--hb-red);
    color:#fff;
    font-size:12px;
    font-weight:950;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.hb-writer-btn:hover{
    background:#111;
    color:#fff;
}

/* Eski yazar kartı class'ları kalmışsa bozulmasın diye pasif destek */
.hb-writers-layout{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.hb-writers-layout .hb-writer-card{
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    min-height:260px;
    background:#fff;
    border:1px solid var(--hb-border);
    color:#111;
}

/* =========================================================
   VIDEO / PODCAST FRONT MODULES
   ========================================================= */

.hb-media-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.hb-media-featured{
    display:grid;
    grid-template-columns:1.35fr .65fr;
    gap:22px;
}

.hb-media-featured-side{
    display:grid;
    gap:14px;
}

.hb-media-compact{
    display:grid;
    gap:14px;
}

.hb-media-card{
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(226,232,240,.95);
    border-radius:0;
    box-shadow:none;
}

.hb-media-link{
    display:block;
    color:inherit;
}

.hb-media-img{
    position:relative;
    height:210px;
    display:block;
    overflow:hidden;
    background:#111827;
}

.hb-media-img::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.55));
}

.hb-media-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.25s ease;
}

.hb-media-card:hover .hb-media-img img{
    transform:scale(1.05);
}

.hb-media-play{
    position:absolute;
    right:16px;
    bottom:16px;
    z-index:3;
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff;
    color:#f00057;
    font-size:18px;
    box-shadow:0 14px 34px rgba(0,0,0,.22);
}

.hb-media-live{
    position:absolute;
    left:14px;
    top:14px;
    z-index:3;
    height:28px;
    display:inline-flex;
    align-items:center;
    padding:0 10px;
    border-radius:999px;
    background:#ef4444;
    color:#fff;
    font-size:11px;
    font-style:normal;
    font-weight:900;
}

.hb-media-body{
    display:block;
    padding:16px;
}

.hb-media-body strong{
    display:block;
    color:#111827;
    font-size:18px;
    line-height:1.25;
    font-weight:900;
}

.hb-media-body small{
    display:block;
    margin-top:8px;
    color:#64748b;
    font-size:13px;
    line-height:1.55;
}

.hb-media-card.is-big .hb-media-img{
    height:390px;
}

.hb-media-card.is-big .hb-media-body strong{
    font-size:28px;
}

.hb-media-card.is-mini .hb-media-link{
    display:grid;
    grid-template-columns:120px 1fr;
    gap:12px;
    align-items:center;
    padding:10px;
}

.hb-media-card.is-mini .hb-media-img{
    height:92px;
    border-radius:0;
}

.hb-media-card.is-mini .hb-media-body{
    padding:0;
}

.hb-media-card.is-mini .hb-media-body strong{
    font-size:14px;
}

.hb-media-card.is-mini .hb-media-body small{
    display:none;
}

.hb-media-card.is-mini .hb-media-play{
    right:8px;
    bottom:8px;
    width:34px;
    height:34px;
    font-size:12px;
}

.hb-media-podcast .hb-media-play{
    color:#2563eb;
}

.hb-media-video .hb-media-play{
    color:#dc2626;
}

/* =========================================================
   HTML / EMPTY
   ========================================================= */

.hb-html-block{
    width:100%;
}

.hb-front-empty{
    padding:28px;
    border:1px dashed #ccc;
    background:#fafafa;
    color:#666;
    text-align:center;
    font-weight:800;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1180px){
    .hb-front-row{
        grid-template-columns:repeat(6,minmax(0,1fr));
    }

    .hb-front-col{
        grid-column:span 6 !important;
    }

    .hb-headline-slider,
    .hb-category-showcase{
        grid-template-columns:1fr;
    }

    .hb-headline-main{
        min-height:460px;
    }

    .hb-dark-card.is-slider-main .hb-dark-card-link{
        min-height:460px;
    }

    .hb-show-left{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .hb-dark-card.is-showcase-main .hb-dark-card-link{
        min-height:500px;
    }

    .hb-default-grid,
    .hb-mosaic-news,
    .hb-writers-strip,
    .hb-writers-layout{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .hb-media-grid,
    .hb-media-featured{
        grid-template-columns:1fr;
    }

    .hb-media-card.is-big .hb-media-img{
        height:280px;
    }
}

@media(max-width:760px){
    .hb-writers-strip,
    .hb-writers-layout{
        grid-template-columns:1fr;
    }

    .hb-writer-card,
    .hb-writers-layout .hb-writer-card{
        grid-template-columns:105px minmax(0,1fr);
        min-height:240px;
    }

    .hb-writer-avatar img{
        min-height:240px;
    }

    .hb-writer-info h3{
        font-size:24px;
    }
}

@media(max-width:700px){
    .hb-front-builder{
        gap:36px;
        padding-top:12px;
    }

    .hb-front-row{
        grid-template-columns:1fr;
        gap:18px;
    }

    .hb-front-col{
        grid-column:span 1 !important;
    }

    .hb-section-title{
        justify-content:flex-start;
        min-height:auto;
        margin-bottom:18px;
    }

    .hb-section-title::before{
        display:none;
    }

    .hb-section-title span{
        min-height:30px;
        padding:0 16px;
        font-size:15px;
        transform:none;
    }

    .hb-section-title a{
        position:static;
        margin-left:auto;
    }

    .hb-headline-main{
        min-height:420px;
    }

    .hb-dark-card.is-slider-main .hb-dark-card-link{
        min-height:420px;
    }

    .hb-dark-card.is-slider-main .hb-dark-content{
        left:22px;
        right:22px;
        bottom:46px;
    }

    .hb-dark-card.is-slider-main .hb-dark-content strong,
    .hb-dark-card.is-showcase-main .hb-dark-content strong{
        font-size:40px;
    }

    .hb-dark-content strong{
        font-size:30px;
    }

    .hb-dark-content small{
        font-size:14px;
    }

    .hb-show-left,
    .hb-default-grid,
    .hb-mosaic-news,
    .hb-media-grid{
        grid-template-columns:1fr;
    }

    .hb-dark-card.is-showcase-main .hb-dark-card-link{
        min-height:430px;
    }

    .hb-dark-card.is-mosaic-big{
        grid-column:span 1;
    }

    .hb-ad-box{
        min-height:220px;
    }

    .hb-ad-box strong{
        font-size:34px;
    }

    .hb-media-card.is-mini .hb-media-link{
        grid-template-columns:100px 1fr;
    }

    .hb-media-card.is-mini .hb-media-img{
        height:82px;
    }
}

@media(max-width:520px){
    .hb-writer-card,
    .hb-writers-layout .hb-writer-card{
        grid-template-columns:1fr;
    }

    .hb-writer-avatar{
        height:250px;
    }

    .hb-writer-avatar img{
        min-height:250px;
        height:250px;
    }

    .hb-writer-info{
        padding:16px;
    }
}