/*
Theme Name: Kadınız
Theme URI: https://kadiniz.com
Author: Kadınız.com
Author URI: https://kadiniz.com
Description: Kadınız.com için geliştirilmiş, güvenlik odaklı, SEO dostu, hızlı ve mobil uyumlu modern dergi/blog teması. Google Core Web Vitals ve arama motoru indekslemesi göz önünde bulundurularak minimal ve temiz kodla yazılmıştır.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kadiniz
Tags: blog, news, one-column, two-columns, right-sidebar, custom-menu, featured-images, threaded-comments, translation-ready, theme-options
*/

/* ==========================================================================
   1. RESET & BASE
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 17px;
  line-height: 1.7;
  color: #1c1420;
  background: #fdfbfc;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: #b3305c; text-decoration: none; transition: color .15s ease; }
a:hover, a:focus { color: #7a1d3d; }
h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  line-height: 1.25;
  margin: 0 0 .5em;
  color: #14090f;
}
h1 { font-size: clamp(1.9rem, 4vw, 2.75rem); }
h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); }
h3 { font-size: 1.35rem; }
p { margin: 0 0 1.2em; }
ul, ol { padding-left: 1.3em; }
.screen-reader-text {
  position: absolute !important;
  clip: rect(1px,1px,1px,1px);
  width: 1px; height: 1px; overflow: hidden;
}
.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 999999;
  background: #b3305c; color: #fff; padding: 12px 20px; border-radius: 0 0 6px 0;
}
.skip-link:focus { left: 0; }

/* ==========================================================================
   2. LAYOUT
   ========================================================================== */
.container {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 20px;
}
.site-wrapper { display: block; }
.content-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  padding: 40px 0 60px;
}
@media (min-width: 900px) {
  .content-layout.has-sidebar { grid-template-columns: 2.2fr 1fr; }
}

/* ==========================================================================
   3. HEADER
   ========================================================================== */
