/*
Theme Name: Blocksy Child - Kerim Demo
Template: blocksy
Description: Mavi-beyaz kurumsal tema (Blocksy alt teması).
Version: 1.0.0
*/

@font-face {
	font-family: 'IBM Plex Sans Variable';
	font-style: normal;
	font-display: swap;
	font-weight: 100 700;
	src: url(fonts/ibm-plex-sans-latin-ext-wght-normal.woff2) format('woff2-variations');
	unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
	font-family: 'IBM Plex Sans Variable';
	font-style: normal;
	font-display: swap;
	font-weight: 100 700;
	src: url(fonts/ibm-plex-sans-latin-wght-normal.woff2) format('woff2-variations');
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ---------- Renkler ve yazı ---------- */
body {
	--kd-blue: #1557d6;
	--kd-blue-dark: #0e3fa3;
	--kd-navy: #0b2350;
	--kd-ink: #1b2a44;
	--kd-mute: #52627c;
	--kd-sky: #eaf1fd;
	--kd-line: #cfddf5;
	--kd-white: #fff;
	--kd-max: 1290px;
	--kd-gutter: 5vw;

	--theme-font-family: 'IBM Plex Sans Variable', 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--theme-font-size: 17px;
	--theme-line-height: 1.65;
	--theme-text-color: var(--kd-ink);
	--theme-headings-color: var(--kd-navy);
	--theme-link-initial-color: var(--kd-blue);
	--theme-link-hover-color: var(--kd-blue-dark);
	--theme-button-border-radius: 6px;
	--theme-button-font-weight: 600;
	font-family: var(--theme-font-family);
	background: #fff;
}

h1, h2, h3, h4, h5, h6,
.site-title, .ct-header .menu a, .wp-block-button__link, .ct-button {
	font-family: var(--theme-font-family);
}
h1, h2, h3 { font-weight: 600; letter-spacing: -0.015em; text-wrap: balance; }
h1 { font-size: clamp(2.2rem, 1.2rem + 3.6vw, 3.75rem); line-height: 1.08; letter-spacing: -0.03em; }
h2 { font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.25rem); line-height: 1.18; }
h3 { font-size: 1.25rem; line-height: 1.3; }

:focus-visible { outline: 3px solid var(--kd-blue); outline-offset: 3px; border-radius: 2px; }

/* ---------- Üst bilgi ---------- */
.ct-header .site-title { font-weight: 700; letter-spacing: -0.02em; font-size: 22px; }
.ct-header .site-title a { color: var(--kd-navy); }
.ct-header .site-title a::before {
	content: '';
	display: inline-block;
	width: 14px; height: 14px;
	margin-right: 10px;
	background: var(--kd-blue);
	border-radius: 3px;
	box-shadow: 6px 6px 0 var(--kd-line);
	transform: translateY(-1px);
}
.ct-header [data-id="menu"] > ul > li > a { font-weight: 500; font-size: 16px; text-transform: none; letter-spacing: 0; }
.ct-header .sub-menu a { text-transform: none; font-size: 15px; }
.ct-header .sub-menu { --theme-link-initial-color: #fff; background: var(--kd-navy); }

/* ---------- Bölüm iskeleti ---------- */
.kd-sec { padding: clamp(56px, 8vw, 104px) var(--kd-gutter); margin-block: 0 !important; display: grid; grid-template-columns: minmax(0, var(--kd-max)); justify-content: center; }
.kd-sec > * { margin-inline: 0 !important; min-width: 0; }
.kd-sec p { max-width: 62ch; }
.kd-lead { font-size: clamp(1.1rem, 1rem + 0.5vw, 1.3rem); line-height: 1.55; color: var(--kd-mute); }
.kd-more a { font-weight: 600; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 2px; }

.wp-block-button__link {
	background: var(--kd-blue); color: #fff;
	padding: 14px 26px; font-size: 16px;
	transition: background-color .15s ease;
}
.wp-block-button__link:hover { background: var(--kd-blue-dark); color: #fff; }
.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--kd-blue);
	border: 2px solid var(--kd-line); padding: 12px 24px;
}
.is-style-outline > .wp-block-button__link:hover { background: var(--kd-sky); color: var(--kd-blue-dark); border-color: var(--kd-blue); }

