/*
Theme Name:     Rebound Kitap
Theme URI:
Description:    Blocksy child theme — Rebound Danışmanlık kitap satış sitesi.
Author:         Rebound Danışmanlık
Author URI:
Template:       blocksy
Version:        2.0.6
*/

/* ===============================================================
   1. TASARIM BELİRTEÇLERİ

   Palet ve tipografi Blocksy "Book Store" başlangıç sitesinden
   (startersites.io/blocksy/book-store) örneklendi: beyaz zemin,
   neredeyse siyah başlık, gri gövde metni, tek bir turuncu vurgu.
   Önceki krem/lacivert/turkuaz şeması tamamen bırakıldı.
   =============================================================== */

:root {
	/* Vurgu — sitedeki tek renkli aksan.
	   ÖNEMLİ: #FF6310 parlak bir turuncu; beyaz yazıyla arası yalnız 2,98:1,
	   yani saf beyaz bile normal punto için AA'nın altında kalıyor. Bu yüzden
	   turuncu YALNIZ zemin/grafik olarak kullanılır, üstüne koyu mürekkep
	   yazılır. Turuncunun yazı olarak kullanılacağı yerler için ayrı ve koyu
	   bir ton var: --rb-accent-text. */
	--rb-accent:      #FF6310; /* zemin ve grafik */
	--rb-accent-soft: #FD7C47; /* koyu zeminde etiket */

	/* Açık zeminde turuncu YAZI için (üst etiketler, bağlantılar, ikonlar).
	   #B84A00 en koyu bölüm zeminimizde (#F4F5F6) 4,79:1, beyazda 5,23:1. */
	--rb-accent-text:      #B84A00;
	--rb-accent-text-dark: #8F3A00; /* üzerine gelince — beyazda 7,57:1 */

	/* Mürekkep: başlıklar neredeyse siyah, gövde metni gri */
	--rb-ink:      #111518; /* başlıklar, koyu zeminler, birincil buton */
	--rb-ink-soft: #687279; /* gövde metni — beyaz üzerinde 4,9:1 (AA) */

	/* Küçük punto etiketler (künye başlıkları, alıntı kaynağı, kahraman
	   künyesi). Referans sitedeki açık gri (#8A939A) burada 2,96:1 kalıyor
	   ve AA'yı geçmiyordu; en koyu bölüm zeminimizde (#F4F5F6) 4,5:1'i
	   geçen en açık ton seçildi. Hiyerarşi renkten değil punto ve
	   büyük harf kullanımından geliyor. */
	--rb-ink-mute: #656E75; /* #F4F5F6 üzerinde 4,76:1 */

	/* Yüzeyler: beyaz taban, iki kademe gri bölüm zemini */
	--rb-white:      #FFFFFF;
	--rb-surface:    #F8F9FA;
	--rb-surface-2:  #F4F5F6;
	--rb-line:       #E9EBEC;

	/* Koyu zemin üzerindeki metin */
	--rb-on-dark:     #D5D9DC;
	--rb-on-dark-dim: #98A1A7;

	/* Montserrat başlıklarda, Figtree gövdede — referans sitedeki eşleşme.
	   Yüklenmezse sistem yığınına düşer. */
	--rb-display: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	--rb-sans:    "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	/* Yarıçap: kartlar 15px, büyük yüzeyler 20px, butonlar tam hap.
	   Referans sitede buton yarıçapı 50px — tüm dönüşüm butonları hap. */
	--rb-radius:    15px;
	--rb-radius-lg: 20px;
	--rb-pill:      50px;

	/* Dört basamaklı boşluk ölçeği — tüm kart iç boşlukları buradan seçilir */
	--rb-pad-sm: 16px;
	--rb-pad-md: 24px;
	--rb-pad-lg: 32px;
	--rb-pad-xl: 40px;

	/* Referans sitede kartlar gölgesiz, 1px'lik çok açık kenarlıkla duruyor.
	   Gölge yalnız etkileşimde (hover) beliriyor. */
	--rb-shadow-sm: 0 1px 2px rgba(17, 21, 24, .04);
	--rb-shadow-md: 0 6px 24px rgba(17, 21, 24, .09);
	--rb-shadow-lg: 0 18px 44px rgba(17, 21, 24, .13);

	--rb-gap:     clamp(1.5rem, 3vw, 2rem);
	--rb-section: clamp(3.5rem, 7vw, 5rem); /* referans: 60–80px dikey */

	/* Dokunma hedefi alt sınırı (WCAG 2.2 AA) */
	--rb-tap: 44px;

	/* Blocksy palet değişkenleri — referans siteyle birebir */
	--theme-palette-color-1: #FF6310;
	--theme-palette-color-2: #FD7C47;
	--theme-palette-color-3: #687279;
	--theme-palette-color-4: #111518;
	--theme-palette-color-5: #E9EBEC;
	--theme-palette-color-6: #F4F5F6;
	--theme-palette-color-7: #F8F9FA;
	--theme-palette-color-8: #FFFFFF;

	--theme-link-initial-color: var(--rb-accent-text);
	--theme-link-hover-color: var(--rb-accent-text-dark);

	/* Blocksy butonlara `border-radius: var(--theme-button-border-radius, 3px)`
	   veriyor ve bu kural bizim sayfamızdan sonra yükleniyor; aynı özgüllükte
	   yazılan kendi yarıçapımız kaybediyordu. Değişkeni tanımlamak Blocksy'nin
	   kendi kuralını hap biçimine çeviriyor — özgüllük yarışına girmeden.
	   Yazı tipi de aynı nedenle değişkenle veriliyor: kendi font kuralımız
	   Blocksy'nin `--theme-button-font-family` kuralına kaybediyordu. */
	--theme-button-border-radius: var(--rb-pill);
	--theme-button-font-family: var(--rb-sans);
}

