/* Floortrim UK — bileşen CSS 18/19: Uzun metin sayfaları (/pages, /policies), SSS akordeonu, kategori kartları, teslimat, iletişim formu; checkout ülke alanı.
   Yükleme sırası bağlayıcıdır: functions.php floortrim_uk_component_css_files(). */
/* ── UZUN METIN SAYFALARI (/pages/*, /policies/*) ────────────────────────────
   Olcu (satir uzunlugu) .ft-page KAPSAYICISINDAN gelir (48rem ~ 72 karakter).
   Sepet/odeme/hesap sayfalari da page.php kullanir ama deri almaz -> kurallar
   body.ft-skin-surface ile sinirli, onlara sizmaz. Govde metni --fg ile --bg
   arasinda karistirilir: koyuda parlamayan acik gri, acikta koyu grafit
   (--fg-muted uzun okumada acik temada 4,9:1 ile sinirdaydi). */
body.ft-skin-surface .ft-page {
	padding-top: clamp(3rem, 8vw, 6rem);
	padding-bottom: clamp(4rem, 9vw, 7rem);
	--ft-prose: var(--fg-muted);
	--ft-prose: color-mix(in oklab, var(--fg) 82%, var(--bg));
}

body.ft-skin-surface .ft-page__title {
	margin: 0 0 2.5rem;
	padding-bottom: 1.75rem;
	border-bottom: 1px solid var(--line);
	font-size: clamp(2.25rem, 5.2vw, 3.5rem);
	line-height: 1.05;
	letter-spacing: -0.024em;
	color: var(--fg);
	text-wrap: balance;
}

body.ft-skin-surface .ft-page p,
body.ft-skin-surface .ft-page li {
	font-size: 1.0625rem;
	line-height: 1.75;
	color: var(--ft-prose);
	text-wrap: pretty;
}

body.ft-skin-surface .ft-page p { margin: 0 0 1.125rem; }

body.ft-skin-surface .ft-page h2 {
	margin: 3rem 0 1rem;
	font-weight: 400;
	font-size: clamp(1.3125rem, 2.2vw, 1.625rem);
	line-height: 1.25;
	letter-spacing: -0.005em;
	color: var(--fg);
	scroll-margin-top: 6rem;
}

body.ft-skin-surface .ft-page h3 {
	margin: 2rem 0 0.75rem;
	font-weight: 500;
	font-size: 1.125rem;
	color: var(--fg);
}

body.ft-skin-surface .ft-page ul,
body.ft-skin-surface .ft-page ol {
	margin: 0 0 1.5rem;
	padding-left: 1.25rem;
}

body.ft-skin-surface .ft-page li { margin: 0 0 0.5rem; }
body.ft-skin-surface .ft-page li::marker { color: var(--fg-muted); }

body.ft-skin-surface .ft-page strong {
	font-weight: 600;
	color: var(--fg);
}

body.ft-skin-surface .ft-page :where(p, li:not(.ft-cat-tiles__item)) a {
	color: var(--fg);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

@media (hover: hover) {
	body.ft-skin-surface .ft-page :where(p, li:not(.ft-cat-tiles__item)) a:hover { text-decoration-thickness: 2px; }
}

/* Stair Configurator girisi + Share Your Staircase ince baski */
body.ft-skin-surface .ft-page .ft-kicker {
	margin: 0 0 0.75rem;
	font-family: var(--font-mono);
	font-size: 0.75rem;
	letter-spacing: 0.2em;
	color: var(--fg-muted);
}

body.ft-skin-surface .ft-page .ft-kicker + h2 { margin-top: 0; }

body.ft-skin-surface .ft-page .ft-lead {
	font-size: clamp(1.125rem, 1.6vw, 1.25rem);
	color: var(--fg);
}

body.ft-skin-surface .ft-page .ft-fineprint { font-size: 0.9375rem; }

/* — FAQ: details/summary akordeonu — */
.ft-faq-list {
	margin: 1.5rem 0 0;
	border-top: 1px solid var(--line);
}

.ft-faq-q { border-bottom: 1px solid var(--line); }

.ft-faq-q summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	min-height: 48px;
	padding: 1.25rem 0;
	list-style: none;
	cursor: pointer;
	font-family: var(--font-display);
	font-size: clamp(1.0625rem, 1.8vw, 1.25rem);
	line-height: 1.35;
	color: var(--fg);
}

.ft-faq-q summary::-webkit-details-marker { display: none; }

