/* Pinitrin Araçlar — araç ve Araçlar ana sayfası stilleri. Tüm sınıflar "pt-" ile başlar (site stilleriyle çakışmasın). */
.pt-wrap { max-width: 860px; margin: 0 auto; padding: 16px 15px 0; font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif; color: #1f2937; box-sizing: border-box; }
.pt-wrap *, .pt-wrap *::before, .pt-wrap *::after { box-sizing: border-box; }
.pt-bc { font-size: 13px; color: #6b7280; margin-bottom: 10px; }
.pt-bc a { color: #0d4a9b; text-decoration: none; }
.pt-bc a:hover { text-decoration: underline; }
.pt-h1 { font-size: 1.75rem; font-weight: 600; color: #14284b; margin: 0 0 6px; line-height: 1.25; }
.pt-intro { color: #4b5563; line-height: 1.6; margin: 0 0 16px; }

/* Hesaplayıcı kutusu */
.pt-box { background: #fff; border: 1px solid #dfe5ee; border-radius: 14px; padding: 16px; }
.pt-tabs { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; margin-bottom: 14px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.pt-tabs::-webkit-scrollbar { display: none; }
.pt-tab { flex: 0 0 auto; border: 1px solid #cfd8e6; background: #fff; color: #14284b; border-radius: 999px; padding: 7px 14px; font-size: 14px; cursor: pointer; white-space: nowrap; font-family: inherit; transition: background .15s, border-color .15s; }
.pt-tab:hover { border-color: #0d4a9b; }
.pt-tab[aria-selected="true"] { background: #0d4a9b; border-color: #0d4a9b; color: #fff; }
.pt-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.pt-field label { display: block; font-size: 13px; color: #4b5563; margin-bottom: 5px; }
.pt-field input { width: 100%; height: 46px; border: 1px solid #cfd8e6; border-radius: 10px; padding: 0 12px; font-size: 17px; font-family: inherit; color: #111827; background: #fff; }
.pt-field input:focus { outline: none; border-color: #0d4a9b; box-shadow: 0 0 0 3px rgba(13, 74, 155, .15); }
.pt-field select { width: 100%; height: 46px; border: 1px solid #cfd8e6; border-radius: 10px; padding: 0 10px; font-size: 16px; font-family: inherit; color: #111827; background: #fff; }
.pt-field select:focus { outline: none; border-color: #0d4a9b; box-shadow: 0 0 0 3px rgba(13, 74, 155, .15); }
.pt-field input[type="date"] { -webkit-appearance: none; appearance: none; min-width: 0; font-size: 16px; }
.pt-group[hidden] { display: none; }
.pt-check { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 14px; color: #374151; cursor: pointer; }
.pt-check input { width: 18px; height: 18px; accent-color: #0d4a9b; }
.pt-res { margin-top: 14px; background: #f3f6fb; border-radius: 10px; padding: 14px; min-height: 118px; }
.pt-res-row { display: flex; flex-wrap: wrap; gap: 10px 28px; }
.pt-res-item small { display: block; font-size: 13px; color: #6b7280; }
.pt-res-item b { display: block; font-size: 1.7rem; font-weight: 600; color: #0d4a9b; line-height: 1.25; overflow-wrap: anywhere; }
.pt-sentence { margin: 8px 0 0; color: #374151; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.pt-err { margin: 8px 0 0; color: #b42318; font-size: 14px; }
.pt-meta { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
.pt-formula { font-size: 13px; color: #6b7280; }
.pt-copy { border: 1px solid #0d4a9b; color: #0d4a9b; background: #fff; border-radius: 8px; padding: 6px 12px; font-size: 14px; cursor: pointer; font-family: inherit; }
.pt-copy:hover { background: #0d4a9b; color: #fff; }

/* Reklam kutusu: yüksekliği baştan ayrılır (geç gelen reklam içeriği kaydırmasın) */
.pt-ad { margin: 22px 0; min-height: 280px; display: flex; align-items: center; justify-content: center; }
.pt-ad ins { width: 100%; }
.pt-ad.pt-ad-off { min-height: 0; margin: 0; }

/* Açıklama ve SSS */
.pt-sec { margin-top: 26px; }
.pt-sec h2, .pt-related { font-size: 1.3rem; font-weight: 600; color: #14284b; margin: 0 0 10px; }
.pt-how { line-height: 1.7; color: #374151; }
.pt-how p { margin: 0 0 10px; }
.pt-how ol { padding-left: 1.5em; margin: 0 0 10px; }
.pt-how li { margin-bottom: 6px; }
.pt-faq details { border-bottom: 1px solid #e5e9f0; padding: 12px 0; }
.pt-faq summary { cursor: pointer; font-weight: 600; color: #14284b; list-style: none; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.pt-faq summary::-webkit-details-marker { display: none; }
.pt-faq summary::after { content: "+"; font-weight: 400; color: #0d4a9b; font-size: 22px; line-height: 1; }
.pt-faq details[open] summary::after { content: "\2212"; }
.pt-faq p { margin: 8px 0 0; line-height: 1.7; color: #374151; }

/* İlgili pinler başlığı (grid sitenin kendi .container / .grid-container stillerini kullanır) */
.pt-related { margin: 30px 0 12px; }

/* Araçlar ana sayfası */
.pt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.pt-card { display: block; border: 1px solid #dfe5ee; background: #fff; border-radius: 14px; padding: 16px; text-decoration: none; color: inherit; transition: border-color .15s; }
.pt-card:hover { border-color: #0d4a9b; }
.pt-card i { font-size: 26px; color: #0d4a9b; }
.pt-card b { display: block; margin: 8px 0 3px; color: #14284b; font-size: 16px; font-weight: 600; }
.pt-card span { font-size: 14px; color: #6b7280; }
.pt-guides { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.pt-guide { display: flex; align-items: center; gap: 12px; background: #f3f6fb; border-radius: 12px; padding: 14px; text-decoration: none; color: #14284b; font-weight: 500; transition: background .15s; }
.pt-guide:hover { background: #e7edf7; }
.pt-guide i { font-size: 22px; color: #1f7a4d; }

/* Yukarı dön düğmesi (lib/footer.php): sitenin stil dosyasında tanımı yoksa görünüm bozulmasın */
.pt-page .progress-wrap { position: fixed; right: 18px; bottom: 90px; width: 46px; height: 46px; border-radius: 50%; cursor: pointer; background: #fff; box-shadow: inset 0 0 0 2px rgba(13, 74, 155, .2); opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; z-index: 990; }
.pt-page .progress-wrap.active-progress { opacity: 1; visibility: visible; }
.pt-page .progress-wrap svg { position: absolute; inset: 0; }
.pt-page .progress-wrap svg path { fill: none; stroke: #0d4a9b; stroke-width: 4; }
.pt-page .progress-wrap i { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #0d4a9b; font-size: 18px; }

@media (max-width: 360px) {
    .pt-fields { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
    .pt-h1 { font-size: 1.45rem; }
    .pt-res-item b { font-size: 1.5rem; }
}