/*
Theme Name: Raf Teması
Theme URI: https://zohi.tr/raf-temasi
Author: Zohi
Author URI: https://zohi.tr
Description: Raf sistemleri için teklif ve hesaplama araçlarını tek ekranda toplayan WordPress teması. Teknik çizim dilinde efektli anasayfa, panelden yönetilen renk ve logo, kapak fotoğrafı, buton bağlantıları ve tasarlanmış parola giriş ekranı. Masaüstü, tablet ve mobil uyumlu.
Version: 1.0.2
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: raf-temasi
Tags: business, custom-colors, custom-logo, custom-menu, featured-images, translation-ready, responsive-layout
*/

/* ============================================================
   1. Temel
   ============================================================ */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--rt-zemin);
	color: var(--rt-metin);
	font-family: "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
	font-size: 16px;
	line-height: 1.65;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

body.rt-menu-acik {
	overflow: hidden;
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--rt-cizgi);
	text-decoration: none;
	transition: color 0.2s ease, opacity 0.2s ease;
}

a:hover {
	color: var(--rt-vurgu);
}

:focus-visible {
	outline: 2px solid var(--rt-vurgu);
	outline-offset: 3px;
}

h1,
h2,
h3,
h4,
h5 {
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.005em;
	margin: 0 0 0.5em;
	text-wrap: balance;
}

p {
	margin: 0 0 1em;
}

ul,
ol {
	padding-left: 1.15rem;
}

.rt-mono {
	font-family: "IBM Plex Mono", ui-monospace, monospace;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.rt-atla {
	position: absolute;
	top: -60px;
	left: 16px;
	z-index: 999;
	padding: 10px 16px;
	background: var(--rt-vurgu);
	color: #0b0f14;
	font-weight: 600;
	transition: top 0.2s ease;
}

.rt-atla:focus {
	top: 12px;
}

/* ============================================================
   2. Yerleşim
   ============================================================ */

.rt-kapsa {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 clamp(18px, 4vw, 48px);
}

.rt-dar {
	max-width: 880px;
}

.rt-ana {
	display: block;
	min-height: 40vh;
}

.rt-bolum {
	position: relative;
	padding: clamp(56px, 8vw, 116px) 0;
}

.rt-bolum--araclar {
	padding-top: clamp(48px, 6vw, 88px);
}

.rt-bolum-bas {
	max-width: 660px;
	margin-bottom: clamp(32px, 4vw, 56px);
}

.rt-bolum-baslik {
	font-size: clamp(2rem, 4.6vw, 3.4rem);
}

.rt-etiket {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	color: var(--rt-cizgi);
	opacity: 0.9;
}

.rt-etiket-nokta {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--rt-vurgu);
	box-shadow: 0 0 0 0 rgba(var(--rt-vurgu-rgb), 0.7);
	animation: rt-nabiz 2.4s ease-out infinite;
}

