/* assets/css/style.css */

/* RESET & BASE --------------------------------------------------- */
*,
*::before,
*::after {
    box-sizing: border-box;
}

:root {
    /* Color palette (user provided): 023047, 8ecae6, ffb703, fb8500, 219ebc */
    --color-deep: #007bff;    /* deep navy */
    --color-light-blue: #8ecae6; /* soft light blue */
    --color-yellow: #ffb703;  /* accent yellow */
    --color-orange: #fb8500;  /* accent orange */
    --color-teal: #219ebc;    /* primary button / ui color */

    --bg: #f8fafc;            /* very light background */
    --bg-soft: #eef6f9;
    --surface: #ffffff;
    --surface-soft: #fbfdfe;
    --border: #e6eef2;
    --border-strong: #d6e6eb;

    /* Primary (buttons / interactive elements) */
    --primary: var(--color-teal);
    --primary-soft: var(--color-light-blue);
    --primary-strong: var(--color-deep);

    --text: #0b1720; /* dark but not pure black for softer UI */
    --muted: #6b7c85;
    --danger: #ef4444;
    --danger-soft: #fee2e2;
    --success: #16a34a;
    --success-soft: #dcfce7;

    --radius-lg: 18px;
    --radius-md: 14px;
    --radius-sm: 10px;
    --shadow-soft: 0 14px 36px rgba(2,48,71,0.07);
    --max-width: 1200px;
}

/* Global button styling: make all buttons use the same primary color */
button,
.btn-submit,
.admin-btn-primary,
.admin-search-row button,
.admin-btn-secondary,
.search-btn,
.search-btn-inside,
input[type="submit"],
input[type="button"] {
    background: var(--primary);
    color: #ffffff;

}

button:hover,
.btn-submit:hover,
.admin-btn-primary:hover,
.admin-btn-secondary:hover,
.search-btn:hover,
.search-btn-inside:hover,
input[type="submit"]:hover {
    background: #000;
    color:#fff;
}

/* Ensure small button variants keep readable contrast */
.search-btn-inside,
.nav-toggle,
.drawer-close {
    background: #000;
    color: #fff;
}

/* Tweak outlines for accessibility */
button:focus,
input[type="submit"]:focus,
.btn-submit:focus {
    outline: 3px solid rgba(34,139,160,0.18);
    outline-offset: 2px;
}

html, body {
    margin: 0;
    padding: 0;
}

body {
    min-height: 100vh;
    background: radial-gradient(circle at top left, #f9fafb, #e5e7eb);
    font-family: 'Roboto', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: var(--text);
}

/* TÃ¼m linkler: underline yok, visited/active renk deÄŸiÅŸtirme yok */
a,
a:visited,
a:active {
    text-decoration: none;
    color: inherit;
}

/* Drawer aÃ§Ä±kken scroll kilidi */
body.drawer-open {
    overflow: hidden;
}

/* APP LAYOUT ----------------------------------------------------- */

.app-shell {
    max-width: var(--max-width);
    margin: 0px auto;
    padding: 15px 10px;
}

.app-grid {
    display: grid;
    grid-template-columns: 260px minmax(0, 1.6fr) 280px;
    gap: 16px;
}

@media (max-width: 1024px) {
    .app-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* CARD ----------------------------------------------------------- */

.card {
    background: var(--surface);
    border-radius: var(--radius-lg);
    padding: 18px 20px;
    border: 1px solid var(--border);
    box-shadow: var(--shadow-soft);
}

.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    flex-direction: column;
}

.calc-head-flex {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    flex-direction: row;
}

.card-title {
    font-size: 15px;
    font-weight: 600;
}

.card-sub {
    font-size: 12px;
    color: var(--muted);
}

/* SITE HEADER ---------------------------------------------------- */

.site-header {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.6fr) auto;
    align-items: center;
    gap: 0px;
    margin-bottom: 8px;
}

