/* =========================================================
   ENFAVORI PRODUCT / ITEM DETAIL
   CLEAN BUILD
   ========================================================= */

.efp-item,
.efp-item *,
.efp-item *::before,
.efp-item *::after{
    box-sizing:border-box;
}

.efp-item{
    --navy:#142844;
    --navy-dark:#0d1b2d;
    --blue:#2ea7ff;
    --turquoise:#18d2c3;
    --green:#14805f;
    --green-bg:#effbf6;
    --red:#b42318;
    --red-bg:#fff4f4;
    --orange:#f59e0b;
    --orange-dark:#e38d04;
    --text:#475569;
    --muted:#64748b;
    --line:#e2e8f0;
    --soft:#f8fafc;

    color:var(--navy);
    background:#fff;
}

.efp-shell{
    width:min(1180px,calc(100% - 32px));
    margin:0 auto;
    padding:24px 0 64px;
}


/* Breadcrumb */

.efp-breadcrumb{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;

    margin:0 0 18px;

    color:var(--muted);

    font-size:12px;
}

.efp-breadcrumb a{
    color:var(--muted);
    text-decoration:none;
}

.efp-breadcrumb a:hover{
    color:var(--navy);
}


/* =========================================================
   PRODUCT TOP
   ========================================================= */

.efp-product{
    display:grid;

    grid-template-columns:
        minmax(0,1.12fr)
        minmax(390px,.88fr);

    gap:48px;

    align-items:start;
}


/* =========================================================
   GALLERY
   ========================================================= */

.efp-media{
    min-width:0;
}

.efp-gallery{
    display:grid;

    grid-template-columns:
        72px
        minmax(0,1fr);

    gap:12px;

    align-items:start;

    width:100%;
}

.efp-gallery.is-single{
    grid-template-columns:1fr;
}


/* thumbnails */

.efp-thumbs{
    display:flex;
    flex-direction:column;

    gap:8px;

    width:72px;

    max-height:620px;

    overflow-y:auto;
    overflow-x:hidden;

    scrollbar-width:thin;
}