@keyframes rt-nabiz {
	0% {
		box-shadow: 0 0 0 0 rgba(var(--rt-vurgu-rgb), 0.65);
	}
	70% {
		box-shadow: 0 0 0 12px rgba(var(--rt-vurgu-rgb), 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(var(--rt-vurgu-rgb), 0);
	}
}

/* Teknik çizim ızgarası */
.rt-izgara {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(to right, rgba(var(--rt-cizgi-rgb), 0.16) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(var(--rt-cizgi-rgb), 0.16) 1px, transparent 1px),
		linear-gradient(to right, rgba(var(--rt-cizgi-rgb), 0.06) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(var(--rt-cizgi-rgb), 0.06) 1px, transparent 1px);
	background-size: 120px 120px, 120px 120px, 24px 24px, 24px 24px;
	-webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% 30%, #000 20%, transparent 78%);
	mask-image: radial-gradient(ellipse 90% 70% at 50% 30%, #000 20%, transparent 78%);
	animation: rt-izgara-kay 60s linear infinite;
	z-index: 0;
}

@keyframes rt-izgara-kay {
	to {
		background-position: 120px 120px, 120px 120px, 24px 24px, 24px 24px;
	}
}

/* ============================================================
   3. Üst bölüm
   ============================================================ */

.rt-ust {
	position: sticky;
	top: 0;
	z-index: 60;
	background: rgba(var(--rt-metin-rgb), 0);
	transition: background 0.3s ease, backdrop-filter 0.3s ease, box-shadow 0.3s ease;
}

.rt-ust.is-scrolled {
	background: var(--rt-zemin);
	background: color-mix(in srgb, var(--rt-zemin) 88%, transparent);
	-webkit-backdrop-filter: blur(14px) saturate(140%);
	backdrop-filter: blur(14px) saturate(140%);
	box-shadow: 0 1px 0 rgba(var(--rt-cizgi-rgb), 0.16);
}

.rt-ust-ic {
	display: flex;
	align-items: center;
	gap: clamp(16px, 3vw, 40px);
	height: 84px;
	transition: height 0.3s ease;
}

.rt-ust.is-scrolled .rt-ust-ic {
	height: 66px;
}

.rt-ust-cizgi {
	position: absolute;
	left: 0;
	bottom: 0;
	height: 2px;
	width: var(--rt-ilerleme, 0%);
	background: linear-gradient(90deg, var(--rt-cizgi), var(--rt-vurgu));
	transition: width 0.15s linear;
}

.rt-marka {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--rt-metin);
	flex: 0 0 auto;
}

.rt-marka-logo {
	height: var(--rt-logo-h);
	width: auto;
	transition: height 0.3s ease;
}

.rt-ust.is-scrolled .rt-marka-logo {
	height: calc(var(--rt-logo-h) * 0.82);
}

.rt-marka-ad {
	font-family: "Barlow Condensed", sans-serif;
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.rt-menu {
	margin-left: auto;
}

.rt-menu-liste {
	display: flex;
	align-items: center;
	gap: clamp(14px, 2vw, 30px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.rt-menu-liste li {
	position: relative;
}

.rt-menu-liste a {
	position: relative;
	display: inline-block;
	padding: 6px 0;
	color: rgba(var(--rt-metin-rgb), 0.9);
	font-size: 0.94rem;
	font-weight: 500;
}

.rt-menu-liste a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background: var(--rt-vurgu);
	transition: width 0.25s ease;
}

.rt-menu-liste a:hover,
.rt-menu-liste .current-menu-item > a {
	color: var(--rt-metin);
}

.rt-menu-liste a:hover::after,
.rt-menu-liste .current-menu-item > a::after {
	width: 100%;
}

.rt-menu-liste .sub-menu {
	position: absolute;
	top: 100%;
	left: -14px;
	min-width: 210px;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: var(--rt-yuzey);
	border: 1px solid rgba(var(--rt-cizgi-rgb), 0.18);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: all 0.2s ease;
}

.rt-menu-liste li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.rt-menu-liste .sub-menu a {
	display: block;
	padding: 8px 10px;
}

.rt-ust-eylem {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 0 0 auto;
}

.rt-menu-dugme {
	display: none;
	position: relative;
	width: 44px;
	height: 44px;
	background: transparent;
	border: 1px solid rgba(var(--rt-cizgi-rgb), 0.28);
	cursor: pointer;
}

.rt-menu-cizgi,
.rt-menu-cizgi::before,
.rt-menu-cizgi::after {
	position: absolute;
	left: 50%;
	width: 20px;
	height: 1.5px;
	background: var(--rt-metin);
	transform: translateX(-50%);
	transition: transform 0.25s ease, opacity 0.2s ease;
}

.rt-menu-cizgi {
	top: 50%;
	margin-top: -0.75px;
}

.rt-menu-cizgi::before,
.rt-menu-cizgi::after {
	content: "";
	left: 0;
	transform: none;
}

.rt-menu-cizgi::before {
	top: -6px;
}

.rt-menu-cizgi::after {
	top: 6px;
}

.rt-menu-acik .rt-menu-cizgi {
	background: transparent;
}

.rt-menu-acik .rt-menu-cizgi::before {
	transform: translateY(6px) rotate(45deg);
}

.rt-menu-acik .rt-menu-cizgi::after {
	transform: translateY(-6px) rotate(-45deg);
}

/* Mobil çekmece */
.rt-cekmece {
	position: fixed;
	inset: 84px 0 0;
	z-index: 55;
	padding: 28px clamp(18px, 5vw, 40px) 40px;
	background: var(--rt-zemin-alt);
	border-top: 1px solid rgba(var(--rt-cizgi-rgb), 0.2);
	overflow-y: auto;
	opacity: 0;
	transform: translateY(-12px);
	transition: opacity 0.24s ease, transform 0.24s ease;
}

.rt-cekmece[hidden] {
	display: none;
}

.rt-cekmece.is-acik {
	opacity: 1;
	transform: translateY(0);
}

.rt-cekmece-liste {
	margin: 0 0 26px;
	padding: 0;
	list-style: none;
}

.rt-cekmece-liste li {
	border-bottom: 1px solid rgba(var(--rt-cizgi-rgb), 0.12);
}

.rt-cekmece-liste a {
	display: block;
	padding: 15px 2px;
	color: var(--rt-metin);
	font-family: "Barlow Condensed", sans-serif;
	font-size: 1.4rem;
	text-transform: uppercase;
}

.rt-cekmece-liste .sub-menu {
	padding: 0 0 10px 14px;
	list-style: none;
}

.rt-cekmece-liste .sub-menu a {
	font-size: 1.05rem;
	padding: 9px 2px;
}

/* ============================================================
   4. Butonlar
   ============================================================ */

.rt-butonlar {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.rt-butonlar--dikey {
	flex-direction: column;
	align-items: stretch;
}

.rt-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 24px;
	border: 1px solid transparent;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 1.12rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	cursor: pointer;
	overflow: hidden;
	transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.rt-btn span {
	position: relative;
	z-index: 2;
}

.rt-btn-ok {
	position: relative;
	z-index: 2;
	width: 20px;
	flex: 0 0 20px;
	transition: transform 0.25s ease;
}

.rt-btn:hover .rt-btn-ok {
	transform: translateX(5px);
}

.rt-btn--dolu {
	background: var(--rt-vurgu);
	color: #0b0f14;
}

.rt-btn--dolu::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.42), transparent);
	transform: translateX(-120%);
	transition: transform 0.55s ease;
}

.rt-btn--dolu:hover {
	background: var(--rt-vurgu-koyu);
	color: #0b0f14;
	transform: translateY(-2px);
}

.rt-btn--dolu:hover::before {
	transform: translateX(120%);
}

.rt-btn--cizgili {
	border-color: rgba(var(--rt-cizgi-rgb), 0.4);
	color: var(--rt-metin);
	background: rgba(var(--rt-cizgi-rgb), 0.04);
}

.rt-btn--cizgili:hover {
	border-color: var(--rt-cizgi);
	color: var(--rt-metin);
	background: rgba(var(--rt-cizgi-rgb), 0.12);
	transform: translateY(-2px);
}

.rt-btn--kucuk {
	padding: 10px 16px;
	font-size: 0.98rem;
}

/* ============================================================
   5. Giriş bölümü
   ============================================================ */

.rt-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(56px, 9vw, 130px) 0 clamp(60px, 8vw, 110px);
	background:
		radial-gradient(1200px 620px at 78% -10%, rgba(var(--rt-birincil-rgb), 0.22), transparent 70%),
		linear-gradient(180deg, var(--rt-zemin-alt), var(--rt-zemin));
}