/* ---------- Ana sayfa: giriş ---------- */
.kd-hero { background: var(--kd-sky); padding-block: clamp(48px, 7vw, 96px); overflow: hidden; }
.kd-hero .wp-block-columns { align-items: center; gap: clamp(32px, 5vw, 72px); margin-bottom: 0; }
.kd-hero h1 { margin-bottom: 0.5em; font-size: clamp(2.1rem, 1rem + 3.4vw, 3.5rem); text-wrap: wrap; }
.kd-hero .wp-block-column:first-child { flex-basis: 60%; }
.kd-hero .wp-block-column:last-child { flex-basis: 40%; }
.kd-hero .wp-block-buttons { margin-top: 2em; gap: 14px; }
.kd-diagram { display: block; width: 100%; height: auto; }
.kd-diagram .kd-bar { transform-box: fill-box; transform-origin: bottom; animation: kd-grow .9s cubic-bezier(.2,.7,.2,1) both; }
.kd-diagram .kd-bar:nth-of-type(2) { animation-delay: .12s; }
.kd-diagram .kd-bar:nth-of-type(3) { animation-delay: .24s; }
.kd-diagram .kd-bar:nth-of-type(4) { animation-delay: .36s; }
.kd-diagram .kd-bar:nth-of-type(5) { animation-delay: .48s; }
.kd-diagram .kd-flow { stroke-dasharray: 5 7; animation: kd-flow 1.6s linear infinite; }
@keyframes kd-grow { from { transform: scaleY(0); } }
@keyframes kd-flow { to { stroke-dashoffset: -24; } }

/* ---------- Ana sayfa: hizmetler ---------- */
.kd-services .wp-block-columns { gap: 0; margin-top: 48px; margin-bottom: 0; border-top: 1px solid var(--kd-line); }
.kd-services .wp-block-column { padding: 40px 0 0; }
.kd-services .wp-block-column + .wp-block-column { padding-left: clamp(24px, 4vw, 56px); border-left: 1px solid var(--kd-line); }
.kd-services .wp-block-column:first-child { padding-right: clamp(24px, 4vw, 56px); }
.kd-services h3 { font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.75rem); }
.kd-services h3 a { color: inherit; text-decoration: none; }
.kd-services h3 a:hover { color: var(--kd-blue); }

.kd-check { list-style: none; padding: 0; margin: 1.5em 0; }
.kd-check li { position: relative; padding: 10px 0 10px 30px; border-top: 1px solid var(--kd-line); }
.kd-check li:last-child { border-bottom: 1px solid var(--kd-line); }
.kd-check li::before {
	content: ''; position: absolute; left: 2px; top: 1.05em;
	width: 14px; height: 8px;
	border-left: 2.5px solid var(--kd-blue); border-bottom: 2.5px solid var(--kd-blue);
	transform: rotate(-45deg);
}