.efp-thumb{
    appearance:none;

    flex:0 0 66px;

    display:flex;
    align-items:center;
    justify-content:center;

    width:72px;
    height:66px;

    margin:0;
    padding:3px;

    overflow:hidden;

    border:1px solid #d9e3ed;
    border-radius:9px;

    background:#fff;

    cursor:pointer;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.efp-thumb:hover{
    border-color:var(--blue);
    transform:translateY(-1px);
}

.efp-thumb.is-active{
    border:2px solid var(--turquoise);

    box-shadow:
        0 0 0 2px
        rgba(24,210,195,.11);
}

.efp-thumb img{
    display:block;

    width:100%;
    height:100%;

    object-fit:contain;
}


/* main image */

.efp-stage{
    appearance:none;

    position:relative;

    display:flex;
    align-items:center;
    justify-content:center;

    width:100%;

    margin:0;
    padding:0;

    overflow:hidden;

    border:1px solid var(--line);
    border-radius:16px;

    background:#fff;

    cursor:crosshair;
}

.efp-main-image{
    display:block;

    width:100%;

    aspect-ratio:1 / 1;

    object-fit:contain;

    background:#fff;
}

.efp-inspect{
    position:absolute;

    right:12px;
    bottom:12px;

    z-index:4;

    display:inline-flex;
    align-items:center;

    gap:6px;

    min-height:34px;

    padding:0 11px;

    border:
        1px solid
        rgba(255,255,255,.45);

    border-radius:999px;

    background:
        rgba(13,27,45,.80);

    color:#fff;

    font-size:11px;
    font-weight:800;

    pointer-events:none;

    backdrop-filter:blur(8px);

    transition:opacity .15s ease;
}

.efp-stage:hover .efp-inspect{
    opacity:0;
}


/* hover lens */

.efp-lens{
    position:absolute;

    z-index:5;

    display:none;

    border:
        1px solid
        rgba(46,167,255,.85);

    background:
        rgba(46,167,255,.16);

    pointer-events:none;
}

.efp-lens.is-visible{
    display:block;
}


/* Amazon style zoom pane */

.efp-zoom-pane{
    position:fixed;
    z-index:9990;

    display:none;

    box-sizing:border-box;

    overflow:hidden;

    border:1px solid #d8e1eb;
    border-radius:12px;

    background-color:#fff;
    background-repeat:no-repeat;

    box-shadow:
        0 18px 48px
        rgba(15,23,42,.22);

    pointer-events:none;
}

.efp-zoom-pane.is-visible{
    display:block;
}


/* =========================================================
   SUMMARY
   ========================================================= */

.efp-summary{
    min-width:0;

    position:sticky;

    top:88px;
}


/* tags */

.efp-tags{
    display:flex;
    flex-wrap:wrap;
    align-items:center;

    gap:7px;

    margin-bottom:12px;
}

.efp-tag{
    display:inline-flex;
    align-items:center;

    min-height:27px;

    padding:0 9px;

    border:1px solid #dce5ee;
    border-radius:999px;

    background:var(--soft);

    color:#475569;

    font-size:11px;
    line-height:1;
    font-weight:800;
}

.efp-tag--brand{
    border-color:
        rgba(24,210,195,.34);

    background:
        rgba(24,210,195,.08);

    color:#087c72;
}

.efp-tag--sponsor{
    border-color:#fed7aa;
    background:#fff7ed;
    color:#c2410c;
}


/* title */

.efp-title{
    margin:0;

    color:var(--navy);

    font-size:
        clamp(30px,2.75vw,40px);

    line-height:1.08;

    letter-spacing:-.026em;

    font-weight:900;
}


/* score */

.efp-score{
    display:flex;
    flex-wrap:wrap;
    align-items:center;

    gap:7px;

    margin-top:11px;

    color:var(--muted);

    font-size:13px;
    line-height:1.4;
    font-weight:650;
}

.efp-score strong{
    color:#087c72;
    font-weight:900;
}

.efp-score i{
    display:block;

    width:4px;
    height:4px;

    border-radius:50%;

    background:#cbd5e1;
}


/* rank */

.efp-rank{
    display:flex;
    align-items:center;

    gap:7px;

    margin-top:12px;

    color:var(--muted);

    font-size:12px;
}

.efp-rank strong{
    color:#087c72;

    font-size:16px;
    font-weight:900;
}


/* price */

.efp-price{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;

    gap:9px;

    margin-top:22px;
}

.efp-price strong{
    color:var(--navy);

    font-size:34px;
    line-height:1;

    letter-spacing:-.025em;

    font-weight:900;
}

.efp-price s{
    color:#94a3b8;
    font-size:14px;
}

.efp-price-note{
    margin:7px 0 0;

    color:var(--muted);

    font-size:12px;
}


/* location */

.efp-location{
    margin:16px 0 0;

    color:var(--muted);

    font-size:13px;
    line-height:1.55;
}

.efp-location span{
    display:block;
}


/* description */

.efp-description{
    margin:18px 0 0;

    color:var(--text);

    font-size:14px;
    line-height:1.72;
}


/* =========================================================
   MAIN CTA
   ========================================================= */

.efp-buy{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:14px;

    width:100%;

    min-height:48px;

    margin-top:20px;

    padding:0 18px;

    border:
        1px solid
        var(--orange);

    border-radius:11px;

    background:var(--orange);
    color:#fff;

    text-decoration:none;

    font-size:14px;
    line-height:1;
    font-weight:900;

    box-shadow:
        0 7px 18px
        rgba(245,158,11,.20);

    transition:
        background .15s ease,
        transform .15s ease,
        box-shadow .15s ease;
}

.efp-buy:hover{
    background:var(--orange-dark);

    transform:
        translateY(-1px);

    box-shadow:
        0 10px 22px
        rgba(245,158,11,.26);
}

.efp-affiliate-note{
    margin:8px 0 0;

    color:#94a3b8;

    font-size:10.5px;
    line-height:1.45;
}


/* =========================================================
   FAVORITE / VOTES
   ========================================================= */

.efp-actions{
    display:grid;

    grid-template-columns:
        minmax(145px,1.15fr)
        minmax(210px,1.85fr);

    gap:8px;

    margin-top:18px;
}


/* favorite */

.efp-favorite{
    min-width:0;
}

.efp-favorite .fav{
    width:100%;
    height:auto;

    margin:0;
}

.efp-favorite .fav__btn{
    width:100%;
    height:44px;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:7px;

    margin:0;
    padding:0 12px;

    border:1px solid #d8e2ed;
    border-radius:10px;

    background:#fff;
    color:var(--navy);

    text-decoration:none;

    white-space:nowrap;

    font-size:12px;
    line-height:1;
    font-weight:800;

    box-shadow:none;
}

.efp-favorite .fav__btn svg{
    width:17px;
    height:17px;

    fill:none;
    stroke:#ef476f;
    stroke-width:1.7px;
}

.efp-favorite .fav__btn.is-on{
    border-color:#f9b8c7;
    background:#fff7f9;
    color:#c52d51;
}


/* vote */

.efp-vote{
    display:grid;

    grid-template-columns:
        1fr
        1fr;

    gap:8px;

    min-width:0;
}

.efp-item .efp-vote .vote__btn{
    width:100%;
    height:44px;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:5px;

    margin:0;
    padding:0 10px;

    border-radius:10px;

    white-space:nowrap;

    font-size:12px;
    line-height:1;
    font-weight:800;

    box-shadow:none;
}

.efp-item .efp-vote .vote__btn svg{
    width:15px;
    height:15px;
}

.efp-item .efp-vote .vote__btn--up{
    border:1px solid #b9e7d4;
    background:var(--green-bg);
    color:var(--green);
}

.efp-item .efp-vote .vote__btn--up svg{
    fill:currentColor;
}

.efp-item .efp-vote .vote__btn--down{
    border:1px solid #fecaca;
    background:var(--red-bg);
    color:var(--red);
}

.efp-item .efp-vote .vote__btn--down svg{
    fill:currentColor;
}


/* === EFP PERSISTENT VOTE STATE START === */

/*
|--------------------------------------------------------------------------
| KALICI OY DURUMU
|--------------------------------------------------------------------------
| Layout yüksekliği değişmez.
| Ek mesaj satırı yok.
*/

.efp-vote.is-done
.vote__btn{
    cursor:pointer;
}


/*
 * Seçilmemiş yön.
 */

.efp-vote.is-done
.vote__btn:not(.is-picked){
    opacity:.46;

    filter:
        saturate(.65);
}


/*
 * BEGENDINIZ
 */

.efp-item
.efp-vote
.vote__btn--up.is-picked{
    opacity:1;

    border-color:#14805f;

    background:#14805f;
    color:#fff;

    box-shadow:
        0 4px 12px
        rgba(20,128,95,.18);
}


/*
 * BEGENMEDINIZ
 */

.efp-item
.efp-vote
.vote__btn--down.is-picked{
    opacity:1;

    border-color:#b42318;

    background:#b42318;
    color:#fff;

    box-shadow:
        0 4px 12px
        rgba(180,35,24,.16);
}


/*
 * aria-disabled sadece durum bilgisidir.
 * pointer-events kapatilmaz;
 * tekrar tiklaninca aciklama toast'i gelir.
 */

.efp-vote
.vote__btn[aria-disabled="true"]{
    cursor:pointer;
}

/* === EFP PERSISTENT VOTE STATE END === */

/* =========================================================
   ITEM TAG SHARE
   ========================================================= */

.efp-tag-share{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    margin-left:2px;
}

.efp-tag-share .share--icons{
    display:inline-flex;
    align-items:center;
    gap:4px;
    margin:0;
    flex-wrap:nowrap;
}

.efp-tag-share .share__label--icons,
.efp-tag-share .share__btn{
    box-sizing:border-box;
    height:27px;
    min-height:27px;
    border:1px solid #dce5ee;
    background:#f8fafc;
    color:#475569;
}

.efp-tag-share .share__label--icons{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 8px;
    border-radius:999px;
    font-size:10.5px;
    line-height:1;
    font-weight:800;
    white-space:nowrap;
}

.efp-tag-share .share__btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:27px;
    min-width:27px;
    padding:0;
    border-radius:999px;
    cursor:pointer;
    box-shadow:none;
    text-decoration:none;
    transition:transform .15s ease,border-color .15s ease,background .15s ease;
}

.efp-tag-share .share__btn:hover{
    transform:translateY(-1px);
}

.efp-tag-share .share__btn svg{
    width:13px;
    height:13px;
    display:block;
    fill:currentColor;
}

.efp-tag-share .share__btn--whatsapp{
    border-color:#c9ead4;
    background:#f0fbf4;
    color:#169c4c;
}

.efp-tag-share .share__btn--x{
    border-color:#d7e0e8;
    background:#f3f6f8;
    color:#344454;
}

.efp-tag-share .share__btn--linkedin{
    border-color:#c8dcf0;
    background:#f0f7fd;
    color:#0a66c2;
}

.efp-tag-share .share__btn--copy{
    border-color:#cfe5e2;
    background:#f2fbfa;
    color:#0f8f83;
}

.efp-tag-share .share__msg{
    display:none;
}

@media(max-width:700px){
    .efp-tag-share{
        margin-left:0;
    }
}


/* publisher */

.efp-publisher{
    margin-top:18px;
    padding-top:15px;

    border-top:1px solid #edf1f5;
}

.efp-publisher .publisher{
    margin:0;

    background:transparent;

    border:0;

    padding:0;
}


/* back */

.efp-back{
    display:inline-flex;
    align-items:center;

    margin-top:17px;

    color:#087c72;

    text-decoration:none;

    font-size:12px;
    font-weight:850;
}


/* =========================================================
   CONTENT SECTIONS
   ========================================================= */

.efp-section{
    margin-top:40px;

    padding:25px 27px;

    border:1px solid var(--line);
    border-radius:16px;

    background:#fff;
}

.efp-section-head{
    margin-bottom:20px;

    padding-left:13px;

    border-left:
        4px solid
        var(--turquoise);
}

.efp-section-head span{
    display:block;

    margin-bottom:4px;

    color:#0f9f93;

    font-size:10px;

    letter-spacing:.08em;

    font-weight:900;
}