.rt-hero-kapak {
	position: absolute;
	inset: -8% 0 0;
	z-index: 0;
	will-change: transform;
}

.rt-hero-kapak img {
	width: 100%;
	height: 116%;
	object-fit: cover;
	filter: grayscale(0.55) contrast(1.06);
}

.rt-hero-kapak::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, calc(var(--rt-kapak-karartma) * 0.75)), var(--rt-zemin) 96%),
		linear-gradient(90deg, rgba(0, 0, 0, var(--rt-kapak-karartma)), transparent 78%);
}

.rt-hero-isik {
	position: absolute;
	top: -160px;
	right: -80px;
	width: 620px;
	height: 620px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(var(--rt-vurgu-rgb), 0.18), transparent 62%);
	filter: blur(10px);
	pointer-events: none;
	animation: rt-suzul 14s ease-in-out infinite alternate;
	z-index: 0;
}

@keyframes rt-suzul {
	from {
		transform: translate3d(0, 0, 0) scale(1);
	}
	to {
		transform: translate3d(-60px, 50px, 0) scale(1.12);
	}
}

.rt-hero-ic {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	align-items: center;
	gap: clamp(24px, 5vw, 72px);
}

.rt-hero-baslik {
	font-size: clamp(2.5rem, 6.4vw, 5rem);
	margin-bottom: 20px;
}

.rt-hero-metin {
	max-width: 52ch;
	font-size: clamp(1rem, 1.6vw, 1.16rem);
	color: rgba(var(--rt-metin-rgb), 0.88);
}

/* Sayfa açılış hareketi */
.rt-giris {
	opacity: 0;
	transform: translateY(18px);
	animation: rt-yukari-gel 0.72s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	animation-delay: var(--rt-gecikme, 0ms);
}

@keyframes rt-yukari-gel {
	to {
		opacity: 1;
		transform: none;
	}
}

/* ============================================================
   6. İmza öğesi: kendini çizen raf cephesi
   ============================================================ */

.rt-cizim {
	position: relative;
	color: var(--rt-cizgi);
}

.rt-cizim-svg {
	width: 100%;
	height: auto;
	overflow: visible;
	filter: drop-shadow(0 0 24px rgba(var(--rt-cizgi-rgb), 0.18));
	animation: rt-cizim-sallan 9s ease-in-out infinite alternate;
}

@keyframes rt-cizim-sallan {
	from {
		transform: translateY(-6px);
	}
	to {
		transform: translateY(8px);
	}
}

.rt-cizim .rt-c {
	stroke-dasharray: 1200;
	stroke-dashoffset: 1200;
	animation: rt-ciz 1.5s cubic-bezier(0.65, 0, 0.35, 1) forwards;
}

@keyframes rt-ciz {
	to {
		stroke-dashoffset: 0;
	}
}

.rt-cizim-ana .rt-c {
	animation-delay: 0.15s;
}

.rt-cizim-travers .rt-c {
	animation-delay: 0.45s;
}

.rt-cizim-capraz .rt-c {
	opacity: 0.6;
	animation-delay: 0.75s;
}

.rt-cizim-palet .rt-c {
	opacity: 0.85;
	animation-delay: 1s;
}

.rt-cizim-olcu {
	opacity: 0.72;
}

.rt-cizim-olcu .rt-c {
	animation-delay: 1.2s;
}

.rt-cizim-nokta .rt-c {
	stroke: none;
	fill: var(--rt-vurgu);
	animation: rt-nokta-gel 0.5s ease forwards;
	animation-delay: 1.6s;
	opacity: 0;
}

@keyframes rt-nokta-gel {
	to {
		opacity: 1;
	}
}

.rt-c-yazi {
	font-family: "IBM Plex Mono", monospace;
	font-size: 13px;
	letter-spacing: 0.1em;
	opacity: 0;
	animation: rt-nokta-gel 0.7s ease forwards;
	animation-delay: 1.45s;
}

.rt-c-yazi--vurgu {
	fill: var(--rt-vurgu);
	font-size: 14px;
}

/* Çizim üzerinde gezinen tarama çizgisi */
.rt-cizim-parilti {
	position: absolute;
	left: 6%;
	right: 6%;
	top: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, rgba(var(--rt-vurgu-rgb), 0.85), transparent);
	filter: blur(0.5px);
	opacity: 0;
	animation: rt-tara 5.5s ease-in-out 2s infinite;
	pointer-events: none;
}

