/**
 * Canavart Core — Ortak Stiller
 *
 * Temanın karanlık/altın paletini devralır. Tüm renkler tema
 * değişkenlerinden okunur; burada sabit renk kodu yoktur.
 *
 * @package CanavArt\Core
 * @since   1.0.0
 */

/* =========================================================================
   1. FİLTRE PANELİ
   ========================================================================= */

.ca-filter { display: block; }

/* ---- Temizle butonu (üstte, tam genişlik) ----------------------------- */

.ca-filter-reset {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	margin: 0 0 1.4rem;
	padding: 0.65rem 1rem;
	background: rgba(201, 164, 92, 0.07);
	border: 1px solid var(--ca-gold-faint);
	border-radius: var(--ca-radius);
	color: var(--ca-gold-bright);
	font-family: var(--ca-font-body);
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color var(--ca-duration) var(--ca-ease),
	            border-color var(--ca-duration) var(--ca-ease),
	            color var(--ca-duration) var(--ca-ease);
}

.ca-filter-reset:hover {
	background: var(--ca-gold);
	border-color: var(--ca-gold);
	color: var(--ca-bg-deepest);
}

.ca-filter-reset[hidden] { display: none; }

.ca-filter .ca-widget-title { margin-bottom: 1.1rem; }

/* ---- Gruplar ---------------------------------------------------------- */

.ca-filter-group {
	margin: 0 0 1.7rem;
	padding: 0;
	border: 0;
}

.ca-filter-group:last-of-type { margin-bottom: 0.6rem; }

.ca-filter-legend {
	display: block;
	width: 100%;
	margin-bottom: 0.85rem;
	padding: 0 0 0.5rem;
	border-bottom: 1px solid var(--ca-gold-faint);
	color: var(--ca-gold);
	font-family: var(--ca-font-body);
	font-size: 0.68rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.ca-filter-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ca-filter-branch { margin-bottom: 0.1rem; }

/* ---- Akordiyon -------------------------------------------------------- */

.ca-filter-parent-row {
	display: flex;
	align-items: center;
	gap: 0.3rem;
}

.ca-filter-parent-row .ca-filter-option { flex: 1; min-width: 0; }

.ca-filter-caret {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 26px;
	height: 26px;
	padding: 0;
	background: none;
	border: 0;
	border-radius: var(--ca-radius);
	color: var(--ca-gold-dark);
	cursor: pointer;
	transition: color var(--ca-duration) var(--ca-ease),
	            background-color var(--ca-duration) var(--ca-ease);
}

.ca-filter-caret:hover {
	background: rgba(201, 164, 92, 0.08);
	color: var(--ca-gold-bright);
}

.ca-filter-caret svg {
	transition: transform var(--ca-duration) var(--ca-ease);
}

.ca-filter-branch.is-open .ca-filter-caret svg { transform: rotate(180deg); }

/*
 * Yelpaze açılışı: grid satır yüksekliğini 0fr'den 1fr'ye geçirmek,
 * sabit bir max-height tahmini yapmadan yumuşak bir açılış sağlar.
 */
.ca-filter-children {
	display: grid;
	grid-template-rows: 0fr;
	margin-left: 0.55rem;
	padding-left: 0;
	border-left: 1px solid transparent;
	opacity: 0;
	transition: grid-template-rows var(--ca-duration) var(--ca-ease),
	            opacity var(--ca-duration) var(--ca-ease),
	            padding-left var(--ca-duration) var(--ca-ease),
	            border-color var(--ca-duration) var(--ca-ease);
}

.ca-filter-children > ul {
	overflow: hidden;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ca-filter-branch.is-open .ca-filter-children {
	grid-template-rows: 1fr;
	padding-left: 0.85rem;
	border-left-color: var(--ca-gold-faint);
	opacity: 1;
}

/* ---- Onay kutuları ----------------------------------------------------- */

.ca-filter-option {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.42rem 0;
	color: var(--ca-text-muted);
	font-size: 0.88rem;
	line-height: 1.4;
	cursor: pointer;
	transition: color var(--ca-duration) var(--ca-ease);
}

.ca-filter-option:hover { color: var(--ca-text); }

.ca-filter-option.is-parent {
	color: var(--ca-text);
	font-size: 0.94rem;
}

/* Gerçek kutuyu gizle, erişilebilirliği koru */
.ca-filter-option input[type="checkbox"] {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.ca-filter-box {
	position: relative;
	flex-shrink: 0;
	width: 15px;
	height: 15px;
	border: 1px solid var(--ca-gold-faint);
	border-radius: 2px;
	background: transparent;
	transition: border-color var(--ca-duration) var(--ca-ease),
	            background-color var(--ca-duration) var(--ca-ease);
}

.ca-filter-option:hover .ca-filter-box { border-color: var(--ca-gold); }

.ca-filter-box::after {
	content: "";
	position: absolute;
	top: 1px;
	left: 4.5px;
	width: 4px;
	height: 8px;
	border: solid var(--ca-bg-deepest);
	border-width: 0 1.5px 1.5px 0;
	transform: rotate(45deg) scale(0);
	transition: transform 0.25s var(--ca-ease);
}

.ca-filter-option input:checked ~ .ca-filter-box {
	background: var(--ca-gold);
	border-color: var(--ca-gold);
}

.ca-filter-option input:checked ~ .ca-filter-box::after {
	transform: rotate(45deg) scale(1);
}

.ca-filter-option input:checked ~ .ca-filter-name { color: var(--ca-gold-bright); }

.ca-filter-option input:focus-visible ~ .ca-filter-box {
	outline: 2px solid var(--ca-gold);
	outline-offset: 2px;
}

.ca-filter-name { flex: 1; }

.ca-filter-count {
	flex-shrink: 0;
	color: var(--ca-gold-dark);
	font-size: 0.72rem;
	font-variant-numeric: tabular-nums;
}

/* =========================================================================
   2. FİYAT KAYDIRICISI
   ========================================================================= */

.ca-range { padding-top: 0.2rem; }

.ca-range-output {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 0.4rem;
	margin-bottom: 1.1rem;
	font-family: var(--ca-font-display);
	font-size: 1.05rem;
	color: var(--ca-text);
	font-variant-numeric: tabular-nums;
}

.ca-range-dash,
.ca-range-symbol { color: var(--ca-gold); }

.ca-range-slider {
	position: relative;
	height: 26px;
	margin: 0 8px;
}

.ca-range-track {
	position: absolute;
	top: 50%;
	left: -8px;
	right: -8px;
	height: 2px;
	margin-top: -1px;
	background: rgba(201, 164, 92, 0.18);
	border-radius: 2px;
}

.ca-range-fill {
	position: absolute;
	top: 0;
	bottom: 0;
	background: var(--ca-gold-gradient, var(--ca-gold));
	border-radius: 2px;
	transition: left 0.12s linear, right 0.12s linear;
}

/*
 * İki range girdisi üst üste bindirilir. Şeritler saydam yapılır ve
 * fare olayları kapatılır; yalnızca tutamaklar tıklanabilir kalır.
 * Böylece iki ucu bağımsız sürüklemek mümkün olur.
 */
.ca-range-input {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 26px;
	margin: 0;
	background: none;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
}

.ca-range-input:focus { outline: none; }

/* WebKit tutamağı */
.ca-range-input::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	pointer-events: auto;
	width: 15px;
	height: 15px;
	border: 1px solid var(--ca-gold);
	border-radius: 50%;
	background: var(--ca-bg-deepest);
	cursor: grab;
	transition: transform 0.2s var(--ca-ease),
	            background-color 0.2s var(--ca-ease),
	            box-shadow 0.2s var(--ca-ease);
}

.ca-range-input::-webkit-slider-thumb:hover {
	background: var(--ca-gold);
	transform: scale(1.15);
}

.ca-range-input:active::-webkit-slider-thumb {
	cursor: grabbing;
	background: var(--ca-gold);
	transform: scale(1.2);
}

.ca-range-input:focus-visible::-webkit-slider-thumb {
	box-shadow: 0 0 0 3px rgba(201, 164, 92, 0.3);
}

/* Firefox tutamağı */
.ca-range-input::-moz-range-thumb {
	pointer-events: auto;
	width: 13px;
	height: 13px;
	border: 1px solid var(--ca-gold);
	border-radius: 50%;
	background: var(--ca-bg-deepest);
	cursor: grab;
	transition: transform 0.2s var(--ca-ease),
	            background-color 0.2s var(--ca-ease);
}

.ca-range-input::-moz-range-thumb:hover {
	background: var(--ca-gold);
	transform: scale(1.15);
}

.ca-range-input::-moz-range-track {
	background: none;
	border: 0;
}

/* =========================================================================
   3. GÖNDER BUTONU (yalnızca JS kapalıyken) & DURUM
   ========================================================================= */

.ca-filter-submit {
	width: 100%;
	margin-top: 0.5rem;
	padding: 0.7rem 1rem;
	background: transparent;
	border: 1px solid var(--ca-gold);
	border-radius: var(--ca-radius);
	color: var(--ca-gold-bright);
	font-family: var(--ca-font-body);
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color var(--ca-duration) var(--ca-ease),
	            color var(--ca-duration) var(--ca-ease);
}

.ca-filter-submit:hover {
	background: var(--ca-gold);
	color: var(--ca-bg-deepest);
}

.ca-filter-status {
	margin: 0.9rem 0 0;
	min-height: 1em;
	color: var(--ca-gold-dark);
	font-size: 0.74rem;
	letter-spacing: 0.06em;
}

.ca-filter-status:empty { margin: 0; }

/* =========================================================================
   4. YÜKLENME DURUMU
   ========================================================================= */

#ca-products {
	position: relative;
	transition: opacity 0.3s var(--ca-ease);
}

#ca-products.is-loading {
	opacity: 0.35;
	pointer-events: none;
}

