:root { --primary: #2563eb; --dark: #1e293b; }
body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
.site-navbar {
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    align-items: center;
}
#mainNavbar .container { display: block; max-width: 1320px; }
@media (min-width: 992px) { #mainNavbar .container { max-width: 1320px; } }
.navbar-bottom { justify-content: center !important; }
.navbar-bottom .collapse { justify-content: center; }
.navbar-bottom .navbar-nav { margin-left: 0 !important; }
.site-navbar .navbar-brand,
.site-navbar .navbar-collapse.show,
.site-navbar .navbar-collapse.collapsing {
    display: flex;
    align-items: center;
}
.site-navbar .navbar-brand { color: var(--dark); }
.site-navbar .nav-link { color: #374151; }
.site-navbar .nav-link:hover { color: var(--primary); }
.site-navbar .nav-link.dropdown-toggle.show { color: var(--primary); }
.site-navbar .navbar-toggler { border-color: rgba(0,0,0,0.2); }
.site-navbar .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0,0,0,0.6)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
#siteLogo {
    height: 55px;
    max-height: 55px;
    max-width: 200px;
    width: auto;
    object-fit: contain;
    background: #ffffff;
    border-radius: 6px;
    padding: 4px 8px;
}
#siteNameText { font-size: 1.15rem; font-weight: 600; margin-left: 0.5rem; }
.navbar-top .navbar-brand { margin-right: 0; padding: 0; }
.navbar-top a, .navbar-top span { font-size: 0.9rem; }
#topbarContact { color: var(--dark); }
#topbarContact a { color: var(--dark); }
#topbarContact a:hover { color: var(--primary); }
#topbarContact i { margin-right: 0.35rem; }
.navbar-bottom .navbar-toggler { order: 2; margin-left: 0; }
.navbar-bottom .collapse { order: 1; }
@media (max-width: 991.98px) {
    .site-navbar .navbar-top { justify-content: space-between !important; }
    .navbar-bottom { justify-content: space-between !important; }
    #topbarContact { order: 1; width: 100%; margin-bottom: 0.35rem; }
    #langSwitcher { order: 2; }
}
.text-white-75 { color: rgba(255,255,255,0.75); }
.border-white-25 { border-color: rgba(255,255,255,0.25) !important; }
#searchBox { position: relative; }
.partner-grid .partner-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    cursor: zoom-in;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.partner-grid .partner-card img {
    max-width: 85%;
    max-height: 85%;
    object-fit: contain;
    transition: transform 0.3s ease;
}
.partner-grid .partner-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
    border-color: #cbd5e1;
}
.partner-grid .partner-card:hover img {
    transform: scale(1.06);
}
.image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 3000;
    background: rgba(15, 23, 42, 0.94);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}