@media (max-width: 900px) {
    .site-header {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
    }
}
/* Genel Logo Kapsayıcısı ve Bağlantı Stilleri */
.logo {
    /* Logo kapsayıcısının boyutunu veya hizalamasını ayarlayın */
    display: flex;
    align-items: center; /* Dikey hizalama */
}

.logo-wordmark-link {
    /* Bağlantı etiketini kapsayıcıya dönüştürün */
    display: inline-block;
    height: auto;
}

/* SVG Logo Stilleri (site-logo) */
.site-logo {
    /* Maksimum genişlik: Resmin kapsayıcısını aşmasını engeller */
    max-width: 100%; 
    /* Esnekliği sağlar. Kapsayıcı küçülürse resim de küçülür. */
    height: auto; 
    /* Yüksekliği otomatik ayarlar. */
    display: block; 
    /* Gereksiz boşlukları (image altındaki) kaldırır. */

    /* Masaüstü görünümü için sabit bir genişlik ve yükseklik tanımlayın */
     /* İstediğiniz masaüstü genişliği */
    height: 50px;/* İstediğiniz masaüstü yüksekliği */
    /* Veya sadece birini belirleyip diğerini 'auto' bırakın */
    /* width: auto; 
       height: 40px; */ 

    /* DİKKAT: SVG'nizin içindeki 'viewBox' ayarı doğru olmalıdır! */
}

/* Mobil Görünüm İçin Düzenlemeler (Örneğin 768px altı) */
@media (max-width: 768px) {
    .site-header .logo {
        /* Mobil görünümde logo kapsayıcısının konumunu düzenleyin */
        /* Örneğin: flex-grow: 1; */
    }

    .site-logo {
        /* Mobil görünüm için logo boyutunu küçültün */
        width: 140px;
    }

    .mobile-drawer .drawer-logo {
        padding: 20px 0;
        text-align: center;
    }
}

/* Ãœst menÃ¼: Blog butonu (turuncu pastel) */
.nav-main .nav-root .nav-link.nav-blog {
    background: #FFEDD5;       /* turuncu pastel */
    border-color: #F97316;
    color: #9A3412;
    border-radius: 999px;
    padding-inline: 14px;
}
.nav-main .nav-root .nav-link.nav-blog:hover {
    background: #FED7AA;
    border-color: #EA580C;
    color: #7C2D12;
}
.nav-main .nav-root .nav-link.nav-blog {
    background: #F97316;
    border-color: #EA580C;
    color: #FFFBEB;
}

/* Mobil Ã§ekmecede biraz daha kÃ¼Ã§Ã¼k */
.drawer-logo-wordmark {
    font-size: 22px;
}

/* Elle yazÄ± efekti animasyonlarÄ± (5 snâ€™de bir tekrar) */
@keyframes handwritingPulse {
    0% {
        opacity: 0.8;
        transform: translateY(0);
        text-shadow: 0 0 0 rgba(15,23,42,0);
    }
    12% {
        opacity: 1;
        transform: translateY(-1px);
        text-shadow: 0 4px 14px rgba(15,23,42,0.18);
    }
    24% {
        transform: translateY(0);
        text-shadow: 0 2px 6px rgba(15,23,42,0.12);
    }
    100% {
        opacity: 0.98;
        transform: translateY(0);
        text-shadow: 0 0 0 rgba(15,23,42,0);
    }
}

@keyframes handwritingUnderline {
    0% {
        width: 0;
        opacity: 0;
    }
    18% {
        width: 100%;
        opacity: 1;
    }
    40% {
        width: 100%;
        opacity: 1;
    }
    100% {
        width: 100%;
        opacity: 0;
    }
}

/* Nav logosu iÃ§in eski text-group tanÄ±mlarÄ± (ÅŸu an kullanÄ±lmÄ±yor ama dursa sorun yok) */
.logo-text-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.logo-title {
    font-weight: 600;
    font-size: 16px;
}

.logo-meta-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* Aktif araÃ§ sayacÄ± */