/* ===============================================================
   2. TEMEL TİPOGRAFİ
   =============================================================== */

/* `html body` — Blocksy sayfa zeminini `body` seçicisiyle ayarlıyor;
   bir kademe yüksek özgüllükle beyaz tabanı veriyoruz. */
html body {
	font-family: var(--rb-sans);
	color: var(--rb-ink-soft);
	background-color: var(--rb-white);
	-webkit-font-smoothing: antialiased;
}

/* Blocksy'nin main.min.css'i aynı özgüllükte font-family tanımlayıp bizden
   sonra yüklendiği için başlık seçicileri `body` ile bir kademe güçlendirildi. */
body h1, body h2, body h3, body h4, body h5, body h6,
body .entry-title,
body .woocommerce-loop-product__title,
body .product_title {
	font-family: var(--rb-display);
	color: var(--rb-ink);
	letter-spacing: -0.01em;
	line-height: 1.25;
	font-weight: 700;
}

.entry-content p {
	line-height: 1.75;
}

/* Uzun metinli sayfalarda okunur satır uzunluğu */
.page:not(.home) .entry-content > p,
.page:not(.home) .entry-content > ul,
.page:not(.home) .entry-content > ol,
.page:not(.home) .entry-content > h2,
.page:not(.home) .entry-content > h3 {
	max-width: 72ch;
}

.entry-content > h2 {
	margin-top: 2.6em;
	padding-bottom: .4em;
	border-bottom: 1px solid var(--rb-line);
	font-size: clamp(1.35rem, 2.4vw, 1.75rem);
}

.entry-content > h3 {
	margin-top: 2em;
	font-size: clamp(1.1rem, 1.9vw, 1.3rem);
}

.entry-content ul li,
.entry-content ol li {
	margin-bottom: .5em;
	line-height: 1.7;
}

/* `.button` dışarıda bırakıldı: sepete ekleme bağlantısı da bir <a> ve
   bu kural onu turuncu zemin üzerinde turuncu yazıya çeviriyordu. */
.entry-content a:not(.wp-block-button__link):not(.button):not(.rb-offer__btn) {
	color: var(--rb-accent-text);
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}

.entry-content a:not(.wp-block-button__link):not(.button):not(.rb-offer__btn):hover {
	color: var(--rb-accent-text-dark);
}

/* ===============================================================
   3. BAŞLIK (HEADER)
   =============================================================== */

/* DİKKAT: Blocksy'de açılır (offcanvas) panel de .ct-header sınıfını taşır,
   bu yüzden kurallar yalnız gerçek başlığa (#header) uygulanır. Blocksy
   `#header { position: relative }` tanımladığından kimlik seçicisi şart. */
#header.ct-header {
	background-color: rgba(255, 255, 255, .92);
	backdrop-filter: saturate(160%) blur(10px);
	border-bottom: 1px solid var(--rb-line);
}

/* Yapışkan başlık yalnız masaüstünde: dar ekranda ekranın çoğunu kaplardı */
@media (min-width: 1000px) {
	#header.ct-header {
		position: sticky;
		top: 0;
		z-index: 90;
	}

	.admin-bar #header.ct-header {
		top: 32px;
	}
}

/* Başlık satırının yüksekliği Blocksy'de `--height` değişkeninden gelir
   (`--header-height` değil). Varsayılan 120px, 46px'lik logo için fazla
   ferah kaçıyor ve yapışkan başlıkta ekranın çoğunu yiyordu. */
#header [data-row] .ct-container {
	--height: 84px;
}

@media (max-width: 999px) {
	#header [data-row] .ct-container {
		--height: 68px;
	}
}

#header.ct-header .site-branding img {
	max-height: 46px;
	width: auto;
}

#header.ct-header .menu > li > a {
	font-family: var(--rb-sans);
	font-weight: 600;
	color: var(--rb-ink);
	letter-spacing: .005em;
	display: inline-flex;
	align-items: center;
	min-height: var(--rb-tap); /* bağlantılar 21px yüksekliğindeydi */
}

#header.ct-header .menu > li > a:hover {
	color: var(--rb-accent-text);
}

/* Blocksy'nin açılır menü düğmesi 18×18px idi */
#header .ct-header-trigger,
#header [class*="ct-toggle"],
.ct-panel .ct-toggle-close {
	min-width: var(--rb-tap);
	min-height: var(--rb-tap);
	display: inline-grid;
	place-items: center;
}

/* --- Hesap ve sepet ikonları --- */

.rebound-menu-icon > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	position: relative;
	min-width: var(--rb-tap);
	min-height: var(--rb-tap);
}