#ca-products.is-loading::after {
	content: "";
	position: absolute;
	top: 90px;
	left: 50%;
	width: 34px;
	height: 34px;
	margin-left: -17px;
	border: 2px solid var(--ca-gold-faint);
	border-top-color: var(--ca-gold);
	border-radius: 50%;
	animation: ca-filter-spin 0.8s linear infinite;
}

@keyframes ca-filter-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	#ca-products.is-loading::after { animation-duration: 2.5s; }
}

/* =========================================================================
   5. SONUÇ BULUNAMADI
   ========================================================================= */

.ca-shop-empty {
	padding: var(--ca-space-lg) var(--ca-space-md);
	text-align: center;
}

.ca-shop-empty p {
	margin: 0 0 1.4rem;
	color: var(--ca-text-muted);
	font-size: 0.95rem;
	line-height: 1.8;
}

.ca-filter-reset-inline {
	padding: 0.7rem 1.6rem;
	background: transparent;
	border: 1px solid var(--ca-gold);
	border-radius: var(--ca-radius);
	color: var(--ca-gold-bright);
	font-family: var(--ca-font-body);
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color var(--ca-duration) var(--ca-ease),
	            color var(--ca-duration) var(--ca-ease);
}

.ca-filter-reset-inline:hover {
	background: var(--ca-gold);
	color: var(--ca-bg-deepest);
}

/* =========================================================================
   6. DİL DEĞİŞTİRİCİ
   ========================================================================= */

.ca-lang { position: relative; }

.ca-lang-toggle {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.3rem 0.5rem;
	background: none;
	border: 1px solid transparent;
	border-radius: var(--ca-radius);
	color: var(--ca-text-muted);
	font-family: var(--ca-font-body);
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	cursor: pointer;
	transition: color var(--ca-duration) var(--ca-ease),
	            border-color var(--ca-duration) var(--ca-ease);
}

.ca-lang-toggle:hover,
.ca-lang-toggle[aria-expanded="true"] {
	color: var(--ca-gold-bright);
	border-color: var(--ca-gold-faint);
}

.ca-lang-caret { transition: transform var(--ca-duration) var(--ca-ease); }

.ca-lang-toggle[aria-expanded="true"] .ca-lang-caret { transform: rotate(180deg); }

.ca-lang-menu {
	position: absolute;
	top: calc(100% + 0.5rem);
	right: 0;
	z-index: 60;
	min-width: 170px;
	margin: 0;
	padding: 0.4rem;
	list-style: none;
	background: var(--ca-bg-raised);
	border: 1px solid var(--ca-gold-faint);
	border-radius: var(--ca-radius);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5);
}

.ca-lang-menu[hidden] { display: none; }

.ca-lang-item {
	display: flex;
	align-items: baseline;
	gap: 0.6rem;
	padding: 0.5rem 0.7rem;
	border-radius: var(--ca-radius);
	color: var(--ca-text-muted);
	font-size: 0.84rem;
	text-decoration: none;
	transition: background-color var(--ca-duration) var(--ca-ease),
	            color var(--ca-duration) var(--ca-ease);
}

.ca-lang-item:hover { background: rgba(201, 164, 92, 0.08); color: var(--ca-text); }

.ca-lang-item.is-current { color: var(--ca-gold-bright); }

.ca-lang-item-code {
	flex-shrink: 0;
	width: 1.8em;
	color: var(--ca-gold-dark);
	font-size: 0.68rem;
	letter-spacing: 0.1em;
}