@keyframes rt-tara {
	0% {
		top: 8%;
		opacity: 0;
	}
	12% {
		opacity: 0.9;
	}
	78% {
		opacity: 0.9;
	}
	100% {
		top: 92%;
		opacity: 0;
	}
}

/* ============================================================
   7. Kayan şerit
   ============================================================ */

.rt-serit {
	position: relative;
	padding: 14px 0;
	border-top: 1px solid rgba(var(--rt-cizgi-rgb), 0.18);
	border-bottom: 1px solid rgba(var(--rt-cizgi-rgb), 0.18);
	background: rgba(var(--rt-cizgi-rgb), 0.04);
	overflow: hidden;
}

.rt-serit-ray {
	display: flex;
	width: max-content;
	animation: rt-serit-kay 42s linear infinite;
}

.rt-serit-metin {
	padding-right: 48px;
	color: rgba(var(--rt-metin-rgb), 0.72);
	white-space: nowrap;
}

@keyframes rt-serit-kay {
	to {
		transform: translateX(-33.333%);
	}
}

.rt-serit:hover .rt-serit-ray {
	animation-play-state: paused;
}

/* ============================================================
   8. Kartlar
   ============================================================ */

.rt-kartlar {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
	gap: clamp(14px, 2vw, 22px);
}

.rt-kart {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 26px 24px 22px;
	background: linear-gradient(160deg, var(--rt-yuzey-ust), var(--rt-yuzey));
	border: 1px solid rgba(var(--rt-cizgi-rgb), 0.28);
	color: var(--rt-metin);
	overflow: hidden;
	transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.3s ease, box-shadow 0.3s ease;
}

.rt-kart::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(320px circle at var(--rt-mx, 50%) var(--rt-my, 0%), rgba(var(--rt-cizgi-rgb), 0.16), transparent 65%);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

.rt-kart:hover {
	transform: translateY(-6px);
	border-color: rgba(var(--rt-cizgi-rgb), 0.6);
	box-shadow: 0 22px 48px -26px rgba(0, 0, 0, 0.9);
	color: var(--rt-metin);
}

.rt-kart:hover::before {
	opacity: 1;
}

/* Köşe braketleri */
.rt-kart-koseler::before,
.rt-kart-koseler::after {
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	border: 1px solid var(--rt-vurgu);
	opacity: 0;
	transition: opacity 0.28s ease, transform 0.28s ease;
}

.rt-kart-koseler::before {
	top: 8px;
	left: 8px;
	border-right: 0;
	border-bottom: 0;
	transform: translate(6px, 6px);
}

.rt-kart-koseler::after {
	right: 8px;
	bottom: 8px;
	border-left: 0;
	border-top: 0;
	transform: translate(-6px, -6px);
}

.rt-kart:hover .rt-kart-koseler::before,
.rt-kart:hover .rt-kart-koseler::after {
	opacity: 1;
	transform: none;
}

.rt-kart-etiket {
	color: var(--rt-vurgu);
	margin: 0;
}

.rt-kart-cizim {
	display: block;
	margin: 4px 0 6px;
	color: rgba(var(--rt-cizgi-rgb), 0.5);
	transition: color 0.3s ease, transform 0.4s ease;
}

.rt-kart-cizim svg {
	width: 130px;
	max-width: 60%;
	height: auto;
}

.rt-kart:hover .rt-kart-cizim {
	color: var(--rt-cizgi);
	transform: translateX(4px);
}

.rt-kart-baslik {
	font-size: 1.6rem;
	margin: 0;
}

.rt-kart-baslik a {
	color: inherit;
}

.rt-kart-metin {
	margin: 0;
	font-size: 0.95rem;
	color: rgba(var(--rt-metin-rgb), 0.84);
}

.rt-kart-git {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding-top: 16px;
	font-family: "IBM Plex Mono", monospace;
	font-size: 0.74rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rt-cizgi);
}

.rt-kart-git svg {
	width: 18px;
	transition: transform 0.25s ease;
}

.rt-kart:hover .rt-kart-git svg {
	transform: translateX(5px);
}

.rt-kart--yazi .rt-kart-gorsel img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	margin-bottom: 8px;
}

/* ============================================================
   9. Adımlar
   ============================================================ */

.rt-bolum--adimlar {
	background: linear-gradient(180deg, var(--rt-zemin), var(--rt-zemin-alt));
	border-top: 1px solid rgba(var(--rt-cizgi-rgb), 0.1);
}

.rt-adimlar {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: clamp(18px, 3vw, 40px);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: rt-adim;
}

.rt-adim {
	position: relative;
	padding-top: 26px;
	border-top: 1px solid rgba(var(--rt-cizgi-rgb), 0.24);
}

.rt-adim::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 0;
	height: 2px;
	background: var(--rt-vurgu);
	transition: width 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s;
}

.rt-adim.is-gorunur::before {
	width: 42px;
}

.rt-adim-no {
	display: block;
	margin-bottom: 12px;
	color: var(--rt-vurgu);
	font-size: 0.9rem;
	letter-spacing: 0.2em;
}

.rt-adim-baslik {
	font-size: 1.7rem;
	margin-bottom: 8px;
}

.rt-adim-metin {
	margin: 0;
	color: rgba(var(--rt-metin-rgb), 0.86);
	font-size: 0.97rem;
}

/* ============================================================
   10. Sayılar
   ============================================================ */