.rebound-menu-account {
	margin-left: .5rem;
	padding-left: .75rem;
	border-left: 1px solid var(--rb-line);
}

.rebound-menu-icon .rebound-ikon {
	color: var(--rb-ink);
	transition: color .18s ease;
}

.rebound-menu-icon > a:hover .rebound-ikon {
	color: var(--rb-accent-text);
}

.rebound-cart-count {
	display: inline-grid;
	place-items: center;
	min-width: 19px;
	height: 19px;
	padding: 0 5px;
	border-radius: 999px;
	background-color: var(--rb-accent);
	color: var(--rb-ink);
	font-family: var(--rb-sans);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

.rebound-cart-count.is-empty {
	background-color: var(--rb-line);
	color: var(--rb-ink-soft);
}

/* Masaüstünde yalnız ikon; açılır menüde metin de görünsün */
.rebound-icon-label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.ct-panel .rebound-icon-label {
	position: static;
	width: auto;
	height: auto;
	clip: auto;
	clip-path: none;
}

.ct-panel .rebound-menu-account {
	margin-left: 0;
	padding-left: 0;
	border-left: 0;
}

/* ===============================================================
   4. SAYFA BAŞLIĞI ŞERİDİ

   Referans sitede iç sayfa başlıkları koyu bir kutuda değil, açık gri
   bir şeritte duruyor. Koyu lacivert şerit kaldırıldı.
   =============================================================== */

/* DİKKAT: Blocksy `.hero-section.is-width-constrained` işaretlemesini basıyor
   ama bu düzene ait genişlik kuralı yüklenmiyor; öğe 0 piksel genişlikte
   kalıyor. Genişliği ve iç düzeni burada açıkça veriyoruz. */
.hero-section {
	width: 100%;
	background-color: var(--rb-surface-2);
	border-bottom: 1px solid var(--rb-line);
	padding-block: clamp(2.5rem, 5vw, 3.75rem);
	margin-bottom: clamp(2rem, 5vw, 3.5rem);
	text-align: center;
}

.hero-section .entry-header {
	width: 100%;
	max-width: 1180px;
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 2.5rem);
}

.hero-section .entry-title,
.hero-section .page-title,
.hero-section h1 {
	width: auto;
	color: var(--rb-ink);
	font-size: clamp(1.9rem, 4.2vw, 2.75rem);
	margin: 0;
}

.hero-section .entry-meta,
.hero-section .entry-excerpt,
.hero-section p {
	color: var(--rb-ink-soft);
}

/* Şeritteki bağlantılar kırıntı yolu (breadcrumb). Parlak turuncu bu açık
   gri zeminde 2,73:1 kalıyordu; koyu turuncu tonu kullanılıyor. Dikey dolgu
   dokunma hedefini 20px'ten yükseltiyor. */
.hero-section a {
	display: inline-block;
	padding-block: 3px;
	color: var(--rb-accent-text);
}

.hero-section a:hover {
	color: var(--rb-accent-text-dark);
}

/* Ana sayfada kendi kahraman bölümümüz var, temanınki gereksiz */
body.home .hero-section,
body.home .entry-header {
	display: none;
}

/* Ana sayfadaki bölümler kendi dikey boşluklarını taşıyor; temanın içerik
   boşluğu başlıkla kahraman bölümü arasında 60px'lik bir aralık bırakıyordu. */
body.home #main .ct-container-full,
body.home #main .ct-container {
	--content-vertical-spacing: 0px;
}

body.home #main > .ct-container-full {
	padding-block: 0;
}

/* ===============================================================
   5. ANA SAYFA BÖLÜMLERİ

   Bölüm zeminleri referanstaki gibi dönüşümlü: beyaz → #F8F9FA →
   beyaz → #F4F5F6 … Koyu bant yalnız iki yerde (yazar ve kapanış).
   =============================================================== */

.rb-section {
	padding-block: var(--rb-section);
}

.rb-section__inner {
	max-width: 1180px;
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 2.5rem);
}

.rb-eyebrow {
	display: inline-block;
	margin: 0 0 .9rem;
	font-family: var(--rb-sans);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--rb-accent-text);
}

.rb-lead {
	font-size: clamp(1.03rem, 1.6vw, 1.18rem);
	line-height: 1.75;
	color: var(--rb-ink-soft);
}

/* Bölüm başlıkları tek ölçekte. */
.rb-about h2,
.rb-chapters h2,
.rb-book h2,
.rb-author h2,
.rb-specs h2,
.rb-faq h2,
.rb-cta h2 {
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	margin: 0 0 1.1rem;
}

/* Ortalanmış bölüm başlığı — referansta "Bestsellers of the week" ve
   "Best Rated Books" başlıkları ortada, altında tek satır açıklama. */
.rb-head-center {
	text-align: center;
	max-width: 640px;
	margin-inline: auto;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.rb-head-center p:last-child {
	margin-bottom: 0;
	color: var(--rb-ink-soft);
}

/* --- 5.1 Kahraman --- */

/* Referansta kahraman bölümü koyu değil, açık gri (#F8F9FA) zeminde. */
.rb-hero {
	background-color: var(--rb-surface);
	border-bottom: 1px solid var(--rb-line);
	overflow: hidden;
}

.rb-hero .rb-section__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	align-items: center;
	gap: clamp(2rem, 5vw, 4.5rem);
}