.tool-count-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: var(--success-soft);
    border: 1px solid rgba(22, 163, 74, 0.6);
    font-size: 13px;
    color: #166534;
}

.tool-count-pill .dot {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--success);
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.22);
}

.tool-count-pill .label strong {
    color: #166534;
}

/* Header iÃ§indeki sayaÃ§ (nav-main saÄŸÄ±nda) */
.header-tool-count {
    margin-left: 8px;
}

/* NAV (DESKTOP) -------------------------------------------------- */

.nav-main {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.nav-root {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 8px;
    font-size: 13px;
    flex-wrap: nowrap;
}

.nav-root > li {
    position: relative;
}

.nav-link {
    display: inline-flex;
    align-items: center; /* ikon + metni dikey hizalar */          /* ikon ile yazı arası boşluk */
    line-height: 1;      /* ekstra boşlukları kaldırır */
    gap: 6px;
    padding: 10px 14px;
    border-radius: 999px;/* tıklanabilir alan */
    font-size: 13px;     /* ikon yüksekliğini dengeler */
    transition: all .3s ease;
}

.nav-link i {
    display: flex;
    align-items: center;
}



/* Ã–neri (yeÅŸil pastel) ve Soru & Cevap (mavi pastel) */
.nav-link.nav-suggest {
    background: #e9ad00;
    border-color: #f5bc16;
    color: #ffffff;
}
.nav-link.nav-suggest:hover {
    
    background: #ffe597;
    border-color: #f5bc16;
    color: #584200;
}

.nav-link.nav-qa {
    background: #DBEAFE;
    border-color: #3B82F6;
    color: #1E3A8A;
}
.nav-link.nav-qa:hover {
    background: #BFDBFE;
    border-color: #1D4ED8;
    color: #1E293B;
}

/* Hamburger ------------------------------------------------------ */

.nav-toggle {
    border: none;
    background: var(--surface);
    width: 38px;
    height: 38px;
    border-radius: 999px;
    display: none;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-soft);
    cursor: pointer;
}

.nav-toggle i {
    font-size: 22px;
    color: var(--text);
}

/* Desktop vs Mobile gÃ¶rÃ¼nÃ¼rlÃ¼k */

@media (max-width: 900px) {
    .nav-main {
        display: none;
    }

    .nav-toggle {
        display: inline-flex;
    }
}

/* MOBIL YAN MENÃœ / DRAWER --------------------------------------- */

.mobile-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    z-index: 40;
}

.mobile-drawer {
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    width: 290px;
    max-width: 80%;
    background: var(--surface);
    box-shadow: -16px 0 40px rgba(15, 23, 42, 0.25);
    transform: translateX(100%);
    transition: transform 0.25s ease;
    z-index: 50;
    display: flex;
    flex-direction: column;
}

.drawer-header {
display: flex;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
    flex-direction: row;
}

.drawer-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.drawer-title-text span {
    font-size: 14px;
    font-weight: 600;
}

.drawer-title-text small {
    display: block;
    font-size: 11px;
    color: var(--muted);
}

.drawer-close {
    border: none;
    background: #000;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.drawer-close i {
    font-size: 22px;
    color: #fff;
}

.drawer-nav {
    padding: 10px 8px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    overflow-y: auto;
}

.drawer-nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 10px;
    font-size: 13px;
    color: var(--muted);
    border: 1px solid transparent;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.drawer-nav a i {
    font-size: 18px;
}

.drawer-nav a:hover {
    background: var(--primary-soft);
    border-color: rgba(234,179,8,0.5);
}

.drawer-section-title {
    margin-top: 8px;
    padding: 6px 10px 4px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--muted);
}

/* Drawer iÃ§i alt baÅŸlÄ±klar (mobil dropdown iÃ§eriÄŸi) */
.drawer-subtitle {
    margin: 6px 10px 2px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--muted);
}

/* Drawer aÃ§Ä±kken */

body.drawer-open .mobile-overlay {
    opacity: 1;
    pointer-events: auto;
}