.rt-bolum--sayac {
	padding: clamp(40px, 5vw, 72px) 0;
	border-top: 1px solid rgba(var(--rt-cizgi-rgb), 0.12);
	border-bottom: 1px solid rgba(var(--rt-cizgi-rgb), 0.12);
}

.rt-sayaclar {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: clamp(18px, 3vw, 36px);
}

.rt-sayac-sayi {
	display: flex;
	align-items: baseline;
	gap: 7px;
	margin: 0 0 6px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: clamp(2.6rem, 5vw, 3.8rem);
	font-weight: 700;
	line-height: 1;
	color: var(--rt-metin);
}

.rt-sayac-birim {
	color: var(--rt-vurgu);
	font-size: 0.8rem;
	letter-spacing: 0.14em;
}

.rt-sayac-etiket {
	margin: 0;
	max-width: 26ch;
	color: rgba(var(--rt-metin-rgb), 0.8);
	font-size: 0.9rem;
	line-height: 1.5;
}

/* ============================================================
   11. Kapanış çağrısı
   ============================================================ */

.rt-cta {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 26px;
	padding: clamp(28px, 4vw, 48px);
	background:
		radial-gradient(700px 300px at 10% 0%, rgba(var(--rt-birincil-rgb), 0.22), transparent 70%),
		var(--rt-yuzey);
	border: 1px solid rgba(var(--rt-cizgi-rgb), 0.2);
	overflow: hidden;
}

.rt-cta-cizgi {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: linear-gradient(180deg, var(--rt-vurgu), transparent);
}

.rt-cta-yazi {
	max-width: 54ch;
}

.rt-cta-baslik {
	font-size: clamp(1.7rem, 3.4vw, 2.6rem);
	margin-bottom: 8px;
}

.rt-cta-metin {
	margin: 0;
	color: rgba(var(--rt-metin-rgb), 0.86);
}

/* ============================================================
   12. İçerik / WordPress temel biçimleri
   ============================================================ */

.rt-sayfa-bas {
	margin-bottom: clamp(26px, 4vw, 44px);
	padding-top: clamp(10px, 3vw, 28px);
}

.rt-sayfa-baslik {
	font-size: clamp(2.1rem, 5vw, 3.6rem);
	margin: 0;
}

.rt-tek-gorsel {
	margin: 0 0 32px;
	border: 1px solid rgba(var(--rt-cizgi-rgb), 0.18);
}

.rt-icerik {
	font-size: 1.02rem;
}

.rt-icerik h2 {
	font-size: clamp(1.7rem, 3vw, 2.3rem);
	margin-top: 1.8em;
}

.rt-icerik h3 {
	font-size: 1.5rem;
	margin-top: 1.6em;
}

.rt-icerik a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.rt-icerik ul,
.rt-icerik ol {
	padding-left: 1.35rem;
	margin-bottom: 1.2em;
}

.rt-icerik li {
	margin-bottom: 0.45em;
}

.rt-icerik blockquote {
	margin: 1.6em 0;
	padding: 4px 0 4px 22px;
	border-left: 2px solid var(--rt-vurgu);
	color: rgba(var(--rt-metin-rgb), 0.92);
	font-size: 1.1rem;
}

.rt-icerik code,
.rt-icerik kbd {
	padding: 2px 6px;
	background: rgba(var(--rt-cizgi-rgb), 0.1);
	font-family: "IBM Plex Mono", monospace;
	font-size: 0.9em;
}

.rt-icerik pre {
	padding: 18px;
	background: var(--rt-yuzey);
	border: 1px solid rgba(var(--rt-cizgi-rgb), 0.16);
	overflow-x: auto;
}

.rt-icerik table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1.4em;
	font-size: 0.95rem;
}

.rt-icerik th,
.rt-icerik td {
	padding: 10px 12px;
	border: 1px solid rgba(var(--rt-cizgi-rgb), 0.18);
	text-align: left;
}

.rt-icerik th {
	background: rgba(var(--rt-cizgi-rgb), 0.08);
	font-family: "Barlow Condensed", sans-serif;
	font-size: 1.05rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.rt-icerik img {
	height: auto;
}

.alignleft {
	float: left;
	margin: 0 24px 18px 0;
}

.alignright {
	float: right;
	margin: 0 0 18px 24px;
}

.aligncenter {
	margin: 0 auto 18px;
}

.alignwide {
	width: min(1100px, 96vw);
	max-width: none;
	margin-left: calc(50% - min(550px, 48vw));
}

.wp-caption-text,
.wp-element-caption {
	margin-top: 8px;
	color: rgba(var(--rt-metin-rgb), 0.72);
	font-family: "IBM Plex Mono", monospace;
	font-size: 0.78rem;
}

.rt-sayfa-baglantilari,
.rt-gezinti {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	margin-top: 42px;
	padding-top: 22px;
	border-top: 1px solid rgba(var(--rt-cizgi-rgb), 0.16);
	font-family: "Barlow Condensed", sans-serif;
	font-size: 1.15rem;
	text-transform: uppercase;
}

/* Sayfalama */
.rt-govde .navigation.pagination {
	margin-top: 46px;
}

.rt-govde .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.rt-govde .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 10px;
	border: 1px solid rgba(var(--rt-cizgi-rgb), 0.24);
	color: var(--rt-metin);
	font-family: "IBM Plex Mono", monospace;
	font-size: 0.85rem;
}