/* Kapak sağda — referansın metin solda / görsel sağda düzeni */
.rb-hero__cover {
	order: 2;
}

.rb-hero__body {
	order: 1;
}

.rb-hero__cover img {
	display: block;
	width: 100%;
	max-width: 340px;
	margin-inline: auto;
	border-radius: 4px var(--rb-radius) var(--rb-radius) 4px;
	box-shadow: var(--rb-shadow-lg);
	transition: transform .35s ease;
}

.rb-hero__cover img:hover {
	transform: translateY(-6px);
}

.rb-hero h1 {
	color: var(--rb-ink);
	font-size: clamp(2.1rem, 4.6vw, 3.4rem);
	line-height: 1.15;
	margin: 0 0 1rem;
}

.rb-hero p {
	color: var(--rb-ink-soft);
}

.rb-hero__lead {
	font-size: clamp(1.05rem, 1.7vw, 1.2rem);
	line-height: 1.72;
	max-width: 46ch;
}

.rb-hero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .5rem 1rem;
	margin: 1.75rem 0 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--rb-line);
}

.rb-hero__price {
	font-family: var(--rb-display);
	font-size: clamp(1.75rem, 3.2vw, 2.35rem);
	font-weight: 700;
	color: var(--rb-ink);
	line-height: 1;
}

.rb-hero__specs {
	font-size: .95rem;
	color: var(--rb-ink-mute);
}

.rb-hero__note {
	margin-top: 1.1rem;
	font-size: .875rem;
	color: var(--rb-ink-mute);
}

/* --- 5.2 Güven şeridi --- */

.rb-trust {
	background-color: var(--rb-white);
	border-bottom: 1px solid var(--rb-line);
	padding-block: clamp(2.25rem, 4vw, 3rem);
}

.rb-trust .rb-section__inner {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--rb-gap);
}

.rb-trust__item {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
}

/* Referansta ikonlar turuncu daire içinde; aynı biçim burada da. */
.rb-trust__item .rebound-ikon,
.rb-trust__item svg {
	flex: none;
	width: 44px;
	height: 44px;
	padding: 10px;
	border-radius: 50%;
	background-color: rgba(255, 99, 16, .10);
	color: var(--rb-accent-text);
}

.rb-trust__item h3 {
	margin: 0 0 .3rem;
	font-size: 1.02rem;
}

.rb-trust__item p {
	margin: 0;
	font-size: .92rem;
	line-height: 1.6;
	color: var(--rb-ink-soft);
}

/* --- 5.3 Kitap hakkında --- */

.rb-about {
	background-color: var(--rb-white);
}

/* Sütunları çekirdek blok kurar; hizalama ve boşluk burada ayarlanır */
.rb-about .wp-block-columns {
	gap: clamp(2rem, 5vw, 4rem);
	align-items: flex-start;
	margin-bottom: 0;
}

.rb-quote {
	position: relative;
	background-color: var(--rb-surface);
	border: 1px solid var(--rb-line);
	border-left: 4px solid var(--rb-accent);
	border-radius: var(--rb-radius);
	padding: var(--rb-pad-lg);
}

.rb-quote p {
	margin: 0;
	font-family: var(--rb-display);
	font-size: clamp(1.1rem, 2vw, 1.3rem);
	font-weight: 700;
	line-height: 1.5;
	color: var(--rb-ink);
}

.rb-quote cite {
	display: block;
	margin-top: 1rem;
	font-family: var(--rb-sans);
	font-size: .85rem;
	font-style: normal;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--rb-ink-mute);
}

/* --- 5.4 Kampanya şeridi ---
   Referanstaki "Save 20% Off Only This Holiday Season" turuncu kartının
   karşılığı: tek satırlık, turuncu, düğmeli kampanya bandı. */

.rb-offer {
	background-color: var(--rb-white);
	padding-block: 0;
}

.rb-offer__card {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem var(--rb-pad-lg);
	background-color: var(--rb-accent);
	border-radius: var(--rb-radius-lg);
	padding: var(--rb-pad-lg) var(--rb-pad-xl);
	color: #FFF;
}

/* DİKKAT: Turuncu (#FF6310) üzerinde beyaz metin yalnız 2,98:1 veriyor —
   saf beyaz bile normal punto için AA'nın altında. Bu yüzden kampanya
   bandındaki tüm metin koyu mürekkeple yazılıyor (6,16:1). */
.rb-offer__card h2 {
	margin: 0 0 .35rem;
	color: var(--rb-ink);
	font-size: clamp(1.3rem, 2.6vw, 1.75rem);
}

.rb-offer__card p {
	margin: 0;
	color: var(--rb-ink);
	max-width: 52ch;
}

/* Turuncu zeminde koyu hap düğme — beyaz düğme zemine karşı 2,98:1
   kalıyordu (arayüz bileşenleri için istenen sınır 3:1). */