body.drawer-open .mobile-drawer {
    transform: translateX(0);
}

/* Desktop'ta drawer gizli */

@media (min-width: 901px) {
    .mobile-overlay,
    .mobile-drawer {
        display: none;
    }
}



/* SEARCH BAR (tÃ¼m sayfalarda header altÄ±nda) -------------------- */

.search-row {
    display: flex;
    margin: 0;
}

.search-input {
    flex: 1;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: var(--surface);
    padding: 9px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    box-shadow: var(--shadow-soft);
}

.search-input input {
    background: transparent;
    border: none;
    outline: none;
    color: var(--text);
    width: 100%;
    font-size: 14px;
}

.search-input span {
    color: var(--muted);
    font-size: 16px;
}

.search-btn {
    margin-left: 8px;
    border-radius: 999px;
    border: none;
    background: var(--primary);
    color: #1f2933;
    padding: 10px 20px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    box-shadow: var(--shadow-soft);
}

/* ANA KATEGORÄ° ÅžERÄ°DÄ° (SADECE DESKTOP) -------------------------- */

.category-strip {
    margin: 6px 0 10px;
}

.category-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #fff;
    background-attachment: fixed;
    color: var(--clr-text-main);
    box-shadow: var(--shadow-soft);
    flex-wrap: wrap;
}

/* Anasayfa butonu kategori strip solunda */
.category-home-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid #c9c9c9;
    background: #f1f2f5;
    font-size: 12px;
    cursor: pointer;
    transition: all .3s ease;
}

.category-home-btn i {
    font-size: 16px;
}

.category-home-btn:hover {
    background: #fff;
    color: #000;
    border: 1px solid #f5bc16;
}

.category-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #000000;
}

.category-label i {
    font-size: 18px;
}

.category-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
    flex: 1;
}

.cat-pill {
   display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid #cdcdcd;
    font-size: 12px;
    color: #000;
    background: #f1f2f5;
    /* box-shadow: 0 10px 25px rgba(129, 140, 248, 0.4); */
    cursor: pointer;
    transition: all 0.3s ease;
}

.cat-pill:hover {
    border-color: #f5bc16;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.15);
    background-color: #fff;
}


.cat-pill:focus-within {
    border-color: #f5bc16;
    box-shadow: 0 4px 16px rgba(0, 123, 255, 0.2);
}

/* Mobilde kategori ÅŸeridi gÃ¶rÃ¼nmesin */
@media (max-width: 900px) {
    .category-strip {
        display: none;
    }
}

/* LISTS ---------------------------------------------------------- */

.calc-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 12px;
}

.calc-item {
    background: var(--surface-soft);
    border-radius: var(--radius-md);
    border: 1px solid var(--border);
    padding: 12px 13px;
    cursor: pointer;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
    position: relative;
}

.calc-item:hover {
    transform: translateY(-2px);
    border-color: var(--primary-soft);
    box-shadow: var(--shadow-soft);
}

.calc-name {
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 4px;
}

.calc-desc {
    font-size: 12px;
    color: var(--muted);
    display: -webkit-box;
  -webkit-line-clamp: 2; /* Buraya gÃ¶stermek istediÄŸin satÄ±r sayÄ±sÄ±nÄ± yaz */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis; /* Sonuna Ã¼Ã§ nokta (...) ekler */
}