/* ---------- Çalışma adımları (gerçek sıra) ---------- */
.kd-steps { background: var(--kd-navy); color: #dbe6fb; }
.kd-steps h2, .kd-steps h3 { color: #fff; }
.kd-steps .kd-lead { color: #a9bfe6; }
.kd-steplist { counter-reset: kd; list-style: none; padding: 0; margin: 48px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.kd-steplist li { counter-increment: kd; padding: 28px 24px 0 0; border-top: 2px solid #2c4a86; position: relative; }
.kd-steplist li::before {
	content: counter(kd);
	position: absolute; top: -17px; left: 0;
	width: 32px; height: 32px; border-radius: 50%;
	background: var(--kd-blue); color: #fff;
	font-weight: 600; font-size: 15px;
	display: grid; place-items: center;
}
.kd-steplist strong { display: block; color: #fff; font-size: 1.15rem; font-weight: 600; margin-bottom: 6px; }

/* ---------- Blog özeti ---------- */
.kd-posts .wp-block-latest-posts { margin-top: 40px; margin-bottom: 32px; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 40px); padding: 0; }
.kd-posts .wp-block-latest-posts li { border-top: 3px solid var(--kd-blue); padding-top: 18px; margin: 0 !important; width: auto !important; }
.kd-posts .wp-block-latest-posts__post-title { display: block; font-size: 1.2rem; font-weight: 600; line-height: 1.3; color: var(--kd-navy); text-decoration: none; }
.kd-posts .wp-block-latest-posts__post-title:hover { color: var(--kd-blue); }
.kd-posts .wp-block-latest-posts__post-date { color: var(--kd-mute); font-size: 14px; margin: 6px 0 10px; }
.kd-posts .wp-block-latest-posts__post-excerpt { color: var(--kd-mute); font-size: 16px; margin: 0; }

/* ---------- Kapanış çağrısı ---------- */
.kd-cta { background: var(--kd-blue); color: #e3ecfd; }
.kd-cta h2 { color: #fff; }
.kd-cta .wp-block-columns { align-items: center; margin: 0 auto; }
.kd-cta .wp-block-button__link { background: #fff; color: var(--kd-blue-dark); }
.kd-cta .wp-block-button__link:hover { background: var(--kd-sky); color: var(--kd-navy); }
.kd-cta .wp-block-buttons { justify-content: flex-end; }

/* ---------- İç sayfa başlığı ---------- */
.kd-pagehead { background: var(--kd-sky); padding-block: clamp(40px, 6vw, 80px); border-bottom: 1px solid var(--kd-line); }
.kd-pagehead h1 { font-size: clamp(2rem, 1.3rem + 2.6vw, 3rem); margin-bottom: 0.4em; }
.kd-pagehead p:last-child { margin-bottom: 0; }
.kd-split .wp-block-columns { gap: clamp(32px, 6vw, 88px); margin-bottom: 0; }
.kd-split h2 { margin-top: 0; }
.kd-tint { background: #f6f9fe; }
.kd-faq h3 { margin-top: 1.8em; font-size: 1.15rem; }

/* ---------- İletişim formu ---------- */
.kd-form .wpforms-container { margin: 0; }
.kd-form .wpforms-field { padding: 0 0 18px !important; }
.kd-form .wpforms-field-label { font-weight: 600 !important; color: var(--kd-navy) !important; font-size: 15px !important; }
.kd-form input[type=text], .kd-form input[type=email], .kd-form input[type=tel], .kd-form textarea {
	max-width: 100% !important; width: 100%;
	border: 1.5px solid var(--kd-line) !important; border-radius: 6px !important;
	padding: 12px 14px !important; height: auto !important;
	font: inherit !important; color: var(--kd-ink) !important; background: #fff !important;
}
.kd-form input:focus, .kd-form textarea:focus { border-color: var(--kd-blue) !important; box-shadow: 0 0 0 3px rgba(21, 87, 214, .18) !important; outline: 0 !important; }
.kd-form button[type=submit] {
	background: var(--kd-blue) !important; color: #fff !important; border: 0 !important;
	border-radius: 6px !important; padding: 14px 28px !important; height: auto !important;
	font: 600 16px/1.2 var(--theme-font-family) !important; cursor: pointer;
}
.kd-form button[type=submit]:hover { background: var(--kd-blue-dark) !important; }

/* ---------- Blog ve yazılar ---------- */
.entries article.entry-card { border-top: 3px solid var(--kd-blue); border-radius: 0; box-shadow: none; padding-top: 22px; background: transparent; }
.hero-section[data-type] .page-title { letter-spacing: -0.02em; }

/* ---------- Alt bilgi ---------- */
.ct-footer { background: var(--kd-navy); }
.ct-footer [data-row] { background: var(--kd-navy) !important; border-top: 1px solid #1d3a73; }
.ct-footer, .ct-footer .ct-footer-copyright, .ct-footer .menu a { color: #a9bfe6; }
.ct-footer a:hover, .ct-footer .menu a:hover { color: #fff; }

/* ---------- Dar ekran ---------- */
@media (max-width: 781px) {
	.kd-services .wp-block-column + .wp-block-column { padding-left: 0; border-left: 0; }
	.kd-services .wp-block-column:first-child { padding-right: 0; }
	.kd-steplist { grid-template-columns: 1fr 1fr; row-gap: 44px; }
	.kd-posts .wp-block-latest-posts { grid-template-columns: 1fr; }
	.kd-cta .wp-block-buttons { justify-content: flex-start; }
	.kd-hero .kd-diagram { max-width: 460px; }
}
@media (max-width: 480px) {
	.kd-steplist { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.kd-diagram .kd-bar, .kd-diagram .kd-flow { animation: none; }
}

/* ---------- Menüdeki teklif düğmesi ve dil bağlantısı ---------- */
.ct-header [data-id="menu"] > ul > li.kd-menu-cta > a {
	background: var(--kd-blue); color: #fff !important;
	height: auto; padding: 11px 20px !important; margin-left: 8px; border-radius: 6px; align-self: center; font-weight: 600; white-space: nowrap;
}
.ct-header [data-id="menu"] > ul > li.kd-menu-cta > a:hover { background: var(--kd-blue-dark); }
.ct-header [data-id="menu"] > ul > li.kd-menu-cta { display: flex; align-items: center; }
.ct-header [data-id="menu"] > ul > li.lang-item > a { color: var(--kd-mute); font-size: 15px; }

.ct-footer [data-row] .ct-container { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 32px; }
.ct-footer [data-row] [data-column] { padding: 0; }
.ct-footer .menu .current-menu-item > a { color: #fff; }
.kd-form select {
	max-width: 100% !important; width: 100%; height: auto !important;
	border: 1.5px solid var(--kd-line) !important; border-radius: 6px !important;
	padding: 12px 14px !important; font: inherit !important; color: var(--kd-ink) !important; background-color: #fff !important;
}
.entries .entry-card .entry-title { font-size: 1.45rem; line-height: 1.25; }