.ca-lang-inline {
	display: flex;
	gap: 0.9rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ca-lang-inline .ca-lang-item {
	padding: 0;
	font-size: 0.74rem;
	letter-spacing: 0.14em;
}

/* =========================================================================
   7. MOBİL
   ========================================================================= */

@media (max-width: 900px) {

	.ca-filter-group { margin-bottom: 1.3rem; }

	/* Dokunmatik hedefleri büyüt */
	.ca-filter-option { padding: 0.55rem 0; }

	.ca-filter-caret { width: 32px; height: 32px; }

	.ca-range-slider { height: 32px; }

	.ca-range-input { height: 32px; }
}

/* =========================================================================
   CORE.CSS EKLEME BLOĞU — HESAP MODALI
   -------------------------------------------------------------------------
   Bu bloğu canavart-core/assets/css/core.css dosyasının EN SONUNA
   yapıştırın.
   ========================================================================= */

/* =========================================================================
   8. MODAL KABUĞU
   ========================================================================= */

body.ca-modal-open {
	overflow: hidden;
}

.ca-modal {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
}

.ca-modal[hidden] { display: none; }

.ca-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(6, 5, 4, 0.82);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	opacity: 0;
	transition: opacity 0.35s var(--ca-ease);
}

.ca-modal.is-open .ca-modal-backdrop { opacity: 1; }

.ca-modal-panel {
	position: relative;
	width: 100%;
	max-width: 480px;
	max-height: calc(100vh - 3rem);
	padding: 2.6rem 2.4rem 2.2rem;
	overflow-y: auto;
	background: var(--ca-bg-raised);
	border: 1px solid var(--ca-gold-faint);
	border-radius: var(--ca-radius);
	box-shadow: 0 40px 90px -20px rgba(0, 0, 0, 0.85);
	opacity: 0;
	transform: translateY(18px) scale(0.985);
	transition: opacity 0.4s var(--ca-ease), transform 0.4s var(--ca-ease);
}

.ca-modal.is-open .ca-modal-panel {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.ca-modal-panel:focus { outline: none; }

/* Üst kenardaki altın parlama — hero ve footer ile aynı dil */
.ca-modal-panel::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 50%;
	width: 160px;
	height: 1px;
	margin-left: -80px;
	background: var(--ca-gold-gradient);
}

.ca-modal-close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	background: none;
	border: 1px solid transparent;
	border-radius: 50%;
	color: var(--ca-text-muted);
	cursor: pointer;
	transition: color var(--ca-duration) var(--ca-ease),
	            border-color var(--ca-duration) var(--ca-ease);
}

.ca-modal-close:hover {
	color: var(--ca-gold-bright);
	border-color: var(--ca-gold-faint);
}

/* ---- Başlık ------------------------------------------------------------ */

.ca-modal-head {
	margin-bottom: 1.6rem;
	text-align: center;
}

.ca-modal-mark {
	display: block;
	margin-bottom: 0.5rem;
	color: var(--ca-gold);
	font-size: 0.95rem;
}

.ca-modal-title {
	margin: 0 0 0.5rem;
	font-family: var(--ca-font-display);
	font-size: 1.65rem;
	line-height: 1.25;
	color: var(--ca-text);
}

.ca-modal-sub {
	margin: 0;
	color: var(--ca-text-muted);
	font-size: 0.86rem;
	line-height: 1.7;
}

/* ---- Uyarı satırı ------------------------------------------------------ */

.ca-modal-alert {
	margin: 0 0 1.2rem;
	padding: 0.85rem 1rem;
	border-radius: var(--ca-radius);
	font-size: 0.84rem;
	line-height: 1.6;
}

.ca-modal-alert[hidden] { display: none; }

.ca-modal-alert.is-error {
	background: rgba(179, 87, 63, 0.12);
	border-left: 2px solid var(--ca-error);
	color: #e0a596;
}

.ca-modal-alert.is-success {
	background: rgba(201, 164, 92, 0.1);
	border-left: 2px solid var(--ca-gold);
	color: var(--ca-gold-bright);
}

/* ---- Görünümler -------------------------------------------------------- */

.ca-modal-view { display: none; }
.ca-modal-view.is-active { display: block; }

.ca-modal-note {
	margin: 0 0 1.3rem;
	color: var(--ca-text-muted);
	font-size: 0.86rem;
	line-height: 1.75;
}

/* =========================================================================
   9. FORM ALANLARI
   ========================================================================= */

.ca-modal-form { display: block; }

.ca-field {
	display: block;
	margin-bottom: 1.1rem;
}

.ca-field-label {
	display: block;
	margin-bottom: 0.45rem;
	color: var(--ca-text-muted);
	font-size: 0.68rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.ca-field input {
	width: 100%;
	padding: 0.85rem 1rem;
	background: var(--ca-bg-deep);
	border: 1px solid var(--ca-gold-faint);
	border-radius: var(--ca-radius);
	color: var(--ca-text);
	font-family: var(--ca-font-body);
	font-size: 0.92rem;
	transition: border-color var(--ca-duration) var(--ca-ease),
	            box-shadow var(--ca-duration) var(--ca-ease);
}

.ca-field input:focus {
	outline: none;
	border-color: var(--ca-gold);
	box-shadow: 0 0 0 3px rgba(201, 164, 92, 0.12);
}

.ca-field input:-webkit-autofill {
	-webkit-text-fill-color: var(--ca-text);
	-webkit-box-shadow: 0 0 0 40px var(--ca-bg-deep) inset;
}

.ca-field-hint {
	display: block;
	margin-top: 0.4rem;
	color: var(--ca-text-muted);
	font-size: 0.74rem;
	opacity: 0.8;
}

.ca-field-pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.9rem;
}

.ca-field-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0.2rem 0 1.4rem;
}

/* ---- Onay kutusu ------------------------------------------------------- */

.ca-check {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	color: var(--ca-text-muted);
	font-size: 0.82rem;
	line-height: 1.55;
	cursor: pointer;
}

.ca-check--terms { margin-bottom: 1.4rem; }