/* Yeni badge */
.new-badge {
    position: absolute;
    top: 6px;
    right: 6px;
    background: #dc2626;
    color: #ffffff;
    font-size: 10px;
    padding: 3px 8px;
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: .3px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

/* ADS ------------------------------------------------------------ */

.ad-slot {
    border-radius: var(--radius-md);
    background: linear-gradient(135deg, #eef2ff, #fef3c7);
    border: 1px dashed #a5b4fc;
    padding: 14px;
    text-align: center;
    font-size: 11px;
    color: #4b5563;
    display: flex;
    flex-direction: column;
    gap: 3px;
    justify-content: center;
    align-items: center;
}

.ad-slot span.size {
    font-weight: 600;
    font-size: 12px;
    color: #1f2937;
}

.ad-slot span.hint {
    font-size: 11px;
    color: #6b7280;
}

/* SMALL BADGES / TEXT ------------------------------------------- */

.balance {
    font-size: 22px;
    font-weight: 700;
}

.badge-pill {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--surface-soft);
    border: 1px solid var(--border);
    font-size: 11px;
    color: var(--muted);
}

/* FOOTER --------------------------------------------------------- */

.site-footer {
    margin-top: 22px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
    font-size: 12px;
    color: var(--muted);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px;
}

.site-footer a {
    color: var(--muted);
    margin-right: 10px;
}

.site-footer a:hover {
    color: var(--text);
}

/* RESPONSIVE TWEAKS (GENEL) ------------------------------------- */

@media (max-width: 600px) {
    .search-row {
        flex-direction: column;
    }

    .search-btn {
        margin-left: 0;
        margin-top: 8px;
        width: 100%;
    }

    .site-footer {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Blog sayfasÄ± iÃ§in 2 kolonlu grid */
.app-grid.app-grid-2 {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) 280px;
    gap: 16px;
}

@media (max-width: 1024px) {
    .app-grid.app-grid-2 {
        grid-template-columns: minmax(0, 1fr);
    }
}



/* Search Bar Styles */
.search-row {
    display: flex;
    justify-content: center;
    padding: 0 0 10px 0px;

}

.search-form {
    width: 100%;
}

.search-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    background: white;
    border: 2px solid #e0e0e0;
    border-radius: 50px;
    padding: 0 8px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.search-input-wrapper:hover {
    border-color: #f5bc16;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.15);
}

.search-input-wrapper:focus-within {
    border-color: #f5bc16;
    box-shadow: 0 4px 16px rgba(0, 123, 255, 0.2);
}

.search-icon {
    font-size: 20px;
    color: #999;
    margin-right: 10px;
    flex-shrink: 0;
}

.search-input-field {
    flex: 1;
    border: none;
    outline: none;
    padding: 14px 0;
    font-size: 15px;
    background: transparent;
    color: #333;
}

.search-input-field::placeholder {
    color: #999;
}

.search-btn-inside {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #f5bc16;
    color: #000000;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
    margin-left: 10px;
    font-size: 18px;
}

.search-btn-inside:hover {
    background: #444444;
    color:#fff;
    transform: scale(1.05);
}

.search-btn-inside:active {
    transform: scale(0.95);
}

@media (max-width: 768px) {
    .search-row {
        padding: 12px 15px;
    }

    .search-form {
        max-width: 100%;
    }

    .search-input-wrapper {
        padding: 0 12px;
    }

    .search-icon {
        font-size: 18px;
        margin-right: 8px;
    }

    .search-input-field {
        font-size: 14px;
        padding: 12px 0;
    }

    .search-btn-inside {
        width: 32px;
        height: 32px;
        font-size: 16px;
        margin-left: 8px;
    }
}

@media (max-width: 480px) {
    .search-row {
        padding: 10px 0px;
    }

    .search-input-wrapper {
        border-radius: 40px;
        padding: 0 10px;
    }

    .search-input-field {
        font-size: 13px;
        padding: 10px 0;
    }

    .search-icon {
        font-size: 16px;
        margin-right: 6px;
    }

    .search-btn-inside {
        width: 30px;
        height: 30px;
        font-size: 14px;
        margin-left: 6px;
    }
}

/* =========================
   Mobil Tree Menu (Drawer içi)
   ========================= */

.tree-menu-mobile {
    list-style: none;
    margin: 4px 0 10px;
    padding: 0 10px 10px;
}

/* Ana node */
.tree-node {
    margin-top: 4px;
}

/* Üst başlık butonu (Ana kategoriler) */
.tree-label {
    width: 100%;
    padding: 10px 12px;
    border-radius: 10px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;

    background: transparent;
    font-size: 13px;
    font-weight: 600;
    color:#6b7c85;

    border: 1px solid #6b7c852f;
    
    cursor: pointer;
    transition:
        background .25s ease,
        border-color .25s ease,
        color .25s ease;
}

/* Drawer ile aynı hover hissi */
.tree-label:hover {
    background: #6b7c85;
    border-color: #6b7c8593;
}

/* Chevron ikon (drawer-nav ile aynı boy) */
.tree-label i {
    font-size: 18px;
    transition: transform .25s ease, opacity .25s ease;
    opacity: .9;
}

/* Açıkken oku döndür */
.tree-node.open .tree-label i {
    transform: rotate(180deg);
}

/* Alt kategori listesi (animasyonlu açılıp kapanma) */
.tree-children {
    list-style: none;
    margin: 0;
    padding: 0;

    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-4px);
    transition:
        max-height .35s ease,
        opacity .25s ease,
        transform .25s ease;
}

/* Açık durumda */
.tree-node.open .tree-children {
    max-height: 400px;
    opacity: 1;
    transform: translateY(0);
}

/* Tek tek alt kategori linkleri */
.tree-leaf a {
    display: block;
    margin-top: 4px;
    padding: 8px 12px 8px 20px;

    border-radius: 8px;
    border: 1px solid transparent;

    font-size: 13px;
    color: var(--fg, #111827);
    text-decoration: none;

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

/* Hover – drawer-nav ile aynı hissiyat */
.tree-leaf a:hover {
    background: var(--primary-soft);
    border-color: rgba(234,179,8,0.5);
}

/* Drawer içi küçük başlık (zaten vardı, tamamlayıcı) */
.drawer-section-title {
    margin-top: 8px;
    padding: 6px 10px 4px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--muted);
}


/* --- Flexbox Konteyneri: Masaüstünde 2 Sütun Sağlar --- */
.calculator-flex-container {
    display: flex;
    flex-wrap: wrap; /* Kartların alt satıra geçmesini sağlar */
    gap: 14px; /* Kartlar arası boşluk */
    margin: 0;
    padding: 0;
}

/* --- Kartların Kendisi (a etiketi) --- */
.calculator-item {
    text-decoration: none;
    /* Masaüstü için %50 genişlik (gap boşluğunu düşmek için calc kullanılır) */
    /* 14px gap için, her bir öğe %50 genişliğe yakın olur. */
    flex: 1 1 calc(50% - 7px); 
    min-width: 250px; /* Çok dar ekranlarda bile minimum genişlik korunsun */
}

/* --- Kart İçeriği Stilleri (div) --- */
.calculator-card-content {
    padding: 16px;
    background: var(--surface-soft);
    border-radius: 10px;
    border: 1px solid var(--border);
    transition: all 0.3s;
    cursor: pointer;
    transform: translateY(0);
    /* Tüm kartların yüksekliğini eşitler */
    height: 100%;
    /* İçerik düzeni */
    display: flex;
    flex-direction: column; 
    justify-content: flex-start;
}

/* Kart Hover Efektleri */
.calculator-item:hover .calculator-card-content {
    box-shadow: 0 8px 16px rgba(0,0,0,0.12);
    transform: translateY(-2px);
}

.calculator-card-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-strong);
    margin-bottom: 8px;
    font-family: 'Google Sans', sans-serif;

}