.rt-govde .page-numbers.current,
.rt-govde .page-numbers:hover {
	background: var(--rt-vurgu);
	border-color: var(--rt-vurgu);
	color: #0b0f14;
}

/* Arama / boş durum */
.rt-arama {
	display: flex;
	gap: 10px;
	max-width: 460px;
	margin-top: 18px;
}

.rt-arama-girdi {
	flex: 1;
	min-width: 0;
}

.rt-bos {
	padding: 40px 0;
}

.rt-404 {
	position: relative;
	z-index: 2;
	padding: clamp(30px, 6vw, 70px) 0;
}

/* Form öğeleri
   Yalnızca temaya ait alanlar biçimlendirilir. Eklentilerin kendi form
   alanlarına (teklif ve hesaplama araçları) dokunulmaz; aksi halde koyu tema
   metin rengi eklentinin açık zeminli kutularında okunmaz hale gelir. */
.rt-arama input[type="search"],
.rt-parola-form input[type="password"],
.rt-govde .comment-form input[type="text"],
.rt-govde .comment-form input[type="email"],
.rt-govde .comment-form input[type="url"],
.rt-govde .comment-form textarea,
.rt-widget input[type="text"],
.rt-widget input[type="search"],
.rt-widget input[type="email"],
.rt-widget select {
	width: 100%;
	padding: 13px 15px;
	background: rgba(var(--rt-cizgi-rgb), 0.06);
	border: 1px solid rgba(var(--rt-cizgi-rgb), 0.38);
	color: var(--rt-metin);
	font-family: inherit;
	font-size: 1rem;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.rt-arama input[type="search"]::placeholder,
.rt-parola-form input[type="password"]::placeholder,
.rt-govde .comment-form input::placeholder,
.rt-govde .comment-form textarea::placeholder {
	color: rgba(var(--rt-metin-rgb), 0.55);
}

.rt-arama input[type="search"]:focus,
.rt-parola-form input[type="password"]:focus,
.rt-govde .comment-form input:focus,
.rt-govde .comment-form textarea:focus,
.rt-widget select:focus {
	border-color: var(--rt-cizgi);
	background: rgba(var(--rt-cizgi-rgb), 0.1);
	outline: none;
}

/* Yorumlar */
.rt-yorumlar {
	margin-top: 56px;
	padding-top: 32px;
	border-top: 1px solid rgba(var(--rt-cizgi-rgb), 0.16);
}

.rt-yorum-liste,
.rt-yorum-liste .children {
	list-style: none;
	padding-left: 0;
}

.rt-yorum-liste .children {
	padding-left: 22px;
	border-left: 1px solid rgba(var(--rt-cizgi-rgb), 0.14);
}

.rt-yorum-liste li {
	margin-bottom: 22px;
}

.rt-govde .comment-form input[type="submit"] {
	width: auto;
	padding: 14px 26px;
	background: var(--rt-vurgu);
	border: 0;
	color: #0b0f14;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 1.1rem;
	text-transform: uppercase;
	cursor: pointer;
}

/* ============================================================
   13. Alt bölüm
   ============================================================ */

.rt-alt {
	position: relative;
	padding: clamp(44px, 6vw, 76px) 0 28px;
	background: var(--rt-zemin-alt);
	border-top: 1px solid rgba(var(--rt-cizgi-rgb), 0.16);
}

.rt-alt-izgara {
	display: grid;
	grid-template-columns: minmax(240px, 1.4fr) repeat(auto-fit, minmax(160px, 1fr));
	gap: clamp(24px, 4vw, 48px);
}

.rt-alt-metin {
	margin-top: 16px;
	max-width: 38ch;
	color: rgba(var(--rt-metin-rgb), 0.78);
	font-size: 0.94rem;
}

.rt-alt-baslik {
	margin: 0 0 14px;
	color: var(--rt-cizgi);
}

.rt-alt-liste {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rt-alt-liste li {
	margin-bottom: 10px;
}

.rt-alt-liste a {
	color: rgba(var(--rt-metin-rgb), 0.86);
	font-size: 0.95rem;
}

.rt-alt-liste a:hover {
	color: var(--rt-vurgu);
}

.rt-alt-adres {
	color: rgba(var(--rt-metin-rgb), 0.78);
	font-size: 0.93rem;
}

.rt-alt-widget {
	margin-top: 36px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 26px;
}

.rt-widget-baslik {
	font-size: 1.2rem;
	text-transform: uppercase;
}

.rt-alt-son {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: clamp(30px, 4vw, 52px);
	padding-top: 20px;
	border-top: 1px solid rgba(var(--rt-cizgi-rgb), 0.2);
	color: rgba(var(--rt-metin-rgb), 0.7);
}

.rt-alt-son p {
	margin: 0;
}

.rt-kunye a {
	color: var(--rt-metin);
	border-bottom: 1px solid var(--rt-vurgu);
}

.rt-ayirac {
	opacity: 0.5;
	padding: 0 4px;
}

.rt-yukari {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 50;
	width: 46px;
	height: 46px;
	display: grid;
	place-items: center;
	background: var(--rt-vurgu);
	border: 0;
	color: #0b0f14;
	cursor: pointer;
	opacity: 0;
	transform: translateY(14px);
	pointer-events: none;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.rt-yukari svg {
	width: 18px;
}

.rt-yukari.is-gorunur {
	opacity: 1;
	transform: none;
	pointer-events: auto;
}

/* ============================================================
   14. Parola giriş ekranı
   ============================================================ */

.rt-parola {
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: center;
	padding: 40px 0;
}

.rt-parola-govde {
	min-height: 100vh;
}

.rt-giris-ekran {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	padding: clamp(20px, 4vw, 40px);
	background:
		radial-gradient(900px 500px at 70% 0%, rgba(var(--rt-birincil-rgb), 0.24), transparent 70%),
		linear-gradient(180deg, var(--rt-zemin-alt), var(--rt-zemin));
	overflow: hidden;
}

.rt-giris-kapak {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.rt-giris-kapak img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(0.6) blur(2px);
	transform: scale(1.04);
}

.rt-giris-kapak::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.9));
}