.ca-check input[type="checkbox"] {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.ca-check-box {
	position: relative;
	flex-shrink: 0;
	width: 15px;
	height: 15px;
	margin-top: 1px;
	border: 1px solid var(--ca-gold-faint);
	border-radius: 2px;
	transition: background-color var(--ca-duration) var(--ca-ease),
	            border-color var(--ca-duration) var(--ca-ease);
}

.ca-check-box::after {
	content: "";
	position: absolute;
	top: 1px;
	left: 4.5px;
	width: 4px;
	height: 8px;
	border: solid var(--ca-bg-deepest);
	border-width: 0 1.5px 1.5px 0;
	transform: rotate(45deg) scale(0);
	transition: transform 0.25s var(--ca-ease);
}

.ca-check input:checked ~ .ca-check-box {
	background: var(--ca-gold);
	border-color: var(--ca-gold);
}

.ca-check input:checked ~ .ca-check-box::after { transform: rotate(45deg) scale(1); }

.ca-check input:focus-visible ~ .ca-check-box {
	outline: 2px solid var(--ca-gold);
	outline-offset: 2px;
}

.ca-check a {
	color: var(--ca-gold);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ca-check a:hover { color: var(--ca-gold-bright); }

/* ---- Metin butonları --------------------------------------------------- */

.ca-link-btn {
	padding: 0;
	background: none;
	border: 0;
	color: var(--ca-text-muted);
	font-family: var(--ca-font-body);
	font-size: 0.8rem;
	cursor: pointer;
	transition: color var(--ca-duration) var(--ca-ease);
}

.ca-link-btn:hover { color: var(--ca-gold-bright); }

.ca-link-btn.is-strong {
	color: var(--ca-gold);
	letter-spacing: 0.04em;
	border-bottom: 1px solid var(--ca-gold-faint);
	padding-bottom: 1px;
}

.ca-link-btn.is-strong:hover { border-bottom-color: var(--ca-gold); }

/* ---- Gönder butonu ----------------------------------------------------- */

.ca-modal-submit {
	position: relative;
	overflow: hidden;
	z-index: 0;
	width: 100%;
	padding: 0.95rem 1rem;
	background: transparent;
	border: 1px solid var(--ca-gold);
	border-radius: var(--ca-radius);
	color: var(--ca-gold-bright);
	font-family: var(--ca-font-body);
	font-size: 0.74rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	cursor: pointer;
	transition: color 0.5s var(--ca-ease),
	            border-color 0.5s var(--ca-ease),
	            box-shadow 0.5s var(--ca-ease);
}

.ca-modal-submit::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(
		100deg,
		var(--ca-gold-dark) 0%,
		var(--ca-gold) 38%,
		#e8d5a8 62%,
		var(--ca-gold) 100%
	);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.55s var(--ca-ease);
}

.ca-modal-submit:hover:not(:disabled) {
	color: var(--ca-bg-deepest);
	border-color: var(--ca-gold-bright);
	box-shadow: 0 8px 26px rgba(201, 164, 92, 0.2);
}

.ca-modal-submit:hover:not(:disabled)::before { transform: scaleX(1); }

.ca-modal-submit:disabled {
	opacity: 0.55;
	cursor: wait;
}

.ca-modal-foot {
	margin: 1.4rem 0 0;
	color: var(--ca-text-muted);
	font-size: 0.84rem;
	text-align: center;
}

/* =========================================================================
   10. AYRAÇ VE SOSYAL GİRİŞ
   ========================================================================= */

.ca-modal-divider {
	position: relative;
	margin: 1.5rem 0;
	text-align: center;
}

.ca-modal-divider::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent,
		var(--ca-gold-faint) 25%,
		var(--ca-gold-faint) 75%,
		transparent
	);
}

.ca-modal-divider span {
	position: relative;
	padding: 0 0.9rem;
	background: var(--ca-bg-raised);
	color: var(--ca-text-muted);
	font-size: 0.7rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

/*
 * Nextend Social Login butonlarının yeniden biçimlendirilmesi.
 * Eklentinin kendi renkleri (Google mavisi/beyazı) karanlık panelde
 * yabancı duruyordu; altın çerçeveli, şeffaf zeminli bir görünüme
 * çeviriyoruz. Google logosu kendi renklerinde kalır — marka
 * kılavuzları logonun yeniden renklendirilmesine izin vermez.
 */
.ca-social-login .nsl-container {
	margin: 0 !important;
	padding: 0 !important;
}

.ca-social-login .nsl-container-buttons {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.ca-social-login .nsl-container-buttons a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	min-height: 48px;
	margin: 0 !important;
	padding: 0.75rem 1rem !important;
	background: var(--ca-bg-deep) !important;
	border: 1px solid var(--ca-gold-faint) !important;
	border-radius: var(--ca-radius) !important;
	box-shadow: none !important;
	color: var(--ca-text) !important;
	font-family: var(--ca-font-body) !important;
	font-size: 0.8rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
	transition: border-color var(--ca-duration) var(--ca-ease),
	            background-color var(--ca-duration) var(--ca-ease),
	            color var(--ca-duration) var(--ca-ease) !important;
}

.ca-social-login .nsl-container-buttons a:hover {
	background: rgba(201, 164, 92, 0.08) !important;
	border-color: var(--ca-gold) !important;
	color: var(--ca-gold-bright) !important;
}

/* Eklentinin kendi ikon kutusunu sadeleştir */
.ca-social-login .nsl-container-buttons a > div:first-child,
.ca-social-login .nsl-container-buttons a .nsl-button-svg-container {
	flex-shrink: 0;
	width: 20px !important;
	height: 20px !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
}

.ca-social-login .nsl-container-buttons a svg {
	width: 20px !important;
	height: 20px !important;
}

.ca-social-login .nsl-container-buttons a span {
	color: inherit !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	letter-spacing: inherit !important;
}

/* Eklentinin bilgilendirme/ayraç metinlerini gizle — kendi ayracımız var */
.ca-social-login .nsl-container-block-title,
.ca-social-login .nsl-separator {
	display: none !important;
}

/* =========================================================================
   11. MODAL MOBİL
   ========================================================================= */

@media (max-width: 560px) {

	.ca-modal { padding: 0; align-items: flex-end; }

	.ca-modal-panel {
		max-width: none;
		max-height: 92vh;
		padding: 2.2rem 1.4rem 1.8rem;
		border-radius: var(--ca-radius) var(--ca-radius) 0 0;
		transform: translateY(40px);
	}

	.ca-field-pair { grid-template-columns: 1fr; gap: 0; }

	.ca-field-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.8rem;
	}

	.ca-modal-title { font-size: 1.4rem; }
}

@media (prefers-reduced-motion: reduce) {

	.ca-modal-panel,
	.ca-modal-backdrop { transition-duration: 0.01ms; }
}

/* =========================================================================
   CORE.CSS EKLEME BLOĞU 2 — MODAL İNCE AYARLARI
   -------------------------------------------------------------------------
   Bu bloğu canavart-core/assets/css/core.css dosyasının EN SONUNA
   yapıştırın (modal bloğunun hemen altına).
   ========================================================================= */

/* ---- 12a. PANEL AMBLEMİ: KILIÇ ----------------------------------------
   Eşkenar dörtgen yerine yatay kılıç amblemi. Metin karakteri yerine
   arka plan görseli kullanıldığı için glif gizlenir.
   -------------------------------------------------------------------- */

