.card.list-item .card-img-top { object-fit: cover; /*height: 220px;*/ }
@media (max-width: 576px) { .card.list-item .card-img-top { height: 180px; } }

/* NOORA BEAUTY: ABOVE THE FOLD */
.nb-hero { position: relative; background: #6f684c; }
.nb-hero-wrap { position: relative; min-height: 72vh; }
.nb-hero-carousel .item, .nb-hero-static {
    position: relative; min-height: 72vh;
    background-size: cover; background-position: center; background-repeat: no-repeat;
}
.nb-hero-overlay {
    position: absolute; inset: 0;
    background:
        radial-gradient(1200px 600px at 25% 40%, rgba(0,0,0,.25) 0%, rgba(0,0,0,.25) 55%, rgba(0,0,0,.88) 100%),
        linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,.25));
}
.nb-hero-content { position: relative; z-index: 2; padding-top: 80px; padding-bottom: 80px; }
.nb-hero-badge {
    display: inline-block; padding: 8px 12px; border: 1px solid rgba(255,255,255,.22);
    color: rgba(255,255,255,.92); border-radius: 999px; font-size: 12px;
    letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px;
    backdrop-filter: blur(6px);
}
.nb-hero-title { color: #fff; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; font-size: 44px; max-width: 680px; }
.nb-hero-sub { color: rgba(255,255,255,.88); font-size: 16px; line-height: 1.6; max-width: 620px; }
.nb-hero-cta .btn { border-radius: 12px; padding: 12px 18px; }
@media (max-width: 768px) {
    .nb-hero-title { font-size: 32px; }
    .nb-hero-wrap, .nb-hero-carousel .item, .nb-hero-static { min-height: 66vh; }
    .nb-hero-content { padding-top: 64px; padding-bottom: 64px; }
}

/* TRUST BAND */
.nb-trust { position: relative; z-index: 3; margin-top: -28px; padding-bottom: 18px; }
.nb-trust .container {
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 16px; padding: 18px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
}
.nb-trust-item { display: flex; align-items: center; gap: 12px; padding: 10px 8px; }
.nb-trust-ic {
    width: 42px; height: 42px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(0,0,0,.04); color: #111; font-size: 18px;
}
.nb-trust-title { font-weight: 700; color: #111; font-size: 14px; line-height: 1.2; }
.nb-trust-sub { color: rgba(17,17,17,.70); font-size: 12px; line-height: 1.2; margin-top: 2px; }

/* SECTION TYPOGRAPHY */
.nb-section { padding: 64px 0; }
.nb-eyebrow { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: rgba(0,0,0,.55); margin-bottom: 10px; }
.nb-title { font-weight: 800; letter-spacing: -.02em; color: #111; font-size: 34px; line-height: 1.15; }
.nb-title-sm { font-weight: 800; letter-spacing: -.02em; color: #111; font-size: 26px; line-height: 1.2; }
.nb-text { color: rgba(0,0,0,.72); font-size: 15px; line-height: 1.75; }
.nb-muted { color: rgba(0,0,0,.60); font-size: 14px; line-height: 1.6; }

/* STORY MEDIA */
.nb-story-media { position: relative; overflow: hidden; border-radius: 18px; }
.nb-story-media img { display: block; width: 100%; height: 420px; object-fit: cover; }
.nb-story-media-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(0,0,0,.18), rgba(0,0,0,.10)); }
@media (max-width: 992px) { .nb-title { font-size: 28px; } .nb-story-media img { height: 320px; } }

/* NEEDS */
.nb-need-card {
    background: #fff; border: 1px solid rgba(0,0,0,.06);
    border-radius: 16px; padding: 16px 14px;
    box-shadow: 0 8px 22px rgba(0,0,0,.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    height: 100%; text-decoration: none !important;
}
.nb-need-card:hover { transform: translateY(-2px); border-color: rgba(0,0,0,.10); box-shadow: 0 14px 30px rgba(0,0,0,.10); }
.nb-need-ic {
    width: 44px; height: 44px; border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(0,0,0,.04); color: #111; font-size: 18px; margin-bottom: 10px;
}
.nb-need-title { font-weight: 800; color: #111; font-size: 14px; margin-bottom: 4px; }
.nb-need-desc { color: rgba(0,0,0,.62); font-size: 12px; line-height: 1.4; }

/* EDITOR'S BADGE */
.nb-badge {
    position: absolute; top: 12px; left: 12px; z-index: 2;
    border-radius: 999px; padding: 7px 10px; letter-spacing: .10em; font-size: 11px;
}

/* Banner grid (3-6) */
/* Banner grid (3-6) */
.nb-banner-grid { padding: 22px 0 10px; background: #fff; }

/* ✅ Tüm banner kutuları webde 410px sabit */
.nb-banner{
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 18px;

    height: 410px;          /* <- SABİT yükseklik */
    min-height: 410px;      /* güvenlik */
}

/* ✅ lg/sm/md ayrımı artık gereksiz ama sınıflar kalsın */
.nb-banner-lg,
.nb-banner-sm,
.nb-banner-md{
    height: 410px !important;
    min-height: 410px !important;
}

/* Resim tam kutuyu kaplasın */
.nb-banner img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;

    transform: scale(1);
    transition: transform .35s ease;
}

.nb-banner:hover img{ transform: scale(1.04); }

.nb-banner-overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.62) 100%);
}

.nb-banner-content{
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 16px;
    color: #fff;
    z-index: 2;
}

.nb-banner-title{
    display: block;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: 6px;
}

.nb-banner-sub{
    display: block;
    font-size: 13px;
    opacity: .9;
    margin-bottom: 10px;
}

.nb-banner-btn{
    display: inline-block;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.28);
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    backdrop-filter: blur(6px);
}

/* ✅ Mobilde de 410 olsun istiyorsan bu blok kalsın (değiştirme) */
@media (max-width: 991.98px){
    .nb-banner,
    .nb-banner-lg,
    .nb-banner-sm,
    .nb-banner-md{
        height: 410px !important;
        min-height: 410px !important;
    }
}