.site-header {
  position: sticky; top: 0; z-index: 500;
  background: #fff;
  border-bottom: 1px solid #f0e4e9;
}
.header-inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 0;
  gap: 20px;
}
.site-branding { display: flex; align-items: center; gap: 12px; }
.site-title {
  margin: 0; font-size: 1.6rem; font-weight: 700; letter-spacing: -0.02em;
}
.site-title a { color: #14090f; }
.site-description { font-size: .8rem; color: #7a6a72; margin: 0; }

.primary-navigation { display: none; }
@media (min-width: 900px) { .primary-navigation { display: block; } }
.primary-navigation ul { list-style: none; display: flex; gap: 26px; margin: 0; padding: 0; }
.primary-navigation a {
  color: #29202a; font-weight: 600; font-size: .95rem;
  text-transform: uppercase; letter-spacing: .04em;
}
.primary-navigation .current-menu-item > a { color: #b3305c; }

.menu-toggle {
  display: inline-flex; align-items: center; gap: 8px;
  background: none; border: 1px solid #e6d3da; border-radius: 8px;
  padding: 8px 12px; cursor: pointer; font-size: .9rem; color: #29202a;
}
@media (min-width: 900px) { .menu-toggle { display: none; } }
.mobile-navigation { display: none; padding: 10px 0 18px; }
.mobile-navigation.is-open { display: block; }
.mobile-navigation ul { list-style: none; margin: 0; padding: 0; }
.mobile-navigation li { border-top: 1px solid #f0e4e9; }
.mobile-navigation a { display: block; padding: 12px 4px; color: #29202a; font-weight: 600; }

/* ==========================================================================
   4. CARDS / POST GRID
   ========================================================================== */
.post-grid {
  display: grid; grid-template-columns: 1fr; gap: 28px;
}
@media (min-width: 640px) { .post-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .post-grid.grid-3 { grid-template-columns: repeat(3, 1fr); } }

.post-card {
  background: #fff; border-radius: 14px; overflow: hidden;
  border: 1px solid #f2e6eb; transition: transform .18s ease, box-shadow .18s ease;
  display: flex; flex-direction: column;
}
.post-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(20,9,15,.08); }
.post-card__thumb { aspect-ratio: 16/10; overflow: hidden; background: #f4e9ee; }
.post-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.post-card__body { padding: 18px 18px 22px; flex: 1; display: flex; flex-direction: column; }
.post-card__cat {
  font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  color: #b3305c; margin-bottom: 8px;
}
.post-card__title { font-size: 1.2rem; margin-bottom: 8px; }
.post-card__title a { color: #14090f; }
.post-card__excerpt { color: #55474d; font-size: .95rem; margin-bottom: 14px; }
.post-card__meta { margin-top: auto; font-size: .8rem; color: #93818a; display: flex; gap: 10px; }

.featured-post {
  display: grid; grid-template-columns: 1fr; gap: 22px;
  background: #fff; border-radius: 16px; overflow: hidden; border: 1px solid #f2e6eb;
  margin-bottom: 36px;
}
@media (min-width: 780px) { .featured-post { grid-template-columns: 1.1fr 1fr; align-items: center; } }
.featured-post__thumb img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4/3; }
.featured-post__body { padding: 28px 30px 30px; }
.featured-post__title { font-size: clamp(1.5rem, 3vw, 2.2rem); }

/* ==========================================================================
   5. SINGLE POST
   ========================================================================== */
.entry-header { margin-bottom: 24px; }
.entry-header__cat { color: #b3305c; font-weight: 700; text-transform: uppercase; font-size: .78rem; letter-spacing: .06em; }
.entry-meta { color: #8a7982; font-size: .9rem; display: flex; flex-wrap: wrap; gap: 14px; margin: 10px 0 20px; }
.entry-thumbnail { border-radius: 14px; overflow: hidden; margin-bottom: 26px; }
.entry-content { font-size: 1.08rem; }
.entry-content h2, .entry-content h3 { margin-top: 1.6em; }
.entry-content img { border-radius: 10px; margin: 1.4em 0; }
.entry-content blockquote {
  border-left: 4px solid #b3305c; margin: 1.6em 0; padding: .4em 0 .4em 1.2em;
  font-style: italic; color: #4a3d43;
}
.entry-footer { margin-top: 34px; padding-top: 20px; border-top: 1px solid #f0e4e9; }
.tag-links a {
  display: inline-block; background: #f7ecf0; border-radius: 20px;
  padding: 5px 14px; font-size: .82rem; margin: 0 6px 6px 0; color: #7a1d3d;
}
.author-box {
  display: flex; gap: 16px; align-items: flex-start;
  background: #fbf3f6; border-radius: 14px; padding: 20px; margin-top: 30px;
}
.author-box img { border-radius: 50%; }

/* ==========================================================================
   6. SIDEBAR / WIDGETS
   ========================================================================== */
.widget { background: #fff; border: 1px solid #f2e6eb; border-radius: 14px; padding: 22px; margin-bottom: 24px; }
.widget-title { font-size: 1.05rem; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 16px; }
.widget ul { list-style: none; margin: 0; padding: 0; }
.widget li { padding: 8px 0; border-bottom: 1px solid #f5ebef; font-size: .92rem; }
.widget li:last-child { border-bottom: none; }

/* ==========================================================================
   7. PAGINATION / FORMS
   ========================================================================== */
.pagination { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 30px; }
.pagination a, .pagination span {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; height: 40px; border-radius: 8px; border: 1px solid #eadde3;
  color: #29202a; font-weight: 600; font-size: .9rem;
}
.pagination .current { background: #b3305c; color: #fff; border-color: #b3305c; }
.search-form { display: flex; gap: 8px; }
.search-form input[type="search"] {
  flex: 1; padding: 10px 14px; border-radius: 8px; border: 1px solid #e2cfd8; font-size: .95rem;
}
.search-form button {
  background: #b3305c; color: #fff; border: none; border-radius: 8px; padding: 0 18px; cursor: pointer; font-weight: 600;
}

/* ==========================================================================
   8. FOOTER
   ========================================================================== */
.site-footer { background: #1c1420; color: #e9dde3; margin-top: 60px; }
.footer-inner { padding: 46px 0 26px; display: grid; grid-template-columns: 1fr; gap: 30px; }
@media (min-width: 780px) { .footer-inner { grid-template-columns: repeat(3, 1fr); } }
.site-footer h2, .site-footer h3 { color: #fff; }
.site-footer a { color: #d9c3cf; }
.site-footer a:hover { color: #fff; }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.1); padding: 18px 0;
  font-size: .82rem; color: #a996a0; text-align: center;
}

/* ==========================================================================
   9. UTILITIES / ACCESSIBILITY / PERFORMANCE HELPERS
   ========================================================================== */
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
img[loading="lazy"] { background: #f4e9ee; }
.breadcrumbs { font-size: .82rem; color: #8a7982; margin-bottom: 18px; }
.breadcrumbs a { color: #8a7982; text-decoration: underline; }