.rb-offer__card .wp-block-button__link,
.rb-offer__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--rb-tap);
	padding: .85rem 1.9rem;
	border-radius: var(--rb-pill);
	background-color: var(--rb-ink);
	color: #FFF;
	font-family: var(--rb-sans);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: transform .16s ease, box-shadow .16s ease;
}

.rb-offer__btn:hover {
	transform: translateY(-2px);
	box-shadow: var(--rb-shadow-md);
	background-color: #000;
	color: #FFF;
}

/* --- 5.5 Bölümler / içindekiler ---
   Referansın kategori kartı ızgarasının karşılığı. */

.rb-chapters {
	background-color: var(--rb-surface);
}

.rb-chapters__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 1.15rem;
	margin-top: 2.25rem;
	counter-reset: rb-chapter;
	padding: 0;
	list-style: none;
}

.rb-chapters__grid li {
	counter-increment: rb-chapter;
	position: relative;
	background-color: var(--rb-white);
	border: 1px solid var(--rb-line);
	border-radius: var(--rb-radius);
	padding: var(--rb-pad-md);
	font-family: var(--rb-display);
	font-weight: 700;
	font-size: 1.02rem;
	line-height: 1.45;
	color: var(--rb-ink);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.rb-chapters__grid li:hover {
	transform: translateY(-3px);
	border-color: transparent;
	box-shadow: var(--rb-shadow-md);
}

.rb-chapters__grid li::before {
	content: counter(rb-chapter, decimal-leading-zero);
	display: block;
	margin-bottom: .7rem;
	font-family: var(--rb-sans);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	color: var(--rb-accent-text);
}

/* --- 5.6 Kitap kartı (WooCommerce ürünü) ---
   Referanstaki ürün ızgarasının tek ürünlük karşılığı. */

.rb-book {
	background-color: var(--rb-white);
}

.rb-book .woocommerce ul.products,
.rb-book ul.products {
	margin: 0;
}

/* --- 5.7 Yazar ---
   Referanstaki "Best Author Of The Month" koyu bandının karşılığı:
   koyu zemin, ortada alıntı, altında yazar künyesi. */

.rb-author {
	background-color: var(--rb-ink);
}

.rb-author__card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: center;
	padding: 0;
}

.rb-author__avatar {
	display: grid;
	place-items: center;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	background-color: var(--rb-accent);
	color: var(--rb-ink);
	font-family: var(--rb-display);
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: .02em;
}

.rb-author__card h2 {
	color: #FFF;
	margin: 0 0 .35rem;
	font-size: clamp(1.3rem, 2.4vw, 1.7rem);
}

.rb-author__role {
	margin: 0 0 .9rem;
	font-family: var(--rb-sans);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--rb-accent-soft);
}

.rb-author__card p:last-child {
	margin: 0;
	color: var(--rb-on-dark);
	line-height: 1.72;
}

/* --- 5.8 Künye --- */

.rb-specs {
	background-color: var(--rb-surface-2);
}

.rb-specs__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 1rem;
	margin-top: 2.25rem;
}

.rb-specs__item {
	background-color: var(--rb-white);
	border: 1px solid var(--rb-line);
	border-radius: var(--rb-radius);
	padding: var(--rb-pad-md);
}

.rb-specs__item dt {
	margin: 0 0 .35rem;
	font-family: var(--rb-sans);
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--rb-ink-mute);
}

.rb-specs__item dd {
	margin: 0;
	font-family: var(--rb-display);
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--rb-ink);
}

/* --- 5.9 Sık sorulanlar --- */

.rb-faq {
	background-color: var(--rb-white);
}

.rb-faq .wp-block-details {
	border: 1px solid var(--rb-line);
	border-radius: var(--rb-radius);
	background-color: var(--rb-white);
	padding: var(--rb-pad-md);
	margin-bottom: .85rem;
	max-width: none;
	transition: box-shadow .2s ease, border-color .2s ease;
}

.rb-faq .wp-block-details[open] {
	border-color: transparent;
	box-shadow: var(--rb-shadow-md);
}

.rb-faq .wp-block-details summary {
	font-family: var(--rb-display);
	font-size: 1.02rem;
	font-weight: 700;
	color: var(--rb-ink);
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	min-height: var(--rb-tap); /* dokunma hedefi — önceden 28px idi */
}

.rb-faq .wp-block-details summary::-webkit-details-marker {
	display: none;
}

.rb-faq .wp-block-details summary::after {
	content: "+";
	font-family: var(--rb-sans);
	font-size: 1.4rem;
	font-weight: 400;
	color: var(--rb-accent-text);
	line-height: 1;
	flex: none;
}

.rb-faq .wp-block-details[open] summary::after {
	content: "\2212";
}

.rb-faq .wp-block-details p {
	margin: .9rem 0 0;
	color: var(--rb-ink-soft);
	line-height: 1.72;
}

/* --- 5.10 Kapanış çağrısı --- */

.rb-cta {
	background-color: var(--rb-ink);
	text-align: center;
}

.rb-cta h2 {
	color: #FFF;
}

.rb-cta p {
	color: var(--rb-on-dark);
	max-width: 52ch;
	margin-inline: auto;
}

.rb-cta .wp-block-buttons {
	justify-content: center;
	margin-top: 1.75rem;
}