.ca-modal-mark {
	display: block;
	width: 190px;
	height: 20px;
	margin: 0 auto 0.9rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 7 420 50%22 role=%22img%22 aria-label=%22Canavart%22%3E%3Cdefs%3E%3ClinearGradient id=%22caSwordGold%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%25%22 stop-color=%22%23E8D5A8%22/%3E%3Cstop offset=%2242%25%22 stop-color=%22%23C9A45C%22/%3E%3Cstop offset=%22100%25%22 stop-color=%22%238C6B33%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22caSwordFade%22 x1=%220%22 y1=%220%22 x2=%221%22 y2=%220%22%3E%3Cstop offset=%220%25%22 stop-color=%22%238C6B33%22 stop-opacity=%220%22/%3E%3Cstop offset=%2235%25%22 stop-color=%22%23C9A45C%22 stop-opacity=%220.9%22/%3E%3Cstop offset=%22100%25%22 stop-color=%22%23E8D5A8%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d=%22M10 32 L18 24 L26 32 L18 40 Z%22 fill=%22url(%23caSwordGold)%22/%3E%3Crect x=%2224%22 y=%2229%22 width=%2234%22 height=%226%22 rx=%222.5%22 fill=%22url(%23caSwordGold)%22/%3E%3Cg stroke=%22%230C0A08%22 stroke-width=%221.1%22 opacity=%220.45%22 stroke-linecap=%22round%22%3E%3Cpath d=%22M31 29.5 L31 34.5%22/%3E%3Cpath d=%22M38 29.5 L38 34.5%22/%3E%3Cpath d=%22M45 29.5 L45 34.5%22/%3E%3Cpath d=%22M52 29.5 L52 34.5%22/%3E%3C/g%3E%3Cpath d=%22M58 14 L66 14 L70 32 L66 50 L58 50 L62 32 Z%22 fill=%22url(%23caSwordGold)%22/%3E%3Cpath d=%22M62 8 L66.5 12.5 L62 17 L57.5 12.5 Z%22 fill=%22url(%23caSwordGold)%22/%3E%3Cpath d=%22M62 47 L66.5 51.5 L62 56 L57.5 51.5 Z%22 fill=%22url(%23caSwordGold)%22/%3E%3Cpath d=%22M70 26 L392 29.6 L416 32 L392 34.4 L70 38 Z%22 fill=%22url(%23caSwordFade)%22/%3E%3Cpath d=%22M78 32 L386 32%22 stroke=%22%230C0A08%22 stroke-width=%221.3%22 opacity=%220.4%22 stroke-linecap=%22round%22/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	font-size: 0;
	line-height: 0;
	color: transparent;
	opacity: 0.9;
}

/* ---- 12b. SOSYAL GİRİŞ: TAM GENİŞLİK ----------------------------------
   Nextend butonu kendi ölçüsünü satır içi stille dayatıyor. Sarmalayıcı
   katmanların hepsini tam genişliğe zorluyoruz; aksi hâlde buton solda
   dar bir kutu olarak kalıyordu.
   -------------------------------------------------------------------- */

.ca-social-login,
.ca-social-login .nsl-container,
.ca-social-login .nsl-container-buttons,
.ca-social-login .nsl-container-buttons > div,
.ca-social-login .nsl-container-buttons > a {
	display: block;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	float: none !important;
}

.ca-social-login .nsl-container-buttons {
	display: flex !important;
	flex-direction: column;
	gap: 0.6rem;
	justify-content: stretch;
}

.ca-social-login .nsl-container-buttons a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.65rem;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	min-height: 50px;
	padding: 0.8rem 1.1rem !important;
	background: var(--ca-bg-deep) !important;
	border: 1px solid var(--ca-gold-faint) !important;
	border-radius: var(--ca-radius) !important;
	box-shadow: none !important;
	color: var(--ca-text) !important;
	font-family: var(--ca-font-body) !important;
	font-size: 0.78rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.12em !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: border-color var(--ca-duration) var(--ca-ease),
	            background-color var(--ca-duration) var(--ca-ease),
	            color var(--ca-duration) var(--ca-ease) !important;
}

.ca-social-login .nsl-container-buttons a:hover {
	background: rgba(201, 164, 92, 0.08) !important;
	border-color: var(--ca-gold) !important;
	color: var(--ca-gold-bright) !important;
}

/* İkon kutusunu sadeleştir; ikon kendi renklerinde kalır. */
.ca-social-login .nsl-button-svg-container,
.ca-social-login .nsl-container-buttons a > div:first-child {
	flex: 0 0 auto !important;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	border-radius: 0 !important;
}

.ca-social-login .nsl-container-buttons a svg {
	display: block;
	width: 20px !important;
	height: 20px !important;
}

/* JavaScript ile eklenen etiket (eklenti "yalnızca ikon" modundaysa) */
.ca-social-login .ca-social-label {
	color: inherit !important;
	font: inherit !important;
	letter-spacing: inherit !important;
}

.ca-social-login .nsl-container-buttons a span {
	color: inherit !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	letter-spacing: inherit !important;
	text-transform: inherit !important;
}

.ca-social-login .nsl-container-block-title,
.ca-social-login .nsl-separator {
	display: none !important;
}

/* ---- 12c. PAROLA GÖSTER/GİZLE -----------------------------------------
   Düğme JavaScript ile eklenir; betik yüklenmezse alan normal bir
   parola kutusu olarak kalır.
   -------------------------------------------------------------------- */

.ca-field--password {
	position: relative;
}

.ca-field--password input {
	padding-right: 3rem;
}

.ca-pass-toggle {
	position: absolute;
	right: 0.55rem;
	bottom: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	background: none;
	border: 0;
	border-radius: var(--ca-radius);
	color: var(--ca-text-muted);
	cursor: pointer;
	transition: color var(--ca-duration) var(--ca-ease),
	            background-color var(--ca-duration) var(--ca-ease);
}

/* Alanda ipucu metni varsa düğmeyi yukarı hizala */
.ca-field--password:has(.ca-field-hint) .ca-pass-toggle {
	bottom: 1.85rem;
}

.ca-pass-toggle:hover {
	background: rgba(201, 164, 92, 0.08);
	color: var(--ca-gold-bright);
}

.ca-pass-toggle:focus-visible {
	outline: 2px solid var(--ca-gold);
	outline-offset: 1px;
}

/* Açıkken göz üzeri çizgi görünür */
.ca-pass-toggle .ca-eye-slash { display: none; }
.ca-pass-toggle.is-on .ca-eye-slash { display: block; }
.ca-pass-toggle.is-on { color: var(--ca-gold); }

/* =========================================================================
   CORE.CSS EKLEME BLOĞU 3 — SATIR İÇİ FORM HATALARI
   -------------------------------------------------------------------------
   Bu bloğu canavart-core/assets/css/core.css dosyasının EN SONUNA
   yapıştırın (2. modal bloğunun hemen altına).
   ========================================================================= */

/* ---- 13a. HATA SATIRI --------------------------------------------------
   Gönder butonunun hemen altında, sağa yaslı. Tarayıcının yerleşik
   balonunun aksine hiçbir alanı kapatmaz ve kullanıcı düzeltmeye
   başlayana kadar ekranda kalır.
   -------------------------------------------------------------------- */

.ca-form-error {
	margin: 0.7rem 0 0;
	padding: 0;
	color: #e0a596;
	font-size: 0.8rem;
	line-height: 1.5;
	text-align: right;
	animation: ca-error-in 0.35s var(--ca-ease);
}

.ca-form-error[hidden] { display: none; }