.calculator-card-desc {
    font-size: 12px;
    color: var(--muted);
    margin: 0;
    line-height: 1.5;
}

/* --- RESPONSIVE AYARLAMA: Mobil Tek Sütun --- */
@media (max-width: 650px) {
    .calculator-item {
        /* Ekran 650px altı ise, her kart %100 genişlikte olur (tek sütun) */
        flex: 1 1 100%; 
        min-width: unset;
    }
}

/*
 * Yeni eklenen CSS sınıfları için tanımlamalar
 */

/* * 1. Kart İçeriğini Dikey Hizalama İçin Güncelle
 * Footer'ın en alta yapışması ve içeriğin esnek kalması için 
 */
.calculator-card-content {
    /* Mevcut stilleri koru: padding, background, border, transition, cursor, transform, height: 100% */
    padding: 16px;
    background: var(--surface-soft);
    border-radius: 10px;
    border: 1px solid var(--border);
    transition: all 0.3s;
    cursor: pointer;
    transform: translateY(0);
    height: 100%;
    
    /* Yeni Dikey Hizalama Flex Ayarları */
    display: flex;
    flex-direction: column; 
    position: relative; /* Ok ve yazıyı konumlandırmak için gerekli */
}

/* Ana İçerik Gövdesi (Başlık ve Açıklama) */
.card-main-body {
    flex-grow: 1; /* Mevcut içeriğin tüm boş alanı doldurmasını sağlar */
    margin-bottom: 20px; /* Footer ile arasında boşluk bırakır */
}