.efp-section-head h2{
    margin:0;

    color:var(--navy);

    font-size:22px;
    line-height:1.2;
    font-weight:900;
}


/* facts */

.efp-facts{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:0 30px;

    margin:0;
}

.efp-facts > div{
    padding:12px 0;

    border-top:
        1px solid
        #edf1f5;
}

.efp-facts dt{
    margin:0 0 5px;

    color:var(--muted);

    font-size:10px;

    letter-spacing:.045em;

    text-transform:uppercase;

    font-weight:850;
}

.efp-facts dd{
    margin:0;

    color:var(--navy);

    font-size:13px;
    line-height:1.5;
    font-weight:750;

    overflow-wrap:anywhere;
}


/* booking providers */

.efp-provider-grid{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:10px;
}

.efp-provider-grid a{
    display:flex;
    align-items:center;
    justify-content:space-between;

    min-height:46px;

    padding:0 14px;

    border:1px solid #dbe4ee;
    border-radius:10px;

    color:var(--navy);
    background:#fff;

    text-decoration:none;

    font-size:13px;
    font-weight:800;
}


/* video */

.efp-video{
    overflow:hidden;

    aspect-ratio:16 / 9;

    border-radius:14px;

    background:var(--navy-dark);
}

.efp-video iframe{
    display:block;

    width:100%;
    height:100%;

    border:0;
}

.efp-secondary-link{
    color:#087c72;

    text-decoration:none;

    font-weight:850;
}


/* =========================================================
   OTHER LISTS
   ========================================================= */


/* =========================================================
   FULLSCREEN VIEWER
   ========================================================= */

body.efp-viewer-open{
    overflow:hidden;
}

.efp-viewer{
    position:fixed;

    inset:0;

    z-index:99999;

    display:none;
}

.efp-viewer.is-open{
    display:block;
}

.efp-viewer__backdrop{
    position:absolute;

    inset:0;

    background:
        rgba(5,15,28,.95);

    backdrop-filter:blur(4px);
}

.efp-viewer__panel{
    position:absolute;

    inset:0;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:
        68px 84px 40px;
}

.efp-viewer__image{
    display:block;

    max-width:100%;
    max-height:100%;

    width:auto;
    height:auto;

    object-fit:contain;

    user-select:none;
}

.efp-viewer__count{
    position:absolute;

    top:22px;
    left:24px;

    color:#fff;

    font-size:13px;
    font-weight:850;
}

.efp-viewer__close{
    position:absolute;

    top:16px;
    right:22px;

    z-index:4;

    width:44px;
    height:44px;

    border:
        1px solid
        rgba(255,255,255,.22);

    border-radius:50%;

    background:
        rgba(255,255,255,.10);

    color:#fff;

    font-size:30px;

    cursor:pointer;
}

.efp-viewer__nav{
    position:absolute;

    top:50%;

    z-index:4;

    width:50px;
    height:50px;

    transform:
        translateY(-50%);

    border:
        1px solid
        rgba(255,255,255,.22);

    border-radius:50%;

    background:
        rgba(255,255,255,.10);

    color:#fff;

    font-size:36px;

    cursor:pointer;
}

.efp-viewer__prev{
    left:20px;
}

.efp-viewer__next{
    right:20px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width:1000px){

    .efp-product{
        grid-template-columns:1fr;
        gap:28px;
    }

    .efp-summary{
        position:static;
    }
}


/* =========================================================
   MOBILE — CARD CONTINUITY
   Liste kartından öğe detayına geçişte aynı görsel dil korunur.
   ========================================================= */

@media (max-width:640px){

    .efp-item{
        background:#f5f8fb;
    }

    .efp-shell{
        width:min(100% - 28px,600px);
        margin:0 auto;
        padding:14px 0 42px;
    }

    .efp-breadcrumb{
        gap:6px;
        margin:0 2px 10px;
        padding:0;
        font-size:10.5px;
        line-height:1.35;
    }

    .efp-list-back-top-wrap{
        margin:0 2px 12px;
    }

    .efp-list-back-top{
        margin:0;
        font-size:11px;
        line-height:1.35;
    }

    /*
    |--------------------------------------------------------------------------
    | ÜST ÖĞE KARTI
    |--------------------------------------------------------------------------
    | Görsel ve karar alanı tek karttır. Ekran kenarına yapışmaz.
    */

    .efp-product{
        display:block;
        overflow:hidden;
        margin:0;
        border:1px solid var(--line);
        border-radius:16px;
        background:#fff;
        box-shadow:0 8px 24px rgba(20,40,68,.055);
    }

    .efp-media{
        min-width:0;
        border-bottom:1px solid #e8edf3;
        background:#f7f9fb;
    }

    .efp-gallery,
    .efp-gallery.has-thumbs,
    .efp-gallery.is-single{
        display:flex;
        width:100%;
        flex-direction:column;
        gap:0;
    }

    .efp-stage{
        order:1;
        width:100%;
        overflow:hidden;
        border:0;
        border-radius:0;
        background:#f7f9fb;
        cursor:zoom-in;
    }

    .efp-main-image{
        display:block;
        width:100%;
        aspect-ratio:1 / 1;
        object-fit:contain;
        object-position:center;
        background:#f7f9fb;
    }

    .efp-inspect{
        right:10px;
        bottom:10px;
        min-height:31px;
        padding:0 10px;
        font-size:10px;
    }

    /*
    |--------------------------------------------------------------------------
    | GALERİ
    |--------------------------------------------------------------------------
    */

    .efp-thumbs{
        order:2;
        flex-direction:row;
        width:100%;
        max-height:none;
        gap:7px;
        padding:9px 10px 10px;
        overflow-x:auto;
        overflow-y:hidden;
        border-top:1px solid #edf1f5;
        background:#fff;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
    }

    .efp-thumbs::-webkit-scrollbar{
        display:none;
    }

    .efp-thumb{
        flex:0 0 58px;
        width:58px;
        height:58px;
        border-radius:8px;
        scroll-snap-align:start;
    }

    /*
    |--------------------------------------------------------------------------
    | BİLGİ / KARAR ALANI
    |--------------------------------------------------------------------------
    */

    .efp-summary{
        position:static;
        padding:15px 15px 16px;
        background:#fff;
    }

    .efp-tags{
        gap:5px;
        margin-bottom:9px;
    }

    .efp-tag{
        min-height:24px;
        padding:0 8px;
        font-size:9px;
    }

    .efp-title{
        margin:0;
        font-size:24px;
        line-height:1.12;
        letter-spacing:-.02em;
    }

    .efp-score{
        gap:5px;
        margin-top:8px;
        font-size:11px;
    }

    .efp-rank{
        margin-top:9px;
        font-size:10.5px;
    }

    .efp-rank strong{
        font-size:14px;
    }

    .efp-price{
        margin-top:16px;
    }

    .efp-price strong{
        font-size:27px;
    }

    .efp-price-note{
        margin-top:5px;
        font-size:10.5px;
    }

    .efp-location{
        margin-top:12px;
        font-size:11px;
        line-height:1.5;
    }

    .efp-description{
        margin-top:13px;
        font-size:12px;
        line-height:1.58;
    }

    .efp-buy{
        min-height:44px;
        margin-top:15px;
        padding:0 14px;
        border-radius:9px;
        font-size:12px;
    }

    .efp-affiliate-note{
        font-size:9px;
    }

    /*
    |--------------------------------------------------------------------------
    | FAVORİ + TERCİH
    |--------------------------------------------------------------------------
    */

    .efp-actions{
        grid-template-columns:1fr;
        gap:8px;
        margin-top:14px;
    }

    .efp-favorite .fav__btn{
        height:42px;
        border-radius:9px;
        font-size:11px;
    }

    .efp-vote{
        grid-template-columns:1fr 1fr;
        gap:7px;
    }

    .efp-item .efp-vote .vote__btn{
        height:42px;
        border-radius:9px;
        font-size:11px;
    }

    .efp-publisher{
        margin-top:14px;
        padding-top:12px;
    }

    /*
    |--------------------------------------------------------------------------
    | ALT BÖLÜMLER
    |--------------------------------------------------------------------------
    */

    .efp-section{
        margin:26px 0 0;
        padding:18px 15px;
        border-radius:14px;
        background:#fff;
    }

    .efp-section-head{
        margin-bottom:15px;
    }

    .efp-section-head h2{
        font-size:19px;
    }

    .efp-facts{
        grid-template-columns:1fr;
    }

    .efp-provider-grid{
        grid-template-columns:1fr;
    }

    .efp-related::-webkit-scrollbar{
        display:none;
    }

    /*
    |--------------------------------------------------------------------------
    | FULLSCREEN VIEWER
    |--------------------------------------------------------------------------
    */

    .efp-viewer__panel{
        padding:58px 10px 20px;
    }

    .efp-viewer__nav{
        width:42px;
        height:42px;
    }

    .efp-viewer__prev{
        left:8px;
    }

    .efp-viewer__next{
        right:8px;
    }

    /*
    |--------------------------------------------------------------------------
    | MOBİLDE HOVER ZOOM YOK
    |--------------------------------------------------------------------------
    */

    .efp-zoom-pane,
    .efp-lens{
        display:none !important;
    }
}