/* ===============================================================
   6. BUTONLAR

   Referans sitede tüm butonlar hap biçiminde (yarıçap 50px),
   birincil buton neredeyse siyah zeminli, 16px / 600 ağırlık.
   Turuncu yalnız sepete ekleme ve ödeme gibi dönüşüm adımlarında.
   =============================================================== */

.wp-block-button__link,
.ct-button,
.button,
button.single_add_to_cart_button {
	font-family: var(--rb-sans);
	font-weight: 600;
	border-radius: var(--rb-pill);
	letter-spacing: .01em;
	transition: transform .16s ease, background-color .16s ease, box-shadow .16s ease;
}

/* Blocksy buton ölçülerini `padding` ile değil kendi değişkenleriyle verir;
   değişkeni öğenin üzerinde tanımlamak :root'tan mirası geçersiz kılar. */
.wp-block-button__link,
.wp-element-button,
button.single_add_to_cart_button,
.checkout-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	--theme-button-padding: .9rem 1.9rem;
	--theme-button-min-height: 52px;
	font-size: 1rem;
	border-radius: var(--rb-pill);
}

.wp-block-button__link:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover {
	transform: translateY(-2px);
	box-shadow: var(--rb-shadow-md);
}

/* Dönüşüm butonları turuncu */
.single_add_to_cart_button,
.checkout-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background-color: var(--rb-ink) !important;
	border-color: var(--rb-ink) !important;
	color: #FFF !important;
}

.single_add_to_cart_button:hover,
.checkout-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background-color: #000 !important;
	border-color: #000 !important;
}

.rb-hero .wp-block-buttons,
.rb-cta .wp-block-buttons {
	gap: .75rem;
}

/* Açık zeminde birincil buton koyu (referanstaki "Shop Now") */
.rb-hero .wp-block-button:not(.rb-btn-ghost) .wp-block-button__link {
	background-color: var(--rb-ink);
	color: #FFF;
}

.rb-hero .wp-block-button:not(.rb-btn-ghost) .wp-block-button__link:hover {
	background-color: #000;
}

/* Koyu zeminde (kapanış çağrısı) birincil buton turuncu */
.rb-cta .wp-block-button:not(.rb-btn-ghost) .wp-block-button__link {
	background-color: var(--rb-accent);
	color: var(--rb-ink);
}

.rb-cta .wp-block-button:not(.rb-btn-ghost) .wp-block-button__link:hover {
	background-color: var(--rb-accent-soft);
	color: var(--rb-ink);
}

/* İkincil buton: açık zeminde çerçeveli (referanstaki "View Categories") */
.rb-hero .is-style-outline .wp-block-button__link,
.rb-hero .rb-btn-ghost .wp-block-button__link {
	background-color: transparent !important;
	color: var(--rb-ink) !important;
	border: 1px solid var(--rb-line) !important;
}

.rb-hero .is-style-outline .wp-block-button__link:hover,
.rb-hero .rb-btn-ghost .wp-block-button__link:hover {
	border-color: var(--rb-ink) !important;
	background-color: var(--rb-white) !important;
}

/* İkincil buton: koyu zeminde çerçeveli */
.rb-cta .is-style-outline .wp-block-button__link,
.rb-cta .rb-btn-ghost .wp-block-button__link {
	background-color: transparent !important;
	color: #FFF !important;
	border: 1px solid rgba(255, 255, 255, .35) !important;
}

.rb-cta .is-style-outline .wp-block-button__link:hover,
.rb-cta .rb-btn-ghost .wp-block-button__link:hover {
	border-color: #FFF !important;
	background-color: rgba(255, 255, 255, .10) !important;
}

/* ===============================================================
   7. WOOCOMMERCE
   =============================================================== */

.woocommerce span.onsale,
.ct-product-view .onsale {
	background-color: var(--rb-accent);
	color: var(--rb-ink);
	font-weight: 600;
	border-radius: var(--rb-pill);
}

/* `body` ile bir kademe güçlendirildi: Blocksy'nin woocommerce.min.css'i
   `.price { color: var(--theme-text-color) }` diyor ve bizden sonra
   yükleniyor; fiyat gri kalıyordu. */
body .price,
body .woocommerce-Price-amount {
	color: var(--rb-ink);
	font-weight: 700;
}

.product_title {
	font-size: clamp(1.6rem, 3vw, 2.2rem);
}

.woocommerce div.product .summary .price {
	font-family: var(--rb-display);
	font-weight: 700;
	font-size: clamp(1.5rem, 2.6vw, 1.9rem);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--rb-ink);
}

/* Kitap künyesi tablosu */
.woocommerce-product-attributes {
	border: 1px solid var(--rb-line);
	border-radius: var(--rb-radius);
	overflow: hidden;
	background-color: var(--rb-white);
}

.woocommerce-product-attributes th {
	color: var(--rb-ink);
	font-weight: 600;
	width: 34%;
	background-color: var(--rb-surface);
}

.woocommerce-product-attributes td,
.woocommerce-product-attributes th {
	padding: .8rem 1.1rem;
	border-bottom: 1px solid var(--rb-line);
}