.rt-giris-ust {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.rt-giris-cikis {
	color: rgba(var(--rt-metin-rgb), 0.78);
}

.rt-giris-ekran .rt-parola {
	flex: 1;
	align-items: center;
}

.rt-giris-alt {
	position: relative;
	z-index: 3;
	color: rgba(var(--rt-metin-rgb), 0.68);
	text-align: center;
}

.rt-parola-kart {
	position: relative;
	width: 100%;
	max-width: 470px;
	padding: clamp(28px, 4vw, 42px);
	background: var(--rt-yuzey);
	background: color-mix(in srgb, var(--rt-yuzey) 92%, transparent);
	border: 1px solid rgba(var(--rt-cizgi-rgb), 0.24);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.9);
}

.rt-parola-kart::before,
.rt-parola-kart::after {
	content: "";
	position: absolute;
	width: 22px;
	height: 22px;
	border: 1px solid var(--rt-vurgu);
}

.rt-parola-kart::before {
	top: -1px;
	left: -1px;
	border-right: 0;
	border-bottom: 0;
}

.rt-parola-kart::after {
	right: -1px;
	bottom: -1px;
	border-left: 0;
	border-top: 0;
}

.rt-parola-kilit {
	display: block;
	width: 40px;
	margin-bottom: 20px;
	color: var(--rt-vurgu);
}

.rt-parola-kilit svg {
	width: 100%;
	animation: rt-kilit 4s ease-in-out infinite;
}

@keyframes rt-kilit {
	0%, 88%, 100% {
		transform: none;
	}
	91% {
		transform: translateX(-2px) rotate(-2deg);
	}
	94% {
		transform: translateX(2px) rotate(2deg);
	}
	97% {
		transform: translateX(-1px);
	}
}

.rt-parola-kod {
	margin: 0 0 10px;
	color: var(--rt-cizgi);
}

.rt-parola-baslik {
	font-size: clamp(1.7rem, 3.4vw, 2.3rem);
	margin-bottom: 12px;
}

.rt-parola-sayfa {
	margin: 0 0 12px;
	padding: 9px 12px;
	background: rgba(var(--rt-cizgi-rgb), 0.07);
	border-left: 2px solid rgba(var(--rt-cizgi-rgb), 0.5);
	font-size: 0.95rem;
}

.rt-parola-sayfa .rt-mono {
	display: block;
	color: rgba(var(--rt-metin-rgb), 0.5);
}

.rt-parola-metin {
	color: rgba(var(--rt-metin-rgb), 0.86);
	font-size: 0.96rem;
}

.rt-parola-hata {
	margin: 0 0 16px;
	padding: 11px 14px;
	background: rgba(var(--rt-vurgu-rgb), 0.12);
	border-left: 2px solid var(--rt-vurgu);
	color: var(--rt-metin);
	font-size: 0.92rem;
	animation: rt-titre 0.4s ease;
}

@keyframes rt-titre {
	0%, 100% {
		transform: translateX(0);
	}
	25% {
		transform: translateX(-6px);
	}
	75% {
		transform: translateX(6px);
	}
}

.rt-parola-form {
	margin-top: 22px;
}

.rt-parola-etiket {
	display: block;
	margin-bottom: 8px;
	font-family: "IBM Plex Mono", monospace;
	font-size: 0.74rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(var(--rt-metin-rgb), 0.78);
}

.rt-parola-satir {
	display: flex;
	gap: 10px;
}

.rt-parola-satir input {
	flex: 1;
	min-width: 0;
	letter-spacing: 0.2em;
}

.rt-parola-satir .rt-btn {
	flex: 0 0 auto;
}

.rt-parola-yardim {
	margin: 18px 0 0;
	font-family: "IBM Plex Mono", monospace;
	font-size: 0.76rem;
	letter-spacing: 0.06em;
	color: rgba(var(--rt-metin-rgb), 0.72);
}

/* Sayfa içinde (tam ekran kapalıyken) */
.rt-icerik .rt-parola {
	padding: 0;
	justify-content: flex-start;
}

/* ============================================================
   15. Açık zeminli içerik adası (araç sayfaları)
   Teklif/hesaplama eklentileri açık zemin için tasarlandığından, bu bölümde
   renk değişkenleri yerel olarak ters çevrilir; tema kendi biçimlerini
   otomatik olarak koyu metin/açık zemin düzeninde yeniden üretir.
   ============================================================ */