/* Reduced motion */

@media (prefers-reduced-motion:reduce){

    .efp-item *,
    .efp-item *::before,
    .efp-item *::after{
        transition:none !important;
    }
}





/* === EFP LIST BACK TOP START === */


/* =========================================================
   LISTEYE DON — NAVIGASYON ALANI
   ========================================================= */

.efp-list-back-top-wrap{
    width:100%;

    margin:
        6px 0
        14px;
}


.efp-list-back-top{
    display:inline-flex;
    align-items:center;
    gap:5px;

    color:#087c72;

    text-decoration:none;

    font-size:11px;
    line-height:1.3;

    font-weight:800;
}


.efp-list-back-top:hover{
    color:#142844;
    text-decoration:underline;
    text-underline-offset:3px;
}


/* === EFP LIST BACK TOP END === */


/* === EFP COMPACT VOTE STATUS START === */


/* =========================================================
   KOMPAKT OY DURUMU
   ========================================================= */

.efp-vote-status-card{
    width:100%;

    margin-top:14px;

    border:
        1px solid
        #dce6ee;

    border-radius:12px;

    background:#fff;

    overflow:hidden;

    box-shadow:
        0 4px 15px
        rgba(20,40,68,.035);
}


.efp-vote-status-card.is-positive{
    border-color:#b9e4d3;
}


.efp-vote-status-card.is-negative{
    border-color:#efcaca;
}


/* native details oku gizle */

.efp-vote-status-card
> summary{
    list-style:none;
}


.efp-vote-status-card
> summary::-webkit-details-marker{
    display:none;
}


/* =========================================================
   KAPALI TEK SATIR
   ========================================================= */

.efp-vote-status-card__summary{
    display:grid;

    grid-template-columns:
        34px
        minmax(0,1fr)
        auto;

    align-items:center;

    gap:9px;

    min-height:56px;

    padding:
        9px 11px;

    cursor:pointer;

    user-select:none;
}


.efp-vote-status-card__summary:hover{
    background:#f8fbfc;
}


/* ikon */

.efp-vote-status-card__compact-icon{
    display:flex;
    align-items:center;
    justify-content:center;

    width:34px;
    height:34px;

    border-radius:10px;

    background:#142844;
    color:#fff;

    font-size:17px;
    line-height:1;

    font-weight:900;

    box-shadow:
        0 4px 10px
        rgba(20,40,68,.13);
}


.efp-vote-status-card.is-positive
.efp-vote-status-card__compact-icon{
    background:#14805f;
}


.efp-vote-status-card.is-negative
.efp-vote-status-card__compact-icon{
    background:#b42318;
}


/* orta bilgi */

.efp-vote-status-card__summary-copy{
    display:block;

    min-width:0;
}


.efp-vote-status-card__summary-copy strong{
    display:block;

    overflow:hidden;

    color:#142844;

    font-size:11.5px;
    line-height:1.3;

    font-weight:900;

    white-space:nowrap;
    text-overflow:ellipsis;
}


.efp-vote-status-card.is-positive
.efp-vote-status-card__summary-copy strong{
    color:#116b52;
}


.efp-vote-status-card.is-negative
.efp-vote-status-card__summary-copy strong{
    color:#a52b23;
}


.efp-vote-status-card__summary-copy small{
    display:block;

    margin-top:3px;

    color:#7b8da2;

    font-size:9.5px;
    line-height:1.25;

    font-weight:650;
}


/* sağ detay */

.efp-vote-status-card__details-label{
    display:flex;
    align-items:center;

    gap:5px;

    color:#64748b;

    font-size:9.5px;
    font-weight:800;
}


.efp-vote-status-card__chevron{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    width:22px;
    height:22px;

    border-radius:50%;

    background:#f1f5f9;
    color:#142844;

    transition:
        transform .18s ease,
        background .18s ease;
}


.efp-vote-status-card[open]
.efp-vote-status-card__chevron{
    transform:rotate(180deg);

    background:#eaf9f6;
}


.efp-vote-status-card[open]
.efp-vote-status-card__details-text{
    color:#087c72;
}


/* =========================================================
   ACILAN ICERIK
   ========================================================= */

.efp-vote-status-card__details{
    padding:
        0 11px
        11px;

    animation:
        efpVoteDetailsOpen
        .16s ease;
}