.woocommerce-product-attributes tr:last-child td,
.woocommerce-product-attributes tr:last-child th {
	border-bottom: 0;
}

/* Ürün ızgarası — sabit 4 sütunda tek ürün satırın %77'sini boş bırakıyordu.
   Esnek sütunlar + ortalama ile az sayıda üründe de dolu görünür. */
.woocommerce ul.products,
.woocommerce-page ul.products {
	grid-template-columns: repeat(auto-fit, minmax(240px, 320px));
	justify-content: center;
	gap: var(--rb-pad-md);
}

/* Referanstaki ürün kartı: beyaz, 15px yarıçap, çok açık kenarlık,
   gölge yok — gölge yalnız hover'da. */
.woocommerce ul.products li.product {
	background-color: var(--rb-white);
	border: 1px solid rgba(17, 21, 24, .06);
	border-radius: var(--rb-radius);
	padding: 0 var(--rb-pad-sm) var(--rb-pad-sm);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	border-color: transparent;
	box-shadow: var(--rb-shadow-md);
}

/* Kapak görselleri kitap oranında (2:3) kırpılır — referansla aynı */
.woocommerce ul.products li.product img {
	aspect-ratio: 2 / 3;
	object-fit: cover;
	border-radius: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 1.05rem;
}

/* Izgaradaki "Sepete Ekle" bağlantısı: turuncu zemin, beyaz yazı.
   Açıkça yazılmazsa Blocksy'nin palet rengini zemin, bizim bağlantı
   rengimizi yazı olarak alıp turuncu üstüne turuncu yazıyordu. */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--rb-tap);
	padding: .7rem 1.5rem;
	border-radius: var(--rb-pill);
	background-color: var(--rb-ink);
	color: #FFF;
	font-family: var(--rb-sans);
	font-weight: 600;
	text-decoration: none;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .added_to_cart:hover {
	background-color: #000;
	color: #FFF;
}

/* Ürün başlığı, kategori bağlantısı ve yıldızlar Blocksy'nin palet
   renginden geliyordu; parlak turuncu yazı beyaz üzerinde 2,98:1 kalıyor. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product a:not(.button):not(.added_to_cart) {
	color: var(--rb-ink);
}

/* Kategori bağlantısı Blocksy'nin `.entry-meta` listesinde basılıyor. */
.woocommerce ul.products li.product .entry-meta a,
.woocommerce ul.products li.product .posted_in a {
	display: inline-block;
	padding-block: 5px; /* hedef yüksekliği 16px idi */
	color: var(--rb-accent-text);
	font-size: .82rem;
}

.woocommerce .star-rating,
.woocommerce .star-rating::before,
.woocommerce ul.products li.product .star-rating {
	color: var(--rb-accent-text);
}

/* Hesabım / giriş formları */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .woocommerce-ResetPassword {
	background-color: var(--rb-white);
	border: 1px solid var(--rb-line);
	border-radius: var(--rb-radius-lg);
	padding: clamp(1.5rem, 4vw, 2.25rem);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: inline-block;
	padding: .5rem 1rem;
	border: 1px solid var(--rb-line);
	border-radius: var(--rb-pill);
	background-color: var(--rb-white);
	font-size: .92rem;
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background-color: var(--rb-ink);
	border-color: var(--rb-ink);
	color: #FFF;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	border: 1px solid var(--rb-line);
	border-radius: 10px;
	padding: .7rem .9rem;
	background-color: var(--rb-white);
}

.woocommerce form .form-row input.input-text:focus {
	outline: 2px solid var(--rb-accent-text);
	outline-offset: 1px;
}

/* ===============================================================
   8. ALT BİLGİ
   =============================================================== */

/* Blocksy'nin kendi alt bilgisi gizlenir; kendi alt bilgimizi basıyoruz */
.ct-footer {
	display: none;
}

.rebound-footer {
	background-color: var(--rb-ink);
	color: var(--rb-on-dark);
	font-size: .93rem;
}

.rebound-footer__inner {
	max-width: 1180px;
	margin-inline: auto;
	padding: clamp(3rem, 6vw, 4.5rem) clamp(1.25rem, 4vw, 2.5rem);
	display: grid;
	grid-template-columns: 1.5fr 1fr 1.2fr 1.3fr;
	gap: clamp(1.75rem, 4vw, 3rem);
}

.rebound-footer__logo {
	width: 150px;
	height: auto;
	margin-bottom: 1rem;
}

.rebound-footer__brand p {
	margin: 0;
	color: var(--rb-on-dark-dim);
	line-height: 1.7;
	max-width: 34ch;
}

.rebound-footer__title {
	margin: 0 0 1.1rem;
	font-family: var(--rb-sans);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #FFF;
}

.rebound-footer__menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rebound-footer__menu li {
	margin-bottom: .35rem;
}

/* Bağlantı yüksekliği 19px idi; WCAG 2.2 "hedef boyutu" ölçütü için
   dikey dolgu ile 24px'in üstüne çıkarıldı. */