.ca-form-error::before {
	content: "!";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 15px;
	height: 15px;
	margin-right: 0.45rem;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 0.66rem;
	line-height: 1;
	vertical-align: -2px;
}

@keyframes ca-error-in {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ---- 13b. HATALI ALANIN İŞARETLENMESİ ---------------------------------
   Mesaj tek satırda olduğu için, hangi alanın sorunlu olduğunu ayrıca
   göstermek gerekir.
   -------------------------------------------------------------------- */

.ca-field.is-invalid input {
	border-color: var(--ca-error);
	box-shadow: 0 0 0 3px rgba(179, 87, 63, 0.12);
}

.ca-field.is-invalid .ca-field-label { color: #e0a596; }

.ca-check.is-invalid .ca-check-box {
	border-color: var(--ca-error);
	box-shadow: 0 0 0 3px rgba(179, 87, 63, 0.12);
}

@media (prefers-reduced-motion: reduce) {
	.ca-form-error { animation: none; }
}

@media (max-width: 560px) {
	.ca-form-error { text-align: left; }
}

/* =========================================================================
   CORE.CSS EKLEME BLOĞU 4 — SON RÖTUŞLAR
   -------------------------------------------------------------------------
   Bu bloğu canavart-core/assets/css/core.css dosyasının EN SONUNA
   yapıştırın (3. bloğun hemen altına).
   ========================================================================= */

/* ---- 14a. SOSYAL GİRİŞ BAŞLIĞI ----------------------------------------
   Google butonunun ÜSTÜNDEKİ ayraç. "veya e-posta ile" ayracıyla aynı
   dili konuşur; altın rengi bu ilkinin birincil seçenek olduğunu
   sezdirir.
   -------------------------------------------------------------------- */

.ca-modal-divider--top {
	margin-top: 0.2rem;
	margin-bottom: 1rem;
}

.ca-modal-divider--top span {
	color: var(--ca-gold);
	letter-spacing: 0.16em;
}

.ca-modal-divider--top::before {
	background: linear-gradient(
		90deg,
		transparent,
		var(--ca-gold-faint) 20%,
		var(--ca-gold) 50%,
		var(--ca-gold-faint) 80%,
		transparent
	);
}

/* ---- 14b. PAROLA GÖZÜNÜN DİKEY HİZASI ---------------------------------
   Önceki kural düğmeyi alandan (bottom) konumlandırıyordu. Alanın
   altında ipucu metni bulunup bulunmamasına göre bu mesafe değiştiği
   için düğme kayıyordu.

   Artık üstten konumlandırılıyor: etiket yüksekliği sabit olduğundan
   düğme, ipucu metni olsa da olmasa da girdi kutusunun tam ortasına
   oturur.

   Hesap: etiket (~0,95rem) + etiket alt boşluğu (0,45rem)
          + (girdi yüksekliği ~2,81rem − düğme yüksekliği 2,125rem) / 2
   -------------------------------------------------------------------- */

.ca-field--password .ca-pass-toggle {
	top: 1.75rem;
	bottom: auto;
}

/* Önceki bloktaki ipucu istisnası artık gereksiz — etkisini kaldırıyoruz. */
.ca-field--password:has(.ca-field-hint) .ca-pass-toggle {
	top: 1.75rem;
	bottom: auto;
}

/* =========================================================================
   CORE.CSS EKLEME BLOĞU 5 — PAROLA GÖZÜNÜN KESİN HİZASI
   -------------------------------------------------------------------------
   Bu bloğu canavart-core/assets/css/core.css dosyasının EN SONUNA
   yapıştırın (4. bloğun hemen altına).

   Önceki iki denemede düğme, etiket yüksekliğinden hesaplanan sabit bir
   mesafeyle konumlandırılıyordu. O yükseklik yazı tipine ve satır
   aralığına göre birkaç piksel oynadığı için düğme bir aşağı bir yukarı
   kaydı. Artık düğme, yalnızca girdi kutusu kadar yer kaplayan bir
   sarmalayıcıya göre ortalanıyor; ölçü tahmini tamamen ortadan kalktı.
   ========================================================================= */

/* ---- 15a. GİRDİ SARMALAYICISI ------------------------------------------ */

.ca-input-wrap {
	position: relative;
	display: block;
	width: 100%;
}

/* ---- 15b. GÖZ DÜĞMESİ -------------------------------------------------- */

.ca-field--password .ca-pass-toggle,
.ca-field--password:has(.ca-field-hint) .ca-pass-toggle {
	position: absolute;
	top: 50%;
	right: 0.5rem;
	bottom: auto;
	transform: translateY(-50%);
}

/* =========================================================================
   CORE.CSS EKLEME BLOĞU 6 — ÖDEME SAYFASI YASAL ONAYLARI
   -------------------------------------------------------------------------
   Bu bloğu canavart-core/assets/css/core.css dosyasının EN SONUNA
   yapıştırın (5. bloğun hemen altına).
   ========================================================================= */

.ca-checkout-terms {
	margin: 1.6rem 0 1.4rem;
	padding: 1.4rem 1.5rem 1.2rem;
	background: rgba(201, 164, 92, 0.04);
	border: 1px solid var(--ca-gold-faint);
	border-radius: var(--ca-radius);
}

.ca-checkout-terms-intro {
	margin: 0 0 1rem;
	color: var(--ca-gold);
	font-size: 0.68rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	line-height: 1.5;
}

/* Onay satırları — modal formundaki .ca-check görünümünü devralır */
.ca-checkout-check {
	margin-bottom: 0.85rem;
	font-size: 0.85rem;
	line-height: 1.65;
}

.ca-checkout-check:last-of-type { margin-bottom: 0; }

.ca-checkout-check a {
	color: var(--ca-gold);
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color var(--ca-duration) var(--ca-ease);
}

.ca-checkout-check a:hover { color: var(--ca-gold-bright); }

.ca-checkout-terms-note {
	margin: 1rem 0 0;
	padding-top: 0.9rem;
	border-top: 1px solid rgba(201, 164, 92, 0.1);
	color: var(--ca-text-muted);
	font-size: 0.74rem;
	line-height: 1.55;
	opacity: 0.85;
}

/*
 * Onaylanmamış kutu, WooCommerce hata bildirimi sonrası göze çarpsın.
 * :has() desteklemeyen tarayıcılarda kutu normal görünür; işlev
 * etkilenmez, yalnızca vurgu olmaz.
 */
.ca-checkout-check:has(input:invalid) .ca-check-box {
	border-color: rgba(179, 87, 63, 0.6);
}

@media (max-width: 560px) {

	.ca-checkout-terms {
		padding: 1.1rem 1.1rem 1rem;
	}

	.ca-checkout-check { font-size: 0.82rem; }
}

/* ---- 16a. ONAY KUTULARININ GÖRÜNÜRLÜĞÜ --------------------------------
   Kutucuk ödeme sayfasında hiç görünmüyordu. Sebebi, WooCommerce'in ve
   temanın form kuralları ile bizim `.ca-check` kuralımızın aynı ya da
   daha yüksek özgüllükte çarpışması.
 
   Burada özgüllüğü üç sınıf derinliğine çıkarıp gerekli özellikleri
   açıkça yeniden bildiriyoruz; yükleme sırasından bağımsız olarak bu
   kurallar geçerli olur. Çerçeve rengi de soluk altından belirgin
   altına çekildi.
   -------------------------------------------------------------------- */
 
.ca-checkout-terms .ca-checkout-check {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	width: 100%;
	margin-bottom: 0.9rem;
	padding: 0;
	color: var(--ca-text-muted);
	cursor: pointer;
}
 
.ca-checkout-terms .ca-checkout-check input[type="checkbox"] {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
	opacity: 0;
}
 
.ca-checkout-terms .ca-checkout-check .ca-check-box {
	display: block;
	position: relative;
	flex: 0 0 auto;
	width: 17px;
	height: 17px;
	margin-top: 2px;
	background: var(--ca-bg-deep);
	border: 1px solid rgba(201, 164, 92, 0.55);
	border-radius: 3px;
	transition: background-color var(--ca-duration) var(--ca-ease),
	            border-color var(--ca-duration) var(--ca-ease);
}
 
.ca-checkout-terms .ca-checkout-check:hover .ca-check-box {
	border-color: var(--ca-gold);
}
 
.ca-checkout-terms .ca-checkout-check .ca-check-box::after {
	content: "";
	position: absolute;
	top: 2px;
	left: 5.5px;
	width: 4px;
	height: 8px;
	border: solid var(--ca-bg-deepest);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg) scale(0);
	transition: transform 0.25s var(--ca-ease);
}
 
.ca-checkout-terms .ca-checkout-check input:checked ~ .ca-check-box {
	background: var(--ca-gold);
	border-color: var(--ca-gold);
}
 
.ca-checkout-terms .ca-checkout-check input:checked ~ .ca-check-box::after {
	transform: rotate(45deg) scale(1);
}
 
.ca-checkout-terms .ca-checkout-check input:focus-visible ~ .ca-check-box {
	outline: 2px solid var(--ca-gold);
	outline-offset: 2px;
}
 
/* Metin bloğu kutucuğun yanında akmalı */
.ca-checkout-terms .ca-checkout-check > span:last-child {
	flex: 1;
	min-width: 0;
	text-transform: none;
	letter-spacing: 0;
}
 
/* ---- 16b. WOOCOMMERCE PAROLA ALANI ------------------------------------
   WooCommerce, hesap parolası alanına kendi "göster/gizle" düğmesini
   ekliyor; varsayılan görünümü açık temalı beyaz bir kutu. Onu, giriş
   panelindekiyle aynı göz simgesine dönüştürüyoruz.
   -------------------------------------------------------------------- */
 
.woocommerce .password-input,
.woocommerce-page .password-input {
	position: relative;
	display: block;
	width: 100%;
}
 
.woocommerce .password-input input.input-text {
	padding-right: 3rem !important;
}
 
.woocommerce .show-password-input {
	position: absolute;
	top: 50%;
	right: 0.55rem;
	width: 34px;
	height: 34px;
	transform: translateY(-50%);
	background: none;
	border: 0;
	border-radius: var(--ca-radius);
	cursor: pointer;
	transition: background-color var(--ca-duration) var(--ca-ease);
}
 
.woocommerce .show-password-input::before,
.woocommerce .show-password-input::after {
	content: none;
}
 
/* Göz simgesi — maskeleme sayesinde rengi tema değişkeninden gelir */
.woocommerce .show-password-input {
	background-color: var(--ca-text-muted);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 19px 19px;
	mask-size: 19px 19px;
}
 
.woocommerce .show-password-input:hover {
	background-color: var(--ca-gold-bright);
}
 
/* Parola görünürken üzeri çizili göz */
.woocommerce .show-password-input.display-password {
	background-color: var(--ca-gold);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M4 20 20 4'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M4 20 20 4'/%3E%3C/svg%3E");
}
 
/* ---- 16c. PAROLA GÜCÜ GÖSTERGESİ --------------------------------------- */
 
.woocommerce .woocommerce-password-strength {
	margin-top: 0.5rem;
	padding: 0.45rem 0.8rem;
	background: rgba(201, 164, 92, 0.06);
	border: 1px solid var(--ca-gold-faint);
	border-radius: var(--ca-radius);
	font-size: 0.74rem;
	letter-spacing: 0.08em;
	text-align: left;
	text-transform: uppercase;
}
 
.woocommerce .woocommerce-password-strength.short,
.woocommerce .woocommerce-password-strength.bad {
	border-color: rgba(179, 87, 63, 0.5);
	color: #e0a596;
}
 
.woocommerce .woocommerce-password-strength.good {
	border-color: rgba(201, 164, 92, 0.5);
	color: var(--ca-gold);
}
 
.woocommerce .woocommerce-password-strength.strong {
	border-color: var(--ca-gold);
	color: var(--ca-gold-bright);
}
 
.woocommerce .woocommerce-password-hint {
	display: block;
	margin-top: 0.45rem;
	color: var(--ca-text-muted);
	font-size: 0.76rem;
	line-height: 1.6;
}
 
 /* =========================================================================
   CORE.CSS EKLEME BLOĞU 8 — KUPON KUTUSU
   -------------------------------------------------------------------------
   Bu bloğu canavart-core/assets/css/core.css dosyasının EN SONUNA
   yapıştırın (7. bloğun hemen altına).
   ========================================================================= */

.ca-coupon-box {
	margin: 1.4rem 0;
	padding: 1.3rem 1.4rem 1.2rem;
	background: rgba(201, 164, 92, 0.04);
	border: 1px solid var(--ca-gold-faint);
	border-radius: var(--ca-radius);
}

.ca-coupon-title {
	margin: 0 0 0.9rem;
	color: var(--ca-gold);
	font-size: 0.68rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

/*
 * WooCommerce formu varsayılan olarak gizli gelir (satır içi
 * `style="display:none"`) ve bir "Kuponunuz var mı?" bağlantısıyla
 * açılırdı. Yeni konumunda zaten görünür bir kutunun içinde durduğu
 * için formu doğrudan açıyor, aç/kapat bağlantısını gizliyoruz.
 */
.ca-coupon-box .checkout_coupon,
.ca-coupon-box form.woocommerce-form-coupon {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}

.ca-coupon-box .woocommerce-form-coupon-toggle,
.ca-coupon-box .checkout_coupon > p:first-of-type:not(.form-row) {
	display: none !important;
}

/* Alanlar alt alta: dar sütunda yan yana sıkışmasınlar */
.ca-coupon-box .form-row,
.ca-coupon-box .form-row-first,
.ca-coupon-box .form-row-last {
	float: none !important;
	width: 100% !important;
	margin: 0 0 0.7rem !important;
	padding: 0 !important;
}

.ca-coupon-box .form-row:last-child { margin-bottom: 0 !important; }

.ca-coupon-box input[type="text"],
.ca-coupon-box input.input-text {
	width: 100% !important;
	padding: 0.85rem 1rem !important;
	background: var(--ca-bg-deep) !important;
	border: 1px solid var(--ca-gold-faint) !important;
	border-radius: var(--ca-radius) !important;
	color: var(--ca-text) !important;
	font-family: var(--ca-font-body) !important;
	font-size: 0.9rem !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: border-color var(--ca-duration) var(--ca-ease);
}

.ca-coupon-box input.input-text::placeholder {
	color: var(--ca-text-muted);
	opacity: 0.55;
	letter-spacing: 0.02em;
	text-transform: none;
}

.ca-coupon-box input.input-text:focus {
	outline: none;
	border-color: var(--ca-gold) !important;
}

/* Buton — sitenin diğer butonlarıyla aynı akan altın dolgu */
.ca-coupon-box button,
.ca-coupon-box button.button {
	position: relative;
	overflow: hidden;
	z-index: 0;
	display: block;
	width: 100%;
	padding: 0.85rem 1rem !important;
	background: transparent !important;
	border: 1px solid var(--ca-gold) !important;
	border-radius: var(--ca-radius) !important;
	color: var(--ca-gold-bright) !important;
	font-family: var(--ca-font-body) !important;
	font-size: 0.72rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase;
	cursor: pointer;
	transition: color 0.5s var(--ca-ease),
	            border-color 0.5s var(--ca-ease),
	            box-shadow 0.5s var(--ca-ease);
}

.ca-coupon-box button::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(
		100deg,
		var(--ca-gold-dark) 0%,
		var(--ca-gold) 38%,
		#e8d5a8 62%,
		var(--ca-gold) 100%
	);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.55s var(--ca-ease);
}

.ca-coupon-box button:hover {
	color: var(--ca-bg-deepest) !important;
	border-color: var(--ca-gold-bright) !important;
	box-shadow: 0 6px 22px rgba(201, 164, 92, 0.2);
}

.ca-coupon-box button:hover::before { transform: scaleX(1); }

/*
 * Sayfanın tepesindeki eski kupon bildirimi, eklenti devre dışı
 * bırakılsa bile geride kalmasın.
 */
.woocommerce-checkout > .woocommerce-form-coupon-toggle { display: none; }

/* =========================================================================
   CORE.CSS EKLEME BLOĞU 9 — PAROLA SIFIRLAMA / KİMLİK SAYFALARI
   -------------------------------------------------------------------------
   Bu bloğu canavart-core/assets/css/core.css dosyasının EN SONUNA
   yapıştırın (8. bloğun hemen altına).
   ========================================================================= */

.ca-auth-page {
	max-width: 460px;
	margin: 0 auto;
	padding: var(--ca-space-lg) 0;
}

.ca-auth-form {
	padding: 2.2rem 2rem 1.9rem;
	background: var(--ca-bg-raised);
	border: 1px solid var(--ca-gold-faint);
	border-radius: var(--ca-radius);
	position: relative;
}

/* Üst kenardaki altın parlama — modal ve hero ile aynı dil */
.ca-auth-form::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 50%;
	width: 150px;
	height: 1px;
	margin-left: -75px;
	background: var(--ca-gold-gradient);
}

