/* FbF Hagen — projects sayfası stilleri (eski kreatus-multilingual-plugin bileşeninden birebir; #cid → .fbf-prj-page) */
:root {
                --fbf-primary: #E1001A;
                --fbf-secondary: #192da0;
                --fbf-navy: #192da0;
                --fbf-blue: #192da0;
                --fbf-red: #E1001A;
            }

            .fbf-prj-page {
                font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
                background: #f8fafc;
                min-height: 100vh;
            }

            .fbf-prj-page * {
                box-sizing: border-box;
            }

            /* SLIM TITLE BAR - Kırmızı Şerit */
            .fbf-prj-hero {
                padding: 12px 40px;
                display: flex;
                align-items: center;
                justify-content: space-between;
                position: relative;
                background: var(--fbf-red);
                overflow: hidden;
            }

            .fbf-prj-hero-bg {
                display: none;
            }

            .fbf-prj-hero-bg img {
                display: none;
            }

            .fbf-prj-hero-overlay {
                display: none;
            }

            .fbf-prj-hero-content {
                display: flex;
                align-items: center;
                justify-content: space-between;
                width: 100%;
                max-width: 1600px;
                margin: 0 auto;
                gap: 30px;
            }

            .fbf-prj-hero-left {
                display: flex;
                align-items: center;
                gap: 20px;
            }

            .fbf-prj-breadcrumb {
                display: flex;
                align-items: center;
                gap: 8px;
                color: rgba(255, 255, 255, 0.7);
                font-size: 0.85rem;
            }

            .fbf-prj-breadcrumb a {
                color: rgba(255, 255, 255, 0.7);
                text-decoration: none;
                transition: color 0.2s;
            }

            .fbf-prj-breadcrumb a:hover {
                color: white;
            }

            .fbf-prj-hero-title {
                font-size: 1.4rem;
                font-weight: 700;
                color: white;
                margin: 0;
                white-space: nowrap;
            }

            .fbf-prj-hero-subtitle {
                display: none;
            }

            .fbf-prj-wrap {
                max-width: 1600px;
                margin: 0 auto;
                padding: 30px 40px 60px;
            }

            /* Stats - şeritte sağ tarafta kompakt yatay */
            .fbf-prj-stats {
                display: flex;
                align-items: center;
                gap: 20px;
            }

            .fbf-prj-stat {
                display: flex;
                align-items: baseline;
                gap: 6px;
                padding: 0 15px;
                border-left: 1px solid rgba(255,255,255,0.3);
            }

            .fbf-prj-stat:first-child {
                border-left: none;
                padding-left: 0;
            }

            .fbf-prj-stat-num {
                font-size: 1.3rem;
                font-weight: 800;
                color: #fff;
                line-height: 1;
            }

            .fbf-prj-stat-label {
                font-size: 0.75rem;
                color: rgba(255,255,255,0.85);
                text-transform: uppercase;
                letter-spacing: 0.5px;
            }

            /* Filters */
            .fbf-prj-filters {
                background: #fff;
                padding: 24px 30px;
                border-radius: 16px;
                margin-bottom: 35px;
                box-shadow: 0 2px 8px rgba(0,0,0,0.06);
            }

            .fbf-prj-filters-row {
                display: flex;
                gap: 16px;
                flex-wrap: wrap;
                align-items: flex-end;
            }

            .fbf-prj-filter-grp {
                flex: 1;
                min-width: 160px;
            }

            .fbf-prj-filter-grp label {
                display: block;
                font-size: 0.7rem;
                font-weight: 600;
                color: #94a3b8;
                text-transform: uppercase;
                letter-spacing: 0.5px;
                margin-bottom: 8px;
            }

            .fbf-prj-select {
                width: 100%;
                padding: 12px 16px;
                border: 1px solid #e2e8f0;
                border-radius: 10px;
                font-size: 0.95rem;
                background: #fff;
                cursor: pointer;
                color: #334155;
                appearance: none;
                background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
                background-position: right 12px center;
                background-repeat: no-repeat;
                background-size: 20px;
            }

            .fbf-prj-select:focus {
                outline: none;
                border-color: var(--fbf-navy);
            }

            .fbf-prj-reset {
                padding: 12px 24px;
                background: var(--fbf-red);
                color: #fff;
                border: none;
                border-radius: 10px;
                cursor: pointer;
                font-size: 0.95rem;
                font-weight: 500;
                transition: background 0.2s;
            }

            .fbf-prj-reset:hover {
                background: #c40017;
            }

            .fbf-prj-count {
                padding: 12px 20px;
                border: 1px solid #e2e8f0;
                border-radius: 10px;
                font-size: 0.95rem;
                color: #334155;
                background: #fff;
                white-space: nowrap;
            }

            /* Quick Filters */
            .fbf-prj-quick {
                display: flex;
                gap: 10px;
                flex-wrap: wrap;
                margin-top: 20px;
                padding-top: 20px;
                border-top: 1px solid #f1f5f9;
            }

            .fbf-prj-chip {
                padding: 8px 16px;
                border: 1px solid #e2e8f0;
                border-radius: 25px;
                font-size: 0.9rem;
                color: #64748b;
                background: #fff;
                cursor: pointer;
                transition: all 0.2s;
            }

            .fbf-prj-chip:hover,
            .fbf-prj-chip.active {
                background: var(--fbf-red);
                color: #fff;
                border-color: var(--fbf-red);
            }

            /* Grid - 5 columns max */
            .fbf-prj-grid {
                display: grid;
                grid-template-columns: repeat(5, 1fr);
                gap: 24px;
            }

            @media (max-width: 1600px) {
                .fbf-prj-grid { grid-template-columns: repeat(4, 1fr); }
            }
            @media (max-width: 1300px) {
                .fbf-prj-grid { grid-template-columns: repeat(3, 1fr); }
            }
            @media (max-width: 1000px) {
                .fbf-prj-grid { grid-template-columns: repeat(2, 1fr); }
            }
            @media (max-width: 700px) {
                .fbf-prj-grid { grid-template-columns: 1fr; }
                .fbf-prj-wrap { padding: 30px 20px 60px 20px; }
            }

            /* Card */
            .fbf-prj-card {
                background: #fff;
                border-radius: 16px;
                overflow: hidden;
                box-shadow: 0 2px 8px rgba(0,0,0,0.06);
                transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
                display: flex;
                flex-direction: column;
                cursor: pointer;
                border-left: 4px solid transparent;
            }

            .fbf-prj-card:hover {
                transform: translateY(-6px);
                box-shadow: 0 16px 32px rgba(0,0,0,0.12);
                border-left-color: var(--fbf-red);
            }

            .fbf-prj-card-img {
                width: 100%;
                aspect-ratio: 16 / 9;
                position: relative;
                overflow: hidden;
            }

            .fbf-prj-card-img img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

            .fbf-prj-card-img-ph {
                width: 100%;
                height: 100%;
                background: linear-gradient(135deg, var(--fbf-navy) 0%, var(--fbf-blue) 100%);
                display: flex;
                align-items: center;
                justify-content: center;
            }

            .fbf-prj-card-img-ph svg {
                width: 40px;
                height: 40px;
                color: rgba(255,255,255,0.25);
            }

            .fbf-prj-card-body {
                padding: 18px;
                display: flex;
                flex-direction: column;
                flex: 1;
            }

            /* Badges */
            .fbf-prj-badges {
                display: flex;
                gap: 6px;
                flex-wrap: wrap;
                margin-bottom: 12px;
            }

            .fbf-prj-badge {
                padding: 4px 10px;
                border-radius: 12px;
                font-size: 0.7rem;
                font-weight: 600;
            }

            .fbf-prj-badge-cat {
                background: var(--fbf-red);
                color: #fff;
            }

            .fbf-prj-badge-prog {
                background: #f1f5f9;
                color: #475569;
            }

            .fbf-prj-badge-year {
                background: #dbeafe;
                color: #1e40af;
            }

            .fbf-prj-card-title {
                font-size: 1rem;
                font-weight: 700;
                color: var(--fbf-navy);
                margin: 0 0 6px 0;
                line-height: 1.35;
            }

            .fbf-prj-card-type {
                font-size: 0.8rem;
                color: #64748b;
                margin: 0 0 10px 0;
            }

            /* Topics */
            .fbf-prj-topics {
                display: flex;
                gap: 5px;
                flex-wrap: wrap;
                margin-bottom: 10px;
            }

            .fbf-prj-topic {
                padding: 3px 8px;
                background: #f8fafc;
                border: 1px solid #e2e8f0;
                border-radius: 10px;
                font-size: 0.68rem;
                color: #64748b;
            }

            .fbf-prj-card-desc {
                font-size: 0.85rem;
                color: #64748b;
                line-height: 1.5;
                margin: 0 0 14px 0;
                flex: 1;
                display: -webkit-box;
                -webkit-line-clamp: 3;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }

            .fbf-prj-card-foot {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding-top: 12px;
                border-top: 1px solid #f1f5f9;
                margin-top: auto;
            }

            .fbf-prj-card-date {
                font-size: 0.75rem;
                color: #94a3b8;
            }

            .fbf-prj-flags {
                display: flex;
                gap: 3px;
                align-items: center;
            }

            .fbf-prj-flag {
                font-size: 1rem;
                line-height: 1;
            }

            .fbf-prj-more {
                font-size: 0.7rem;
                color: #94a3b8;
                margin-left: 2px;
            }

            .fbf-prj-view-btn {
                display: block;
                width: 100%;
                padding: 12px;
                background: var(--fbf-red);
                color: #fff;
                border: none;
                border-radius: 10px;
                cursor: pointer;
                font-size: 0.9rem;
                font-weight: 600;
                margin-top: 14px;
                transition: background 0.2s;
                text-align: center;
            }

            .fbf-prj-view-btn:hover {
                background: #c40017;
            }

            /* No Results */
            .fbf-prj-empty {
                text-align: center;
                padding: 80px 20px;
                background: #fff;
                border-radius: 16px;
                grid-column: 1 / -1;
            }

            .fbf-prj-empty p {
                font-size: 1.1rem;
                color: #64748b;
                margin: 0;
            }

            /* Modal */
            .fbf-prj-modal {
                position: fixed;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                z-index: 100000;
                visibility: hidden;
                opacity: 0;
                transition: visibility 0s 0.3s, opacity 0.3s;
            }

            .fbf-prj-modal.active {
                visibility: visible;
                opacity: 1;
                transition: visibility 0s, opacity 0.3s;
            }

            .fbf-prj-modal-bg {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: rgba(0,0,0,0.6);
                backdrop-filter: blur(4px);
            }

            .fbf-prj-modal-box {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                width: 92%;
                max-width: 720px;
                max-height: 92vh;
                background: #fff;
                border-radius: 20px;
                overflow: hidden;
                box-shadow: 0 25px 60px rgba(0,0,0,0.3);
            }

            .fbf-prj-modal-close {
                position: absolute;
                top: 16px;
                right: 16px;
                width: 38px;
                height: 38px;
                background: rgba(255,255,255,0.95);
                color: #333;
                border: none;
                border-radius: 50%;
                font-size: 22px;
                cursor: pointer;
                z-index: 10;
                display: flex;
                align-items: center;
                justify-content: center;
                transition: background 0.2s;
                line-height: 1;
            }

            .fbf-prj-modal-close:hover {
                background: #fff;
            }

            .fbf-prj-modal-scroll {
                max-height: 92vh;
                overflow-y: auto;
            }

            .fbf-prj-modal-img {
                height: 180px;
                background: linear-gradient(135deg, var(--fbf-navy) 0%, var(--fbf-blue) 100%);
            }

            .fbf-prj-modal-img img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

            .fbf-prj-modal-body {
                padding: 20px 24px 24px;
            }

            .fbf-prj-modal-badges {
                display: flex;
                gap: 8px;
                margin-bottom: 10px;
            }

            .fbf-prj-modal-badge {
                padding: 4px 10px;
                border-radius: 15px;
                font-size: 0.75rem;
                font-weight: 600;
            }

            .fbf-prj-modal-badge-dark {
                background: var(--fbf-red);
                color: #fff;
            }

            .fbf-prj-modal-badge-light {
                background: #f1f5f9;
                color: #475569;
            }

            .fbf-prj-modal-title {
                font-size: 1.4rem;
                font-weight: 700;
                color: var(--fbf-navy);
                margin: 0 0 6px 0;
                line-height: 1.3;
            }

            .fbf-prj-modal-id {
                font-size: 0.8rem;
                color: #94a3b8;
                margin: 0 0 16px 0;
            }

            .fbf-prj-modal-info {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 10px;
                margin-bottom: 14px;
            }

            .fbf-prj-modal-info-item {
                padding: 10px 12px;
                background: #f8fafc;
                border-radius: 8px;
            }

            .fbf-prj-modal-info-label {
                font-size: 0.65rem;
                font-weight: 600;
                color: #94a3b8;
                text-transform: uppercase;
                letter-spacing: 0.5px;
                margin: 0 0 3px 0;
            }

            .fbf-prj-modal-info-val {
                font-size: 0.85rem;
                color: #1e293b;
                font-weight: 500;
                margin: 0;
            }

            .fbf-prj-modal-topics {
                display: flex;
                gap: 6px;
                flex-wrap: wrap;
                margin-bottom: 12px;
            }

            .fbf-prj-modal-topic {
                padding: 4px 10px;
                background: #ecfdf5;
                border: 1px solid #d1fae5;
                border-radius: 12px;
                font-size: 0.75rem;
                color: #059669;
            }

            .fbf-prj-modal-desc {
                font-size: 0.9rem;
                color: #475569;
                line-height: 1.6;
                margin: 0 0 16px 0;
            }

            .fbf-prj-modal-partners {
                display: flex;
                align-items: center;
                gap: 16px;
                margin-bottom: 16px;
            }

            .fbf-prj-modal-partners-label {
                display: none;
                margin: 0 0 14px 0;
            }

            .fbf-prj-modal-flags {
                display: flex;
                gap: 8px;
                flex-wrap: wrap;
            }

            .fbf-prj-modal-flag {
                font-size: 1.6rem;
            }

            .fbf-prj-download {
                display: inline-flex;
                align-items: center;
                gap: 8px;
                padding: 10px 20px;
                background: var(--fbf-red);
                color: #fff;
                text-decoration: none;
                border-radius: 8px;
                font-size: 0.9rem;
                font-weight: 600;
                transition: background 0.2s;
            }

            .fbf-prj-download:hover {
                background: #c20610;
                color: #fff;
            }

            .fbf-prj-download svg {
                width: 16px;
                height: 16px;
            }

            /* Responsive */
            @media (max-width: 1024px) {
                .fbf-prj-hero { padding: 10px 20px; }
                .fbf-prj-hero-content { flex-direction: column; gap: 10px; align-items: flex-start; }
                .fbf-prj-stats { gap: 15px; }
                .fbf-prj-stat { padding: 0 10px; }
            }

            @media (max-width: 768px) {
                .fbf-prj-hero-left { flex-direction: column; align-items: flex-start; gap: 5px; }
                .fbf-prj-stats { flex-wrap: wrap; gap: 10px; }
                .fbf-prj-stat-num { font-size: 1.1rem; }
                .fbf-prj-filter-grp { min-width: 100%; }
                .fbf-prj-modal-box { width: 96%; max-height: 96vh; }
                .fbf-prj-modal-info { grid-template-columns: 1fr; }
                .fbf-prj-modal-title { font-size: 1.2rem; }
                .fbf-prj-modal-body { padding: 16px; }
                .fbf-prj-wrap { padding: 20px 15px 40px; }
            }
/* Studio: bölümler ayrı sarmalayıcılarda → tam sayfa min-height yalnız tek parçadayken anlamlıydı; hero kendi başına 100vh olmasın */
.kc-component--fbf-projects-hero > .fbf-prj-page { min-height: 0; }