.rebound-footer__menu a {
	display: inline-block;
	padding-block: 3px;
	color: var(--rb-on-dark);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.rebound-footer__menu a:hover,
.rebound-footer__menu a:focus {
	color: #FFF;
	border-bottom-color: var(--rb-accent);
}

.rebound-footer__contact {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rebound-footer__contact li {
	display: flex;
	gap: .65rem;
	align-items: flex-start;
	margin-bottom: .85rem;
	color: var(--rb-on-dark-dim);
	line-height: 1.6;
}

.rebound-footer__contact .rebound-ikon {
	flex: none;
	width: 17px;
	height: 17px;
	margin-top: 3px;
	color: var(--rb-accent);
}

.rebound-footer__bar {
	border-top: 1px solid rgba(255, 255, 255, .10);
}

.rebound-footer__bar-inner {
	max-width: 1180px;
	margin-inline: auto;
	padding: 1.35rem clamp(1.25rem, 4vw, 2.5rem);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: .5rem 1.5rem;
}

.rebound-footer__bar p {
	margin: 0;
	font-size: .82rem;
	color: var(--rb-on-dark-dim);
}

/* ===============================================================
   8b. MOBİL HIZLI ERİŞİM (sepet + hesap)
   Menüdeki ikonlar dar ekranda açılır panele gizleniyor; sepet
   e-ticarette her zaman görünür olmalı.
   =============================================================== */

.rebound-hizli-erisim {
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 95;
	display: none;
	flex-direction: column;
	gap: 10px;
}

@media (max-width: 999px) {
	.rebound-hizli-erisim {
		display: flex;
	}
}

.rebound-hizli-erisim__btn {
	position: relative;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background-color: var(--rb-white);
	border: 1px solid var(--rb-line);
	box-shadow: var(--rb-shadow-md);
	color: var(--rb-ink);
	text-decoration: none;
}

.rebound-hizli-erisim__btn--cart {
	background-color: var(--rb-accent);
	border-color: var(--rb-accent);
	color: var(--rb-ink);
}

.rebound-hizli-erisim__btn .rebound-ikon {
	width: 22px;
	height: 22px;
}

.rebound-hizli-erisim__btn .rebound-cart-count {
	position: absolute;
	top: -2px;
	right: -2px;
	border: 2px solid var(--rb-white);
	background-color: var(--rb-ink);
	color: #FFF;
}

.rebound-hizli-erisim__btn .rebound-cart-count.is-empty {
	display: none;
}

/* Çerez bildirimi açıkken kümeyi yukarı it */
body.cookies-not-set .rebound-hizli-erisim {
	bottom: 96px;
}

/* ===============================================================
   9. ÇEREZ BİLDİRİMİ
   =============================================================== */

#cookie-notice {
	background-color: var(--rb-ink) !important;
}

/* Eklentinin kapatma düğmesi 20×20px idi */
#cookie-notice .cn-close-icon {
	width: 26px;
	height: 26px;
	display: grid;
	place-items: center;
}

#cookie-notice .cn-button:not(.cn-button-custom) {
	background-color: var(--rb-accent);
	color: var(--rb-ink);
	border-radius: var(--rb-pill);
	font-family: var(--rb-sans);
	font-weight: 600;
}

/* ===============================================================
   10. DUYARLI DAVRANIŞ
   =============================================================== */

@media (max-width: 900px) {
	.rb-hero .rb-section__inner {
		grid-template-columns: minmax(0, 1fr);
		text-align: center;
	}

	/* Dar ekranda sıra DEĞİŞMEZ: başlık ve "Kitabı Satın Al" üstte kalır.
	   Kapak öne alınsaydı buton ~250px aşağı kayıp ilk ekrandan çıkardı;
	   şu hâliyle buton 728px'de, yani 812px'lik ekranın içinde duruyor. */

	.rb-about .wp-block-columns {
		flex-wrap: wrap;
	}

	/* Kahraman bölümü mobilde 1221px yüksekliğindeydi ve "Kitabı Satın Al"
	   butonu 1112px'de, yani 812px'lik ekranın çok altında kalıyordu.
	   Kapak küçültülüp boşluklar sıkılaştırılarak buton ilk ekrana alındı. */
	.rb-hero {
		padding-block: 2.25rem;
	}

	.rb-hero__cover img {
		max-width: 168px;
		margin-bottom: .25rem;
	}

	.rb-hero .rb-section__inner {
		gap: 1.25rem;
	}

	.rb-hero h1 {
		font-size: clamp(1.65rem, 7vw, 2.1rem);
		margin-bottom: .6rem;
	}

	.rb-hero__lead {
		font-size: 1rem;
		line-height: 1.6;
		margin-inline: auto;
	}

	.rb-hero__meta {
		margin: 1rem 0;
		padding-top: 1rem;
		gap: .25rem .75rem;
		justify-content: center;
	}

	.rb-hero__note {
		margin-top: .8rem;
	}

	.rb-hero .wp-block-buttons {
		justify-content: center;
	}

	.rb-trust .rb-section__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.5rem;
	}

	.rb-offer__card {
		flex-direction: column;
		align-items: flex-start;
		padding: var(--rb-pad-lg);
	}

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

@media (max-width: 560px) {
	.rb-author__card {
		grid-template-columns: minmax(0, 1fr);
		text-align: center;
		justify-items: center;
	}

	.rebound-footer__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.rebound-footer__bar-inner {
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
}