.ca-auth-note {
	margin: 0 0 1.5rem;
	color: var(--ca-text-muted);
	font-size: 0.87rem;
	line-height: 1.75;
	text-align: center;
}

/* Alanlar modal formundaki .ca-field görünümünü devralır */
.ca-auth-form .ca-field { margin-bottom: 1.2rem; }

.ca-auth-form .ca-field input[type="password"],
.ca-auth-form .ca-field input[type="text"] {
	width: 100%;
	padding: 0.85rem 3rem 0.85rem 1rem;
	background: var(--ca-bg-deep);
	border: 1px solid var(--ca-gold-faint);
	border-radius: var(--ca-radius);
	color: var(--ca-text);
	font-family: var(--ca-font-body);
	font-size: 0.92rem;
	transition: border-color var(--ca-duration) var(--ca-ease),
	            box-shadow var(--ca-duration) var(--ca-ease);
}

.ca-auth-form .ca-field input:focus {
	outline: none;
	border-color: var(--ca-gold);
	box-shadow: 0 0 0 3px rgba(201, 164, 92, 0.12);
}

.ca-auth-form .ca-field.is-invalid input {
	border-color: var(--ca-error);
	box-shadow: 0 0 0 3px rgba(179, 87, 63, 0.12);
}

/* Hata satırı */
.ca-auth-error {
	margin: -0.4rem 0 1.1rem;
	color: #e0a596;
	font-size: 0.8rem;
	line-height: 1.5;
}