.rt-acik {
	--rt-zemin: #F3F6FA;
	--rt-zemin-alt: #E8EEF6;
	--rt-yuzey: #FFFFFF;
	--rt-yuzey-ust: #FFFFFF;
	--rt-metin: #16202D;
	--rt-metin-rgb: 22, 32, 45;
	--rt-cizgi: #1A6BB4;
	--rt-cizgi-rgb: 26, 107, 180;
	background: #FFFFFF;
	color: var(--rt-metin);
}

.rt-acik .rt-sayfa-baslik,
.rt-acik .rt-icerik h2,
.rt-acik .rt-icerik h3,
.rt-acik .rt-icerik h4 {
	color: var(--rt-metin);
}

.rt-acik .rt-etiket {
	color: var(--rt-birincil);
}

.rt-acik .rt-icerik a {
	color: var(--rt-birincil);
}

.rt-acik .rt-icerik a:hover {
	color: var(--rt-vurgu-koyu);
}

.rt-acik .rt-icerik pre,
.rt-acik .rt-icerik code {
	background: #F3F6FA;
}

.rt-acik .rt-gezinti,
.rt-acik .rt-sayfa-baglantilari,
.rt-acik .rt-yorumlar {
	border-color: rgba(var(--rt-cizgi-rgb), 0.22);
}

/* Araç eklentileri geniş tablolar üretiyor: açık zeminde içerik alanı genişler */
.rt-acik .rt-dar {
	max-width: 1120px;
}

.rt-acik .rt-icerik {
	color: var(--rt-metin);
}

/* Açık ada koyu sayfanın içinde kart gibi durur */
.rt-bolum.rt-acik {
	margin: 0;
	border-top: 1px solid rgba(var(--rt-cizgi-rgb), 0.18);
	border-bottom: 1px solid rgba(var(--rt-cizgi-rgb), 0.18);
}

/* ============================================================
   16. Görünürlük hareketi
   ============================================================ */

[data-rt-reveal] {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-rt-reveal].is-gorunur {
	opacity: 1;
	transform: none;
}

.rt-kartlar [data-rt-reveal]:nth-child(2) {
	transition-delay: 0.09s;
}

.rt-kartlar [data-rt-reveal]:nth-child(3) {
	transition-delay: 0.18s;
}

.rt-kartlar [data-rt-reveal]:nth-child(4) {
	transition-delay: 0.27s;
}

.rt-adimlar [data-rt-reveal]:nth-child(2),
.rt-sayaclar [data-rt-reveal]:nth-child(2) {
	transition-delay: 0.1s;
}

.rt-adimlar [data-rt-reveal]:nth-child(3),
.rt-sayaclar [data-rt-reveal]:nth-child(3) {
	transition-delay: 0.2s;
}

.rt-sayaclar [data-rt-reveal]:nth-child(4) {
	transition-delay: 0.3s;
}

/* ============================================================
   17. Duyarlı yerleşim
   ============================================================ */

/* Tablet */
@media (max-width: 1024px) {
	.rt-menu {
		display: none;
	}

	.rt-menu-dugme {
		display: block;
	}

	/* Üst menü gizlendiğinde boşluğu eylem alanı devralır:
	   logo solda, menü düğmesi sağda kalır. */
	.rt-ust-eylem {
		margin-left: auto;
	}

	.rt-hero-ic {
		grid-template-columns: 1fr;
	}

	.rt-hero-cizim {
		order: -1;
		max-width: 420px;
	}

	.rt-cizim-svg {
		animation: none;
	}

	.rt-alt-izgara {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Mobil */
@media (max-width: 782px) {
	body {
		font-size: 15.5px;
	}

	.rt-ust-ic {
		height: 72px;
	}

	.rt-cekmece {
		inset: 72px 0 0;
	}

	.rt-ust-eylem .rt-btn {
		display: none;
	}

	.rt-hero {
		padding-top: 36px;
	}

	.rt-hero-cizim {
		max-width: 300px;
		margin: 0 auto;
	}

	.rt-butonlar {
		flex-direction: column;
		align-items: stretch;
	}

	.rt-btn {
		width: 100%;
	}

	.rt-kartlar {
		grid-template-columns: 1fr;
	}

	.rt-cta {
		flex-direction: column;
		align-items: flex-start;
	}

	.rt-cta .rt-btn {
		width: 100%;
	}

	.rt-sayaclar {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rt-parola-satir {
		flex-direction: column;
	}

	.rt-parola-satir .rt-btn {
		width: 100%;
	}

	.alignleft,
	.alignright {
		float: none;
		margin: 0 0 18px;
	}

	.alignwide {
		width: 100%;
		margin-left: 0;
	}

	.rt-gezinti,
	.rt-alt-son {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 480px) {
	.rt-marka-ad {
		font-size: 1.15rem;
	}

	.rt-sayaclar {
		grid-template-columns: 1fr;
	}

	.rt-alt-izgara {
		grid-template-columns: 1fr;
	}

	.rt-serit-metin {
		padding-right: 28px;
	}
}

/* Hareketi azalt */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}

	.rt-giris,
	[data-rt-reveal] {
		opacity: 1;
		transform: none;
	}

	.rt-cizim .rt-c {
		stroke-dashoffset: 0;
	}

	.rt-cizim-nokta .rt-c,
	.rt-c-yazi {
		opacity: 1;
	}

	.rt-cizim-parilti {
		display: none;
	}
}

/* Yazdırma */
@media print {
	.rt-ust,
	.rt-cekmece,
	.rt-yukari,
	.rt-serit,
	.rt-izgara {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
	}
}