/* * 2. Footer Aksiyon Alanı (Sağ Alt Köşe)
 */
.card-footer-action {
    /* Sağ alta yapıştır (Mutlak konumlandırma) */
    position: absolute;
    bottom: 12px;
    right: 12px;
    
    display: flex;
    align-items: center;
    gap: 8px; /* Yazı ve ok arası boşluk */
}

/* Ok İkonu (❯) - Yuvarlak içine alınmış Ok */
.action-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #e1e1e1; /* Ana renk */
    color: #5e5e5e;
    font-size: 14px;
    font-weight: bold;
    transition: transform 0.3s, background-color 0.3s;
}

.calculator-card-content .action-icon {
    /* Saat yönünün tersine 45 derece çevirir (yukarı doğru) */
    transform: rotate(-90deg); 
    /* İsteğe bağlı: Hover rengini değiştirebiliriz */
    /* background-color: #c0c0c0; */ 
}

.calculator-card-content:hover .action-icon {
    /* Saat yönünün tersine 45 derece çevirir (yukarı doğru) */
    transform: rotate(0deg); 
    /* İsteğe bağlı: Hover rengini değiştirebiliriz */
    /* background-color: #c0c0c0; */ 
}

/* Git Yazısı */
.action-text {
    font-size: 13px;
    font-weight: 600;
    color: #919191;
    /* Başlangıçta Görünmez ve Sağda Konumlandır */
    opacity: 0;
    transform: translateX(10px);
    transition: opacity 0.3s, transform 0.3s;
    
    /* Mobilde tamamen gizlenmesi (isteğe göre ayarlanabilir) */
    display: none; 
}

/* * 3. HOVER (Mouse Üzerine Geldiğinde) Efektleri
 */

/* Yazının Belirmesi ve Sola Kayması */
.calculator-item:hover .action-text {
    opacity: 1;
    transform: translateX(0); /* Sola kaymayı durdurur */
}

/* Okun Sola Doğru Dönmesi (Hafif Görsel İyileştirme) */
.calculator-item:hover .action-icon {
    /* Hafif bir sola dönme efekti ekleyebiliriz (isteğe bağlı) */
    transform: translateX(-2px); 
    background-color: #edff91; 
    color: #677c00;
}



/* * 4. RESPONSIVE AYARLAMA
 */

@media (min-width: 651px) {
    /* Sadece masaüstünde (651px ve üzeri) yazıyı göster */
    .action-text {
        display: block; 
    }
}

@media (max-width: 650px) {
    /* Mobilde (650px ve altı) yazıyı gizle (Gereksiz ağırlık yapmasın) */
    .action-text {
        display: none;
    }
    /* Mobilde oku sadece sağ alta yapıştır (yazısız) */
    .card-footer-action {
        right: 12px;
        bottom: 12px;
    }
}


/* Hesaplama araçları kart grid yapısı */
.calculator-flex-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

/* Mobil – tek sütun */
@media (max-width: 640px) {
    .calculator-flex-container {
        grid-template-columns: 1fr;
    }
}