.ca-auth-error[hidden] { display: none; }

.ca-auth-error::before {
	content: "!";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 15px;
	height: 15px;
	margin-right: 0.45rem;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 0.66rem;
	line-height: 1;
	vertical-align: -2px;
}

/* Gönder butonu — sitenin akan altın dolgusu */
.ca-auth-submit {
	position: relative;
	overflow: hidden;
	z-index: 0;
	display: block;
	width: 100%;
	padding: 0.95rem 1rem;
	background: transparent;
	border: 1px solid var(--ca-gold);
	border-radius: var(--ca-radius);
	color: var(--ca-gold-bright);
	font-family: var(--ca-font-body);
	font-size: 0.74rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	cursor: pointer;
	transition: color 0.5s var(--ca-ease),
	            border-color 0.5s var(--ca-ease),
	            box-shadow 0.5s var(--ca-ease);
}

.ca-auth-submit::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(
		100deg,
		var(--ca-gold-dark) 0%,
		var(--ca-gold) 38%,
		#e8d5a8 62%,
		var(--ca-gold) 100%
	);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.55s var(--ca-ease);
}

.ca-auth-submit:hover {
	color: var(--ca-bg-deepest);
	border-color: var(--ca-gold-bright);
	box-shadow: 0 8px 26px rgba(201, 164, 92, 0.2);
}

.ca-auth-submit:hover::before { transform: scaleX(1); }

/*
 * WooCommerce'in kendi parola gücü göstergesi bu sayfada da belirir;
 * karanlık zemine uyması için önceki blokta tanımlanan stiller
 * geçerlidir. Burada yalnızca konumunu düzeltiyoruz.
 */
.ca-auth-form .woocommerce-password-strength { margin-top: 0.6rem; }

@media (max-width: 560px) {

	.ca-auth-page { padding: var(--ca-space-md) 0; }

	.ca-auth-form { padding: 1.8rem 1.3rem 1.5rem; }
}