/* Arti isareti: acilinca 45 derece doner (x). Yalniz transform. */
.ft-faq-q summary::after {
	content: "";
	flex: none;
	width: 14px;
	height: 14px;
	background:
		linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat,
		linear-gradient(currentColor, currentColor) center / 1px 100% no-repeat;
	transition: transform 200ms var(--ease-out);
}

.ft-faq-q[open] summary::after { transform: rotate(45deg); }

.ft-faq-q__a { padding: 0 2.5rem 1.25rem 0; }

.ft-faq-q[open] .ft-faq-q__a { animation: ft-faq-in 200ms var(--ease-out); }

@keyframes ft-faq-in {
	from { opacity: 0; transform: translateY(-4px); }
	to { opacity: 1; transform: none; }
}

body.ft-skin-surface .ft-page .ft-faq-q__a p:last-child { margin-bottom: 0; }

/* — Shop by Category: 4 kategori karti — */
body.ft-skin-surface .ft-page:has(.ft-cat-tiles) { max-width: 80rem; }

body.ft-skin-surface .ft-page .ft-cat-tiles {
	list-style: none;
	display: grid;
	gap: 2rem 1.25rem;
	margin: 0;
	padding: 0;
}

@media (min-width: 600px) {
	body.ft-skin-surface .ft-page .ft-cat-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
	body.ft-skin-surface .ft-page .ft-cat-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

body.ft-skin-surface .ft-page .ft-cat-tiles li { margin: 0; }

.ft-cat-tiles a {
	display: grid;
	gap: 1rem;
	color: var(--fg);
	text-decoration: none;
}

.ft-cat-tiles img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	background: var(--bg-raised);
	transition: opacity 200ms var(--ease-out);
}

.ft-cat-tiles__name {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--line);
	font-family: var(--font-display);
	font-size: 1.25rem;
}

.ft-cat-tiles__name::after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
	transform: rotate(45deg);
	transition: transform 200ms var(--ease-out);
}

@media (hover: hover) {
	.ft-cat-tiles a:hover img { opacity: 0.88; }
	.ft-cat-tiles a:hover .ft-cat-tiles__name::after { transform: translateX(3px) rotate(45deg); }
}

/* — Delivery Information: paketleme gorselleri (beyaz fonlu urun cekimleri
   her iki temada da beyaz kagit uzerinde durur -> --color-white primitifi) — */
.ft-pack {
	display: grid;
	gap: 2rem 1.25rem;
	margin: 1.5rem 0 1rem;
}

@media (min-width: 640px) {
	.ft-pack { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ft-pack__item img { aspect-ratio: 1 / 1; }
}

.ft-pack__item { margin: 0; }

.ft-pack__item img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2; /* tek sutunda (mobil) kisa; 3 sutunda kare */
	object-fit: contain;
	padding: 1rem;
	box-sizing: border-box;
	background: var(--color-white);
	border: 1px solid var(--line);
}

body.ft-skin-surface .ft-page .ft-pack__item figcaption {
	margin-top: 0.875rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--ft-prose);
}

/* — Iletisim formu karti (CF7 #12 — floortrim.uk alanlari) — */
.ft-contact-form {
	margin-top: 2.5rem;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	background: var(--bg-raised);
	border: 1px solid var(--line);
}

.ft-contact-form .wpcf7 { max-width: none; }

.ft-contact-form .wpcf7 input[type="text"],
.ft-contact-form .wpcf7 input[type="email"],
.ft-contact-form .wpcf7 input[type="tel"],
.ft-contact-form .wpcf7 textarea {
	background: var(--bg);
	min-height: 48px;
	font-size: 1rem;
}

@media (min-width: 640px) {
	.ft-cf7-row {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
	}
}

.ft-cf7-label {
	font-family: var(--font-mono);
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--fg-muted);
}

.ft-contact-form .wpcf7 br { display: none; }

/* Checkout ülke alanı: satış ve gönderim yalnız Birleşik Krallık
   (woocommerce_specific_allowed_countries = GB). Blok checkout tek seçenekli listeyi yine de
   oklu açılır menü olarak basıyor; alan sabit bir değer gibi görünür, ok gizlenir, tıklanmaz. */
.wc-block-components-country-input .wc-blocks-components-select__container svg {
  display: none;
}

.wc-block-components-country-input select.wc-blocks-components-select__select {
  pointer-events: none;
  appearance: none;
  background-image: none;
  cursor: default;
}