@keyframes efpVoteDetailsOpen{

    from{
        opacity:0;
        transform:translateY(-3px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}


.efp-vote-status-card__lock{
    display:flex;

    align-items:flex-start;

    gap:6px;

    padding:
        9px 1px;

    border-top:
        1px solid
        rgba(148,163,184,.18);

    color:#64748b;

    font-size:10px;
    line-height:1.4;

    font-weight:650;
}


.efp-vote-status-card__lock-icon{
    flex:0 0 auto;
}


/* =========================================================
   BIZE BILDIRIN
   ========================================================= */

.efp-vote-status-card__change{
    appearance:none;

    display:grid;

    grid-template-columns:
        27px
        minmax(0,1fr)
        auto;

    align-items:center;

    gap:8px;

    width:100%;

    min-height:43px;

    padding:
        7px 9px;

    border:
        1px solid
        rgba(24,210,195,.34);

    border-radius:9px;

    background:
        rgba(24,210,195,.055);

    color:#142844;

    cursor:pointer;

    text-align:left;

    transition:
        border-color .15s ease,
        background .15s ease;
}


.efp-vote-status-card__change:hover{
    border-color:#18d2c3;

    background:
        rgba(24,210,195,.10);
}


.efp-vote-status-card__change-icon{
    display:flex;
    align-items:center;
    justify-content:center;

    width:27px;
    height:27px;

    border-radius:8px;

    background:#fff;
    color:#087c72;

    font-size:15px;
    font-weight:900;
}


.efp-vote-status-card__change
> span:nth-child(2){
    font-size:9.5px;
    line-height:1.25;

    font-weight:700;
}


.efp-vote-status-card__change strong{
    display:block;

    margin-top:1px;

    color:#087c72;

    font-size:10.5px;
    font-weight:900;
}


.efp-vote-status-card__arrow{
    color:#087c72;

    font-size:14px;

    font-weight:900;
}


/* =========================================================
   BILDIRIM MODALI
   ========================================================= */

body.efp-vote-modal-open{
    overflow:hidden;
}


.efp-vote-change-modal{
    position:fixed;
    inset:0;

    z-index:100100;
}


.efp-vote-change-modal[hidden]{
    display:none !important;
}


.efp-vote-change-modal__backdrop{
    appearance:none;

    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    margin:0;
    padding:0;

    border:0;

    background:
        rgba(5,15,28,.66);

    backdrop-filter:
        blur(3px);

    cursor:pointer;
}


.efp-vote-change-modal__panel{
    position:absolute;

    top:50%;
    left:50%;

    width:
        min(
            470px,
            calc(100% - 30px)
        );

    transform:
        translate(-50%,-50%);

    padding:26px;

    border:
        1px solid
        #e2e8f0;

    border-radius:18px;

    background:#fff;

    box-shadow:
        0 28px 80px
        rgba(15,23,42,.34);
}


.efp-vote-change-modal__close{
    appearance:none;

    position:absolute;

    top:13px;
    right:13px;

    display:flex;
    align-items:center;
    justify-content:center;

    width:34px;
    height:34px;

    padding:0;

    border:
        1px solid
        #e2e8f0;

    border-radius:50%;

    background:#fff;
    color:#142844;

    cursor:pointer;

    font-size:22px;
}


.efp-vote-change-modal__icon{
    display:flex;
    align-items:center;
    justify-content:center;

    width:44px;
    height:44px;

    margin-bottom:14px;

    border-radius:13px;

    background:
        rgba(24,210,195,.10);

    color:#087c72;

    font-size:23px;
    font-weight:900;
}


.efp-vote-change-modal h3{
    margin:0;

    color:#142844;

    font-size:22px;
    line-height:1.2;

    font-weight:900;
}


.efp-vote-change-modal__panel > p{
    margin:
        8px 0
        19px;

    color:#64748b;

    font-size:12.5px;
    line-height:1.6;
}


.efp-vote-change-modal form{
    display:grid;

    gap:14px;
}


.efp-vote-change-modal label{
    display:grid;

    gap:6px;

    color:#142844;

    font-size:12px;

    font-weight:850;
}


.efp-vote-change-modal label small{
    color:#94a3b8;

    font-weight:600;
}


.efp-vote-change-modal select,
.efp-vote-change-modal textarea{
    width:100%;

    border:
        1px solid
        #dbe4ee;

    border-radius:10px;

    background:#fff;
    color:#142844;

    outline:none;

    font:inherit;
}


.efp-vote-change-modal select{
    height:44px;

    padding:
        0 12px;
}


.efp-vote-change-modal textarea{
    min-height:105px;

    padding:
        11px 12px;

    resize:vertical;

    line-height:1.5;
}


.efp-vote-change-modal select:focus,
.efp-vote-change-modal textarea:focus{
    border-color:#18d2c3;

    box-shadow:
        0 0 0 3px
        rgba(24,210,195,.10);
}


.efp-vote-change-modal__actions{
    display:flex;

    justify-content:flex-end;

    gap:8px;

    margin-top:3px;
}


.efp-vote-change-modal__cancel,
.efp-vote-change-modal__submit{
    appearance:none;

    min-height:42px;

    padding:
        0 15px;

    border-radius:10px;

    cursor:pointer;

    font-size:12px;

    font-weight:850;
}


.efp-vote-change-modal__cancel{
    border:
        1px solid
        #dbe4ee;

    background:#fff;

    color:#475569;
}


.efp-vote-change-modal__submit{
    border:
        1px solid
        #142844;

    background:#142844;

    color:#fff;
}


/* =========================================================
   MOBIL
   ========================================================= */

@media(max-width:640px){

    .efp-list-back-top-wrap{
        margin:
            5px 0
            11px;
    }


    .efp-vote-status-card{
        margin-top:12px;
    }


    .efp-vote-status-card__summary{
        grid-template-columns:
            32px
            minmax(0,1fr)
            auto;

        min-height:52px;

        padding:
            8px 9px;
    }


    .efp-vote-status-card__compact-icon{
        width:32px;
        height:32px;

        border-radius:9px;
    }


    .efp-vote-status-card__details-text{
        display:none;
    }


    .efp-vote-change-modal__panel{
        top:auto;
        bottom:0;
        left:0;

        width:100%;

        transform:none;

        border-radius:
            18px 18px 0 0;

        padding:
            24px 18px
            calc(
                22px +
                env(safe-area-inset-bottom)
            );
    }


    .efp-vote-change-modal__actions{
        display:grid;

        grid-template-columns:
            1fr 1fr;
    }
}


/* === EFP COMPACT VOTE STATUS END === */


/* === EFP FACTS ACCORDION START === */

.efp-facts-accordion{
    padding:0;
    overflow:hidden;
}

.efp-facts-accordion__summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;

    min-height:92px;

    padding:22px 26px;

    cursor:pointer;
    list-style:none;
    user-select:none;
}

.efp-facts-accordion__summary::-webkit-details-marker{
    display:none;
}

.efp-facts-accordion__heading{
    display:flex;
    flex-direction:column;
    gap:4px;

    padding-left:14px;

    border-left:4px solid #18d2c3;
}

.efp-facts-accordion__eyebrow{
    color:#079a8d;

    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
}

.efp-facts-accordion__heading strong{
    color:#142844;

    font-size:24px;
    line-height:1.15;
    font-weight:800;
}

.efp-facts-accordion__action{
    display:inline-flex;
    align-items:center;
    gap:10px;

    color:#52647b;

    font-size:13px;
    font-weight:700;
}

.efp-facts-accordion__chevron{
    display:grid;
    place-items:center;

    width:32px;
    height:32px;

    border:1px solid #dbe5ee;
    border-radius:50%;

    background:#f7fafc;

    color:#142844;

    transition:transform .18s ease;
}

.efp-facts-accordion[open]
.efp-facts-accordion__chevron{
    transform:rotate(180deg);
}

.efp-facts-accordion[open]
.efp-facts-accordion__action-text{
    font-size:0;
}

.efp-facts-accordion[open]
.efp-facts-accordion__action-text::after{
    content:"Bilgileri gizle";
    font-size:13px;
}

.efp-facts-accordion__body{
    padding:
        0 26px 26px;
}

.efp-facts-accordion__body
.efp-facts{
    margin:0;
}


@media (max-width:700px){

    .efp-facts-accordion__summary{
        min-height:76px;

        padding:16px;
    }

    .efp-facts-accordion__heading strong{
        font-size:20px;
    }

    .efp-facts-accordion__action-text{
        display:none;
    }

    .efp-facts-accordion__body{
        padding:
            0 16px 18px;
    }
}

/* === EFP FACTS ACCORDION END === */


/* === EFP RELATED FINAL START === */


/* =========================================================
   ALAN
   ========================================================= */

.efp-related-section{
    display:block;

    width:100%;

    margin:28px 0 0;
    padding:0;

    border:0;
    border-radius:0;

    background:transparent;

    box-shadow:none;

    min-height:0;
}


/* =========================================================
   BASLIK
   ========================================================= */

.efp-related-section .efp-section-head{
    display:block;

    width:max-content;
    max-width:100%;

    margin:0 0 14px;
    padding:0 0 0 13px;

    border-left:3px solid #18d2c3;
}


.efp-related-section .efp-section-head span{
    display:block;

    margin:0 0 3px;

    color:#079a8d;

    font-size:9px;
    line-height:1;

    font-weight:900;

    letter-spacing:.08em;
}


.efp-related-section .efp-section-head h2{
    margin:0;

    color:#142844;

    font-size:18px;
    line-height:1.25;

    font-weight:850;
}


/* =========================================================
   KART LISTESI
   ========================================================= */

.efp-related{
    display:flex;

    flex-wrap:wrap;

    align-items:flex-start;

    gap:14px;

    width:100%;

    margin:0;
    padding:0;

    min-height:0;
}


/* =========================================================
   DIKEY KART
   ========================================================= */

.efp-related-card{
    display:block;

    flex:0 0 270px;

    width:270px;
    max-width:270px;

    height:auto;
    min-height:0;

    margin:0;

    overflow:hidden;

    border:1px solid #dce6ee;
    border-radius:12px;

    background:#fff;

    text-decoration:none;

    box-shadow:
        0 3px 12px
        rgba(20,40,68,.05);

    transition:
        transform .16s ease,
        border-color .16s ease,
        box-shadow .16s ease;
}


.efp-related-card:hover{
    transform:translateY(-2px);

    border-color:#83ded5;

    box-shadow:
        0 9px 24px
        rgba(20,40,68,.11);
}


/* =========================================================
   RESIM
   - TAM GENISLIK
   - KIRPMA YOK
   - KENDI ORANI
   ========================================================= */

.efp-related-media{
    display:block;

    width:100%;

    height:auto;
    min-height:0;

    margin:0;
    padding:0;

    overflow:hidden;

    border:0;

    background:#f6f8fa;
}


.efp-related-media img{
    display:block;

    width:100%;
    height:auto;

    aspect-ratio:8 / 5;

    margin:0;
    padding:0;

    border:0;

    object-fit:cover;
    object-position:center;

    background:#f4f7fa;
}


/* =========================================================
   METIN
   ========================================================= */

.efp-related-body{
    display:block;

    min-width:0;

    margin:0;

    padding:12px 13px 14px;
}


.efp-related-body small{
    display:block;

    margin:0 0 5px;

    color:#079a8d;

    font-size:9px;
    line-height:1.25;

    font-weight:800;
}


.efp-related-body h3{
    margin:0;

    color:#142844;

    font-size:14px;
    line-height:1.3;

    font-weight:850;
}


.efp-related-body strong{
    color:#142844;

    font-size:14px;
    line-height:1.3;

    font-weight:850;
}


.efp-related-body a,
.efp-related-body .efp-link{
    display:inline-flex;

    margin-top:9px;

    color:#087c72;

    font-size:10.5px;
    line-height:1.2;

    font-weight:850;

    text-decoration:none;
}


/* =========================================================
   MOBIL
   ========================================================= */

@media(max-width:640px){

    .efp-related-section{
        margin-top:22px;
    }


    .efp-related-section .efp-section-head h2{
        font-size:17px;
    }


    .efp-related{
        flex-wrap:nowrap;

        gap:11px;

        overflow-x:auto;

        padding-bottom:5px;

        scroll-snap-type:x mandatory;

        scrollbar-width:none;
    }


    .efp-related::-webkit-scrollbar{
        display:none;
    }


    .efp-related-card{
        flex:
            0 0
            min(78vw,270px);

        width:
            min(78vw,270px);

        max-width:none;

        scroll-snap-align:start;
    }
}


/* === EFP RELATED FINAL END === */


/* =========================================================
   ITEM DETAIL V4 — FINAL PUBLIC MODEL
   Yakınımda / Liste Vitrini ile aynı görsel dil.
   İşlevler korunur; yalnızca yerleşim ve görsel hiyerarşi yenilenir.
   ========================================================= */

.efp-item{
    --efp-page:#eef3f7;
    --efp-surface:#ffffff;
    --efp-surface-soft:#f8fbfd;
    --efp-mint:#e6f2f1;
    --efp-sky:#dfeaf2;
    --efp-border:#b9cad8;
    --efp-border-soft:#cbd7e2;
    --efp-navy:#0a1e33;
    --efp-teal:#0f9f93;
    --efp-muted:#5f7185;
    background:var(--efp-page);
}

.efp-item .efp-shell{
    width:min(1180px,calc(100% - 32px));
    padding:22px 0 58px;
}

/* ---------- ÜST ÜRÜN VİTRİNİ ---------- */
.efp-item .efp-product{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,520px) minmax(0,1fr);
    gap:24px;
    align-items:start;
    margin-top:6px;
    padding:22px;
    overflow:hidden;
    border:1px solid var(--efp-border);
    border-radius:24px;
    background:linear-gradient(145deg,#dfeaf2 0%,#e6f2f1 100%);
    box-shadow:0 20px 48px -38px rgba(10,30,51,.34);
}

.efp-item .efp-product::before{
    content:"";
    position:absolute;
    inset:0 16px auto;
    height:5px;
    border-radius:0 0 999px 999px;
    background:linear-gradient(90deg,#0a1e33 0%,#0f9f93 55%,#18c8bb 100%);
}

.efp-item .efp-media{
    min-width:0;
    padding:0;
    overflow:hidden;
    border:1px solid var(--efp-border-soft);
    border-radius:18px;
    background:rgba(255,255,255,.72);
    box-shadow:0 12px 30px -28px rgba(10,30,51,.4);
}

.efp-item .efp-gallery.has-thumbs{
    padding:10px;
}

.efp-item .efp-gallery.is-single .efp-stage{
    border:0;
    border-radius:17px;
}

.efp-item .efp-gallery.is-single .efp-main-image{
    border-radius:17px;
}

.efp-item .efp-gallery{
    grid-template-columns:64px minmax(0,1fr);
    gap:10px;
}

.efp-item .efp-gallery.is-single{
    grid-template-columns:1fr;
}

.efp-item .efp-thumbs{
    width:64px;
    max-height:500px;
    gap:7px;
}

.efp-item .efp-thumb{
    flex:0 0 58px;
    width:64px;
    height:58px;
    padding:3px;
    border-color:#c9d6df;
    border-radius:10px;
    background:#fff;
}

.efp-item .efp-thumb.is-active{
    border-color:#0f9f93;
    box-shadow:0 0 0 2px rgba(15,159,147,.12);
}

.efp-item .efp-stage{
    width:100%;
    max-height:460px;
    overflow:hidden;
    border:1px solid #c8d5df;
    border-radius:15px;
    background:#fff;
}

.efp-item .efp-main-image{
    width:100%;
    height:auto;
    max-height:460px;
    aspect-ratio:1 / 1;
    object-fit:contain;
    object-position:center;
    background:#fff;
}

/* ---------- KARAR KARTI ---------- */
.efp-item .efp-summary{
    position:static;
    min-width:0;
    padding:24px;
    border:1px solid var(--efp-border-soft);
    border-radius:18px;
    background:rgba(255,255,255,.94);
    box-shadow:0 14px 34px -30px rgba(10,30,51,.4);
}

.efp-item .efp-tags{
    margin-bottom:12px;
}

.efp-item .efp-tag{
    border-color:#cbd8e2;
    background:#f4f8fa;
    color:#526579;
}

.efp-item .efp-tag--brand{
    border-color:#99d9d2;
    background:#e6f8f5;
    color:#0f766e;
}

.efp-item .efp-title{
    max-width:640px;
    color:var(--efp-navy);
    font-size:clamp(30px,3vw,42px);
    line-height:1.06;
    font-weight:950;
    letter-spacing:-.035em;
}

.efp-item .efp-rank{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:12px;
    padding:7px 10px;
    border:1px solid #cbd7e2;
    border-radius:999px;
    background:#f6f9fb;
    color:#5f7185;
}

.efp-item .efp-price{
    margin-top:20px;
}

.efp-item .efp-price strong{
    color:var(--efp-navy);
    font-size:34px;
}

.efp-item .efp-description{
    margin-top:16px;
    color:#566b81;
    font-size:13.5px;
    line-height:1.65;
}

.efp-item .efp-buy{
    min-height:52px;
    margin-top:18px;
    border-radius:13px;
    box-shadow:0 12px 28px -20px rgba(245,158,11,.55);
}

.efp-item .efp-actions{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:9px;
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid #dbe4eb;
}

.efp-item .efp-favorite .fav__btn,
.efp-item .efp-vote .vote__btn{
    min-height:44px;
    border-radius:11px;
}

/* Editör / yayıncı bilgisi artık güven katmanı */
.efp-item .efp-publisher{
    margin-top:16px;
    padding:13px 14px;
    border:1px solid #c9dedb;
    border-radius:14px;
    background:linear-gradient(145deg,#eef9f7 0%,#f7fbfc 100%);
}

.efp-item .efp-publisher .publisher{
    width:100%;
}

/* ---------- BİLGİLER / ACCORDION ---------- */
.efp-item .efp-section.efp-facts-accordion{
    position:relative;
    margin-top:26px;
    border:1px solid var(--efp-border);
    border-radius:22px;
    background:linear-gradient(145deg,#dfeaf2 0%,#e6f2f1 100%);
    box-shadow:0 18px 42px -36px rgba(10,30,51,.3);
}

.efp-item .efp-facts-accordion::before{
    content:"";
    position:absolute;
    top:-1px;
    left:16px;
    right:16px;
    height:4px;
    border-radius:0 0 999px 999px;
    background:linear-gradient(90deg,#0a1e33,#0f9f93,#18c8bb);
}

.efp-item .efp-facts-accordion__summary{
    min-height:86px;
    padding:20px 22px;
}

.efp-item .efp-facts-accordion__heading{
    border-left-color:#0f9f93;
}

.efp-item .efp-facts-accordion__heading strong{
    color:var(--efp-navy);
    font-size:24px;
    font-weight:950;
}

.efp-item .efp-facts-accordion__chevron{
    border-color:#b8c8d6;
    background:#fff;
}

.efp-item .efp-facts-accordion__body{
    margin:0 14px 14px;
    padding:18px;
    border:1px solid #cbd7e2;
    border-radius:16px;
    background:rgba(255,255,255,.82);
}

.efp-item .efp-facts>div{
    border-top-color:#d8e2e9;
}

/* ---------- ORTAK ALT BÖLÜMLER ---------- */
.efp-item .efp-section,
.efp-item .efp-related-section{
    border-color:var(--efp-border);
    border-radius:22px;
    background:#fff;
    box-shadow:0 16px 36px -32px rgba(10,30,51,.28);
}

.efp-item .efp-section-head{
    border-left-color:#0f9f93;
}

.efp-item .efp-section-head span{
    color:#0f766e;
}

/* ---------- BU ÜRÜNÜN BULUNDUĞU DİĞER LİSTELER ---------- */
.efp-related-showcase{
    position:relative;
    margin-top:26px;
    padding:22px 22px 26px;
    overflow:hidden;
    border:1px solid var(--efp-border);
    border-radius:24px;
    background:linear-gradient(145deg,#dfeaf2 0%,#e6f2f1 100%);
    box-shadow:0 20px 48px -38px rgba(10,30,51,.34);
}

.efp-related-showcase::before{
    content:"";
    position:absolute;
    inset:0 16px auto;
    height:5px;
    border-radius:0 0 999px 999px;
    background:linear-gradient(90deg,#0a1e33 0%,#0f9f93 55%,#18c8bb 100%);
}

.efp-related-showcase__head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:20px;
    padding:4px 2px 14px;
    border-bottom:1px solid #b8c8d6;
}

.efp-related-showcase__eyebrow{
    display:block;
    margin-bottom:5px;
    color:#0f766e;
    font-size:11px;
    line-height:1;
    font-weight:900;
    letter-spacing:.13em;
}

.efp-related-showcase__head h2{
    margin:0;
    color:var(--efp-navy);
    font-size:27px;
    line-height:1.08;
    font-weight:950;
    letter-spacing:-.025em;
}

.efp-related-showcase__count{
    display:flex;
    align-items:baseline;
    gap:6px;
    color:#607489;
    white-space:nowrap;
}

.efp-related-showcase__count strong{
    color:var(--efp-navy);
    font-size:24px;
    line-height:1;
    font-weight:950;
}

.efp-related-showcase__count span{
    font-size:12px;
    font-weight:800;
}

.efp-related-showcase__grid{
    align-items:stretch;
    gap:22px;
}

.efp-related-showcase .card--directory{
    height:100%;
    min-width:0;
    padding:10px;
    border:1px solid rgba(184,198,213,.82);
    border-radius:18px;
    background:rgba(255,255,255,.78);
    text-decoration:none;
    box-shadow:0 12px 30px -28px rgba(10,30,51,.42);
    transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}

.efp-related-showcase .card--directory:hover{
    transform:translateY(-2px);
    border-color:#93b8bd;
    background:#fff;
    box-shadow:0 18px 34px -28px rgba(10,30,51,.46);
}

.efp-related-showcase .card--directory .card__img{
    display:block;
    width:100%;
    aspect-ratio:16 / 10;
    object-fit:cover;
    border-radius:13px;
    background:#dfe8ef;
}

.efp-related-showcase .card--directory .card__body{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    padding:11px 3px 2px;
}

.efp-related-showcase .card--directory .card__kicker{
    min-height:20px;
    color:#0f9f93;
    font-size:13px;
    line-height:20px;
    font-weight:750;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.efp-related-showcase .card--directory .card__kicker--empty{
    visibility:hidden;
}

.efp-related-showcase .card--directory .card__title{
    display:-webkit-box;
    min-height:48px;
    max-height:48px;
    margin:2px 0 9px;
    overflow:hidden;
    color:#0a1e33;
    font-size:19px;
    line-height:24px;
    font-weight:900;
    letter-spacing:-.02em;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.efp-related-showcase .card--directory:hover .card__title{
    color:#0f766e;
}

.efp-related-showcase .card--directory .card__foot{
    width:100%;
    min-width:0;
    min-height:24px;
    margin-top:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.efp-related-showcase .card--directory .card__meta{
    min-width:0;
    overflow:hidden;
    color:#66788b;
    font-size:13px;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.efp-related-showcase .card--directory .card__cta{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:#0f766e;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}

/* ---------- TABLET ---------- */
@media(max-width:1000px){
    .efp-item .efp-product{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        gap:18px;
        padding:18px;
    }

    .efp-item .efp-gallery{
        grid-template-columns:58px minmax(0,1fr);
    }

    .efp-item .efp-thumbs{
        width:58px;
    }

    .efp-item .efp-thumb{
        width:58px;
        height:54px;
        flex-basis:54px;
    }

    .efp-item .efp-summary{
        padding:20px;
    }
}

/* ---------- MOBİL ---------- */
@media(max-width:700px){
    .efp-item .efp-shell{
        width:min(100% - 24px,600px);
        padding:12px 0 40px;
    }

    .efp-item .efp-product{
        display:block;
        padding:10px;
        border-radius:19px;
    }

    .efp-item .efp-product::before{
        left:12px;
        right:12px;
        height:4px;
    }

    .efp-item .efp-media{
        padding:0;
        overflow:hidden;
        border-radius:15px;
    }

    .efp-item .efp-gallery,
    .efp-item .efp-gallery.has-thumbs,
    .efp-item .efp-gallery.is-single{
        display:flex;
        flex-direction:column;
        gap:0;
    }

    .efp-item .efp-stage{
        order:1;
        max-height:none;
        border:0;
        border-radius:0;
        background:#fff;
    }

    .efp-item .efp-main-image{
        width:100%;
        max-height:360px;
        aspect-ratio:1 / 1;
        object-fit:contain;
        background:#fff;
    }

    .efp-item .efp-thumbs{
        order:2;
        width:100%;
        max-height:none;
        flex-direction:row;
        gap:7px;
        padding:9px 10px;
        overflow-x:auto;
        overflow-y:hidden;
        border-top:1px solid #dfe7ed;
        background:#f8fbfd;
    }

    .efp-item .efp-thumb{
        flex:0 0 54px;
        width:54px;
        height:54px;
    }

    .efp-item .efp-summary{
        margin-top:10px;
        padding:17px 15px;
        border-radius:15px;
        box-shadow:none;
    }

    .efp-item .efp-title{
        font-size:27px;
        line-height:1.08;
    }

    .efp-item .efp-price strong{
        font-size:29px;
    }

    .efp-item .efp-description{
        font-size:12.5px;
        line-height:1.6;
    }

    .efp-item .efp-actions{
        grid-template-columns:1fr;
    }

    .efp-item .efp-publisher{
        padding:12px;
    }

    .efp-item .efp-section.efp-facts-accordion{
        margin-top:20px;
        border-radius:18px;
    }

    .efp-item .efp-facts-accordion__summary{
        min-height:74px;
        padding:15px 14px;
    }

    .efp-item .efp-facts-accordion__heading{
        padding-left:11px;
    }

    .efp-item .efp-facts-accordion__heading strong{
        font-size:20px;
    }

    .efp-item .efp-facts-accordion__body{
        margin:0 10px 10px;
        padding:13px;
        border-radius:13px;
    }

    .efp-related-showcase{
        margin-top:20px;
        padding:17px 14px 20px;
        border-radius:19px;
    }

    .efp-related-showcase::before{
        left:12px;
        right:12px;
        height:4px;
    }

    .efp-related-showcase__head{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
        margin-bottom:16px;
    }

    .efp-related-showcase__head h2{
        font-size:23px;
    }

    .efp-related-showcase__grid{
        display:grid;
        grid-template-columns:1fr;
        gap:14px;
    }

    .efp-related-showcase .card--directory .card__title{
        min-height:44px;
        max-height:44px;
        font-size:18px;
        line-height:22px;
    }
}


/* =========================================================
   ITEM DETAIL V4 — MEDIA FRAME CORRECTION
   Tek görselde kutu ve görsel birebir aynı ölçüdedir.
   ========================================================= */
.efp-item .efp-media--single{
    width:100%;
    max-width:460px;
    justify-self:start;
    padding:0;
    background:transparent;
}

.efp-item .efp-media--single .efp-gallery.is-single{
    width:100%;
    padding:0;
}

.efp-item .efp-media--single .efp-stage{
    width:100%;
    max-width:none;
    max-height:none;
    aspect-ratio:1 / 1;
    overflow:hidden;
    border:0;
    border-radius:17px;
    background:#fff;
}

.efp-item .efp-media--single .efp-main-image{
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    max-height:none;
    aspect-ratio:auto;
    object-fit:contain;
    object-position:center;
    border-radius:17px;
    background:#fff;
}

/* Galerili üründe thumbnail alanı korunur; ana sahne kalan alanı doldurur. */
.efp-item .efp-media--gallery .efp-stage{
    max-height:none;
    aspect-ratio:1 / 1;
}

.efp-item .efp-media--gallery .efp-main-image{
    width:100%;
    height:100%;
    max-height:none;
    aspect-ratio:auto;
    object-fit:contain;
}

/* Tek görsel olduğunda sol kolon da gereksiz büyümesin. */
.efp-item .efp-product--single{
    grid-template-columns:minmax(0,460px) minmax(0,1fr);
}

@media(max-width:1000px){
    .efp-item .efp-product--single{
        grid-template-columns:minmax(0,420px) minmax(0,1fr);
    }

    .efp-item .efp-media--single{
        max-width:420px;
    }
}

@media(max-width:700px){
    .efp-item .efp-product--single{
        display:block;
    }

    .efp-item .efp-media--single{
        width:100%;
        max-width:none;
    }

    .efp-item .efp-media--single .efp-stage{
        width:100%;
        height:min(78vw,350px);
        max-height:350px;
        aspect-ratio:auto;
    }

    .efp-item .efp-media--single .efp-main-image{
        width:100%;
        height:100%;
        max-height:350px;
        aspect-ratio:auto;
        object-fit:cover;
        object-position:center;
    }
}