.image-lightbox.open { display: flex; }
.image-lightbox img {
    max-width: min(78vh, 85vw);
    max-height: 78vh;
    aspect-ratio: 1/1;
    object-fit: contain;
    border-radius: 50%;
    border: 6px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.55);
    animation: lbZoom 0.35s ease;
}
@keyframes lbZoom { from { transform: scale(0.7); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.image-lightbox .lb-close {
    position: absolute;
    top: 1.25rem;
    right: 1.5rem;
    background: none;
    border: none;
    color: #fff;
    font-size: 2.2rem;
    opacity: 0.85;
    cursor: pointer;
}
.image-lightbox .lb-close:hover { opacity: 1; }
.search-overlay {
    position: fixed;
    inset: 0;
    z-index: 2000;
    background: rgba(15, 23, 42, 0.92);
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: 12vh 1rem 2rem;
    animation: searchFade 0.25s ease;
}
.search-overlay.open { display: flex; }
@keyframes searchFade { from { opacity: 0; } to { opacity: 1; } }
.search-overlay-close {
    position: absolute;
    top: 1.25rem;
    right: 1.5rem;
    background: none;
    border: none;
    color: #fff;
    font-size: 1.8rem;
    opacity: 0.85;
    cursor: pointer;
}
.search-overlay-close:hover { opacity: 1; }
.search-overlay-box { width: 100%; max-width: 720px; }
.search-overlay-input {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: #fff;
    border-radius: 60px;
    padding: 0.25rem 0.25rem 0.25rem 1.25rem;
    box-shadow: 0 10px 40px rgba(0,0,0,0.35);
}
.search-overlay-input > i { color: #64748b; font-size: 1.25rem; }
.search-overlay-input input {
    flex: 1;
    border: none;
    outline: none;
    font-size: 1.15rem;
    padding: 0.8rem 0;
    background: transparent;
}
.search-overlay-input .btn { border-radius: 50px; padding: 0.6rem 1.6rem; font-weight: 600; }
.search-results-overlay {
    margin-top: 1rem;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.25);
    max-height: 55vh;
    overflow-y: auto;
    display: none;
}
.search-results-overlay.has-results { display: block; }
.search-result-item {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.7rem 1rem;
    color: #1e293b;
    text-decoration: none;
    border-bottom: 1px solid #f1f5f9;
}
.search-result-item:last-child { border-bottom: none; }
.search-result-item:hover { background: #f8fafc; }
.search-result-title { font-weight: 600; font-size: 0.95rem; }
.search-result-sub { font-size: 0.82rem; color: #64748b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 560px; }
.search-empty { padding: 1rem; color: #64748b; }
@media (max-width: 991.98px) {
    #topbarInfo { width: 100%; justify-content: space-between; }
}
.banner-rotate .carousel-item { position: relative; overflow: hidden; aspect-ratio: 100 / 26; min-height: 300px; max-height: 560px; background: #1e3a5f; }
.banner-rotate .carousel-item .banner-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.banner-rotate .banner-bg--gradient { background: linear-gradient(135deg, #1e3a5f 0%, #2c5f4f 60%, #71BD86 100%); }
.banner-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.35) 55%, rgba(0,0,0,0.05) 100%); display: flex; align-items: center; }
.banner-content { max-width: 620px; padding: 0 5vw; color: #fff; }
.banner-title { font-size: 3rem; font-weight: 800; line-height: 1.15; margin-bottom: 0.75rem; text-shadow: 0 2px 12px rgba(0,0,0,0.4); }
.banner-subtitle { font-size: 1.25rem; line-height: 1.5; opacity: 0.95; margin-bottom: 1.5rem; text-shadow: 0 1px 8px rgba(0,0,0,0.4); }
.banner-btn { padding: 0.8rem 2rem; font-weight: 600; border-radius: 50px; text-transform: uppercase; letter-spacing: 0.5px; }
.banner-progress { position: absolute; left: 0; bottom: 0; width: 100%; height: 4px; background: rgba(255,255,255,0.2); }
.banner-progress span { display: block; height: 100%; width: 0; background: #fff; }
.banner-rotate .carousel-item.active .banner-progress span { animation: bannerProgress 8s linear forwards; }
@keyframes bannerProgress { from { width: 0; } to { width: 100%; } }
.banner-tabs { position: absolute; left: 0; bottom: 16px; width: 100%; display: flex; justify-content: center; gap: 6px; z-index: 5; flex-wrap: wrap; padding: 0 1rem; }
.banner-tab { border: 1px solid rgba(255,255,255,0.55); background: rgba(255,255,255,0.15); color: #fff; font-weight: 600; font-size: 0.8rem; padding: 0.4rem 1rem; border-radius: 30px; cursor: pointer; backdrop-filter: blur(4px); transition: all 0.3s; }
.banner-tab:hover { background: rgba(255,255,255,0.3); }
.banner-tab.active { background: #fff; color: #1e3a5f; border-color: #fff; }
@media (max-width: 768px) {
    .banner-rotate .carousel-item { height: 380px; }
    .banner-title { font-size: 1.9rem; }
    .banner-subtitle { font-size: 1rem; }
}
.category-card { transition: transform 0.3s; border-radius: 15px; overflow: hidden; }
.category-card:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.category-card img { height: 200px; object-fit: cover; }
.product-card { transition: transform 0.3s; border-radius: 15px; overflow: hidden; }
.product-card:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.product-card img { height: 200px; object-fit: cover; }
.product-media { aspect-ratio: 3/2; overflow: hidden; background: #f8f9fa; }
.product-media img { width: 100%; height: 100%; object-fit: cover; }
.product-card .product-cat { display: inline-block; max-width: 100%; white-space: normal; line-height: 1.3; }
.product-card--noimg { background: #f4f6fa; }
.product-group-title { font-size: 1.25rem; font-weight: 600; color: var(--primary, #38447B); border-bottom: 2px solid var(--primary, #38447B); padding-bottom: 0.4rem; }
.whatsapp-float { position: fixed; bottom: 30px; right: 30px; width: 60px; height: 60px; background: #25d366; color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2rem; box-shadow: 0 4px 15px rgba(37,211,102,0.4); z-index: 999; text-decoration: none; transition: transform 0.3s; }
.whatsapp-float:hover { transform: scale(1.1); color: white; }
footer a { color: #adb5bd; text-decoration: none; }
footer a:hover { color: white; }

/* ═══ FAQ Template Designs ═══ */

/* ── Frequent Problems: sol sabit başlık + sağ sorular ── */
.faq-frequent-cat {
    font-size: 1.02rem; font-weight: 700; color: #38447B;
    margin: 1.75rem 0 0.9rem; padding-bottom: 0.5rem; border-bottom: 2px solid #eef1f8;
}
.faq-frequent-cat:first-child { margin-top: 0; }
.faq-frequent-item { padding: 1.1rem 1.25rem; border: 1px solid #e8ecf5; border-radius: 12px; margin-bottom: 0.85rem; background: #fff; transition: box-shadow 0.25s; }
.faq-frequent-item:hover { box-shadow: 0 6px 18px rgba(16,28,58,0.07); }
.faq-frequent-q { font-weight: 700; font-size: 1.05rem; color: #1e2a4a; margin-bottom: 0.4rem; }
.faq-frequent-a { color: #5a6478; line-height: 1.65; }
@media (max-width: 991.98px) { .faq-frequent-head { position: static !important; margin-bottom: 1.5rem; } }

/* ── Wellness FAQ: yumuşak kartlar ızgarası ── */
.faq-wellness-card { background: #f5faf7; border: 1px solid #e2efe7; border-radius: 18px; padding: 1.5rem; transition: transform 0.25s, box-shadow 0.25s; }
.faq-wellness-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(30,90,70,0.12); }
.faq-wellness-tag { display: inline-block; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; color: #2c6e4c; background: #dff0e6; border-radius: 30px; padding: 0.25rem 0.7rem; margin-bottom: 0.75rem; }
.faq-wellness-q { font-size: 1.08rem; font-weight: 700; color: #1e2a4a; margin-bottom: 0.5rem; }
.faq-wellness-a { color: #55616f; line-height: 1.66; }

/* ── Yellow FAQ: sarı zemin, koyu metin ── */
.faq-yellow { background: #ffd54a; }
.faq-yellow .container { max-width: 980px; }
.faq-yellow-item { padding: 1.25rem 0.75rem; border-bottom: 2px dashed rgba(0,0,0,0.22); height: 100%; }
.faq-yellow-item:last-child { border-bottom: 0; }
.faq-yellow-num { font-size: 1rem; font-weight: 800; color: #1e2a4a; background: rgba(255,255,255,0.6); border: 2px solid rgba(0,0,0,0.25); border-radius: 50%; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.faq-yellow-q { font-size: 1.1rem; font-weight: 800; color: #241f00; margin-bottom: 0.45rem; }
.faq-yellow-tag { display: inline-block; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; color: #6b4e00; background: rgba(255,255,255,0.55); border-radius: 30px; padding: 0.2rem 0.65rem; margin-bottom: 0.5rem; }
.faq-yellow-a { color: rgba(36,31,0,0.8); line-height: 1.65; }

/* ── Campground FAQ: doğal koyu blok, numaralı sorular ── */
.faq-campground { background: #22402c; }
.faq-camp-card { background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.18); border-radius: 16px; padding: 1.35rem; backdrop-filter: blur(2px); transition: background 0.25s; }
.faq-camp-card:hover { background: rgba(255,255,255,0.12); }
.faq-camp-num { font-size: 1.35rem; color: #ffd54a; flex: 0 0 auto; }
.faq-camp-q { font-size: 1.05rem; font-weight: 700; color: #fff; margin-bottom: 0.45rem; }
.faq-camp-tag { display: inline-block; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; color: #ffd54a; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,213,74,0.4); border-radius: 30px; padding: 0.2rem 0.65rem; margin-bottom: 0.5rem; }
.faq-camp-a { color: rgba(255,255,255,0.85); line-height: 1.66; }

/* ── Grid Answers: beyaz kart ızgarası ── */
.faq-grid-card { border: 1px solid #e5e9f2; border-radius: 14px; padding: 1.5rem; background: #fff; transition: transform 0.25s, box-shadow 0.25s; }
.faq-grid-tag { display: inline-block; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; color: #38447B; background: #eef2fb; border-radius: 30px; padding: 0.25rem 0.7rem; margin-bottom: 0.75rem; }
.faq-grid-card:hover { transform: translateY(-4px); box-shadow: 0 10px 26px rgba(16,28,58,0.09); }
.faq-grid-icon { width: 42px; height: 42px; border-radius: 12px; background: #eef2fb; color: #38447B; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; margin-bottom: 0.9rem; }
.faq-grid-q { font-size: 1.05rem; font-weight: 700; color: #1e2a4a; margin-bottom: 0.5rem; }
.faq-grid-a { color: #5a6478; line-height: 1.66; font-size: 0.94rem; }

/* ── Bank FAQ: kurumsal kategori bantları + accordion ── */
.faq-bank-block { background: #fff; border: 1px solid #e5e9f2; border-radius: 14px; overflow: hidden; margin-bottom: 1.6rem; box-shadow: 0 4px 14px rgba(16,28,58,0.04); }
.faq-bank-cat { background: linear-gradient(90deg, #0f7b4d, #19a15e); color: #fff; padding: 0.9rem 1.3rem; font-weight: 700; font-size: 1.05rem; }
.faq-bank .accordion-item { border: 0; border-bottom: 1px solid #eef1f8; }
.faq-bank .accordion-item:last-child { border-bottom: 0; }
.faq-bank .accordion-button { padding: 1rem 1.3rem; font-weight: 600; color: #1e2a4a; }
.faq-bank .accordion-button:not(.collapsed) { background: #f3faf6; color: #0f7b4d; box-shadow: none; }
.faq-bank .accordion-button:focus { box-shadow: none; }

/* ── Pooluxe FAQ: temiz sade akordeon listesi ── */
.faq-pooluxe-wrap { background: #fff; border: 1px solid #eef1f6; border-radius: 18px; padding: 1.5rem 1.75rem 1.25rem; box-shadow: 0 6px 20px rgba(16,28,58,0.05); }
.faq-pooluxe-cat { font-weight: 700; color: #16a085; font-size: 0.95rem; letter-spacing: 0.3px; margin: 1.2rem 0 0.8rem; padding-bottom: 0.5rem; border-bottom: 2px solid #e8f5f1; }
.faq-pooluxe-cat:first-child { margin-top: 0; }
.faq-pooluxe-item { border-bottom: 1px solid #f0f2f7; }
.faq-pooluxe-item:last-child { border-bottom: 0; }
.faq-pooluxe-q { display: flex; justify-content: space-between; align-items: center; gap: 1rem; width: 100%; background: none; border: 0; padding: 1rem 0; text-align: left; font-weight: 600; color: #1e2a4a; font-size: 1.02rem; }
.faq-pooluxe-q i { color: #16a085; font-size: 1.15rem; transition: transform 0.25s; }
.faq-pooluxe-q[aria-expanded="true"] i { transform: rotate(45deg); }
.faq-pooluxe-a { color: #5a6478; line-height: 1.66; padding-bottom: 1rem; }

/* ── ITzen FAQ: kategori sekmeleri + numaralı sorular + CTA ── */
.faq-itzen-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; }
.faq-itzen-tab { border: 1px solid #e2e8f0; background: #fff; color: #55616f; padding: 0.5rem 1.15rem; border-radius: 30px; font-weight: 600; font-size: 0.9rem; transition: all 0.2s; }
.faq-itzen-tab:hover { border-color: #3b82f6; color: #3b82f6; }
.faq-itzen-tab.active { background: #3b82f6; border-color: #3b82f6; color: #fff; }
.faq-itzen-panel { display: none; }
.faq-itzen-panel.active { display: block; }
.faq-itzen-item { display: flex; gap: 1.1rem; align-items: flex-start; background: #fff; border: 1px solid #eef1f6; border-radius: 14px; padding: 1.35rem 1.5rem; margin-bottom: 1rem; }
.faq-itzen-num { flex: 0 0 auto; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #eef2fb; color: #3b82f6; font-weight: 800; font-size: 0.95rem; }
.faq-itzen-q { font-weight: 700; color: #1e2a4a; margin-bottom: 0.4rem; font-size: 1.1rem; }
.faq-itzen-a { color: #5a6478; line-height: 1.66; }
.faq-itzen-cta { margin-top: 2rem; background: linear-gradient(90deg, #3b82f6, #2563eb); border-radius: 18px; padding: 1.6rem 2rem; }

/* ═══ Testimonial Template Designs ═══ */
.tm-rating { color: #ffc61a; letter-spacing: 1px; font-size: 0.95rem; }
.tm-avatar { object-fit: cover; flex: 0 0 auto; }
.tm-avatar-icon { color: #adb5bd; }
.tm-person h6 { font-weight: 700; color: #1e2a4a; }
.tm-person small { color: #7a8499; }

/* default-board: varsayılan ızgara kartı (eski testimonial-card korunur) */
.tm-default-card { border-radius: 14px; }

/* ── 1) Büyük Alıntı ── */
.tm-quote-wrap { max-width: 860px; margin: 0 auto; display: grid; gap: 2rem; }
.tm-quote-item { text-align: center; padding: 2.2rem 2rem; border: 1px solid #eceff7; border-radius: 18px; background: #fff; box-shadow: 0 6px 24px rgba(16,28,58,0.06); }
.tm-quote-icon { font-size: 3.2rem; color: #38447B; line-height: 1; }
.tm-quote-icon .bi { font-size: 3.2rem; }
.tm-quote-stars { margin: 0.7rem 0; }
.tm-quote-stars .tm-rating { font-size: 1.05rem; }
.tm-quote-msg { font-size: 1.15rem; font-style: italic; color: #33405e; line-height: 1.75; margin-bottom: 1.1rem; }
.tm-quote-footer { display: flex; align-items: center; justify-content: center; gap: 0.8rem; text-align: left; }

/* ── 2) Konuşma Balonları ── */
.tm-bubble-card { background: #f4f7fb; border: 1px solid #e6ecf5; border-radius: 16px; padding: 1.4rem; position: relative; height: 100%; }
.tm-bubble-card::after { content: ''; position: absolute; left: 28px; bottom: -10px; width: 20px; height: 20px; background: #f4f7fb; border-right: 1px solid #e6ecf5; border-bottom: 1px solid #e6ecf5; transform: rotate(45deg); border-radius: 0 0 3px 0; }
.tm-bubble-q { color: #9db1d8; font-size: 1.9rem; margin-bottom: 0.7rem; display: block; }
.tm-bubble-msg { color: #4a5668; line-height: 1.65; margin-bottom: 1.3rem; }
.tm-bubble-footer { display: flex; align-items: center; gap: 0.7rem; }

/* ── 3) Renkli Hücreler ── */
.tm-colored-card { border-radius: 14px; padding: 1.4rem 1.5rem; height: 100%; display: flex; flex-direction: column; }
.tm-colored-card.c-pink  { background: #fdeaf0; }
.tm-colored-card.c-mint  { background: #e3f5ee; }
.tm-colored-card.c-lav   { background: #ece9fa; }
.tm-colored-card.c-sand  { background: #fbefdd; }
.tm-colored-card.c-sky   { background: #e4f1fa; }
.tm-colored-card.c-rose  { background: #fbeae3; }
.tm-cc-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.9rem; }
.tm-cc-icon { color: rgba(0,0,0,0.3); font-size: 1.15rem; }
.tm-cc-msg { font-style: italic; color: #3a4357; line-height: 1.6; flex: 1 1 auto; }
.tm-cc-footer { display: flex; align-items: center; gap: 0.6rem; margin-top: 1rem; }

/* ── 4) Sol Bilgi + Sağ Yorumlar ── */
.tm-side-info { position: sticky; top: 110px; background: #1e3a5f; color: #fff; border-radius: 20px; padding: 2rem 1.8rem; }
.tm-side-eyebrow { font-size: 0.72rem; letter-spacing: 2px; font-weight: 700; color: #ffd54a; margin-bottom: 0.6rem; }
.tm-side-title { color: #fff; font-size: 1.7rem; font-weight: 800; margin-bottom: 0.9rem; }
.tm-side-starrow { margin-bottom: 1.2rem; }
.tm-side-starrow .tm-rating { font-size: 1.3rem; }
.tm-side-num { font-size: 2.6rem; font-weight: 800; line-height: 1; }
.tm-side-label { display: block; color: rgba(255,255,255,0.75); margin-top: 0.4rem; }
.tm-side-card { border: 1px solid #e7ebf3; border-radius: 14px; padding: 1.3rem; height: 100%; background: #fff; box-shadow: 0 5px 18px rgba(16,28,58,0.05); }
.tm-side-card > .tm-rating { margin-bottom: 0.6rem; display: inline-block; }
.tm-side-msg { color: #4a5668; line-height: 1.6; font-size: 0.95rem; }
.tm-side-footer { display: flex; align-items: center; gap: 0.65rem; margin-top: 1rem; }
@media (max-width: 991.98px) { .tm-side-info { position: static !important; } }

/* ── 5) Öne Çıkan Yorum ── */
.tm-feature-spot { background: #233b5e; border-radius: 20px; color: #fff; padding: 2.4rem 2rem; }
.tm-feature-inner { max-width: 780px; margin: 0 auto; text-align: center; }
.tm-feature-icon { font-size: 3rem; color: #ffd54a; line-height: 1; display: block; margin-bottom: 0.7rem; }
.tm-feature-stars { margin-bottom: 0.8rem; }
.tm-feature-stars .tm-rating { font-size: 1.2rem; }
.tm-feature-msg { font-size: 1.2rem; font-style: italic; line-height: 1.7; color: rgba(255,255,255,0.95); }
.tm-feature-footer { display: flex; align-items: center; justify-content: center; gap: 0.8rem; margin-top: 1.2rem; text-align: left; }
.tm-feature-footer .tm-person h6 { color: #fff; }
.tm-feature-footer .tm-person small { color: rgba(255,255,255,0.7); }
.tm-feature-card { border: 1px solid #e7ebf3; border-radius: 14px; padding: 1.3rem; height: 100%; background: #fff; }
.tm-feature-smsg { color: #4a5668; font-size: 0.95rem; line-height: 1.6; margin: 0.6rem 0; }
.tm-feature-f .tm-person small { color: #7a8499; }

/* ── 6) Renovast: alıntı başlığı + büyük metin + avatar ── */
.tm-renovast-card { border: 1px solid #e7ebf3; border-radius: 14px; padding: 1.5rem; background: #fff; box-shadow: 0 6px 22px rgba(16,28,58,0.05); transition: transform 0.25s, box-shadow 0.25s; }
.tm-renovast-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(16,28,58,0.1); }
.tm-renovast-head { display: flex; align-items: center; gap: 0.7rem; margin-bottom: 0.9rem; flex-wrap: wrap; }
.tm-renovast-icon { font-size: 2rem; color: #38447B; line-height: 1; }
.tm-renovast-icon .bi { font-size: 2rem; }
.tm-renovast-title { font-weight: 800; color: #1e2a4a; font-size: 1.1rem; margin: 0; flex: 1 1 auto; }
.tm-renovast-stars { margin-left: auto; }
.tm-renovast-stars .tm-rating { font-size: 1rem; }
.tm-renovast-msg { color: #4a5668; font-size: 1.02rem; line-height: 1.7; font-style: italic; margin-bottom: 1.2rem; }
.tm-renovast-footer { display: flex; align-items: center; gap: 0.7rem; border-top: 1px solid #eef1f6; padding-top: 1rem; }

/* ── 6b) Yarım yıldız ── */
.tm-half { display: inline-block; overflow: hidden; width: 0.55em; vertical-align: top; color: #ffc61a; letter-spacing: 0; }

/* ═══ News Template Designs ═══ */
.news-grid, .news-list { background: #f8f9fa; }

/* ── 1) Öne Çıkan + Izgara ── */
.news-featured-spot { border-radius: 20px; overflow: hidden; box-shadow: 0 14px 40px rgba(16,28,58,0.1); border: 1px solid #e8ecf5; }
.news-featured-imgwrap { background: #eef1f8; }
.news-featured-img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; }
.news-featured-noimg { background: linear-gradient(135deg, #38447B, #6b7ab8); min-height: 320px; }
.news-featured-body { padding: 2.2rem 2rem; background: #fff; height: 100%; display: flex; flex-direction: column; justify-content: center; }
.news-featured-date { text-transform: uppercase; letter-spacing: 1.5px; font-size: 0.74rem; font-weight: 700; color: #38447B; }
.news-featured-title { margin: 0.7rem 0; color: #1e2a4a; font-weight: 800; }
.news-featured-sum { color: #5a6478; line-height: 1.65; }
.news-featured-more { margin-top: 1rem; color: #38447B; font-weight: 700; font-size: 0.9rem; }
.news-featured-more:hover { color: #1e3a5f; }
.news-feat-mini { border: 1px solid #e8ecf5; border-radius: 16px; overflow: hidden; background: #fff; height: 100%; transition: transform 0.25s, box-shadow 0.25s; }
.news-feat-mini:hover { transform: translateY(-4px); box-shadow: 0 10px 26px rgba(16,28,58,0.09); }
.news-feat-mini-img { width: 100%; height: 160px; object-fit: cover; }

/* ── 2) Yatay Liste ── */
.news-hz-list { display: grid; gap: 1.2rem; }
.news-hz-item { border: 1px solid #e8ecf5; border-radius: 16px; overflow: hidden; background: #fff; transition: box-shadow 0.25s; }
.news-hz-item:hover { box-shadow: 0 10px 26px rgba(16,28,58,0.09); }
.news-hz-img { width: 100%; height: 100%; min-height: 200px; object-fit: cover; background: #eef1f8; }
.news-hz-noimg { background: linear-gradient(135deg, #38447B, #6b7ab8); }
.news-hz-body { padding: 1.6rem 1.8rem; }
.news-hz-date { color: #7a8499; font-size: 0.85rem; }
.news-hz-title { color: #1e2a4a; font-weight: 700; margin: 0.5rem 0 0.4rem; }
.news-hz-sum { color: #5a6478; margin: 0; }

/* ── 3) Tarih Bloklu ── */
.news-dated-card { border: 1px solid #eaedf4; border-radius: 14px; padding: 1.4rem 1.5rem; background: #fff; height: 100%; transition: box-shadow 0.25s, border-color 0.25s; }
.news-dated-card:hover { box-shadow: 0 10px 26px rgba(16,28,58,0.09); border-color: #d7dff0; }
.news-dated-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1rem; }
.news-dated-date { display: flex; flex-direction: column; align-items: center; background: #38447B; color: #fff; border-radius: 12px; padding: 0.55rem 0.85rem; min-width: 62px; }
.news-dated-date .n-dd { font-size: 1.5rem; font-weight: 800; line-height: 1; }
.news-dated-date .n-dm { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,0.85); }
.news-dated-cat { padding-top: 0.3rem; }
.news-dated-title { color: #1e2a4a; font-weight: 700; }
.news-dated-sum { color: #5a6478; font-size: 0.93rem; line-height: 1.6; margin: 0.5rem 0 0; }

/* ── 4) Rozetli Kart ── */
.news-badge-card { border-radius: 16px; overflow: hidden; position: relative; height: 100%; box-shadow: 0 6px 22px rgba(16,28,58,0.08); }
.news-badge-imgwrap { position: relative; }
.news-badge-img { width: 100%; height: 240px; object-fit: cover; display: block; }
.news-badge-noimg { background: linear-gradient(135deg, #38447B, #6b7ab8); }
.news-badge-ribbon { position: absolute; top: 14px; left: 14px; background: rgba(56,68,123,0.95); color: #fff; border-radius: 10px; padding: 0.4rem 0.7rem; text-align: center; min-width: 54px; }
.news-badge-ribbon .b-day { display: block; font-size: 1.25rem; font-weight: 800; line-height: 1; }
.news-badge-ribbon .b-mon { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 1px; }
.news-badge-bar { background: #1e2a4a; color: #fff; padding: 1.1rem 1.2rem; }
.news-badge-title { color: #fff; font-weight: 700; margin: 0; }
.news-badge-sum { color: rgba(255,255,255,0.75); }

/* ── 5) Overlay Kart ── */
.news-overlay-card { position: relative; border-radius: 16px; overflow: hidden; height: 100%; min-height: 320px; }
.news-overlay-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.news-overlay-noimg { background: linear-gradient(135deg, #38447B, #6b7ab8); }
.news-overlay-shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,18,40,0.88) 0%, rgba(10,18,40,0.25) 60%, rgba(10,18,40,0.05) 100%); }
.news-overlay-body { position: relative; z-index: 2; padding: 1.4rem 1.4rem 1.3rem; display: flex; flex-direction: column; justify-content: flex-end; min-height: 320px; }
.news-overlay-date { text-transform: uppercase; letter-spacing: 1.2px; font-size: 0.72rem; font-weight: 700; color: #ffd54a; }
.news-overlay-title { color: #fff; font-weight: 800; margin: 0.45rem 0 0.4rem; }
.news-overlay-sum { color: rgba(255,255,255,0.82); font-size: 0.92rem; line-height: 1.55; margin: 0; }

/* ═══ Döviz Kuru Template Designs ═══ */
.ta { text-align: right; }
.fx-live-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #2bb86d; box-shadow: 0 0 0 0 rgba(43,184,109,0.5); animation: fxPulse 1.8s infinite; }
@keyframes fxPulse { 0% { box-shadow: 0 0 0 0 rgba(43,184,109,0.5); } 70% { box-shadow: 0 0 0 7px rgba(43,184,109,0); } 100% { box-shadow: 0 0 0 0 rgba(43,184,109,0); } }
.fx-info { text-align: right; color: #7a8499; font-size: 0.82rem; margin-top: 0.8rem; }
.fx-info-dark { text-align: right; color: rgba(255,255,255,0.55); font-size: 0.82rem; margin-top: 0.8rem; }

/* ── 1) Uzmanpara: üstte büyük kartlar + zebra tablo ── */
.fx-uzmanpara { background: #f5f7fb; }
.fx-up-card { background: #fff; border: 1px solid #e6ebf5; border-radius: 16px; padding: 1.3rem 1.5rem; box-shadow: 0 6px 22px rgba(16,28,58,0.06); height: 100%; }
.fx-up-code { font-size: 1.25rem; font-weight: 800; color: #1e2a4a; }
.fx-up-name { float: right; color: #7a8499; font-size: 0.9rem; padding-top: 0.3rem; }
.fx-up-rates { display: flex; gap: 2rem; margin-top: 1rem; }
.fx-up-rates div { display: flex; flex-direction: column; }
.fx-up-rates small { color: #7a8499; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 1px; }
.fx-up-rates b { font-size: 1.35rem; color: #1e3a5f; }
.fx-up-table tbody tr:nth-of-type(odd) { background: #f8fafc; }

/* ── 2) Bigpara: kompakt canlı tablo ── */
.fx-bp-card { border: 1px solid #e6ebf5; border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 6px 22px rgba(16,28,58,0.05); }
.fx-bp-row { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 0.6rem; align-items: center; padding: 0.72rem 1.2rem; border-bottom: 1px solid #eef1f8; transition: background 0.15s; }
.fx-bp-row:last-child { border-bottom: 0; }
.fx-bp-row:hover { background: #f6f9ff; }
.fx-bp-head { background: #1e3a5f; color: #fff; text-transform: uppercase; letter-spacing: 1px; font-size: 0.72rem; font-weight: 700; }
.fx-bp-row.fx-bp-head:hover { background: #1e3a5f; }
.fx-bp-code b { color: #1e2a4a; font-size: 0.98rem; }
.fx-bp-code em { display: block; font-style: normal; color: #8a94a6; font-size: 0.8rem; }
.fx-bp-buy { color: #1e3a5f; font-weight: 700; }
.fx-bp-sell { color: #2bb86d; font-weight: 700; }
.fx-bp-tcmb { color: #8a94a6; }

/* ── 3) İş Bankası: bantlı minimal tablo ── */
.fx-ib-card { background: #fff; border-radius: 12px; box-shadow: 0 8px 28px rgba(16,28,58,0.07); overflow: hidden; }
.fx-ib-band { height: 6px; background: linear-gradient(90deg, #1e3a5f, #38447B, #2bb86d); }
.fx-ib-title { font-size: 1.35rem; font-weight: 800; color: #1e2a4a; padding: 1.2rem 1.5rem 0.4rem; margin: 0; }
.fx-ib-table { width: 100%; border-collapse: collapse; }
.fx-ib-table th { text-align: left; color: #8a94a6; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 1px; padding: 0.9rem 1.5rem 0.5rem; border-bottom: 2px solid #eef1f8; }
.fx-ib-table th.ta { text-align: right; }
.fx-ib-table td { padding: 0.85rem 1.5rem; border-bottom: 1px solid #f0f3f9; }
.fx-ib-table tr:last-child td { border-bottom: 0; }
.fx-ib-table td b { color: #1e2a4a; }
.fx-ib-table td span { margin-left: 0.5rem; color: #7a8499; }
.fx-ib-table .ta { text-align: right; color: #1e3a5f; font-weight: 600; }

/* ── 4) Bloomberg HT: koyu piyasa ── */
.fx-bloomberg { background: #0e1220; }
.fx-bb-title { color: #fff; font-size: 1.5rem; font-weight: 800; margin-bottom: 1.2rem; }
.fx-bb-table { border: 1px solid #242b40; border-radius: 14px; overflow: hidden; }
.fx-bb-row { display: grid; grid-template-columns: 1.2fr 1.6fr 1fr 1fr 1fr; gap: 0.6rem; align-items: center; padding: 0.75rem 1.2rem; border-bottom: 1px solid #1c2336; color: #e8ecf4; }
.fx-bb-row:last-child { border-bottom: 0; }
.fx-bb-row:hover { background: rgba(255,255,255,0.03); }
.fx-bb-head { text-transform: uppercase; letter-spacing: 1px; font-size: 0.7rem; color: #5c6a8a; font-weight: 700; }
.fx-bb-code b { color: #46e0ff; font-size: 0.98rem; }
.fx-bb-name { color: #a8b4cc; font-size: 0.9rem; }
.fx-bb-row .ta { font-weight: 600; }
.fx-bb-tcmb { color: #5c6a8a; }

/* ── 5) Garanti: kart grid ── */
.fx-ga-card { border: 1px solid #e6ebf5; border-radius: 16px; padding: 1.1rem 1.2rem; background: #fff; box-shadow: 0 5px 18px rgba(16,28,58,0.05); height: 100%; transition: transform 0.2s, box-shadow 0.2s; }
.fx-ga-card:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(16,28,58,0.1); }
.fx-ga-top { display: flex; justify-content: space-between; align-items: flex-start; }
.fx-ga-ico { width: 46px; height: 46px; border-radius: 14px; color: #fff; font-weight: 800; font-size: 0.82rem; display: flex; align-items: center; justify-content: center; letter-spacing: 0.5px; }
.fx-ga-ico.fnavy  { background: #38447B; }
.fx-ga-ico.fgreen { background: #2bb86d; }
.fx-ga-ico.fred   { background: #e05a5a; }
.fx-ga-ico.fgold  { background: #d9a13b; }
.fx-ga-ico.fpurple{ background: #7b5bd6; }
.fx-ga-ico.fteal  { background: #2bb3b8; }
.fx-ga-live { padding-top: 0.3rem; }
.fx-ga-name { color: #7a8499; font-size: 0.82rem; margin: 0.7rem 0 0.4rem; }
.fx-ga-rates { display: flex; justify-content: space-between; }
.fx-ga-rates div { display: flex; flex-direction: column; }
.fx-ga-rates small { color: #a0a9bb; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.6px; }
.fx-ga-rates b { color: #1e2a4a; font-size: 1.05rem; }
.fx-ga-tcmb { margin-top: 0.6rem; padding-top: 0.55rem; border-top: 1px dashed #e8ecf5; color: #8a94a6; font-size: 0.78rem; }

/* Tam genişlik döviz tablosu: konteynere sığar, taşma/scal yapmaz */
.fx-table { width: 100%; table-layout: fixed; }
.fx-table th, .fx-table td { white-space: nowrap; }
.fx-table .fx-name, .fx-table .fx-name-th { overflow: hidden; text-overflow: ellipsis; }
.fx-table .fx-cell { font-variant-numeric: tabular-nums; }

/* ═══════════════════════════════════════════════════════════════
   Partners (Is Ortaklari) template designs
   ───────────────────────────────────────────────────────────── */
.partner-fallback { width: 100%; height: 100%; min-height: 64px; display: flex; align-items: center; justify-content: center; font-weight: 800; color: #0d6efd; background: #eef3fb; border-radius: 10px; font-size: 1.3rem; }
.partners-tiles { background: #f6f8fc; }

/* 1) Logo Seridi (strip) */
.partners-strip { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1.2rem; }
.partners-strip-cell { width: 150px; height: 84px; display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #e4e9f2; border-radius: 12px; padding: 12px; transition: border-color .2s, box-shadow .2s; }
.partners-strip-cell img { max-width: 100%; max-height: 58px; object-fit: contain; filter: none; opacity: 1; transition: transform .25s; }
.partners-strip-link:hover .partners-strip-cell { border-color: #0d6efd; box-shadow: 0 8px 18px rgba(13,110,253,.12); }
.partners-strip-cell a:hover img, .partners-strip-cell:hover img { transform: scale(1.06); }

/* 2) Kayan Logo (marquee) */
.partners-marquee { overflow: hidden; position: relative; }
.partners-marquee-track { display: flex; gap: 1.2rem; width: max-content; animation: partnersScroll 30s linear infinite; }
.partners-marquee:hover .partners-marquee-track { animation-play-state: paused; }
.partners-marquee-cell { width: 150px; height: 84px; display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #e4e9f2; border-radius: 12px; padding: 12px; }
.partners-marquee-cell img { max-width: 100%; max-height: 58px; object-fit: contain; filter: none; opacity: 1; }
.partners-marquee-link:hover .partners-marquee-cell { border-color: #0d6efd; }
@keyframes partnersScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* 3) Izgara (grid - varsayilan) */
.partner-grid-cell { height: 100%; min-height: 92px; display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #e4e9f2; border-radius: 12px; padding: 14px; transition: border-color .2s, box-shadow .2s, transform .2s; }
.partner-grid-cell:hover { border-color: #0d6efd; box-shadow: 0 10px 22px rgba(13,110,253,.12); transform: translateY(-3px); }
.partner-grid-cell img { max-width: 100%; max-height: 64px; object-fit: contain; filter: none; opacity: 1; transition: transform .25s; }
.partner-grid-cell:hover img { transform: scale(1.06); }

/* 4) Kartlar (cards) */
.partner-card-cell { height: 100%; text-align: center; background: #fff; border: 1px solid #e4e9f2; border-radius: 14px; padding: 1.1rem 1rem; transition: transform .2s, box-shadow .2s; }
.partner-card-cell:hover { transform: translateY(-4px); box-shadow: 0 12px 26px rgba(13,110,253,.12); }
.partner-card-logo { height: 84px; display: flex; align-items: center; justify-content: center; margin-bottom: .7rem; }
.partner-card-logo img { max-width: 100%; max-height: 78px; object-fit: contain; }
.partner-card-name { color: #1e2a4a; font-size: .92rem; }

/* 5) Karolar (tiles) */
.partner-tile-cell { position: relative; height: 130px; display: flex; align-items: center; justify-content: center; background: #13233f; border-radius: 12px; padding: 18px; overflow: hidden; transition: transform .2s; }
.partner-tile-cell:hover { transform: translateY(-3px); }
.partner-tile-cell img { max-width: 80%; max-height: 80px; object-fit: contain; filter: none; opacity: 1; transition: transform .2s; }
.partner-tile-cell:hover img { transform: scale(1.06); }
.partner-tile-inv { background: #fff; border: 1px solid #e6ebf5; }
.partner-tile-name { position: absolute; left: 0; right: 0; bottom: 0; padding: 4px 8px 6px; text-align: center; font-size: .72rem; color: #c7d3ee; background: rgba(0,0,0,.35); }
.partner-tile-inv .partner-tile-name { color: #5a6a8a; background: rgba(0,0,0,.05); }

/* ═══════════════════════════════════════════════════════════════════
   SERVICE (Hizmetler) TEMPLATES
   ═══════════════════════════════════════════════════════════════════ */
.service-icon { width: 72px; height: 72px; border-radius: 50%; background: linear-gradient(135deg, #eef3fb, #e2ebfb); display: flex; align-items: center; justify-content: center; margin: 0 auto 1.1rem; font-size: 1.8rem; color: #0d6efd; }
.service-icon i { display: block; line-height: 1; }

/* 1) Izgara (grid - varsayilan) */
.service-grid .service-card { height: 100%; text-align: center; background: #fff; border: 1px solid #e4e9f2; border-radius: 16px; padding: 2rem 1.5rem; transition: transform .22s, box-shadow .22s, border-color .22s; }
.service-grid .service-card:hover { transform: translateY(-6px); box-shadow: 0 16px 32px rgba(13,110,253,.12); border-color: #0d6efd; }
.service-grid .svc-name { color: #1e2a4a; }
.service-grid .svc-desc { color: #5a6a8a; margin-bottom: 0; }

/* 2) Görsel kartlar (cards) */
.service-cards .svc-card { position: relative; height: 100%; border: 0; border-radius: 16px; overflow: hidden; box-shadow: 0 8px 22px rgba(23,40,80,.09); background: #fff; transition: transform .22s, box-shadow .22s; }
.service-cards .svc-card:hover { transform: translateY(-5px); box-shadow: 0 18px 34px rgba(23,40,80,.14); }
.service-cards .svc-media { height: 195px; overflow: hidden; position: relative; }
.service-cards .svc-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.service-cards .svc-card:hover .svc-media img { transform: scale(1.06); }
.service-cards .svc-icon-fallback { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 3rem; color: #fff; background: linear-gradient(140deg, #0d6efd, #6f42c1); }
.service-cards .svc-body { padding: 1.3rem 1.3rem 1.5rem; }
.service-cards .svc-name { color: #1e2a4a; }
.service-cards .svc-desc { color: #5a6a8a; margin-bottom: 0; }

/* 3) Numaralı adımlar (numbered) */
.service-numbered .num-card { position: relative; height: 100%; background: #fff; border: 1px solid #e6ebf5; border-radius: 16px; padding: 1.7rem 1.4rem; overflow: hidden; transition: transform .22s, box-shadow .22s; }
.service-numbered .num-card:hover { transform: translateY(-5px); box-shadow: 0 16px 32px rgba(13,110,253,.12); }
.service-numbered .num-badge { position: absolute; top: 12px; right: 16px; font-size: 2.5rem; font-weight: 800; line-height: 1; color: #e8eefc; }
.service-numbered .num-card:hover .num-badge { color: #cfddfb; }
.service-numbered .num-card .service-icon { margin: 0 0 1.1rem; }
.service-numbered .svc-name { color: #1e2a4a; }
.service-numbered .svc-desc { color: #5a6a8a; margin-bottom: 0; }

/* 4) Alternatif bölünmüş (split) */
.service-split .svc-split-row { display: flex; align-items: center; gap: 2.5rem; padding: 2.1rem 0; }
.service-split .svc-split-row + .svc-split-row { border-top: 1px solid #eef1f7; }
.service-split .svc-split-media { flex: 1 1 46%; }
.service-split .svc-split-media img { width: 100%; border-radius: 18px; object-fit: cover; box-shadow: 0 14px 32px rgba(23,40,80,.13); }
.service-split .svc-split-text { flex: 1 1 46%; }
.service-split .svc-split-text h4 { color: #1e2a4a; }
.service-split .svc-split-text .service-icon { margin: 0 auto 1rem 0; }
@media (max-width: 767.98px) { .service-split .svc-split-row { flex-direction: column !important; } }

/* 5) Vurgulu (featured / koyu) */
.service-featured { background: linear-gradient(150deg, #10203a, #1d3a63); }
.service-featured h2 { color: #fff; }
.service-featured .feat-cell { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 1.7rem 1.3rem; height: 100%; text-align: center; transition: background .2s, transform .2s; }
.service-featured .feat-cell:hover { background: rgba(255,255,255,.13); transform: translateY(-4px); }
.service-featured .service-icon { background: rgba(255,255,255,.12); color: #8ab4ff; margin-bottom: 1rem; }
.service-featured .svc-name { color: #fff; }
.service-featured .svc-desc { color: #c6d3ee; margin-bottom: 0; }

/* 6) Kaydırmalı şerit (carousel) */
.service-carousel .svc-track { display: flex; gap: 1.4rem; width: max-content; animation: svcScroll 40s linear infinite; }
.service-carousel:hover .svc-track { animation-play-state: paused; }
.service-carousel .svc-scroll-card { width: 325px; max-width: 80vw; background: #fff; border: 1px solid #e4e9f2; border-radius: 16px; overflow: hidden; box-shadow: 0 8px 22px rgba(23,40,80,.07); }
.service-carousel .svc-scroll-media { height: 165px; overflow: hidden; }
.service-carousel .svc-scroll-media img { width: 100%; height: 100%; object-fit: cover; }
.service-carousel .svc-icon-fallback { height: 165px; display: flex; align-items: center; justify-content: center; font-size: 2.6rem; color: #fff; background: linear-gradient(140deg, #0d6efd, #6f42c1); }
.service-carousel .svc-scroll-body { padding: 1.1rem; }
.service-carousel .svc-scroll-body h6 { color: #1e2a4a; }
.service-carousel .svc-scroll-body p { color: #5a6a8a; font-size: .9rem; margin-bottom: 0; }
@keyframes svcScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* 7) Liste (list) */
.service-list .svc-list-row { display: flex; align-items: center; gap: 1.1rem; padding: 1.15rem .5rem; border-bottom: 1px solid #eef1f7; }
.service-list .svc-list-row:last-child { border-bottom: 0; }
.service-list .svc-list-row .service-icon { flex: 0 0 56px; width: 56px; height: 56px; font-size: 1.35rem; margin: 0; }
.service-list .svc-list-row .svc-name { color: #1e2a4a; margin-bottom: .1rem; }
.service-list .svc-list-row .svc-desc { color: #5a6a8a; margin-bottom: 0; }

/* 8) Renovast 1: dönüşümlü görsel+metin satırları */
.service-renovast-1 .svc-rv-row { display: flex; align-items: center; gap: 2.5rem; padding: 2.1rem 0; }
.service-renovast-1 .svc-rv-row + .svc-rv-row { border-top: 1px solid #eef1f7; }
.service-renovast-1 .svc-rv-media { flex: 1 1 46%; }
.service-renovast-1 .svc-rv-media img { width: 100%; border-radius: 18px; object-fit: cover; box-shadow: 0 14px 32px rgba(23,40,80,.13); }
.service-renovast-1 .svc-rv-body { flex: 1 1 46%; }
.service-renovast-1 .svc-rv-body h4 { color: #1e2a4a; }
.service-renovast-1 .svc-rv-body .service-icon { margin: 0 auto 1rem 0; }
@media (max-width: 767.98px) { .service-renovast-1 .svc-rv-row { flex-direction: column !important; } }

/* 9) Renovast 2: sade metin kartları */
.service-renovast-2 .svc-txt-card { background: #f8fafc; border: 1px solid #e8ecf5; border-radius: 16px; padding: 1.8rem 1.5rem; transition: transform .22s, box-shadow .22s, background .22s; }
.service-renovast-2 .svc-txt-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(23,40,80,.1); background: #fff; }
.service-renovast-2 .svc-txt-icon { font-size: 2rem; color: #e67e22; margin-bottom: 1rem; }
.service-renovast-2 .svc-txt-card h5 { color: #1e2a4a; }
.service-renovast-2 .svc-txt-card p { margin-bottom: 0; }

/* 10) Renovast 3: 4/3 görsel üstte + renk bloğu */
.service-renovast-3 .svc-pho-card { overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(23,40,80,.08); transition: transform .22s, box-shadow .22s; }
.service-renovast-3 .svc-pho-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(23,40,80,.13); }
.service-renovast-3 .svc-pho-media, .service-renovast-3 .svc-numcard .svc-pho-media, .service-renovast-3 .svc-cta-card .svc-pho-media, .service-renovast-3 .svc-bx-card .svc-bx-media, .service-renovast-3 .svc-it-card .svc-pho-media, .service-renovast-3 .svc-duo-card .svc-pho-media { aspect-ratio: 4/3; overflow: hidden; }
.service-renovast-3 .svc-pho-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.service-renovast-3 .svc-pho-card:hover .svc-pho-media img { transform: scale(1.06); }
.service-renovast-3 .svc-pho-body { padding: 1.3rem 1.4rem 1.5rem; }
.service-renovast-3 .svc-pho-body h5 { color: #1e2a4a; }
.service-renovast-3 .svc-pho-body p { margin-bottom: 0; }
.service-renovast-3 .svc-icon-fallback { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 3rem; color: #fff; background: linear-gradient(140deg, #e67e22, #f4b34a); }

/* 11) Renovast 4: numaralı kart */
.service-renovast-4 .svc-numcard { overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(23,40,80,.08); position: relative; transition: transform .22s, box-shadow .22s; }
.service-renovast-4 .svc-numcard:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(23,40,80,.13); }
.service-renovast-4 .svc-numcard-badge { position: absolute; top: 14px; left: 14px; z-index: 2; font-size: 1.05rem; font-weight: 800; color: #fff; background: rgba(16,32,58,.75); border-radius: 50%; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }
.service-renovast-4 .svc-numcard .svc-pho-media { aspect-ratio: 4/3; overflow: hidden; }
.service-renovast-4 .svc-numcard .svc-pho-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.service-renovast-4 .svc-numcard:hover .svc-pho-media img { transform: scale(1.06); }
.service-renovast-4 .svc-numcard .svc-pho-body { padding: 1.2rem 1.4rem 1.5rem; }
.service-renovast-4 .svc-numcard h5 { color: #1e2a4a; }
.service-renovast-4 .svc-numcard .svc-icon-fallback { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 3rem; color: #fff; background: linear-gradient(140deg, #e67e22, #f4b34a); }

/* 12) Renovast 5: CTA butonlu kart */
.service-renovast-5 .svc-cta-card { overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(23,40,80,.08); transition: transform .22s, box-shadow .22s; }
.service-renovast-5 .svc-cta-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(23,40,80,.13); }
.service-renovast-5 .svc-cta-card .svc-pho-media { aspect-ratio: 4/3; overflow: hidden; }
.service-renovast-5 .svc-cta-card .svc-pho-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.service-renovast-5 .svc-cta-card:hover .svc-pho-media img { transform: scale(1.06); }
.service-renovast-5 .svc-cta-body { padding: 1.3rem 1.4rem 1.5rem; }
.service-renovast-5 .svc-cta-body h5 { color: #1e2a4a; }

/* 13) Bixol 1: görsel + ikon kart */
.service-bixol-1 .svc-bx-card { overflow: hidden; border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(23,40,80,.07); transition: transform .22s, box-shadow .22s; }
.service-bixol-1 .svc-bx-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(23,40,80,.12); }
.service-bixol-1 .svc-bx-media { aspect-ratio: 16/9; overflow: hidden; }
.service-bixol-1 .svc-bx-media img { width: 100%; height: 100%; object-fit: cover; }
.service-bixol-1 .svc-bx-body { padding: 1.4rem; }
.service-bixol-1 .svc-bx-icon { margin: -3.1rem 0 0; position: relative; z-index: 1; display: inline-flex; background: #fff; border-radius: 14px; box-shadow: 0 8px 18px rgba(23,40,80,.15); }
.service-bixol-1 .svc-bx-icon .service-icon { width: 56px; height: 56px; font-size: 1.4rem; margin: 0; border-radius: 14px; }
.service-bixol-1 .svc-bx-body h5 { color: #1e2a4a; }

/* 14) Bixol 2: sade ikon kartı */
.service-bixol-2 .svc-bx2-card { background: #fff; border: 1px solid #e7ebf3; border-radius: 16px; padding: 2rem 1.5rem; transition: transform .22s, box-shadow .22s, border-color .22s; }
.service-bixol-2 .svc-bx2-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(23,40,80,.1); border-color: #0d6efd; }
.service-bixol-2 .svc-bx2-icon .service-icon { margin: 0 auto 1.2rem; }
.service-bixol-2 .svc-bx2-card h5 { color: #1e2a4a; }

/* 15) Bixol 3: numaralı dikey liste */
.service-bixol-3 .svc-bx3-row { display: flex; align-items: flex-start; gap: 1rem; background: #f8fafc; border: 1px solid #e8ecf5; border-radius: 14px; padding: 1.3rem 1.4rem; transition: transform .22s, box-shadow .22s, background .22s; }
.service-bixol-3 .svc-bx3-row:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(23,40,80,.09); background: #fff; }
.service-bixol-3 .svc-bx3-num { font-size: 1.4rem; font-weight: 800; color: #e67e22; line-height: 1; flex: 0 0 auto; }
.service-bixol-3 .svc-bx3-row h6 { color: #1e2a4a; }
.service-bixol-3 .svc-bx3-row p { margin-bottom: .4rem; }

/* 16) Infetech 1: sol spotlight + sağ görsel kartlar */
.service-infetech-1 .svc-it-spot { background: linear-gradient(150deg, #10203a, #1d3a63); border-radius: 18px; color: #fff; padding: 2rem 1.8rem; }
.service-infetech-1 .svc-it-eyebrow { font-size: .72rem; letter-spacing: 2px; font-weight: 700; color: #8ab4ff; text-transform: uppercase; }
.service-infetech-1 .svc-it-spot h3 { color: #fff; font-weight: 800; }
.service-infetech-1 .svc-it-spot p { color: #c6d3ee; }
.service-infetech-1 .svc-it-spot .service-icon { margin: 0 0 1.2rem; background: rgba(255,255,255,.1); color: #8ab4ff; }
.service-infetech-1 .svc-it-card { overflow: hidden; border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(23,40,80,.07); transition: transform .22s, box-shadow .22s; }
.service-infetech-1 .svc-it-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(23,40,80,.12); }
.service-infetech-1 .svc-it-card .svc-pho-media { aspect-ratio: 16/9; overflow: hidden; }
.service-infetech-1 .svc-it-card .svc-pho-media img { width: 100%; height: 100%; object-fit: cover; }
.service-infetech-1 .svc-it-card .svc-pho-body { padding: 1rem 1.2rem 1.2rem; }
.service-infetech-1 .svc-it-card h6 { color: #1e2a4a; }

/* 17) Infetech 2: asimetrik geniş görsel kartlar */
.service-infetech-2 .svc-duo-card { overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(23,40,80,.08); transition: transform .22s, box-shadow .22s; }
.service-infetech-2 .svc-duo-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(23,40,80,.13); }
.service-infetech-2 .svc-duo-card .svc-pho-media { aspect-ratio: 16/9; overflow: hidden; }
.service-infetech-2 .svc-duo-card .svc-pho-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.service-infetech-2 .svc-duo-card:hover .svc-pho-media img { transform: scale(1.06); }
.service-infetech-2 .svc-duo-body { padding: 1.3rem 1.4rem 1.5rem; }
.service-infetech-2 .svc-duo-tag { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #0d6efd; display: block; margin-bottom: .4rem; }
.service-infetech-2 .svc-duo-body h4 { color: #1e2a4a; font-weight: 800; }

/* Ortak link stili */
.svc-rv-link { display: inline-flex; align-items: center; gap: .4rem; color: #e67e22; font-weight: 700; font-size: .9rem; text-decoration: none; }
.svc-rv-link:hover { color: #c96a14; }
.svc-rv-link i { transition: transform .2s; }
.svc-rv-link:hover i { transform: translateX(3px); }

/* Ortak ikon fallback (görselsiz kartlar) */
.svc-cta-card .svc-icon-fallback, .svc-cta-card .svc-pho-media, .svc-duo-card .svc-icon-fallback,
.svc-cta-card .svc-pho-body .svc-icon-fallback, .svc-duo-card .svc-pho-body .svc-icon-fallback,
.service-renovast-3 .svc-icon-fallback, .service-renovast-5 .svc-icon-fallback,
.service-infetech-1 .svc-icon-fallback, .service-infetech-2 .svc-icon-fallback,
.service-bixol-1 .svc-icon-fallback, .service-bixol-2 .svc-bx2-icon .service-icon,
.service-infetech-2 .svc-duo-card .svc-icon-fallback {
    width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
    font-size: 3rem; color: #fff;
    background: linear-gradient(140deg, #e67e22, #f4b34a);
}
.service-bixol-2 .svc-bx2-card .svc-icon-fallback { width: 72px; height: 72px; border-radius: 50%; margin: 0 auto 1.2rem; background: linear-gradient(135deg, #eef3fb, #e2ebfb); color: #0d6efd; font-size: 1.8rem; }

/* ── Kategori gruplama (filtre sekmeleri + başlık grupları) ── */
.svc-filter-wrap { display: flex; justify-content: center; }
.svc-filter-tabs { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }
.svc-filter-btn { padding: .5rem 1.25rem; border-radius: 999px; border: 1px solid #dee2e6; background: #fff; color: #4a5568; font-size: .88rem; font-weight: 600; cursor: pointer; transition: all .2s; }
.svc-filter-btn:hover { border-color: #0d6efd; color: #0d6efd; background: #f0f6ff; }
.svc-filter-btn.active { background: #0d6efd; color: #fff; border-color: #0d6efd; }
.svc-groups .svc-group-title { font-size: 1.3rem; font-weight: 700; color: #1e2a4a; margin-bottom: 1.5rem; padding-bottom: .5rem; border-bottom: 2px solid #e8ecf5; }

/* ═══════════════════════════════════════════════════════════════════
   BLOG TEMPLATES
   ═══════════════════════════════════════════════════════════════════ */
.blg-meta { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.blg-meta-item { display: inline-flex; align-items: center; font-size: .82rem; color: #71819f; }
.blg-readmore { display: inline-flex; align-items: center; gap: .35rem; color: #0d6efd; text-decoration: none; font-weight: 600; font-size: .9rem; }
.blg-readmore:hover { color: #0a58ca; }
.blg-readmore i { transition: transform .2s; }
.blg-readmore:hover i { transform: translateX(4px); }
.blg-nocover { display: flex; align-items: center; justify-content: center; background: linear-gradient(140deg, #0d6efd, #6f42c1); color: #fff; font-size: 2.4rem; }
.blg-imgwrap { display: block; border-radius: 18px; overflow: hidden; }
.blg-imgwrap img { width: 100%; display: block; }

/* 1) Standart (blog-standard - itzen blog/) */
.blog-standard .blg-standard { display: flex; gap: 2rem; align-items: center; padding: 1.9rem 0; }
.blog-standard .blg-standard + .blg-standard { border-top: 1px solid #eef1f7; }
.blog-standard .blg-standard-img { width: 300px; height: 200px; object-fit: cover; }
.blog-standard .blg-standard-img-lg { width: 100%; height: 380px; }
.blog-standard .blg-standard-first { display: block; }
.blog-standard .blg-standard-first .blg-standard-body { max-width: 900px; padding-top: 1.4rem; }
.blog-standard .blg-standard-title { color: #1e2a4a; font-size: 1.25rem; }
.blog-standard .blg-standard-title a { color: inherit; text-decoration: none; }
.blog-standard .blg-standard-title a:hover { color: #0d6efd; }
.blog-standard .blg-standard-excerpt { color: #5a6a8a; margin-bottom: .8rem; }
@media (max-width: 767.98px) { .blog-standard .blg-standard { flex-direction: column; align-items: flex-start; } .blog-standard .blg-standard-img { width: 100%; } }

/* 2) Kaydırmalı (blog-carousel - itzen blog-carousel) */
.blog-carousel .blg-carousel { overflow: hidden; }
.blog-carousel .blg-carousel-track { display: flex; gap: 1.4rem; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; padding: .4rem .1rem 1rem; }
.blog-carousel .blg-carousel-track::-webkit-scrollbar { display: none; }
.blog-carousel .blg-carousel-card { flex: 0 0 340px; max-width: 84vw; background: #fff; border: 1px solid #e4e9f2; border-radius: 18px; overflow: hidden; box-shadow: 0 10px 24px rgba(23,40,80,.08); transition: transform .22s, box-shadow .22s; }
.blog-carousel .blg-carousel-card:hover { transform: translateY(-5px); box-shadow: 0 18px 34px rgba(23,40,80,.15); }
.blog-carousel .blg-carousel-media { position: relative; display: block; height: 190px; overflow: hidden; }
.blog-carousel .blg-carousel-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.blog-carousel .blg-carousel-card:hover .blg-carousel-media img { transform: scale(1.06); }
.blog-carousel .blg-carousel-media .blg-nocover { height: 190px; }
.blog-carousel .blg-carousel-date { position: absolute; left: 12px; bottom: 12px; background: #0d6efd; color: #fff; font-size: .78rem; font-weight: 600; padding: .3rem .7rem; border-radius: 30px; }
.blog-carousel .blg-carousel-body { padding: 1.15rem 1.2rem 1.4rem; }
.blog-carousel .blg-carousel-title { color: #1e2a4a; font-size: 1.05rem; }
.blog-carousel .blg-carousel-title a { color: inherit; text-decoration: none; }
.blog-carousel .blg-carousel-title a:hover { color: #0d6efd; }
.blog-carousel .blg-carousel-excerpt { color: #5a6a8a; font-size: .92rem; margin-bottom: .7rem; }
.blog-carousel .blg-car-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border: 0; border-radius: 50%; background: #fff; color: #1e2a4a; box-shadow: 0 6px 18px rgba(23,40,80,.18); z-index: 2; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.blog-carousel .blg-car-arrow:hover { background: #0d6efd; color: #fff; }
.blog-carousel .blg-car-prev { left: -14px; }
.blog-carousel .blg-car-next { right: -14px; }
@media (max-width: 767.98px) { .blog-carousel .blg-car-prev { left: 4px; } .blog-carousel .blg-car-next { right: 4px; } }

/* 3) Izgara (blog-grid - itzen blog-grid) */
.blog-grid .blg-grid-card { background: #fff; border: 1px solid #e4e9f2; border-radius: 18px; overflow: hidden; transition: transform .22s, box-shadow .22s, border-color .22s; }
.blog-grid .blg-grid-card:hover { transform: translateY(-5px); box-shadow: 0 16px 32px rgba(13,110,253,.11); border-color: #0d6efd; }
.blog-grid .blg-grid-media { position: relative; height: 190px; overflow: hidden; }
.blog-grid .blg-grid-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.blog-grid .blg-grid-card:hover .blg-grid-media img { transform: scale(1.06); }
.blog-grid .blg-grid-date { position: absolute; left: 12px; bottom: 12px; background: #0d6efd; color: #fff; font-size: .78rem; font-weight: 600; padding: .3rem .7rem; border-radius: 30px; }
.blog-grid .blg-grid-body { padding: 1.2rem 1.2rem 1.4rem; }
.blog-grid .blg-grid-title { color: #1e2a4a; font-size: 1.05rem; }
.blog-grid .blg-grid-title a { color: inherit; text-decoration: none; }
.blog-grid .blg-grid-title a:hover { color: #0d6efd; }
.blog-grid .blg-grid-excerpt { color: #5a6a8a; font-size: .95rem; margin-bottom: .8rem; }

/* 4) Liste (blog-list - itzen blog-list) */
.blog-list .blg-list-row { display: flex; gap: 1.5rem; align-items: center; background: #fff; border: 1px solid #e4e9f2; border-radius: 18px; padding: 1.1rem; }
.blog-list .blg-list-row + .blg-list-row { margin-top: 1.2rem; }
.blog-list .blg-list-media { flex: 0 0 260px; border-radius: 14px; overflow: hidden; }
.blog-list .blg-list-media img { width: 100%; height: 165px; object-fit: cover; display: block; transition: transform .4s; }
.blog-list .blg-list-row:hover .blg-list-media img { transform: scale(1.05); }
.blog-list .blg-list-media .blg-nocover { height: 165px; }
.blog-list .blg-list-title { color: #1e2a4a; font-size: 1.15rem; }
.blog-list .blg-list-title a { color: inherit; text-decoration: none; }
.blog-list .blg-list-title a:hover { color: #0d6efd; }
.blog-list .blg-list-excerpt { color: #5a6a8a; margin-bottom: .8rem; }
@media (max-width: 767.98px) { .blog-list .blg-list-row { flex-direction: column; align-items: flex-start; } .blog-list .blg-list-media { flex: 1 1 auto; width: 100%; } }

/* ═══════════════════════════════════════════════
   STATISTIC (Sayılarla Biz) TEMPLATES
   ═══════════════════════════════════════════════ */
.stat-def-num { display: block; font-size: calc(1.425rem + 1.5vw); font-weight: 700; color: #0d6efd; line-height: 1.15; }
.stat-def-label { color: #6c757d; }
.stat-digit { font-variant-numeric: tabular-nums; }

/* 1) statistic-infetech: koyu bant üzerinde büyük sayaçlar */
.stat-infotech { background: linear-gradient(135deg, #0f1b2d 0%, #16283f 55%, #0d2137 100%); border-radius: 18px; padding: 2.6rem 1.8rem; color: #e8effa; position: relative; overflow: hidden; }
.stat-infotech::before { content: ''; position: absolute; top: -90px; right: -80px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(76, 175, 252, .28), transparent 70%); }
.stat-it-head { color: #fff; font-weight: 800; text-align: center; margin-bottom: 1.2rem; }
.stat-it-panel { position: relative; }
.stat-it-title { color: #fff; font-weight: 700; text-align: center; font-size: 1.2rem; margin: .4rem 0 .2rem; }
.stat-it-sub { color: #9fb3cc; text-align: center; margin-bottom: 1.6rem; }
.stat-it-num { font-size: 2.7rem; font-weight: 800; color: #fff; line-height: 1.1; }
.stat-it-num .stat-suffix { color: #4cc9f0; }
.stat-it-label { color: #8ea3bd; text-transform: uppercase; font-size: .78rem; letter-spacing: 1.5px; margin-top: .35rem; }
.stat-it-panel .stat-cell { text-align: center; padding: .8rem 0; border-right: 1px solid rgba(255, 255, 255, .08); }
.stat-it-panel .stat-cell:last-child { border-right: 0; }
@media (max-width: 767.98px) { .stat-it-num { font-size: 2rem; } .stat-it-panel .stat-cell { border-right: 0; } }

/* 2) statistic-voip: açık zemin, ayraçlı büyük rakamlar */
.stat-voip { background: #fff; border: 1px solid #e7ebf3; border-radius: 18px; padding: 2.2rem 1.6rem; box-shadow: 0 10px 28px rgba(23, 40, 80, .06); }
.stat-vp-title { color: #1e2a4a; font-weight: 800; text-align: center; margin-bottom: .2rem; }
.stat-vp-sub { color: #5a6a8a; text-align: center; margin-bottom: 1.6rem; }
.stat-vp-row { --bs-gutter-x: 0; }
.stat-vp-row .stat-cell { text-align: center; padding: 1rem .75rem; }
.stat-vp-div { border-right: 1px solid #e9edf4; }
.stat-vp-num { font-size: 2.9rem; font-weight: 800; color: #0d6efd; line-height: 1.05; }
.stat-vp-num .stat-suffix { color: #dc3545; }
.stat-vp-label { color: #5a6a8a; text-transform: uppercase; letter-spacing: 1.5px; font-size: .78rem; margin-top: .4rem; }
@media (max-width: 575.98px) { .stat-vp-div { border-right: 0; border-bottom: 1px solid #e9edf4; padding-bottom: 1.2rem; } }

/* 3) statistic-bixol: üst şeritli beyaz sayaç kartları */
.stat-bx-title { color: #1e2a4a; font-weight: 800; text-align: center; }
.stat-bx-sub { color: #5a6a8a; text-align: center; margin-bottom: 1.6rem; }
.stat-bx-card { position: relative; background: #fff; border: 1px solid #e7ebf3; border-radius: 16px; padding: 1.9rem 1rem 1.6rem; text-align: center; box-shadow: 0 8px 22px rgba(23, 40, 80, .06); overflow: hidden; transition: transform .22s, box-shadow .22s; height: 100%; }
.stat-bx-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(90deg, #e67e22, #f4b34a); }
.stat-bx-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(23, 40, 80, .12); }
.stat-bx-num { font-size: 2.3rem; font-weight: 800; color: #1e2a4a; line-height: 1.05; }
.stat-bx-num .stat-suffix { color: #e67e22; }
.stat-bx-label { color: #5a6a8a; margin-top: .45rem; font-size: .95rem; }

/* 4) statistic-bixol2: gradyan bant, vurgulu son ek */
.stat-b2-panel { background: linear-gradient(135deg, #0d6efd 0%, #1760cf 45%, #6f42c1 100%); border-radius: 18px; padding: 2.4rem 1.6rem; color: #fff; text-align: center; }
.stat-b2-head { color: #fff; font-weight: 800; margin-bottom: .6rem; }
.stat-b2-title { color: #fff; font-weight: 700; font-size: 1.15rem; }
.stat-b2-sub { color: #e3ebff; margin-bottom: 1.5rem; }
.stat-b2-num { font-size: 2.7rem; font-weight: 800; color: #fff; line-height: 1.1; }
.stat-b2-num .stat-suffix { color: #ffd166; }
.stat-b2-label { color: #e0e9ff; text-transform: uppercase; letter-spacing: 1.5px; font-size: .75rem; margin-top: .35rem; }
.stat-b2-panel .stat-cell { border-right: 1px solid rgba(255, 255, 255, .18); padding: .6rem 0; }
.stat-b2-panel .stat-cell:last-child { border-right: 0; }
@media (max-width: 767.98px) { .stat-b2-num { font-size: 2rem; } .stat-b2-panel .stat-cell { border-right: 0; } }

/* ═══════════ TEAMS (Ekip) şablon stilleri ═══════════ */
.tm-em-card { border-radius: 14px; overflow: hidden; transition: transform .22s, box-shadow .22s; }
.tm-em-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(23, 40, 80, .12); }
.tm-em-photo-wrap { padding: 1.5rem 1.5rem 0; display: flex; justify-content: center; }
.tm-em-photo { border-radius: 50%; box-shadow: 0 6px 18px rgba(16, 28, 58, .14); }
.tm-em-photo-ph { display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #eef1f8; color: #9aa9c4; width: 140px; height: 140px; }
.tm-em-hcard { border-radius: 14px; transition: transform .22s, box-shadow .22s; }
.tm-em-hcard:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(23, 40, 80, .12); }
.tm-em-hcard .tm-em-photo { border-radius: 14px; }

/* ═══════════ FEATURES (Özellik) şablon stilleri ═══════════ */
.tm-f-card { border-radius: 14px; transition: transform .22s, box-shadow .22s; }
.tm-f-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(23, 40, 80, .12); }
.tm-f-icon { font-size: 2.4rem; color: #0d6efd; display: inline-block; }
.tm-f-img { display: inline-block; }
.tm-f-band-card { border-radius: 14px; overflow: hidden; border: 1px solid #e7ebf3; background: #fff; transition: transform .22s, box-shadow .22s; }
.tm-f-band-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(23, 40, 80, .12); }
.tm-f-band-top { display: flex; align-items: center; gap: .8rem; padding: 1.2rem 1.3rem; border-bottom: 1px solid #eef1f8; }
.tm-f-band-icon { color: #0d6efd; }
.tm-f-band-body { padding: 1.1rem 1.3rem 1.3rem; }
.tm-f-row-card { border-radius: 14px; border: 1px solid #e7ebf3; padding: 1.4rem; background: #fff; transition: transform .22s, box-shadow .22s; }
.tm-f-row-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(23, 40, 80, .12); }

/* ── feature-section: 4 kolon ortalanmış yuvarlak ikonlar ── */
.tm-f-card-pill { border-radius: 18px; transition: transform .22s, box-shadow .22s; }
.tm-f-card-pill:hover { transform: translateY(-5px); box-shadow: 0 14px 30px rgba(23, 40, 80, .10); }

/* ── feature-skills: koyu zemin, ikon + başlık satırları ── */
.tm-fs-skills { background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%); color: #fff; }
.tm-fs-skills h5 { color: #fff; }
.tm-fs-skills .tm-f-skls-title, .tm-fs-skills .tm-f-st-title { color: #fff; font-weight: 700; }
.tm-f-skill-ico { width: 62px; height: 62px; border-radius: 14px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); display: flex; align-items: center; justify-content: center; color: #93c5fd; }
.tm-f-skill-ico .tm-f-icon { font-size: 2rem; color: #93c5fd; }
.tm-f-skill-body p { color: #cbd5e1; }
.tm-f-skill::after { content: ""; display: block; width: 100%; height: 1px; background: rgba(255, 255, 255, .10); margin-top: 1.6rem; }
.tm-f-skill { flex-direction: column; align-items: flex-start !important; gap: 1rem !important; }

/* ── feature-carwash: gri zemin, büyük ikonlu kartlar ── */
.tm-fs-carwash, .tm-fs-priority { background: #f2f2f2; }
.tm-f-cw-card { background: #fff; border-radius: 24px; padding: 2rem 1.4rem !important; box-shadow: 0 12px 30px rgba(23, 40, 80, .08); transition: transform .22s, box-shadow .22s; }
.tm-f-cw-card:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(23, 40, 80, .14); }

/* ── feature-learning: bölünmüş düzen ── */
.tm-f-learn-title { font-size: 2.4rem; font-weight: 700; color: #0f172a; }
.tm-f-learn-bar { display: inline-block; width: 64px; height: 5px; border-radius: 4px; background: #0d6efd; margin-top: 1.2rem; }
.tm-f-learn-item { background: #fff; border: 1px solid #e7ebf3; border-radius: 16px; padding: 1.3rem 1.4rem; transition: transform .2s, box-shadow .2s; }
.tm-f-learn-item:hover { transform: translateX(6px); box-shadow: 0 10px 26px rgba(23, 40, 80, .10); }

/* ── feature-quality: 3 kolon rozetli kartlar ── */
.tm-fs-quality { background: #f5f7fb; }
.tm-f-q-card { background: #fff; border-radius: 18px; box-shadow: 0 8px 26px rgba(23, 40, 80, .07); transition: transform .22s, box-shadow .22s; }
.tm-f-q-card:hover { transform: translateY(-5px); box-shadow: 0 18px 36px rgba(23, 40, 80, .13); }
.tm-f-q-badge { width: 78px; height: 78px; border-radius: 22px; background: #eef4ff; color: #0d6efd; display: flex; align-items: center; justify-content: center; }
.tm-f-q-badge .tm-f-icon { font-size: 2.2rem; color: #0d6efd; }

/* ── feature-studio: koyu zemin, numaralı liste ── */
.tm-fs-studio { background: #101418; color: #fff; }
.tm-f-st-title { font-size: 2.6rem; font-weight: 300; color: #fff; border-left: 4px solid #0d6efd; padding-left: 1.1rem; }
.tm-f-st-row { border-bottom: 1px solid rgba(255, 255, 255, .12); padding: 1.1rem 0; }
.tm-f-st-row:first-child { border-top: 1px solid rgba(255, 255, 255, .12); }
.tm-f-st-num { font-size: .85rem; font-weight: 700; color: #93c5fd; border: 1px solid #93c5fd; border-radius: 50%; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; margin-top: 2px; }
.tm-f-st-body h5 { color: #fff; }
.tm-f-st-body p { color: #a3b0c2; }

/* ── feature-services: görsel + ikonlu liste ── */
.tm-f-svc-img { max-width: 100%; border-radius: 22px; box-shadow: 0 20px 50px rgba(23, 40, 80, .18); }
.tm-f-svc-item { border-bottom: 1px solid #e7ebf3; padding: 1rem 0; transition: background .2s, padding-left .2s; border-radius: 12px; }
.tm-f-svc-item:hover { background: #f4f7ff; padding-left: .5rem; }

/* ── feature-interior: ikon satırlı beyaz kartlar ── */
.tm-fs-interior { background: #f9f7f4; }
.tm-f-int-item { background: #fff; border-radius: 16px; padding: 1.4rem 1.5rem; box-shadow: 0 8px 24px rgba(23, 40, 80, .06); transition: transform .22s, box-shadow .22s; }
.tm-f-int-item:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(23, 40, 80, .12); }

/* ── feature-priority: gri zemin, yuvarlak beyaz kartlar ── */
.tm-f-pr-card { background: #fff; border-radius: 50px; padding: 2rem 1.5rem !important; box-shadow: 0 12px 30px rgba(23, 40, 80, .10); transition: transform .22s, box-shadow .22s; }
.tm-f-pr-card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(23, 40, 80, .16); }

/* ── feature-online: üst aksanlı kartlar ── */
.tm-f-ol-card { background: #fff; border-radius: 16px; border: 1px solid #e7ebf3; border-top: 4px solid #0d6efd; transition: transform .22s, box-shadow .22s; }
.tm-f-ol-card:hover { transform: translateY(-5px); box-shadow: 0 16px 32px rgba(23, 40, 80, .12); }

/* ── Ortak yuvarlak ikon konteyneri ── */
.tm-f-circle { display: flex; align-items: center; justify-content: center; width: 76px; height: 76px; border-radius: 50%; background: #fff; border: 1px solid #e7ebf3; color: #0d6efd; box-shadow: 0 6px 18px rgba(13, 110, 253, .10); }
.tm-f-circle .tm-f-icon { font-size: 2rem; color: #0d6efd; }
.tm-f-circle--sm { width: 56px; height: 56px; }
.tm-f-circle--sm .tm-f-icon { font-size: 1.45rem; }
.tm-f-circle--lg { width: 96px; height: 96px; }
.tm-f-circle--lg .tm-f-icon { font-size: 2.8rem; }
.tm-f-circle--xl { width: 130px; height: 130px; }
.tm-f-circle--xl .tm-f-icon { font-size: 3.2rem; }
.tm-f-circle--blue { background: #0d6efd; border-color: #0d6efd; color: #fff; }
.tm-f-circle--blue .tm-f-icon { color: #fff; }
.tm-f-circle img.tm-f-img { box-shadow: none; }

/* ═══════════ TEAMS (Ekip) şablon stilleri ═══════════ */
.tm-emx-title { font-weight: 700; color: #0f172a; }
.tm-emx-ph { display: flex; align-items: center; justify-content: center; background: #eef1f8; color: #93a5c4; }
.tm-emx-sq { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; background: #eef1f8; }
.tm-emx-card { overflow: hidden; border-radius: 16px; border: 1px solid #eceff5; background: #fff; box-shadow: 0 8px 24px rgba(23,40,80,.06); height: 100%; transition: transform .22s, box-shadow .22s; }
.tm-emx-card:hover { transform: translateY(-5px); box-shadow: 0 18px 38px rgba(23,40,80,.13); }
.tm-emx-body { padding: 1.1rem 1.2rem 1.3rem; }
.tm-emx-name { font-weight: 700; }
.tm-emx-role { font-size: .78rem; color: #0d6efd; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; margin: .25rem 0 0; }
.tm-emx-dept { display: inline-block; font-size: .72rem; background: #eef1f8; color: #5f6f8c; border-radius: 20px; padding: .15rem .6rem; margin-top: .45rem; }
.tm-emx-desc { font-size: .85rem; color: #6c7a92; margin: .6rem 0 0; }
.tm-emx-av { border-radius: 50%; display: block; object-fit: cover; }
.tm-emx-avcard { text-align: center; padding: 1.7rem 1.2rem 1.5rem; border-radius: 18px; background: #fff; border: 1px solid #eceff5; box-shadow: 0 8px 24px rgba(23,40,80,.06); height: 100%; transition: transform .22s, box-shadow .22s; }
.tm-emx-avcard:hover { transform: translateY(-5px); box-shadow: 0 18px 38px rgba(23,40,80,.13); }
.tm-emx-avcard .tm-emx-av { margin: 0 auto; }
.tm-emx-avcard .tm-emx-name { margin-top: .9rem; }
.tm-emx-avcard .tm-emx-role { margin-top: .3rem; }
.tm-emx-avcard .tm-emx-desc { margin-top: .7rem; }
.tm-emx-simple { text-align: center; }
.tm-emx-simple .tm-emx-role { color: #6c7a92; text-transform: none; letter-spacing: .3px; }
.tm-emx-intro h2 { font-size: 2.3rem; font-weight: 700; color: #0f172a; }
.tm-emx-bar { display: inline-block; width: 60px; height: 5px; border-radius: 4px; background: #0d6efd; margin-top: 1.1rem; }
.tm-emx-roww { background: #fff; border: 1px solid #eceff5; border-radius: 18px; padding: 1.3rem; margin-bottom: 1.1rem; box-shadow: 0 6px 18px rgba(23,40,80,.05); }
.tm-emx-row-photo { width: min(340px, 100%); }
.tm-emx-row-photo .tm-emx-sq { aspect-ratio: 4/3; border-radius: 14px; }
.tm-emx-g { position: relative; border-radius: 14px; overflow: hidden; box-shadow: 0 6px 18px rgba(23,40,80,.08); }
.tm-emx-gname { position: absolute; left: 0; right: 0; bottom: 0; background: linear-gradient(transparent, rgba(15,23,42,.78)); color: #fff; font-size: .8rem; font-weight: 600; padding: .9rem .8rem .6rem; }
.tm-emx-car-track { gap: 1.2rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: .3rem .2rem .6rem; scrollbar-width: none; }
.tm-emx-car-track::-webkit-scrollbar { display: none; }
.tm-emx-car-slide { flex: 0 0 320px; scroll-snap-align: start; }
.tm-emx-car-card { position: relative; border-radius: 18px; overflow: hidden; background: #fff; box-shadow: 0 10px 26px rgba(23,40,80,.12); }
.tm-emx-car-card .tm-emx-sq { aspect-ratio: 4/3; }
.tm-emx-car-info { position: absolute; left: 12px; right: 12px; bottom: 12px; background: #fff; border-radius: 12px; padding: .75rem .9rem; box-shadow: 0 6px 16px rgba(23,40,80,.18); }
.tm-emx-car-info .tm-emx-name { font-size: 1rem; }
.tm-emx-car-btn { position: absolute; top: 44%; transform: translateY(-50%); z-index: 3; width: 42px; height: 42px; border-radius: 50%; border: none; background: #fff; color: #0f172a; box-shadow: 0 4px 14px rgba(23,40,80,.2); display: flex; align-items: center; justify-content: center; }
.tm-emx-car-prev { left: 4px; }
.tm-emx-car-next { right: 4px; }
.tm-emx-c5, .tm-emx-c6 { flex: 0 0 50%; max-width: 50%; }
@media (min-width: 768px) { .tm-emx-c6 { flex: 0 0 33.3333%; max-width: 33.3333%; } }
@media (min-width: 992px) {
    .tm-emx-c5 { flex: 0 0 20%; max-width: 20%; }
    .tm-emx-c6 { flex: 0 0 16.6666%; max-width: 16.6666%; }
}

/* ── Bölüm arka planları (tm-ts-*) ── */
.tm-ts-team-know { background: #001131; }
.tm-ts-team-smm { background: #0f1b2d; }
.tm-ts-team-pro { background: #101824; }
.tm-ts-team-know h2, .tm-ts-team-smm h2, .tm-ts-team-pro h2 { color: #fff; }
.tm-ts-team-text, .tm-ts-team-settlement, .tm-ts-team-consulting, .tm-ts-team-design { background: #f2f2f2; }
.tm-ts-team-great { background: #fdf1e8; }
.tm-ts-team-gallery { background: #1b6c8a; }
.tm-ts-team-gallery h2 { color: #fff; }
.tm-ts-team-block { background: #eef4fb; }
.tm-ts-team-professional { background: #e9edff; }
.tm-ts-team-big { background: #f4f6fa; }
.tm-ts-team-overlap { background: #e9f3ff; }

/* ── Tasarım bazlı vurgular ── */
.tm-t-team-big .tm-emx-av { border: 6px solid #dbeafe; }
.tm-t-team-great .tm-emx-role { color: #f05510; }
.tm-t-team-great .tm-emx-av { border: 4px solid #ffd1b8; }
.tm-t-team-settlement .tm-emx-name, .tm-t-team-settlement .tm-emx-role { color: #4b3b8f; }
.tm-t-team-settlement .tm-emx-desc { display: none; }
.tm-t-team-settlement .tm-emx-avcard { border-radius: 22px; }
.tm-t-team-professional .tm-emx-role { color: #3f57ff; }
.tm-t-team-professional .tm-emx-name { letter-spacing: .3px; }
.tm-t-team-design .tm-emx-avcard { background: #f2f2f2; border: none; box-shadow: none; border-radius: 24px; }
.tm-t-team-design .tm-emx-role { letter-spacing: 3px; color: #0d6efd; }
.tm-t-team-design .tm-emx-avcard::after, .tm-t-team-pro .tm-emx-avcard::after { content: ""; display: block; width: 46px; height: 4px; border-radius: 4px; background: #0d6efd; margin: .65rem auto 0; }
.tm-t-team-pro .tm-emx-role { color: #0d6efd; letter-spacing: 1px; }
.tm-t-team-block .tm-emx-role { color: #2f6fed; }
.tm-t-team-round .tm-emx-avcard { border-radius: 22px; }
.tm-t-team-round .tm-emx-av { border: 5px solid #eef1f8; }
.tm-t-team-coaches .tm-emx-role { color: #16a34a; }
.tm-t-team-coaches .tm-emx-avcard { border-radius: 24px; }
.tm-t-team-experts .tm-emx-name { text-transform: uppercase; letter-spacing: .5px; }
.tm-t-team-experts .tm-emx-role { color: #d97706; }
.tm-t-team-consulting .tm-emx-avcard { border-radius: 50px; }
.tm-t-team-members .tm-emx-role { color: #7c3aed; }
.tm-t-team-new .tm-emx-card { border-radius: 22px; }
@media (min-width: 992px) {
    .tm-t-team-new .row.g-4 > [class*="col"]:nth-child(2n) { margin-top: 42px; }
}
.tm-t-team-rookie .tm-emx-card { position: relative; border-radius: 20px; }
.tm-t-team-rookie .tm-emx-sq { aspect-ratio: 3/4; }
.tm-t-team-rookie .tm-emx-body { position: absolute; left: 0; right: 0; bottom: 0; background: linear-gradient(transparent, rgba(15,23,42,.82)); }
.tm-t-team-rookie .tm-emx-name { color: #fff; }
.tm-t-team-rookie .tm-emx-role { color: #ffd9a0; }
.tm-t-team-know .tm-emx-intro h2 { color: #fff; }
.tm-t-team-know .tm-emx-bar { background: #4f7cff; }
.tm-t-team-smm .tm-emx-intro h2 { color: #fff; }
.tm-t-team-smm .tm-emx-bar { background: #38bdf8; }
.tm-t-team-hosting .tm-emx-card { border-radius: 8px; }
.tm-t-team-hosting .tm-emx-body { background: #f9fafc; }
.tm-t-team-special .tm-emx-body { display: flex; flex-direction: column; }
.tm-t-team-special .tm-emx-role { order: -1; margin-bottom: .2rem; }
.tm-t-team-chefs .tm-emx-card { border-radius: 20px; }
.tm-t-team-auto .tm-emx-role { color: #d97706; }
.tm-t-team-workers .tm-emx-simple { border: 1px solid #eceff5; border-radius: 16px; padding: .6rem; background: #fff; }
.tm-t-team-text .tm-emx-role { color: #6b7280; }
.tm-t-team-appreciate .tm-emx-desc { display: none; }
.tm-t-team-clinic .tm-emx-gname { display: none; }
.tm-t-team-two .tm-emx-roww { border-left: 5px solid #0d6efd; }

/* =====================================================================
   BANNER ŞABLONLARI (module: banner)
   Seçilen şablon section'a CssClass olarak yazılır (banner-<kod>).
   ===================================================================== */
#bannerSection { position: relative; }
#bannerSection .carousel-item { position: relative; overflow: hidden; }
.bk-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.bk-bg--gradient { background: linear-gradient(135deg, #1e3a5f 0%, #2c5f4f 60%, #71BD86 100%); }
.bk-overlay { position: absolute; inset: 0; }
.bk-content { position: absolute; inset: 0; padding: 0 6vw; color: #fff; }
.bk-content-center, .bk-content-cl, .bk-content-playkids { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.bk-content-left, .bk-content-fiship, .bk-content-auros { display: flex; align-items: center; }
.bk-inner { max-width: 660px; }
.bk-title { margin: 0 0 .75rem; font-weight: 800; line-height: 1.12; text-shadow: 0 2px 12px rgba(0,0,0,.35); }
.bk-sub { margin: 0 0 1.25rem; opacity: .95; line-height: 1.5; }
.bk-eyebrow { margin: 0 0 .75rem; opacity: .9; text-transform: uppercase; letter-spacing: 4px; font-size: .85rem; }
.bk-btns { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.bk-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .85rem 2rem; font-weight: 700; border-radius: 50px; text-transform: uppercase; letter-spacing: .5px; text-decoration: none; border: 0; cursor: pointer; transition: all .3s; line-height: 1; }
.bk-btn:hover { text-decoration: none; }
.bk-progress { position: absolute; left: 0; bottom: 0; width: 100%; height: 4px; background: rgba(255,255,255,.25); }
.bk-progress span { display: block; height: 100%; width: 0; background: #fff; }
.banner-aparto .carousel-item.active .bk-progress span,
.banner-gamemart .carousel-item.active .bk-progress span,
.banner-hazel .carousel-item.active .bk-progress span { animation: bannerProgress 8s linear forwards; }

/* -- banner-aparto (TM468763): ortalanmış içerik + renkli katman -- */
.banner-aparto .carousel-item { height: 600px; }
.banner-aparto .bk-overlay { background: linear-gradient(135deg, rgba(79,70,229,.55) 0%, rgba(168,85,247,.45) 100%); }
.banner-aparto .bk-eyebrow { margin-bottom: 1rem; }
.banner-aparto .bk-title { font-size: 3.2rem; }
.banner-aparto .bk-btn-ghost { border: 2px solid #fff; background: transparent; color: #fff; border-radius: 50px; }
.banner-aparto .bk-btn-ghost:hover { background: #fff; color: #4338ca; }
.banner-aparto .carousel-control-prev, .banner-aparto .carousel-control-next { width: 60px; height: 60px; top: 50%; margin-top: -30px; border-radius: 50%; background: rgba(255,255,255,.15); backdrop-filter: blur(4px); }
.banner-aparto .carousel-control-prev { left: 2.5vw; }
.banner-aparto .carousel-control-next { right: 2.5vw; }
.banner-aparto .carousel-control-prev-icon, .banner-aparto .carousel-control-next-icon { filter: invert(1); width: 1.5rem; height: 1.5rem; }
.banner-aparto .banner-tabs { bottom: 24px; }
.banner-aparto .banner-tab { width: 13px; height: 13px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.5); font-size: 0; }
.banner-aparto .banner-tab.active { background: #fff; transform: scale(1.25); }

/* -- banner-gamemart (TM405179): koyu katman + hap buton -- */
.banner-gamemart .carousel-item { height: 520px; }
.banner-gamemart .bk-overlay { background: linear-gradient(98deg, rgba(10,10,22,.8) 0%, rgba(10,10,22,.45) 55%, rgba(10,10,22,.15) 100%); }
.banner-gamemart .bk-content-left .bk-inner { margin-left: 4vw; max-width: 560px; }
.banner-gamemart .bk-title { font-size: 3rem; font-family: Rubik, 'Segoe UI', sans-serif; }
.banner-gamemart .bk-sub { font-size: 1.1rem; }
.banner-gamemart .bk-btn { background: #f31c4a; color: #fff; border-radius: 50px; }
.banner-gamemart .bk-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(243,28,74,.45); }
.banner-gamemart .carousel-control-prev, .banner-gamemart .carousel-control-next { width: 46px; height: 46px; top: 50%; margin-top: -23px; border-radius: 50%; background: rgba(255,255,255,.08); opacity: 0; transition: all .3s; }
.banner-gamemart .carousel-control-prev-icon, .banner-gamemart .carousel-control-next-icon { filter: invert(1); width: 1.2rem; height: 1.2rem; }
.banner-gamemart .carousel-control-prev { left: 1.5vw; }
.banner-gamemart .carousel-control-next { right: 1.5vw; }
.banner-gamemart:hover .carousel-control-prev { opacity: 1; }
.banner-gamemart:hover .carousel-control-next { opacity: 1; }
.banner-gamemart .banner-tabs { bottom: 22px; }
.banner-gamemart .banner-tab { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.4); font-size: 0; }
.banner-gamemart .banner-tab.active { background: #f31c4a; transform: scale(1.2); }

/* -- banner-powerup (TM533442): koyu zemin + limon vurgulu split -- */
.banner-powerup { background: radial-gradient(1200px 520px at 82% 18%, #18201c 0%, #0a0f0d 100%); }
.banner-powerup .carousel-item { height: 640px; }
.banner-powerup .bk-split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; height: 100%; gap: 2rem; }
.banner-powerup .bk-split-text { padding: 0 6vw; }
.banner-powerup .bk-title { font-size: 4rem; color: #fff; }
.banner-powerup .bk-accent { color: #9eef0b; }
.banner-powerup .bk-sub { color: rgba(255,255,255,.8); font-size: 1.05rem; max-width: 460px; }
.banner-powerup .bk-btns { justify-content: flex-start; }
.banner-powerup .bk-btn { background: #fff; color: #0a0f0d; border-radius: 50px; }
.banner-powerup .bk-btn:hover { background: #9eef0b; }
.banner-powerup .bk-badge-ic { width: 46px; height: 46px; border-radius: 50%; background: #9eef0b; color: #0a0f0d; display: inline-flex; align-items: center; justify-content: center; }
.banner-powerup .bk-split-img { display: flex; align-items: center; justify-content: center; }
.banner-powerup .bk-split-img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.banner-powerup .carousel-control-prev, .banner-powerup .carousel-control-next { width: 42px; height: 42px; top: auto; bottom: 22px; border: 2px solid rgba(255,255,255,.4); border-radius: 50%; margin: 0; }
.banner-powerup .carousel-control-prev-icon, .banner-powerup .carousel-control-next-icon { filter: invert(1); width: 1.1rem; height: 1.1rem; }
.banner-powerup .carousel-control-next { right: 24px; }
.banner-powerup .carousel-control-prev { right: 74px; left: auto; }
.banner-powerup .banner-tabs { bottom: 20px; }
.banner-powerup .banner-tab { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.35); font-size: 0; }
.banner-powerup .banner-tab.active { background: #9eef0b; transform: scale(1.2); }

/* -- banner-indran (TM531326): yuvarlak yarı saydam panel -- */
.banner-indran .carousel-item { height: 600px; }
.banner-indran .bk-overlay { background: linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.55) 100%); }
.banner-indran .bk-panel { background: rgba(0,0,0,.5); border-radius: 20px; padding: 3rem 3.5rem; max-width: 680px; backdrop-filter: blur(2px); }
.banner-indran .bk-panel .bk-title { font-size: 2.6rem; }
.banner-indran .bk-panel .bk-sub { font-size: 1.1rem; }
.banner-indran .bk-panel .bk-btns { justify-content: center; }
.banner-indran .bk-btn-fill { background: #f74f22; color: #fff; border-radius: 50px; }
.banner-indran .bk-btn-fill:hover { background: #df3f16; }
.banner-indran .carousel-control-prev, .banner-indran .carousel-control-next { width: auto; height: auto; top: 50%; margin-top: -24px; padding: .7rem 1.3rem; border-radius: 50px; background: rgba(255,255,255,.16); backdrop-filter: blur(3px); }
.banner-indran .carousel-control-prev-icon, .banner-indran .carousel-control-next-icon { filter: invert(1); width: 1.1rem; height: 1.1rem; }
.banner-indran .carousel-control-prev { left: 2vw; }
.banner-indran .carousel-control-next { right: 2vw; }
.banner-indran .banner-tabs { display: none; }

/* -- banner-hazel (TM67167): minimal büyük başlık + üst ilerleme çubuğu -- */
.banner-hazel .carousel-item { height: 640px; }
.banner-hazel .bk-overlay { background: rgba(0,0,0,.4); }
.banner-hazel .bk-eyebrow { letter-spacing: 8px; font-size: .95rem; margin-bottom: 1rem; }
.banner-hazel .bk-title { font-size: 5rem; font-weight: 300; letter-spacing: 2px; line-height: 1.05; }
.banner-hazel .bk-btn-ghost { border: 1px solid rgba(255,255,255,.8); background: transparent; color: #fff; border-radius: 0; letter-spacing: 2px; }
.banner-hazel .bk-btn-ghost:hover { background: #fff; color: #111; }
.banner-hazel .bk-progress { top: 0; bottom: auto; height: 3px; background: rgba(255,255,255,.15); }
.banner-hazel .carousel-control-prev, .banner-hazel .carousel-control-next { width: 60px; height: 60px; top: 50%; margin-top: -30px; background: none; }
.banner-hazel .carousel-control-prev-icon, .banner-hazel .carousel-control-next-icon { filter: invert(1); width: 1.6rem; height: 1.6rem; }
.banner-hazel .carousel-control-prev { left: 2vw; }
.banner-hazel .carousel-control-next { right: 2vw; }
.banner-hazel .banner-tab { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.5); font-size: 0; }
.banner-hazel .banner-tab.active { background: #fff; transform: scale(1.2); }

/* -- banner-autoparts (shopify): sol kolon + çip, dikey çubuk noktalar -- */
.banner-autoparts .carousel-item { height: 580px; }
.banner-autoparts .bk-content-left::before { content: ''; position: absolute; inset: 0; right: 55%; background: linear-gradient(90deg, rgba(255,255,255,.85) 0%, rgba(255,255,255,.35) 100%); }
.banner-autoparts .bk-content-left { position: relative; }
.banner-autoparts .bk-content-left .bk-inner { position: relative; max-width: 720px; margin-left: 3vw; }
.banner-autoparts .bk-chip { display: inline-block; background: #e5261d; color: #fff; font-size: .85rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; padding: .5rem 1.1rem; margin-bottom: 1rem; }
.banner-autoparts .bk-title { font-size: 3.8rem; font-weight: 700; color: #111; text-shadow: none; line-height: 1.05; }
.banner-autoparts .bk-btn-line { border: 2px solid #464646; color: #464646; background: transparent; border-radius: 8px; font-size: .95rem; }
.banner-autoparts .bk-btn-line:hover { background: #464646; color: #fff; }
.banner-autoparts .banner-tabs { left: 2.5vw; bottom: 26px; width: auto; flex-direction: column; align-items: flex-start; gap: 8px; padding: 0; }
.banner-autoparts .banner-tab { width: 34px; height: 4px; padding: 0; border: 0; border-radius: 2px; background: rgba(0,0,0,.25); font-size: 0; }
.banner-autoparts .banner-tab.active { background: #111; }
.banner-autoparts .carousel-control-prev, .banner-autoparts .carousel-control-next { display: none; }

/* -- banner-petique (shopify): konumlanmış içerik + Ken Burns -- */
.banner-petique .carousel-item { height: 680px; }
.banner-petique .carousel-item.active .bk-bg { animation: bkZoom 7s ease-out forwards; }
@keyframes bkZoom { from { transform: scale(1); } to { transform: scale(1.08); } }
.banner-petique .bk-content-cl { align-items: flex-start; text-align: left; padding: 0 8vw; justify-content: center; }
.banner-petique .bk-content-cl .bk-title { max-width: 560px; }
.banner-petique .bk-badge { background: rgba(255,255,255,.92); color: #111; font-size: .8rem; letter-spacing: 3px; text-transform: uppercase; padding: .5rem 1rem; margin-bottom: 1rem; box-shadow: 0 4px 14px rgba(0,0,0,.14); }
.banner-petique .bk-title { font-family: 'Roboto Condensed', 'Segoe UI', sans-serif; font-size: 4.6rem; font-weight: 700; text-transform: uppercase; line-height: 1.05; }
.banner-petique .bk-petq { background: #d10524; color: #fff; border-radius: 50px; font-size: .95rem; }
.banner-petique .bk-petq:hover { background: #a9031c; }
.banner-petique .carousel-control-prev, .banner-petique .carousel-control-next { width: 44px; height: 44px; top: 50%; margin-top: -22px; border-radius: 8px; background: rgba(255,255,255,.35); backdrop-filter: blur(8px); }
.banner-petique .carousel-control-prev-icon, .banner-petique .carousel-control-next-icon { filter: invert(1); width: 1.1rem; height: 1.1rem; }
.banner-petique .carousel-control-prev { left: 1.5vw; }
.banner-petique .carousel-control-next { right: 1.5vw; }
.banner-petique .banner-tab { width: 28px; height: 28px; padding: 0; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; background: transparent; font-size: 0; margin: 0 4px; }
.banner-petique .banner-tab.active { border-color: #fff; box-shadow: inset 0 0 0 6px #fff; }

/* -- banner-auros (TM85129): editoryal sol stack + sağ alt kare oklar -- */
.banner-auros .carousel-item { height: 560px; }
.banner-auros .bk-content-auros .bk-inner { max-width: 640px; margin-left: 10vw; }
.banner-auros .bk-kicker { display: flex; align-items: center; gap: 1rem; text-transform: uppercase; letter-spacing: 2px; font-size: .85rem; margin-bottom: 1rem; }
.banner-auros .bk-kicker::before { content: ''; width: 50px; height: 2px; background: #fff; }
.banner-auros .bk-title { font-size: 4.8rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.banner-auros .bk-sub { font-weight: 600; font-size: 1.2rem; }
.banner-auros .bk-btn-line { border: 2px solid #fff; color: #fff; background: transparent; border-radius: 0; font-size: .95rem; letter-spacing: 1px; }
.banner-auros .bk-btn-line:hover { background: #eb7025; border-color: #eb7025; color: #fff; }
.banner-auros .carousel-control-prev, .banner-auros .carousel-control-next { width: 90px; height: 80px; top: auto; bottom: 0; border-radius: 0; background: #fff; margin: 0; }
.banner-auros .carousel-control-prev-icon, .banner-auros .carousel-control-next-icon { filter: invert(1); width: 1.4rem; height: 1.4rem; }
.banner-auros .carousel-control-next { right: 0; }
.banner-auros .carousel-control-prev { right: 90px; left: auto; }
.banner-auros .banner-tabs { display: none; }

/* -- banner-fiship (TM86744): ince+kalın başlık, halka noktalar -- */
.banner-fiship .carousel-item { height: 520px; }
.banner-fiship .bk-content-fiship .bk-inner { max-width: 600px; margin-left: 8vw; }
.banner-fiship .bk-title { font-weight: 100; text-transform: uppercase; letter-spacing: 4px; font-size: 2.6rem; }
.banner-fiship .bk-title .bk-bold { font-weight: 900; }
.banner-fiship .bk-btn-line { border: 2px solid #fff; color: #fff; background: transparent; border-radius: 0; text-transform: uppercase; letter-spacing: 2px; font-size: .9rem; }
.banner-fiship .bk-btn-line:hover { background: #fff; color: #102030; }
.banner-fiship .banner-tab { width: 12px; height: 12px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.45); font-size: 0; }
.banner-fiship .banner-tab.active { background: #4c96a6; box-shadow: 0 0 0 6px rgba(76,150,166,.3); }
.banner-fiship .carousel-control-prev, .banner-fiship .carousel-control-next { display: none; }

/* -- banner-medexi (TM91784) + banner-lighthouse (TM97207): 50/50 split degrade -- */
.banner-medexi { background: linear-gradient(135deg, #eae8fd 0%, #fce5e6 100%); }
.banner-lighthouse { background: linear-gradient(135deg, #eceefb 0%, #fbe9df 100%); }
.banner-medexi .carousel-item, .banner-lighthouse .carousel-item { height: 560px; }
.banner-medexi .bk-split, .banner-lighthouse .bk-split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; height: 100%; }
.banner-medexi .bk-split-text, .banner-lighthouse .bk-split-text { padding: 0 2rem 0 6vw; }
.banner-medexi .bk-kicker-grad, .banner-lighthouse .bk-kicker-grad { background: linear-gradient(90deg, #FC8A3D, #EB314D, #DA138E); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-style: italic; font-weight: 600; margin-bottom: .75rem; margin-top: 0; }
.banner-medexi .bk-title, .banner-lighthouse .bk-title { font-family: 'Jost', 'Segoe UI', sans-serif; font-size: 2.6rem; font-weight: 600; color: #222; text-shadow: none; margin-bottom: 1.25rem; }
.banner-medexi .bk-pill, .banner-lighthouse .bk-pill { background: #fff; color: #222; border-radius: 50px; padding: .55rem 1.5rem .55rem 1.8rem; box-shadow: 0 18px 40px rgba(30,30,60,.16); }
.banner-medexi .bk-pill i, .banner-lighthouse .bk-pill i { width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(135deg, #FC8A3D, #EB314D, #DA138E); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .9rem; }
.banner-medexi .bk-split-img, .banner-lighthouse .bk-split-img { display: flex; align-items: center; justify-content: center; }
.banner-medexi .bk-split-img img, .banner-lighthouse .bk-split-img img { max-width: 100%; max-height: 460px; object-fit: contain; filter: drop-shadow(0 30px 40px rgba(30,30,60,.25)); }
.banner-medexi .carousel-control-prev, .banner-medexi .carousel-control-next, .banner-medexi .banner-tabs,
.banner-lighthouse .carousel-control-prev, .banner-lighthouse .carousel-control-next, .banner-lighthouse .banner-tabs { display: none; }

/* -- banner-playkids (TM86099): yuvarlak ok + nokta -- */
.banner-playkids .carousel-item { height: 500px; }
.banner-playkids .bk-content-playkids { justify-content: flex-start; padding-top: 4rem; }
.banner-playkids .bk-title { font-size: 3.6rem; text-transform: uppercase; }
.banner-playkids .bk-sub { font-size: 1.15rem; }
.banner-playkids .bk-btn { background: #5bb000; color: #fff; border-radius: 50px; font-size: 1rem; }
.banner-playkids .bk-btn:hover { background: #4a9700; transform: translateY(-2px); }
.banner-playkids .carousel-control-prev, .banner-playkids .carousel-control-next { width: 45px; height: 45px; top: 50%; margin-top: -22px; border-radius: 50%; background: #fcc160; color: #222; opacity: 0; transition: all .3s; }
.banner-playkids .carousel-control-prev-icon, .banner-playkids .carousel-control-next-icon { filter: invert(1); width: 1.1rem; height: 1.1rem; }
.banner-playkids .carousel-control-prev { left: -45px; }
.banner-playkids .carousel-control-next { right: -45px; }
.banner-playkids #bannerCarousel:hover .carousel-control-prev { left: 2vw; opacity: 1; }
.banner-playkids #bannerCarousel:hover .carousel-control-next { right: 2vw; opacity: 1; }
.banner-playkids .banner-tab { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.5); font-size: 0; }
.banner-playkids .banner-tab.active { background: #eab601; transform: scale(1.15); }

/* -- banner şablonları mobil uyum -- */
@media (max-width: 991.98px) {
    .banner-aparto .bk-title, .banner-gamemart .bk-title { font-size: 2.2rem; }
    .banner-powerup .bk-title { font-size: 2.6rem; }
    .banner-indran .bk-panel { padding: 2rem; max-width: 90%; }
    .banner-hazel .bk-title { font-size: 3rem; }
    .banner-autoparts .bk-title { font-size: 2.6rem; }
    .banner-petique .bk-title { font-size: 3rem; }
    .banner-auros .bk-title, .banner-fiship .bk-title { font-size: 2.6rem; }
    .banner-medexi .bk-title, .banner-lighthouse .bk-title { font-size: 2rem; }
    .banner-playkids .bk-title { font-size: 2.4rem; }
}
@media (max-width: 767.98px) {
    .banner-aparto .carousel-item, .banner-indran .carousel-item, .banner-powerup .carousel-item,
    .banner-autoparts .carousel-item, .banner-hazel .carousel-item, .banner-medexi .carousel-item,
    .banner-lighthouse .carousel-item, .banner-petique .carousel-item { height: 460px; }
    .banner-gamemart .carousel-item, .banner-fiship .carousel-item { height: 420px; }
    .banner-playkids .carousel-item { height: 420px; }
    .banner-powerup .bk-split { grid-template-columns: 1fr; gap: 1rem; }
    .banner-powerup .bk-split-text { padding: 2rem; }
    .banner-powerup .bk-split-img img { max-height: 180px; }
    .banner-powerup .carousel-item { height: auto; }
    .banner-medexi .bk-split, .banner-lighthouse .bk-split { grid-template-columns: 1fr; }
    .banner-medexi .bk-split-text, .banner-lighthouse .bk-split-text { padding: 2.5rem 1.5rem 0 1.5rem; }
    .banner-medexi .bk-split-img img, .banner-lighthouse .bk-split-img img { max-height: 220px; }
    .banner-medexi .carousel-item, .banner-lighthouse .carousel-item { height: auto; }
    .banner-autoparts .bk-content-left::before { right: 20%; }
    .banner-autoparts .bk-title { color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,.4); }
    .banner-autoparts .bk-btn-line { border-color: #fff; color: #fff; }
    .banner-autoparts .bk-btn-line:hover { background: #fff; color: #111; }
    .banner-autoparts .banner-tab { background: rgba(255,255,255,.5); }
    .banner-autoparts .banner-tab.active { background: #fff; }
    .banner-petique .bk-content-cl { padding: 0 6vw; }
    .banner-playkids .bk-content-playkids { padding-top: 3rem; }
}

/* ── Skeleton yükleme (veri gelene kadar placeholder) ── */
.skel { pointer-events: none; }
.sk-block {
    background: linear-gradient(90deg, #e9ecf0 25%, #f4f6f8 40%, #e9ecf0 60%);
    background-size: 300% 100%;
    animation: sk-shimmer 1.4s ease infinite;
    border-radius: 6px;
}
@keyframes sk-shimmer { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }
.sk-img { height: 170px; border-radius: 8px 8px 0 0; }
.sk-banner { height: clamp(260px, 40vw, 420px); border-radius: 12px; }
.sk-line { height: 14px; margin-top: 10px; }
.sk-row { height: 44px; width: 100%; }
.sk-gloss { display: inline-block; width: 38px; height: 38px; margin: 2px; border-radius: 8px; }
.sk-stat { height: 90px; margin-bottom: 12px; }

/* ═══ PhotoGallery Template Designs ═══ */
.pg-head { text-align: center; max-width: 640px; margin-right: auto; margin-left: auto; }
.pg-head p { margin-bottom: 0; }
.pg-thumb { display: block; width: 58px; height: 58px; border-radius: 8px; overflow: hidden; flex: 0 0 auto; }
.pg-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s ease; }
.pg-thumb:hover img { transform: scale(1.08); }
.pg-card-cover .pg-count { position: absolute; right: 10px; bottom: 10px; background: rgba(0,0,0,.55); color: #fff; font-size: .78rem; padding: 3px 9px; border-radius: 20px; backdrop-filter: blur(4px); }
a[data-pgimg] { text-decoration: none; }

/* ── CARDS (spotlight/icecream/fashion/retention/bread/payments/beauty/recipe) ── */
.pg-card { border: 1px solid #eef1f6; border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 4px 18px rgba(16,28,58,.06); transition: transform .25s ease, box-shadow .25s ease; }
.pg-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(16,28,58,.12); }
.pg-card-cover { position: relative; display: block; overflow: hidden; }
.pg-card-cover img { width: 100%; height: 210px; object-fit: cover; display: block; transition: transform .4s ease; }
.pg-card:hover .pg-card-cover img { transform: scale(1.05); }
.pg-card-title { color: #1e2a4a; font-weight: 700; }
.pg-card-desc { font-size: .92rem; margin-bottom: .3rem; }

/* ── GRID-HOVER (projects/seasonal/yoga/workdays/sugarfree/gym) ── */
.pg-hgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.pg-htile { position: relative; display: block; border-radius: 14px; overflow: hidden; aspect-ratio: 4 / 3; }
.pg-htile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s ease; }
.pg-htile:hover img { transform: scale(1.08); }
.pg-htile-over { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 14px; background: linear-gradient(to top, rgba(0,0,0,.7), transparent 55%); opacity: 0; transition: opacity .3s ease; }
.pg-htile:hover .pg-htile-over { opacity: 1; }
.pg-htile-over span { color: #fff; font-weight: 600; font-size: .95rem; }

/* ── MOSAIC (cities/designs/seasoncolors) ── */
.pg-mosaic { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 150px; gap: 12px; }
.pg-mcell { border-radius: 12px; overflow: hidden; display: block; }
.pg-mcell img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.pg-mcell:hover img { transform: scale(1.06); }
.pg-mcell.big { grid-column: span 2; grid-row: span 2; }
.pg-mcell.tall { grid-row: span 2; }

/* ── POLAROID (artlens/beach/wedding/travel) ── */
.pg-polars { display: flex; flex-wrap: wrap; justify-content: center; gap: 26px; padding: 16px 10px; }
.pg-pola { background: #fff; padding: 10px 10px 14px; box-shadow: 0 8px 26px rgba(16,28,58,.16); border-radius: 4px; width: 250px; }
.pg-pola[data-pop="1"] { transform: rotate(3deg); }
.pg-pola[data-pop="0"] { transform: rotate(-2deg); }
.pg-pola img { width: 100%; height: 200px; object-fit: cover; display: block; border-radius: 2px; }
.pg-pola span { display: block; text-align: center; color: #43506a; font-size: .92rem; padding-top: 10px; font-weight: 600; }

/* ── SHOWCASE (products/agency) ── */
.pg-showcase { display: grid; grid-template-columns: 1.2fr 1fr; gap: 30px; align-items: center; margin-bottom: 3rem; }
.pg-showcase.reverse { direction: rtl; }
.pg-showcase.reverse > * { direction: ltr; }
.pg-showcase-img { display: block; border-radius: 18px; overflow: hidden; box-shadow: 0 10px 30px rgba(16,28,58,.14); }
.pg-showcase-img img { width: 100%; height: 340px; object-fit: cover; display: block; transition: transform .5s ease; }
.pg-showcase:hover .pg-showcase-img img { transform: scale(1.04); }
.pg-showcase-num { color: #3b82f6; font-weight: 800; font-size: 1.1rem; letter-spacing: 2px; }

/* ── MASONRY (lensstories/models/portfolio/sunset) ── */
.pg-masonry { columns: 3 240px; column-gap: 14px; }
.pg-mitem { display: block; margin-bottom: 14px; border-radius: 12px; overflow: hidden; break-inside: avoid; }
.pg-mitem img { width: 100%; display: block; transition: transform .4s ease; }
.pg-mitem:hover img { transform: scale(1.04); }

/* ── SPLIT (process) ── */
.pg-split-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.pg-scell { border-radius: 12px; overflow: hidden; display: block; aspect-ratio: 1; }
.pg-scell.lead { grid-column: span 2; grid-row: span 2; }
.pg-scell img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.pg-scell:hover img { transform: scale(1.05); }

/* ── SLIDES (slides) ── */
.pg-slides-scroll { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(300px, 1fr); gap: 18px; overflow-x: auto; padding-bottom: 12px; scroll-snap-type: x mandatory; }
.pg-slide { border: 1px solid #eef1f6; border-radius: 16px; padding: 12px; background: #fff; scroll-snap-align: start; }
.pg-slide-main { display: block; border-radius: 12px; overflow: hidden; }
.pg-slide-main img { width: 100%; height: 210px; object-fit: cover; display: block; }

/* ── HERO FULLSCREEN (fullscreen) ── */
.pg-hero { position: relative; height: clamp(420px, 62vh, 640px); border-radius: 20px; overflow: hidden; }
.pg-hero-track, .pg-hero-slide { position: absolute; inset: 0; }
.pg-hero-slide { opacity: 0; visibility: hidden; transition: opacity .6s ease; }
.pg-hero-slide.active { opacity: 1; visibility: visible; }
.pg-hero-slide a { display: block; height: 100%; }
.pg-hero-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pg-hero-cap { position: absolute; inset: auto 0 0 0; padding: 28px; background: linear-gradient(to top, rgba(0,0,0,.72), transparent); color: #fff; display: flex; flex-direction: column; align-items: flex-start; }
.pg-hero-cap h3 { color: #fff; margin-bottom: 4px; font-size: clamp(1.1rem, 2.4vw, 1.6rem); }
.pg-hero-cap p { color: rgba(255,255,255,.85); margin-bottom: 4px; max-width: 560px; }
.pg-hero-cap span { font-size: .8rem; letter-spacing: 2px; color: rgba(255,255,255,.75); }
.pg-hero-btn { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 46px; height: 46px; border: 0; border-radius: 50%; background: rgba(255,255,255,.9); color: #111; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 14px rgba(0,0,0,.25); transition: background .2s ease, color .2s ease; }
.pg-hero-btn:hover { background: #fff; }
.pg-hero-btn.prev { left: 16px; }
.pg-hero-btn.next { right: 16px; }

/* ── SHIFT (shift) — çift katman kaydırıcı ── */
.pg-shift { position: relative; }
.pg-shift-stage { position: relative; height: clamp(360px, 50vh, 520px); }
.pg-shift-card { position: absolute; inset: 0; border-radius: 22px; overflow: hidden; opacity: 0; visibility: hidden; transition: opacity .6s ease, transform .6s ease; transform: translateX(60px); }
.pg-shift-card.active { opacity: 1; visibility: visible; transform: translateX(0); z-index: 2; }
.pg-shift-card a { display: block; height: 100%; }
.pg-shift-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pg-shift-cap { position: absolute; inset: auto 0 0 0; padding: 20px 24px; color: #fff; font-weight: 700; font-size: 1.05rem; background: linear-gradient(to top, rgba(0,0,0,.65), transparent); }
.pg-shift-btn { border: 1px solid #dfe4ee; background: #fff; border-radius: 999px; padding: 8px 18px; font-size: .92rem; color: #1e2a4a; cursor: pointer; margin-top: 18px; transition: background .2s ease, color .2s ease; }
.pg-shift-btn:hover { background: #1e2a4a; color: #fff; }
.pg-shift-btn.prev { margin-right: 10px; }
.pg-shift-dots { display: flex; gap: 8px; margin-top: 16px; }
.pg-shift-dots span { width: 9px; height: 9px; border-radius: 50%; background: #cfd6e4; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.pg-shift-dots span.on { background: #3b82f6; transform: scale(1.3); }

/* ── RIBBON (ribbon) ── */
.pg-ribbon { overflow: hidden; }
.pg-ribbon-stage { display: flex; gap: 16px; }
.pg-ribbon-card { flex: 0 0 auto; width: 280px; border-radius: 16px; overflow: hidden; background: #fff; border: 1px solid #eef1f6; padding: 10px; opacity: .45; transform: scale(.92); transition: opacity .35s ease, transform .35s ease; }
.pg-ribbon-card.on { opacity: 1; transform: scale(1); }
.pg-ribbon-card a { display: block; border-radius: 12px; overflow: hidden; }
.pg-ribbon-card img { width: 100%; height: 180px; object-fit: cover; display: block; }
.pg-ribbon-card span { display: block; padding: 10px 4px 2px; font-weight: 600; color: #1e2a4a; font-size: .95rem; }
.pg-ribbon-btn { border: 0; background: transparent; color: #1e2a4a; font-size: 1.25rem; padding: 6px 10px; cursor: pointer; transition: color .2s ease; }
.pg-ribbon-btn:hover { color: #3b82f6; }

/* ── FLOW (flow) — sütunlu akış ── */
.pg-flow { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 28px; }
.pg-flow-col { border-top: 3px solid #1e2a4a; padding-top: 16px; }
.pg-flow-tag { font-weight: 800; color: #3b82f6; font-size: .85rem; letter-spacing: 2px; }
.pg-flow-col h4 { margin-top: 6px; margin-bottom: 2px; color: #1e2a4a; }
.pg-flow-col p { font-size: .9rem; margin-bottom: 12px; }
.pg-flow-stack { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pg-flow-stack a { display: block; border-radius: 10px; overflow: hidden; }
.pg-flow-stack a:first-child { grid-column: span 2; }
.pg-flow-stack img { width: 100%; height: 130px; object-fit: cover; display: block; transition: transform .35s ease; }
.pg-flow-stack a:first-child img { height: 170px; }
.pg-flow-stack a:hover img { transform: scale(1.05); }

/* ── PACKERY (packery) ── */
.pg-packery { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 150px; gap: 10px; }
.pg-pack-tile { display: block; border-radius: 12px; overflow: hidden; position: relative; }
.pg-pack-tile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.pg-pack-tile:hover img { transform: scale(1.06); }
.pg-pack-tile.w2 { grid-column: span 2; }
.pg-pack-tile.h2 { grid-row: span 2; }
.pg-pack-tile.w2h2 { grid-column: span 2; grid-row: span 2; }

/* ── GRID1 (grid-type1, alicante, pakkapati1) — hover overlay ── */
.pg-grid1 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.pg-grid1-cell { position: relative; display: block; border-radius: 14px; overflow: hidden; aspect-ratio: 1; }
.pg-grid1-cell img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s ease; }
.pg-grid1-cell:hover img { transform: scale(1.09); }
.pg-grid1-over { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(15,23,42,.45); color: #fff; font-size: 1.4rem; opacity: 0; transition: opacity .3s ease; }
.pg-grid1-cell:hover .pg-grid1-over { opacity: 1; }

/* ── GRID2 (grid-type2, fullscreen-grid) — başlıklı grup ── */
.pg-grid2-group { margin-bottom: 34px; }
.pg-grid2-group h5 { font-size: .85rem; text-transform: uppercase; letter-spacing: 1.5px; color: #64748b; margin-bottom: 12px; }
.pg-grid2-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.pg-grid2-grid a { display: block; border-radius: 10px; overflow: hidden; }
.pg-grid2-grid img { width: 100%; height: 180px; object-fit: cover; display: block; transition: transform .4s ease; }
.pg-grid2-grid a:hover img { transform: scale(1.05); }

/* ── JUSTIFIED (brailie justified) — sabit yükseklik, doğal genişlik ── */
.pg-justified { display: flex; flex-wrap: wrap; gap: 6px; }
.pg-jitem { display: block; flex: 1 1 auto; }
.pg-jitem img { height: 220px; width: auto; max-width: 100%; object-fit: cover; display: block; transition: filter .3s ease; }
.pg-jitem:hover img { filter: brightness(.82); }

/* ═══ PhotoGallery — şablon bazlı tema varyasyonları ═══ */
.gallery-masonry { background: #f8fafc; }
.gallery-icecream { background: linear-gradient(180deg, #fff0f2, #fff); }
.gallery-fashion { background: #0f1116; }
.gallery-fashion .pg-card { border-color: #262a33; background: #161a22; box-shadow: none; }
.gallery-fashion .pg-card-title { color: #fff; }
.gallery-fashion .pg-head h2, .gallery-fashion .pg-head p { color: #fff; }
.gallery-fashion .pg-head p { color: #aeb6c4; }
.gallery-payments { background: linear-gradient(180deg, #eef4ff, #fff); }
.gallery-beauty { background: #faf6f2; }
.gallery-recipe { background: #fffaf3; }
.gallery-yoga { background: #f4f9f4; }
.gallery-gym { background: #16181d; }
.gallery-gym .pg-htile-over span { color: #ffd166; }
.gallery-gym .pg-head h2 { color: #fff; }
.gallery-sunset { background: linear-gradient(180deg, #2a1b12, #211410); }
.gallery-sunset .pg-head h2 { color: #ffdfb8; }
.gallery-sugarfree { background: #f4fbf5; }
.gallery-workdays { background: #0f172a; }
.gallery-travel { background: #f7f3ec; }
.gallery-fullscreen { background: #0b0f1a; }
.gallery-fullscreen .pg-hero-cap h3 { color: #fff; }
.gallery-dope { background: linear-gradient(180deg, #0e1621, #111a28); }
.gallery-dope .pg-showcase-num { color: #f59e0b; }
.gallery-dope .pg-head h2 { color: #fff; }
.gallery-kanop { background: #f6f1e9; }
.gallery-dan { background: #101014; }
.gallery-dan .pg-pola { background: #fff; box-shadow: 0 8px 26px rgba(0,0,0,.5); }
.gallery-dan .pg-head h2 { color: #fff; }
.gallery-alicante { background: #fafaf8; }
.gallery-shift { background: #14161c; }
.gallery-shift .pg-shift-btn { border-color: #2c2f3a; background: #1c1f28; color: #e6e9f0; }
.gallery-shift .pg-shift-btn:hover { background: #e0b24b; color: #14161c; }
.gallery-shift .pg-shift-dots span { background: #3d4252; }
.gallery-shift .pg-shift-dots span.on { background: #e0b24b; }
.gallery-ribbon { background: #0f1115; }
.gallery-ribbon .pg-ribbon-card { background: #171b22; border-color: #232833; }
.gallery-ribbon .pg-ribbon-card span { color: #e8ebf2; }
.gallery-ribbon .pg-ribbon-btn { color: #e8ebf2; }
.gallery-ribbon .pg-ribbon-btn:hover { color: #f59e0b; }
.gallery-flow { background: #f7f8fb; }
.gallery-grid1 { background: #0d0d0f; }
.gallery-grid1 .pg-head h2 { color: #fff; }
.gallery-grid2 { background: #f6f6f4; }
.gallery-fullscreen-grid { background: #f4f4f4; }
.gallery-packery { background: #141414; }
.gallery-packery .pg-head h2 { color: #fff; }
.gallery-pakkapati1 { background: #ffffff; }
.gallery-pakkapati2 { background: #f8f9fa; }
.gallery-dahlia { background: #f3f0ec; }
.gallery-pakkapati3 { background: #ffffff; }
.brailie-gallery { background: #ffffff; }
.brailie-grid { background: #f7f7f7; }
.brailie-grid-detail { background: #fbfbfb; }
.brailie-masonry { background: linear-gradient(180deg, #f4f4f6, #fff); }
.brailie-masonry2 { background: #f1f1f3; }
.brailie-mosaic { background: #ffffff; }
.brailie-mosaic2 { background: #0d0d10; }
.brailie-mosaic2 .pg-head h2, .brailie-mosaic2 .pg-head p { color: #fff; }
.brailie-justified { background: #f8f8f8; }
.brailie-justified2 { background: #16181d; }
.brailie-justified2 .pg-head h2 { color: #fff; }
.brailie-justified2 .pg-jitem:hover img { filter: brightness(.65); }
.brailie-fullscreen { background: #111318; }
.brailie-fullscreen .pg-head h2 { color: #fff; }
.brailie-slide { background: #fafafa; }
.brailie-carousel { background: #ffffff; }
.brailie-carousel2 { background: #0b0e13; }
.brailie-carousel2 .pg-hero-cap h3 { color: #fff; }
.brailie-modal { background: #f6f6f8; }
.brailie-cards { background: #f7f5f2; }
.brailie-cards2 { background: #ffffff; }
.brailie-fullpage { background: #14161b; }
.brailie-fullpage .pg-hero-cap h3 { color: #fff; }
.brailie-filter { background: #f9f9fa; }
.finch-post { background: #f7f7f7; }
.finch-post2 { background: #101418; }
.finch-post2 .pg-ribbon-card { background: #1a1f26; border-color: #262d37; }
.finch-post2 .pg-ribbon-card span { color: #eef1f6; }
.finch-post2 .pg-ribbon-btn { color: #eef1f6; }
.finch-post2 .pg-ribbon-btn:hover { color: #ffb648; }
.finch-post3 { background: #fafafa; }
.finch-portfolio { background: #ffffff; }
.finch-masonry { background: linear-gradient(180deg, #f2f3f5, #fff); }
.finch-header { background: #eef0f3; }
.finch-header .pg-card { border-color: #e2e6ec; }
.lezar-masonry { background: #f9f6f3; }
.lezar-grid { background: #fdfbf8; }
.lezar-grid .pg-card { border-color: #f0e9e2; }

@media (max-width: 768px) {
    .pg-showcase { grid-template-columns: 1fr; gap: 18px; }
    .pg-showcase.reverse { direction: ltr; }
    .pg-mosaic, .pg-split-grid, .pg-packery { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 120px; }
    .pg-mcell.big, .pg-scell.lead { grid-column: span 2; grid-row: span 2; }
    .pg-pola { width: 200px; }
    .pg-grid1, .pg-grid2-grid { grid-template-columns: repeat(2, 1fr); }
    .pg-grid2-grid img { height: 130px; }
    .pg-pack-tile.w2, .pg-pack-tile.w2h2 { grid-column: span 2; }
    .pg-pack-tile.h2, .pg-pack-tile.w2h2 { grid-row: span 2; }
    .pg-jitem img { height: 140px; }
}

/* ═══════ PORTFOLIO (Projeler) ═══════ */
.portfolio-card { border: 1px solid #eef1f6; border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 4px 18px rgba(16,28,58,.06); transition: transform .25s ease, box-shadow .25s ease; display: flex; flex-direction: column; }
.portfolio-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(16,28,58,.12); }
.portfolio-media { position: relative; overflow: hidden; }
.portfolio-media img { width: 100%; height: 210px; object-fit: cover; display: block; transition: transform .4s ease; }
.portfolio-card:hover .portfolio-media img { transform: scale(1.05); }
.portfolio-fallback { height: 210px; display: flex; align-items: center; justify-content: center; background: #f3f5f9; font-size: 3rem; color: #9aa5bd; }
.portfolio-body { padding: 1rem 1.1rem 1.2rem; }
.portfolio-cat-badge { display: inline-block; background: #eef4ff; color: #2f5fd0; font-size: .76rem; font-weight: 600; padding: 3px 10px; border-radius: 20px; margin-right: .4rem; }
.portfolio-date { display: inline-block; color: #8b94ab; font-size: .78rem; }
.portfolio-filter-btn { border: 1px solid #e2e6ee; background: #fff; color: #566078; border-radius: 30px; padding: 7px 20px; font-size: .9rem; transition: all .2s ease; }
.portfolio-filter-btn + .portfolio-filter-btn { margin-left: .4rem; }
.portfolio-filter-btn:hover { border-color: #2f5fd0; color: #2f5fd0; }
.portfolio-filter-btn.active { background: #1e2a4a; border-color: #1e2a4a; color: #fff; }

/* ── Kolon varyantları ── */
.portfolio-2col .portfolio-media img { height: 260px; }
.portfolio-3col .portfolio-media img,
.portfolio-4col .portfolio-media img { height: 200px; }

/* ── Masonry ── */
.portfolio-masonry-row { columns: 3; column-gap: 1.5rem; }
.portfolio-masonry-item { break-inside: avoid; margin-bottom: 1.5rem; }
.portfolio-masonry-card { border: 1px solid #eef1f6; border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 4px 18px rgba(16,28,58,.06); transition: transform .25s ease, box-shadow .25s ease; }
.portfolio-masonry-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(16,28,58,.12); }
.portfolio-masonry-card .portfolio-media img { width: 100%; height: auto; object-fit: cover; display: block; transition: transform .4s ease; }
.portfolio-masonry-card:hover .portfolio-media img { transform: scale(1.05); }

/* ── Geniş Fotoğraf ── */
.portfolio-wide-photo .portfolio-media img { height: 320px; }
.portfolio-wide-photo .portfolio-card { border-radius: 20px; }

/* ── Hover Overlay ── */
.portfolio-overlay-card { position: relative; overflow: hidden; border: 0; border-radius: 16px; box-shadow: 0 6px 20px rgba(16,28,58,.12); display: block; }
.portfolio-overlay-media { position: relative; }
.portfolio-overlay-media img { width: 100%; height: 260px; object-fit: cover; display: block; transition: transform .45s ease; }
.portfolio-overlay-card:hover .portfolio-overlay-media img { transform: scale(1.08); }
.portfolio-overlay-media .portfolio-fallback { height: 260px; }
.portfolio-overlay-info { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.2rem; color: #fff; background: linear-gradient(180deg, rgba(10,16,38,0) 30%, rgba(10,16,38,.78) 100%); }
.portfolio-overlay-info h5 { color: #fff; }
.portfolio-overlay-info p { color: rgba(255,255,255,.85); font-size: .85rem; }
.portfolio-overlay-card .portfolio-cat-badge { background: #fff; color: #1e2a4a; }
.portfolio-overlay-card .portfolio-date { color: #d5dbe8; }

/* ── Liste ── */
.portfolio-list-card { border: 1px solid #eef1f6; border-radius: 16px; box-shadow: 0 4px 18px rgba(16,28,58,.06); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.portfolio-list-card:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(16,28,58,.12); }
.portfolio-list-card .portfolio-media img { height: 100%; min-height: 230px; }
.portfolio-list-card .portfolio-body { padding: 1.4rem 1.6rem; }

/* ── Slider Vitrin ── */
.portfolio-slider { border-radius: 18px; overflow: hidden; box-shadow: 0 10px 34px rgba(16,28,58,.16); }
.portfolio-slider .carousel-item img { height: 460px; object-fit: cover; }
.portfolio-slider .portfolio-fallback.big { height: 460px; font-size: 4rem; }
.portfolio-slider .carousel-caption { background: linear-gradient(180deg, transparent, rgba(10,16,38,.72)); left: 0; right: 0; bottom: 0; padding: 2rem 1.5rem; text-align: left; }
.portfolio-slider .carousel-caption h3 { color: #fff; }
.portfolio-slider .carousel-caption p { color: rgba(255,255,255,.88); }
.portfolio-slider .portfolio-cat-badge { background: #fff; color: #1e2a4a; }

/* ── Detay şablonları ── */
.pf-main img { max-height: 480px; object-fit: cover; }
.pf-thumb img { max-height: 90px; object-fit: cover; opacity: .85; transition: opacity .2s ease; }
.pf-thumb img:hover { opacity: 1; }
.portfolio-detail-slider .carousel-item img { height: 480px; object-fit: cover; }
.pf-detail-head h2 { font-weight: 700; color: #1e2a4a; }
.pf-detail-desc { color: #566078; line-height: 1.8; font-size: .98rem; }
.pf-detail-attributes .table th { background: #f5f7fc; color: #1e2a4a; font-weight: 600; }
.pf-attr-chip { background: #f5f7fc; border: 1px solid #e7ecf5; border-radius: 12px; padding: 1rem 1.2rem; }
.pf-attr-chip strong { display: block; color: #2f5fd0; font-size: .95rem; margin-bottom: .25rem; font-weight: 600; }
.pf-sidebar-card { border: 1px solid #e7ecf5; border-radius: 16px; box-shadow: 0 4px 18px rgba(16,28,58,.06); position: sticky; top: 90px; }
.pf-sidebar-card h5 { color: #1e2a4a; font-weight: 600; }
.pf-sidebar-meta li strong,
.pf-sidebar-attrs li strong { color: #1e2a4a; }
.pf-sidebar-meta li span,
.pf-sidebar-attrs li span { color: #566078; }

@media (max-width: 991.98px) {
    .portfolio-masonry-row { columns: 2; }
}
@media (max-width: 575.98px) {
    .portfolio-masonry-row { columns: 1; }
    .portfolio-slider .carousel-item img,
    .portfolio-detail-slider .carousel-item img { height: 300px; }
    .portfolio-list-card .portfolio-media img { min-height: 190px; }
}

/* ═══════════════════════════════════════════════════════════════════
   ── Referans tabanlı PORTFOLIO şablonları (Xfolio/Fallow/Oifolio/
      Trueman/Gray/İmroz/Courtney) ──
   ═══════════════════════════════════════════════════════════════════ */

/* ── Ortak göbek / başlık etiketleri ── */
.pf-xfolio-eyebrow, .pf-imroz-eyebrow, .pf-gray-eyebrow { display: inline-block; text-transform: uppercase; letter-spacing: 3px; font-size: .78rem; font-weight: 700; color: #2f5fd0; margin-bottom: .5rem; }
.pf-xfolio-title { font-weight: 800; color: #1e2a4a; }
.pf-xfolio-sub, .pf-gray-sub { color: #566078; }
.pf-fallow-title-s, .pf-oifolio-title-s { text-transform: uppercase; letter-spacing: 3px; font-size: .78rem; font-weight: 700; color: #9aa5bd; }

/* ── Xfolio kart ── */
.pf-xfolio-media { position: relative; overflow: hidden; }
.pf-xfolio-media img { width: 100%; height: 220px; object-fit: cover; display: block; transition: transform .45s ease; }
.pf-xfolio-card:hover .pf-xfolio-media img { transform: scale(1.07); }
.pf-xfolio-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(16,28,58,.55); opacity: 0; transition: opacity .3s ease; }
.pf-xfolio-card:hover .pf-xfolio-overlay { opacity: 1; }
.pf-xfolio-more { color: #fff; font-weight: 600; background: rgba(255,255,255,.18); padding: .5rem 1rem; border-radius: 30px; border: 1px solid rgba(255,255,255,.45); }
.pf-xfolio-cat { display: inline-block; background: #eef4ff; color: #2f5fd0; font-size: .72rem; font-weight: 600; padding: 2px 9px; border-radius: 20px; margin-bottom: .35rem; }
.pf-xfolio-num { color: #c3cbe0; font-weight: 800; font-size: 1.15rem; }

/* ── Fallow kart ── */
.pf-fallow-media { position: relative; overflow: hidden; }
.pf-fallow-media img { width: 100%; height: 230px; object-fit: cover; display: block; transition: transform .5s ease; }
.pf-fallow-card { border-radius: 18px; }
.pf-fallow-card:hover .pf-fallow-media img { transform: scale(1.06); }
.pf-fallow-zoom { position: absolute; right: 14px; bottom: 14px; width: 40px; height: 40px; border-radius: 50%; background: #fff; color: #1e2a4a; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px rgba(16,28,58,.2); opacity: 0; transform: translateY(8px); transition: all .3s ease; }
.pf-fallow-card:hover .pf-fallow-zoom { opacity: 1; transform: translateY(0); }
.pf-fallow-body { padding: 1rem 1.1rem 1.2rem; }
.pf-fallow-tag { display: inline-block; background: #1e2a4a; color: #fff; font-size: .7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; padding: 3px 10px; border-radius: 4px; margin-bottom: .45rem; }

/* ── Oifolio ── */
.pf-oifolio-media { overflow: hidden; }
.pf-oifolio-media img { width: 100%; height: 200px; object-fit: cover; display: block; transition: transform .45s ease; }
.pf-oifolio-card:hover .pf-oifolio-media img { transform: scale(1.06); }
.pf-oifolio-body { padding: 1rem 1.05rem 1.15rem; }
.pf-oifolio-tag { display: inline-block; background: #f3f5f9; color: #1e2a4a; font-size: .72rem; font-weight: 600; padding: 2px 9px; border-radius: 20px; margin-bottom: .4rem; }
.pf-oifolio-cat { color: #8b94ab; font-size: .78rem; }
.pf-oifolio-list .portfolio-fallback.big { height: 420px; font-size: 3.6rem; }
.pf-oifolio-big img { max-height: 520px; object-fit: cover; }
.pf-oifolio-big-body h4 { font-weight: 700; color: #1e2a4a; }
.pf-oifolio-arrow { width: 42px; height: 42px; border-radius: 50%; border: 1px solid #e2e6ee; display: inline-flex; align-items: center; justify-content: center; color: #2f5fd0; transition: all .25s ease; }
.pf-oifolio-big:hover .pf-oifolio-arrow { background: #2f5fd0; color: #fff; }

/* ── Trueman ── */
.pf-trueman-media { position: relative; overflow: hidden; }
.pf-trueman-media img { width: 100%; height: 220px; object-fit: cover; display: block; transition: transform .5s ease; }
.pf-trueman-card:hover .pf-trueman-media img { transform: scale(1.07); }
.pf-trueman-ico { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border-radius: 50%; background: #fff; color: #1e2a4a; display: flex; align-items: center; justify-content: center; opacity: 0; transform: translateY(-6px); transition: all .3s ease; box-shadow: 0 6px 16px rgba(16,28,58,.18); }
.pf-trueman-card:hover .pf-trueman-ico { opacity: 1; transform: translateY(0); }
.pf-trueman-tag { font-size: .68rem; font-weight: 700; letter-spacing: 1.6px; color: #2f5fd0; display: block; margin-bottom: .3rem; }
.pf-trueman-row { display: flex; gap: 1.25rem; align-items: center; padding: 1.2rem 1.4rem; }
.pf-trueman-row-media { flex: 0 0 200px; }
.pf-trueman-row-media img { width: 200px; height: 130px; object-fit: cover; border-radius: 12px; }
.pf-trueman-row-body { flex: 1; }
.pf-trueman-read { color: #2f5fd0; font-weight: 600; font-size: .9rem; }
.pf-trueman-list .portfolio-card { border-radius: 14px; }

/* ── Gray ── */
.pf-gray { padding: 1.5rem 1.6rem; border-radius: 24px; }
.pf-gray .portfolio-filter-btn { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); color: #cfd6e6; }
.pf-gray .portfolio-filter-btn.active { background: #fff; border-color: #fff; color: #1e2a4a; }
.pf-gray-title { font-weight: 800; color: #1e2a4a; }
.pf-gray-media { position: relative; overflow: hidden; }
.pf-gray-media img { width: 100%; height: 250px; object-fit: cover; display: block; transition: transform .5s ease; }
.pf-gray-card:hover .pf-gray-media img { transform: scale(1.06); }
.pf-gray-ico { position: absolute; right: 12px; bottom: 12px; width: 40px; height: 40px; border-radius: 50%; background: #1e2a4a; color: #fff; display: flex; align-items: center; justify-content: center; opacity: 0; transform: translateY(6px); transition: all .3s ease; }
.pf-gray-card:hover .pf-gray-ico { opacity: 1; transform: translateY(0); }
.pf-gray-body { padding: .95rem 1.05rem 1.1rem; }
.pf-gray-cat { display: block; font-size: .72rem; font-weight: 600; letter-spacing: .4px; color: #8b94ab; margin-bottom: .3rem; }

/* ── İmroz ── */
.pf-imroz-title { font-weight: 800; color: #1e2a4a; }
.pf-imroz-media { position: relative; overflow: hidden; border-radius: 14px 14px 0 0; }
.pf-imroz-media img { width: 100%; height: 240px; object-fit: cover; display: block; transition: transform .45s ease; }
.pf-imroz-card:hover .pf-imroz-media img { transform: scale(1.06); }
.pf-imroz-ico { position: absolute; left: 14px; bottom: 14px; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.92); color: #2f5fd0; display: flex; align-items: center; justify-content: center; opacity: 0; transform: translateY(8px); transition: all .3s ease; box-shadow: 0 6px 14px rgba(16,28,58,.18); }
.pf-imroz-card:hover .pf-imroz-ico { opacity: 1; transform: translateY(0); }
.pf-imroz-body { padding: 1.05rem 1.15rem 1.2rem; }
.pf-imroz-cat { display: inline-block; text-transform: uppercase; letter-spacing: .5px; font-size: .72rem; font-weight: 700; color: #2f5fd0; margin-bottom: .4rem; }
.pf-imroz-body h4 { font-weight: 700; color: #1e2a4a; }

/* ── Courtney ── */
.pf-courtney-h2 { font-weight: 800; color: #1e2a4a; }
.pf-courtney-media { position: relative; overflow: hidden; border-radius: 16px; }
.pf-courtney-media img { width: 100%; height: 420px; object-fit: cover; display: block; transition: transform .5s ease; }
.pf-courtney-item .pf-courtney-media img { height: 520px; }
.pf-courtney-card:hover .pf-courtney-media img,
.pf-courtney-item:hover .pf-courtney-media img { transform: scale(1.04); }
.pf-courtney-num-big { position: absolute; right: 22px; bottom: -6px; font-size: 7rem; font-weight: 800; line-height: 1; color: rgba(255,255,255,.92); text-shadow: 0 8px 24px rgba(16,28,58,.35); }
.pf-courtney-cat { font-size: .74rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: #2f5fd0; }
.pf-courtney-body h3, .pf-courtney-body h4 { font-weight: 800; color: #1e2a4a; }
.pf-courtney-view { color: #1e2a4a; font-weight: 600; transition: color .2s ease; }
.pf-courtney-item:hover .pf-courtney-view { color: #2f5fd0; }
.pf-courtney-card .pf-courtney-media img { height: 300px; }
.pf-courtney-row { display: flex; gap: 1.25rem; align-items: center; padding: 1.15rem 1.25rem; border-bottom: 1px solid #eef1f6; border-radius: 0; box-shadow: none; }
.pf-courtney-row:hover { transform: none; box-shadow: none; }
.pf-courtney-row-num { font-size: 1.35rem; font-weight: 800; color: #c3cbe0; flex: 0 0 42px; }
.pf-courtney-row-mid { flex: 1; }
.pf-courtney-row-mid h4 { font-weight: 700; color: #1e2a4a; }
.pf-courtney-row-thumb img { width: 84px; height: 60px; object-fit: cover; border-radius: 10px; }
.pf-courtney-row-arrow { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 1px solid #e2e6ee; color: #2f5fd0; transition: all .25s ease; }
.pf-courtney-row:hover .pf-courtney-row-arrow { background: #2f5fd0; color: #fff; border-color: #2f5fd0; }

/* ── Detay: Xfolio ── */
.pf-dxf-title { font-weight: 800; color: #1e2a4a; }
.pf-dxf-poster img { width: 100%; max-height: 560px; object-fit: cover; border-radius: 18px; }
.pf-dxf-list { list-style: none; padding-left: 0; }
.pf-dxf-list li { padding: .55rem 0; border-bottom: 1px dashed #e7ecf5; color: #566078; }

/* ── Detay: Fallow ── */
.pf-dfw-title { font-weight: 800; color: #1e2a4a; }
.pf-dfw-main img { width: 100%; max-height: 560px; object-fit: cover; border-radius: 16px; }
.pf-dfw-quote { border-left: 2px solid #2f5fd0; color: #1e2a4a; font-style: italic; }
.pf-dfw-soc { width: 38px; height: 38px; border-radius: 50%; border: 1px solid #e2e6ee; display: inline-flex; align-items: center; justify-content: center; color: #566078; transition: all .2s ease; text-decoration: none; }
.pf-dfw-soc:hover { background: #2f5fd0; color: #fff; border-color: #2f5fd0; }

/* ── Detay: Gray (koyu blok) ── */
.pf-dgy { background: #101a33; color: #e6eaf4; }
.pf-dgy-k { text-transform: uppercase; letter-spacing: 1px; font-size: .7rem; color: #8b94ab; font-weight: 700; margin-bottom: .25rem; display: block; }
.pf-dgy-v { font-size: 1.05rem; font-weight: 600; color: #fff; }
.pf-dgy-title { font-weight: 800; color: #fff; }
.pf-dgy-desc { color: rgba(255,255,255,.8); }
.pf-dgy-main img { width: 100%; max-height: 560px; object-fit: cover; border-radius: 16px; }
.pf-dgy-tag { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); color: #fff; border-radius: 20px; padding: 6px 14px; font-size: .82rem; }

/* ── Detay: İmroz ── */
.pf-dirz-meta .pf-dirz-k { display: block; text-transform: uppercase; letter-spacing: 1px; font-size: .7rem; color: #8b94ab; font-weight: 700; margin-bottom: .3rem; }
.pf-dirz-v { font-size: 1.02rem; font-weight: 600; color: #1e2a4a; }
.pf-dirz-btn { display: inline-flex; align-items: center; gap: .4rem; background: #2f5fd0; color: #fff; padding: .5rem 1rem; border-radius: 30px; font-weight: 600; text-decoration: none; font-size: .9rem; }
.pf-dirz-btn:hover { color: #fff; background: #1e2a4a; }
.pf-dirz-list { list-style: none; padding-left: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .45rem 1rem; }
.pf-dirz-list li { color: #566078; }
.pf-dirz-main img { width: 100%; max-height: 560px; object-fit: cover; border-radius: 16px; }

/* ── Detay: Courtney ── */
.pf-dcty-main img { width: 100%; max-height: 640px; object-fit: cover; border-radius: 18px; }
.pf-dcty-title { font-weight: 800; color: #1e2a4a; }
.pf-dcty-view { color: #2f5fd0; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; text-decoration: none; }
.pf-dcty-view:hover { color: #1e2a4a; }

@media (max-width: 991.98px) {
    .pf-courtney-item .pf-courtney-media img { height: 380px; }
    .pf-courtney-num-big { font-size: 5rem; }
}
@media (max-width: 575.98px) {
    .pf-trueman-row { flex-direction: column; align-items: stretch; }
    .pf-trueman-row-media, .pf-trueman-row-media img { width: 100%; }
    .pf-courtney-item .pf-courtney-media img { height: 300px; }
    .pf-courtney-row-thumb, .pf-courtney-row-num { display: none; }
    .pf-dirz-list { grid-template-columns: 1fr; }
    .pf-oifolio-big img { max-height: 340px; }
}

/* ═══════════════════════════════════════════════════════════════
   Portfolio: Vetra temalı şablonlar (stackbros.in/vetra)
   ═══════════════════════════════════════════════════════════════ */

/* Ortak: kontur başlık + chip + buton */
.pf-stroke-h {
    font-weight: 800;
    color: transparent;
    -webkit-text-stroke: 1.5px #1e2a4a;
    text-shadow: 0 0 1px rgba(30, 42, 74, .08);
}
.bg-dark .pf-stroke-h { -webkit-text-stroke-color: #fff; }
.pf-vcls-cat {
    display: inline-block;
    background: var(--bs-primary, #0d6efd);
    color: #fff;
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: .3rem .7rem;
    border-radius: 4px;
}
.pf-vcls .card-title { font-weight: 800; color: #1e2a4a; }
.pf-vcls-media { border-radius: 12px; }
.pf-vcls-media img { transition: transform .5s ease; }
.pf-vcls:hover .pf-vcls-media img { transform: scale(1.05); }
.pf-vcls-hover {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(.85);
    background: #fff;
    color: #1e2a4a;
    font-weight: 700;
    font-size: .85rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: .55rem 1.15rem;
    border-radius: 40px;
    opacity: 0;
    transition: all .3s ease;
    box-shadow: 0 8px 24px rgba(16,28,58,.18);
    pointer-events: none;
    white-space: nowrap;
    z-index: 3;
}
.pf-vcls:hover .pf-vcls-hover { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.pf-vcls-body { z-index: 2; }
.pf-vcls-body .card-body,
.pf-vcls-body { background: transparent; }
.pf-vcls .card-img-top { max-height: 260px; object-fit: cover; }

/* Masonry */
.pf-vma-cols { columns: 3; column-gap: 1.25rem; }
.pf-vma-cols.pf-vma-4 { columns: 4; }
.pf-vma-cols.pf-vma-6 { columns: 6; }
.pf-vma-item { display: inline-block; width: 100%; margin-bottom: 1.25rem; break-inside: avoid; }
.pf-vma-tall.is-tall .pf-vcls-media img { min-height: 60px; }
.pf-vma-tall.is-tall .pf-vcls-media img { height: auto; }

/* Metro */
.pf-vmt { border-radius: 14px; overflow: hidden; background: transparent; }
.pf-vmt .card-image img { height: 320px; object-fit: cover; transition: transform .5s ease; }
.pf-vmt:hover .card-image img { transform: scale(1.05); }
.pf-vmt::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16,28,58,0) 35%, rgba(16,28,58,.75) 100%); pointer-events: none; }
.pf-vmt-logo { background: #fff; color: #1e2a4a; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: .3rem .6rem; border-radius: 4px; }
.pf-vmt h4 { font-weight: 800; }
.pf-vmt .card-img-overlay { z-index: 3; }

/* Metro filter: yazılmış animasyon benzeri */
.pf-vme-typed { font-weight: 800; color: #1e2a4a; line-height: 1.1; }

/* Overlap / Reveal / Tilt */
.pf-vov { position: relative; }
.pf-vov-media {
    position: relative;
    margin-left: 2rem;
    overflow: hidden;
    border-radius: 14px;
}
.pf-vov-media img { transition: transform .6s ease; }
.pf-vov:hover .pf-vov-media img { transform: scale(1.05); }
.pf-vov-ghost {
    position: absolute;
    left: -1.5rem; bottom: -1rem;
    font-size: clamp(2.5rem, 6vw, 5rem);
    font-weight: 800;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1.5px rgba(30,42,74,.25);
    white-space: nowrap;
    z-index: 1;
    pointer-events: none;
}
.pf-vov-ovl { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; gap: .3rem; padding: 1.25rem; background: linear-gradient(180deg, rgba(16,28,58,0) 45%, rgba(16,28,58,.8) 100%); }
.pf-vov-cat { align-self: flex-start; background: var(--bs-primary); color: #fff; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: .3rem .6rem; border-radius: 4px; }
.pf-vov-title {
    font-size: 1.4rem;
    font-weight: 800;
    color: transparent;
    -webkit-text-stroke: 1px rgba(255,255,255,.9);
}
.pf-vov-btn { align-self: flex-start; color: #fff; font-weight: 700; font-size: .8rem; letter-spacing: 1px; text-transform: uppercase; border-bottom: 2px solid var(--bs-primary); }
.pf-vov:hover .pf-vov-ghost { text-shadow: 0 10px 30px rgba(16,28,58,.25); }

/* Reveal */
.pf-reveal { clip-path: inset(100% 0 0 0); transition: clip-path .8s ease; }
.pf-reveal.in { clip-path: inset(0 0 0 0); }

/* Tilt */
.pf-tilt { transition: transform .35s ease; }
.pf-tilt:hover { transform: perspective(900px) rotateX(3deg) rotateY(-3deg) scale(1.01); }

/* Broken grid */
.pf-vbr-eyebrow { text-transform: uppercase; letter-spacing: 2px; font-size: .78rem; font-weight: 700; }
.pf-vbr-dots { position: absolute; top: -1.5rem; right: -1rem; background-image: radial-gradient(var(--bs-primary) 2px, transparent 2px); background-size: 14px 14px; width: 150px; height: 150px; opacity: .35; }
.pf-vbr-img { position: relative; }
.pf-vbr-img img { border-radius: 14px; box-shadow: 0 18px 40px rgba(16,28,58,.14); }
.pf-vbr-expand { position: absolute; right: 1rem; bottom: 1rem; width: 44px; height: 44px; border-radius: 50%; background: #fff; color: #1e2a4a; display: flex; align-items: center; justify-content: center; transition: all .25s ease; }
.pf-vbr-img:hover .pf-vbr-expand { background: var(--bs-primary); color: #fff; }
.pf-vbr-panel { position: relative; margin-top: -3.5rem; padding: 1.5rem; border-radius: 14px; z-index: 2; box-shadow: 0 14px 34px rgba(16,28,58,.18); }
.pf-vbr-cat { display: inline-block; background: rgba(255,255,255,.2); color: #fff; font-size: .66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: .25rem .6rem; border-radius: 4px; margin-bottom: .5rem; }
.pf-vbr-btn { display: inline-flex; align-items: center; gap: .4rem; background: #1e2a4a; color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: .5rem 1rem; border-radius: 4px; text-decoration: none; transition: all .2s ease; }
.pf-vbr-btn:hover { background: var(--bs-primary); color: #fff; }

/* Text reveal */
.pf-vtr { position: relative; }
.pf-vtr-row.portfolio-card { border: 0; box-shadow: none; overflow: visible; background: transparent; display: block; border-radius: 0; }
.pf-vtr-row.portfolio-card:hover { transform: none; box-shadow: none; }
.pf-vtr-row { padding: 1.5rem 0; border-bottom: 1px solid #e9edf4; position: relative; transition: padding .3s ease; }
.pf-vtr-row:hover { padding-left: 1.25rem; }
.pf-vtr-cat { color: var(--bs-primary); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }
.pf-vtr-title {
    font-size: clamp(1.6rem, 4.5vw, 2.6rem);
    font-weight: 800;
    color: #1e2a4a;
    margin: .3rem 0 .2rem;
    transition: color .2s ease;
}
.pf-vtr-row:hover .pf-vtr-title { color: var(--bs-primary); }
.pf-vtr-blurb { color: #8790a8; max-width: 640px; margin-bottom: 0; }
.pf-vtr-follow { position: absolute; width: 220px; height: 150px; border-radius: 12px; overflow: hidden; box-shadow: 0 18px 40px rgba(16,28,58,.22); pointer-events: none; z-index: 50; }
.pf-vtr-follow img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Full width dark */
.pf-vfd .cat-filter-bar { color: #fff; }
.pf-vfd-row { position: relative; }
.pf-vfd-media img { border-radius: 16px; box-shadow: 0 18px 44px rgba(0,0,0,.45); }
.pf-vfd-row:hover .pf-vfd-media img { opacity: .92; }
.pf-vfd-cap { position: absolute; top: 50%; padding-left: 1rem; }
.pf-vfd-cat { background: var(--bs-primary); color: #fff; font-size: .66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: .25rem .6rem; border-radius: 4px; }
.pf-vfd-btn { display: inline-flex; align-items: center; gap: .4rem; color: #fff; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; font-size: .78rem; border-bottom: 2px solid var(--bs-primary); }
.pf-vfd-row:hover .pf-vfd-btn { color: var(--bs-primary); }

/* Uneven */
.pf-vun-big { border-radius: 16px; overflow: hidden; }
.pf-vun-big .card-image img { height: 420px; object-fit: cover; }
.pf-vun-big::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16,28,58,0) 40%, rgba(16,28,58,.78) 100%); pointer-events: none; }
.pf-vun-big .card-img-overlay { z-index: 3; }
.pf-vun-pill { background: var(--bs-primary); color: #fff; font-size: .66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: .3rem .7rem; border-radius: 4px; }
.pf-vcls-media-sm .pf-vcls-media img { max-height: 240px; }

/* Slider */
.pf-vsl .pf-vsl-img { height: 100vh; max-height: 700px; min-height: 480px; object-fit: cover; }
.pf-vsl-slide::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(16,28,58,.55), rgba(16,28,58,0)); pointer-events: none; }
.pf-vsl-panel { position: relative; z-index: 3; }
.pf-vsl-cat { color: var(--bs-primary); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }
.pf-vsl-title { font-weight: 800; color: #1e2a4a; }
.pf-vsl-btn { border: 0; background: #1e2a4a; color: #fff; font-weight: 700; font-size: .8rem; letter-spacing: 1px; text-transform: uppercase; padding: .6rem 1.2rem; border-radius: 4px; transition: all .2s ease; }
.pf-vsl-btn:hover { background: var(--bs-primary); color: #fff; }
.pf-vsl-arr { width: 52px; height: 52px; top: auto; bottom: auto; margin: auto 0; opacity: 1; }
.pf-vsl-arr i { font-size: 1.5rem; color: #1e2a4a; }

/* Hover varyantları */
.pf-vhlen-gray { filter: grayscale(1); transition: filter .45s ease; }
.pf-vcls:hover .pf-vhlen-gray { filter: grayscale(0); }
.pf-vcl-ovl { position: absolute; inset: 0; background: var(--bs-primary); mix-blend-mode: multiply; opacity: 0; transition: opacity .4s ease; z-index: 2; }
.pf-vcls:hover .pf-vcl-ovl { opacity: .68; }
.pf-vhi { border-radius: 14px; }
.pf-vhi-media { border-radius: 14px; }
.pf-vhi-media img { height: 320px; object-fit: cover; }
.pf-vhi-plate { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; z-index: 3; transition: transform .35s ease; }
.pf-vhi:hover .pf-vhi-plate { transform: translateY(-6px); }
.pf-vhi-cat { color: var(--bs-primary); font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }
.pf-vhi-btn { color: #1e2a4a; font-weight: 700; font-size: .8rem; }
.pf-vhi:hover .pf-vhi-btn { color: var(--bs-primary); }
.pf-aos { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.pf-aos.in { opacity: 1; transform: translateY(0); }
.pf-aos-d0 { transition-delay: 0s; }
.pf-aos-d1 { transition-delay: .12s; }
.pf-aos-d2 { transition-delay: .24s; }

/* ── Detay: Vetra Detail 1 ── */
.pf-vd1-hero { background-size: cover; background-position: center; position: relative; min-height: 460px; }
.pf-vd1-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16,28,58,.55), rgba(16,28,58,.15)); }
.pf-vd1-hero > .container { position: relative; z-index: 2; }
.pf-vd1-title { -webkit-text-stroke: 1px rgba(255,255,255,.85); color: transparent; }
.pf-vd1-meta { color: rgba(255,255,255,.9); font-size: .85rem; letter-spacing: 1px; }

/* ── Detay: Vetra Detail 2 ── */
.pf-vd2-hero { background-size: cover; background-position: center; min-height: 460px; position: relative; }
.pf-vd2-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16,28,58,.55), rgba(16,28,58,.3)); }
.pf-vd2-hero > .container { position: relative; z-index: 2; }
.pf-vd2-eyebrow { text-transform: uppercase; letter-spacing: 2px; font-weight: 700; font-size: .8rem; }
.pf-vd2-title { font-weight: 900; color: transparent; -webkit-text-stroke: 1.5px #fff; text-transform: uppercase; font-size: clamp(2rem, 6vw, 4.5rem); line-height: 1; }
.pf-vd2-narrow { max-width: 760px; }
.pf-vd2-lead { color: #2a3450; line-height: 1.75; }
.pf-vd2-quote { font-style: italic; font-size: 1.15rem; color: #1e2a4a; }
.pf-vd2-slider .carousel-indicators [data-bs-target] { background-color: #1e2a4a; }
.pf-vd-cta h4 { font-weight: 800; }

/* ── Detay: Case Study 1 ── */
.pf-vcs1-hero { margin-top: 2rem; }
.pf-vcs1-count { font-weight: 800; }
.pf-vcs1-next { background-size: cover; background-position: center; }
.pf-vcs1-next::after { content: ''; position: absolute; inset: 0; background: rgba(16,28,58,.45); }
.pf-vcs1-next > * { position: relative; z-index: 2; }

/* ── Detay: Case Study 2 ── */
.pf-vcs2-hero { min-height: 520px; background-size: cover; background-position: center; }
.pf-vcs2-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent, rgba(16,28,58,.6)); z-index: 1; }
.pf-vcs2-hero > * { position: relative; z-index: 2; }
.pf-vcs2-play { width: 84px; height: 84px; display: flex; align-items: center; justify-content: center; font-size: 2rem; box-shadow: 0 12px 30px rgba(16,28,58,.3); cursor: pointer; }
.pf-vcs2-list li { padding: .5rem 0; color: #566078; }
.pf-vcs2-band strong { text-transform: uppercase; letter-spacing: 1px; }

/* ── Detay: Case Study 3 ── */
.pf-vcs3-play { text-decoration: none; color: #1e2a4a; font-weight: 700; }
.pf-vcs3-play:hover { color: var(--bs-primary); }
.pf-vcs3-services { counter-reset: srv; }
.pf-vcs3-num { font-size: 2rem; display: block; margin-bottom: .25rem; }

/* ── Detay: Case Study 4 ── */
.pf-vcs4-bar h1 { font-size: clamp(1.6rem, 4vw, 2.6rem); }
.pf-vcs4-bar .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,.4); }

@media (max-width: 991.98px) {
    .pf-vma-cols, .pf-vma-cols.pf-vma-4, .pf-vma-cols.pf-vma-6 { columns: 2; }
    .pf-vfd-cap { position: static; padding: 1rem 0 1.5rem; }
    .pf-vun-big .card-image img { height: 340px; }
    .pf-vsl .pf-vsl-img { max-height: 560px; }
}
@media (max-width: 575.98px) {
    .pf-vma-cols, .pf-vma-cols.pf-vma-4, .pf-vma-cols.pf-vma-6 { columns: 1; }
    .pf-vov-media { margin-left: 0; }
    .pf-vtr-follow { display: none !important; }
    .pf-vd1-hero, .pf-vd2-hero { min-height: 380px; }
    .pf-vcs2-hero { min-height: 420px; }
    .pf-vbr-panel { margin-top: -2.5rem; }
}

/* ═══════════════════════════════════════════════════════════════
   Portfolio: Luique temalı şablonlar (bslthemes/html/luique)
   ═══════════════════════════════════════════════════════════════ */

.pf-lui { --lui-accent: #29a587; }
.pf-lui-head { position: relative; }
.pf-lui-title {
    font-family: 'Jost', sans-serif;
    font-size: clamp(2rem, 4.5vw, 3.4rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #000;
    margin: 0;
}
.pf-lui-sub {
    text-transform: uppercase;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .05em;
    color: var(--lui-accent);
}
.pf-lui-sub b {
    font-family: 'Caveat', 'Segoe Script', cursive;
    font-size: 1.7rem;
    font-weight: 700;
    color: #000;
    letter-spacing: 0;
    margin-left: .35rem;
}
.pf-lui .works-item { position: relative; overflow: hidden; }
.pf-lui .works-item:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(0,0,0,.14); }
.pf-lui .image { position: relative; }
.pf-lui-img { height: 240px; object-fit: cover; transition: transform .6s cubic-bezier(.3, 0, .3, 1); }
.pf-lui .works-item:hover .pf-lui-img { transform: scale(1.04); }
.pf-lui-ovl { background: rgba(16, 30, 50, .25); opacity: 0; transition: opacity .4s ease; }
.pf-lui .works-item:hover .pf-lui-ovl { opacity: 1; }
.pf-lui-cat { color: var(--lui-accent); font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.pf-lui .name { font-size: 1.4rem; color: #000; }
.pf-lui .name:hover { color: var(--lui-accent); }
.pf-lui-lnk { display: inline-flex; align-items: center; gap: .5rem; color: #000; font-weight: 700; font-size: 1rem; transition: color .2s ease; }
.pf-lui-lnk::before { content: ''; display: none; }
.pf-lui-lnk::after { content: '\2192'; color: var(--lui-accent); }
.pf-lui .works-item:hover .pf-lui-lnk { color: var(--lui-accent); }
.pf-lui-pat { position: absolute; right: -1.5rem; bottom: -1.5rem; width: 120px; height: 120px; opacity: .5; background-image: radial-gradient(var(--lui-accent) 2px, transparent 2px); background-size: 16px 16px; pointer-events: none; }

/* Liste düzeni */
.pf-lui-img-list { width: 100%; max-width: 460px; height: 300px; object-fit: cover; transition: transform .6s cubic-bezier(.3, 0, .3, 1); border-radius: 12px; }
.pf-lui .works-item:hover .pf-lui-img-list { transform: scale(1.03); }
.pf-lui-name { font-size: clamp(1.6rem, 3.5vw, 2.2rem); color: #000; line-height: 1; }
.pf-lui .works-item:hover .pf-lui-name { color: var(--lui-accent); }

/* Buton */
.pf-lui-btn {
    display: inline-block;
    height: 56px;
    line-height: 54px;
    padding: 0 40px;
    border-radius: 56px;
    border: 2px solid #000;
    color: #000;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    text-decoration: none;
    box-shadow: 5px 5px rgba(0,0,0,.2);
    transition: all .3s ease;
}
.pf-lui-btn:hover { background: var(--lui-accent); border-color: var(--lui-accent); color: #fff; box-shadow: 5px 5px rgba(41,165,135,.35); }

/* ── Detay: Luique ── */
.pf-dlq { --lui-accent: #29a587; background: linear-gradient(180deg, #fff 0%, #F0EBE3 100%); border-radius: 1.25rem; }
.pf-dlq .pf-lui-title { font-size: clamp(1.8rem, 5vw, 3.4rem); }
.pf-dlq-details { background: #fff; border-radius: 16px; box-shadow: 0 10px 26px rgba(0,0,0,.08); }
.pf-dlq-v { font-family: 'Caveat', 'Segoe Script', cursive; font-size: 1.9rem; font-weight: 700; color: #000; display: block; }
.pf-dlq-k { font-size: .72rem; font-weight: 400; text-transform: uppercase; letter-spacing: .08em; color: #7a7f8a; }
.pf-dlq-hero { height: 520px; background-size: cover; background-position: center; box-shadow: 0 18px 40px rgba(0,0,0,.16); }
.pf-dlq-col { max-width: 880px; }
.pf-dlq-h { font-family: 'Jost', sans-serif; font-weight: 700; font-size: 1.8rem; }
.pf-dlq-g { box-shadow: 0 12px 30px rgba(0,0,0,.12); }
.pf-dlq-video { height: 480px; background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; }
.pf-dlq-video::after { content: ''; position: absolute; inset: 0; background: rgba(16,30,50,.3); }
.pf-dlq-play { width: 96px; height: 96px; border-radius: 50%; background: #18181b; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 2.4rem; box-shadow: 0 14px 34px rgba(0,0,0,.35); z-index: 2; transition: transform .3s ease; cursor: pointer; }
.pf-dlq-play:hover { transform: scale(1.08); }
.pf-dlq-vlabel { position: absolute; left: 1.5rem; bottom: 1.5rem; color: #fff; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; z-index: 2; }
.pf-dlq-next { text-decoration: none; display: inline-block; transition: color .2s ease; }
.pf-dlq-next:hover { color: var(--lui-accent); }

@media (max-width: 991.98px) {
    .pf-lui-img-list { max-width: 100%; height: 260px; }
    .pf-dlq-hero { height: 400px; }
    .pf-dlq-video { height: 380px; }
}
@media (max-width: 575.98px) {
    .pf-lui-img { height: 210px; }
    .pf-dlq-hero { height: 280px; }
    .pf-dlq-video { height: 300px; }
    .pf-dlq-details { gap: 1.25rem !important; }
}
