/* ================================
   Account Theme Tokens
================================ */
:root {
	/* Core colors */
	--account-primary: #592FF4;
	--account-primary-hover: #4d25df;
	--account-primary-active: #3f1fc0;
	--account-link: #1773b0;
	--account-primary-link-hover: var(--account-link);
	--account-danger: #dc3545;
	--account-danger-hover: #b42318;
	--account-danger-deep: #d72c0d;
	--account-success-focus: var(--account-primary);
	--account-white: #ffffff;
	--account-soft-bg: rgb(250, 250, 250);
	--account-soft-border: #dedede;
	--account-border-strong: #c9c9c9;
	--account-text: #1f1f1f;
	--account-muted: #707070;
	--account-placeholder: #737373;
	--account-label-active: var(--account-muted);
	--account-transparent: transparent;
	--account-dashboard-bg: #ffffff;
	--account-dashboard-border: #e9ecef;
	--account-dashboard-text: #242424;
	--account-auth-min-height: 400px;
	--account-auth-radius: 12px;


	/* Bootstrap mapped tokens */
	--account-body-bg: var(--bs-body-bg, #ffffff);
	--account-body-color: var(--bs-body-color, #212529);
	--account-secondary-color: var(--bs-secondary-color, rgba(33, 37, 41, .75));
	--account-border-color: var(--bs-border-color, #dee2e6);
	--account-muted-bg: var(--account-soft-bg);

	/* Radius */
	--tuva-radius: 8px; /* tema-bagimsiz guvence; ultra_theme.css:44 ile ayni deger olmak ZORUNDA */
	--account-radius: var(--tuva-radius, 8px);

	/* Kart golgesi (tek kaynak) */
	--tuva-card-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);

	/* Shared states */
	--account-focus-ring: 0 0 0 1px var(--account-primary);
	--account-focus-ring-danger: 0 0 0 1px var(--account-danger);
	--account-focus-visible-shadow: 0 0 0 3px rgba(89, 47, 244, 0.26);
	--account-focus-visible-outline: 2px solid var(--account-primary);
	--account-transition-none: none;
	--account-transition-field: border-color 160ms ease, box-shadow 160ms ease;
	--account-transition-label: top 160ms ease, transform 160ms ease, font-size 160ms ease, color 160ms ease;
	--account-transition-card: border-color .15s ease, transform .15s ease;

	/* Buttons */
	--account-btn-gap: 6px;
	--account-btn-padding: 10px 20px;
	--account-btn-padding-mobile: 8px 10px;
	--account-btn-padding-xs: 7px 8px;
	--account-btn-font-size: 14px;
	--account-btn-font-size-xs: 13px;
	--account-btn-font-weight: 500;
	--account-btn-font-weight-strong: 600;
	--account-btn-line-height: 1.5;
	--account-btn-min-height-mobile: 42px;
	--account-btn-min-height-xs: 40px;
	--account-btn-icon-size-mobile: 16px;
	--account-btn-underline-offset: 2px;

	/* Form fields */
	--address-field-height: 58px;
	--address-field-border: #dedede;
	--address-field-radius: var(--account-radius);
	--address-field-text: var(--account-text);
	--address-field-muted: var(--account-muted);
	--address-field-focus: var(--account-success-focus);
	--address-field-bg: var(--account-white);
	--address-field-font-size: 14px;
	--address-field-line-height: 2;
	--address-field-padding-idle: 6px 38px 6px 11px;
	--address-field-padding-active: 20px 38px 5px 11px;
	--address-field-select-icon-position: right 11px center;
	--address-field-select-icon-size: 13px 13px;
	--address-label-left: 11px;
	--address-label-max-width: calc(100% - 48px);
	--address-label-font-size: 14px;
	--address-label-active-font-size: 12px;
	--address-label-active-top: 9px;
	--address-label-line-height: 1.5;

	/* Account add form gutters */
	--account-form-gutter-x: 14px;
	--account-form-gutter-y: 14px;

	/* Address tabs/cards */
	--address-tab-padding: .875rem 1rem;
	--address-tab-mobile-padding: .75rem .5rem;
	--address-tab-mobile-font-size: 13px;
	--address-add-btn-font-size: 14px;
	--address-add-btn-min-height-mobile: 42px;
	--address-card-title-font-size: 15px;
	--address-card-title-line-height: 1.4;
	--address-card-text-font-size: 14px;
	--address-card-text-line-height: 1.65;
	--address-card-content-height: 112px;
	--address-card-heading-margin-bottom: .75rem;
	--address-card-text-max-height: 3.3em;
	--address-card-hover-border: rgba(89, 47, 244, 0.26);
	--address-card-hover-transform: translateY(-1px);
	--address-card-padding-mobile: 1.25rem;
	--address-section-margin-bottom: 1.25rem;
	--address-mobile-gap: 1rem;
}

/* ================================
   Theme-independent Account Layout
================================ */
body.account-page .rounded-12 {
	border-radius: var(--account-auth-radius) !important;
}

body.account-page :is(#account-register, #account-login, #account-forgotten) {
	min-height: var(--account-auth-min-height);
}

body.account-page :is(#account-order, #account-return) .table> :not(caption)>*>* {
	padding: 1rem .7rem;
}

body.account-page #account-account .btn-outline-primary {
	border-color: var(--tuva-gray-200, var(--account-dashboard-border));
}

body.account-page #account-account .customer-dashboard .btn {
	padding: 10px 0;
	background-color: var(--btn-cart-color, var(--account-dashboard-bg));
	color: var(--tuva-charcoal, var(--account-dashboard-text));
	font-size: 14px;
	font-weight: var(--account-btn-font-weight);
	line-height: 2.5;
}

body.account-page #account-account .customer-dashboard .badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	padding: 0;
	border-radius: var(--tuva-radius, var(--account-radius));
	font-size: 12px;
	white-space: nowrap;
}

.btn-info:hover i {
	transform: scale(1.1);
	transition: transform 0.25s ease, color 0.25s ease;
}

@media (max-width: 1024px) {
	body.account-page #account-account .customer-dashboard span {
		font-size: 10px;
	}

	body.account-page #account-account .customer-dashboard i {
		font-size: 32px !important;
	}
}

/* ================================
   Account Buttons - Base
================================ */
.btn-account {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--account-btn-gap);
	padding: var(--account-btn-padding);
	margin: 0;
	border: none !important;
	outline: 0 !important;
	background-color: var(--btn-account-bg, var(--account-transparent));
	font: inherit;
	font-size: var(--account-btn-font-size);
	font-weight: var(--account-btn-font-weight);
	line-height: var(--account-btn-line-height);
	text-decoration: var(--btn-account-decoration, underline);
	text-underline-offset: var(--account-btn-underline-offset);
	white-space: nowrap;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	color: var(--btn-account-color);
	border-radius: var(--account-radius);
	transition: var(--account-transition-none) !important;
	box-shadow: none !important;
}

.btn-account:hover {
	color: var(--btn-account-hover-color, var(--btn-account-color));
	background-color: var(--btn-account-hover-bg, var(--btn-account-bg));
	border-color: var(--btn-account-hover-border, var(--btn-account-border));
	text-decoration: var(--btn-account-decoration, underline);
	box-shadow: none !important;
	outline: 0 !important;
	transform: none !important;
}

.btn-account:focus,
.btn-account:active {
	color: var(--btn-account-color) !important;
	background-color: var(--btn-account-bg) !important;
	border-color: var(--btn-account-border) !important;
	text-decoration: var(--btn-account-decoration, underline);
	box-shadow: none !important;
	outline: 0 !important;
	transform: none !important;
}

.btn-account:focus-visible {
	color: var(--btn-account-color) !important;
	background-color: var(--btn-account-bg) !important;
	border-color: var(--btn-account-border) !important;
	text-decoration: var(--btn-account-decoration, underline);
	box-shadow: var(--account-focus-visible-shadow) !important;
	outline: var(--account-focus-visible-outline) !important;
	outline-offset: 2px;
	transform: none !important;
}

.btn-account:disabled,
.btn-account.disabled {
	opacity: .45;
	pointer-events: none;
	cursor: not-allowed;
}

.btn-account i,
.btn-account svg {
	flex-shrink: 0;
	line-height: 1;
}

/* ================================
   Button Colors
================================ */
.btn-account.back,
.btn-account.edit,
.btn-account.cancel {
	--btn-account-color: var(--account-body-color);
	--btn-account-bg: #f6f5f7;
	--btn-account-border: var(--account-transparent);
	--btn-account-hover-color: var(--account-body-color);
	--btn-account-hover-bg: #efeef0;
	--btn-account-hover-border: var(--account-transparent);
	text-decoration: none;
}

.link {
	color: var(--account-link);
}

.delete-link {
	color: var(--account-danger);
	background-color: var(--account-transparent);
	border: 0;
	padding: 0;
	margin: 0;
	appearance: none;
	-webkit-appearance: none;
}

.btn-account.save {
	--btn-account-color: var(--account-white);
	--btn-account-bg: var(--account-primary);
	--btn-account-hover-color: #6b7280;
	--btn-account-hover-bg: var(--account-soft-bg);
	--btn-account-hover-border: var(--account-soft-border);
	--btn-account-decoration: none;
}

.btn-account.save:hover {
	color: var(--account-white);
	background-color: var(--account-primary-hover);
	border-color: var(--account-transparent);
}

.btn-account.delete {
	--btn-account-color: var(--account-danger-deep);
	--btn-account-bg: var(--account-transparent);
	--btn-account-border: var(--account-transparent);
	--btn-account-hover-color: var(--account-danger-hover);
	--btn-account-hover-bg: var(--account-transparent);
	--btn-account-hover-border: var(--account-transparent);
}

/* ================================
   Mobile Buttons
================================ */
@media (max-width: 767.98px) {
	.btn-account {
		width: 100%;
		min-height: var(--account-btn-min-height-mobile);
		padding: var(--account-btn-padding-mobile);
		font-size: var(--account-btn-font-size);
	}

	.btn-account i {
		font-size: var(--account-btn-icon-size-mobile);
	}

	.action-buttons {
		width: 100%;
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: .5rem;
	}

	.action-buttons .btn-account,
	.btn-account.delete {
		width: 100%;
		min-height: var(--account-btn-min-height-mobile);
	}
}

@media (max-width: 360px) {
	.btn-account {
		min-height: var(--account-btn-min-height-xs);
		font-size: var(--account-btn-font-size-xs);
		gap: 4px;
		padding: var(--account-btn-padding-xs);
	}
}

/* ================================
   Input Focus - Shopify Checkout Like
================================ */
:is([id^="account-"], .main-checkout) :is(.form-control, .form-select, input, select, textarea):focus {
	border-color: var(--account-primary) !important;
	outline: 0 !important;
	box-shadow: var(--account-focus-ring) !important;
}

:is([id^="account-"], .main-checkout) :is(.form-control, .form-select, input, select, textarea):active {
	border-color: var(--account-primary) !important;
	box-shadow: var(--account-focus-ring) !important;
}

:is([id^="account-"], .main-checkout) .form-control.is-valid:focus,
:is([id^="account-"], .main-checkout) .form-select.is-valid:focus,
:is([id^="account-"], .main-checkout) .was-validated .form-control:valid:focus,
:is([id^="account-"], .main-checkout) .was-validated .form-select:valid:focus {
	border-color: var(--account-primary) !important;
	box-shadow: var(--account-focus-ring) !important;
}

:is([id^="account-"], .main-checkout) .form-control.is-invalid:focus,
:is([id^="account-"], .main-checkout) .form-select.is-invalid:focus,
:is([id^="account-"], .main-checkout) .was-validated .form-control:invalid:focus,
:is([id^="account-"], .main-checkout) .was-validated .form-select:invalid:focus {
	border-color: var(--account-danger) !important;
	box-shadow: var(--account-focus-ring-danger) !important;
}

/* ================================
   Address Type Radio
================================ */
.address-type-form .form-check {
	cursor: pointer;
	padding: 8px 12px;
	border-radius: var(--account-radius);
	user-select: none;
}

.address-type-form .form-check-input,
.address-type-form .form-check-label {
	cursor: pointer;
}

.address-type-form .form-check-label {
	padding: 6px 0;
	line-height: var(--account-btn-line-height);
}

.address-type-form .form-check-input:focus {
	border-color: var(--account-primary);
	box-shadow: var(--account-focus-ring);
}

.address-type-form .form-check-input:checked {
	background-color: var(--account-primary);
	border-color: var(--account-primary);
}

@media (max-width: 767.98px) {
	.address-type-form .d-flex.justify-content-center {
		gap: var(--address-mobile-gap) !important;
	}

	.address-type-form .form-check {
		min-height: 44px;
		padding: 10px 12px;
	}
}

/* ================================
   Account Add Form
================================ */
.account-add-form .row.g-3 {
	--bs-gutter-x: var(--account-form-gutter-x);
	--bs-gutter-y: var(--account-form-gutter-y);
}

.account-add-form .form-floating {
	position: relative;
	height: var(--address-field-height);
	min-height: var(--address-field-height);
	border: 1px solid var(--address-field-border);
	border-radius: var(--address-field-radius);
	background-color: var(--address-field-bg);
	overflow: hidden;
	transition: var(--account-transition-field);
}

.account-add-form .form-floating>.form-control,
.account-add-form .form-floating>.form-control-plaintext,
.account-add-form .form-floating>.form-select {
	height: 100% !important;
	min-height: 100% !important;
	border: 0 !important;
	border-radius: 0 !important;
	background-color: var(--account-transparent) !important;
	color: var(--address-field-text);
	font-size: var(--address-field-font-size);
	font-weight: 400 !important;
	line-height: var(--address-field-line-height) !important;
	outline: 0 !important;
	box-shadow: none !important;
	-webkit-font-smoothing: antialiased;
	appearance: none;
	-webkit-appearance: none;
}

.account-add-form .form-floating>.form-control,
.account-add-form .form-floating>.form-control-plaintext {
	padding: var(--address-field-padding-idle) !important;
}

.account-add-form .form-floating>.form-select,
.account-add-form .form-floating>.form-control:focus,
.account-add-form .form-floating>.form-control:not(:placeholder-shown),
.account-add-form .form-floating>.form-control-plaintext:focus,
.account-add-form .form-floating>.form-control-plaintext:not(:placeholder-shown) {
	padding: var(--address-field-padding-active) !important;
}

.account-add-form .form-floating>.form-select {
	background-position: var(--address-field-select-icon-position) !important;
	background-size: var(--address-field-select-icon-size) !important;
}

.account-add-form .form-floating>label {
	top: 50%;
	left: var(--address-label-left);
	z-index: 2;
	height: auto;
	max-width: var(--address-label-max-width);
	padding: 0 !important;
	border: 0 !important;
	background: var(--account-transparent);
	color: var(--address-field-muted);
	font-size: var(--address-label-font-size);
	font-weight: 400 !important;
	line-height: var(--address-label-line-height);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	-webkit-font-smoothing: antialiased;
	pointer-events: none;
	transform: translateY(-50%);
	transform-origin: left top;
	transition: var(--account-transition-label);
}

.account-add-form .form-floating>label::after {
	display: none !important;
}

.account-add-form .form-floating>.form-control:focus~label,
.account-add-form .form-floating>.form-control:not(:placeholder-shown)~label,
.account-add-form .form-floating>.form-control-plaintext~label,
.account-add-form .form-floating>.form-select~label {
	top: var(--address-label-active-top);
	color: var(--account-label-active) !important;
	font-size: var(--address-label-active-font-size);
	opacity: 1;
	transform: translateY(0);
}

.account-add-form .form-floating>.form-control:focus,
.account-add-form .form-floating>.form-select:focus,
.account-add-form .form-floating>.form-control:active,
.account-add-form .form-floating>.form-select:active {
	border-color: var(--account-transparent) !important;
	outline: 0 !important;
	box-shadow: none !important;
}

.account-add-form .form-floating:focus-within {
	border-color: var(--address-field-focus);
	box-shadow: 0 0 0 1px var(--address-field-focus);
	z-index: 2;
}

.account-add-form .form-floating>.form-control.is-invalid,
.account-add-form .form-floating>.form-select.is-invalid {
	border-color: var(--account-transparent) !important;
}

.account-add-form .form-floating:has(> .form-control.is-invalid),
.account-add-form .form-floating:has(> .form-select.is-invalid) {
	border-color: var(--account-danger);
}

/* ================================
   Address List - Tabs + Cards
================================ */
#address-list {
	--address-card-bg: var(--account-white);
	--address-empty-bg: var(--account-white);
}

/* Dış alanlarda zemin yok */
#address-list,
#address-list .address-tab-content,
#address-list .tab-content,
#address-list .tab-pane,
#address-list #shipping-address-pane,
#address-list #payment-address-pane {
	background: var(--account-transparent) !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Tabs */
#address-list .address-tabs {
	border-bottom-color: var(--tuva-gray-200, #e9ecef) !important;
	background: var(--account-transparent);
}

#address-list .address-tabs .nav-link {
	font-weight: normal !important;
	border: 0;
	border-bottom: 1px solid var(--tuva-duman-gri, #eeeeee);
	padding: var(--address-tab-padding);
	background-color: var(--tuva-duman-gri, #eeeeee);
	box-shadow: none !important;
	border-radius: 0 !important;
}

#address-list .address-tabs .nav-link:hover {
	color: var(--account-primary);
	border-color: var(--account-transparent);
}

#address-list .address-tabs .nav-link.active {
	color: var(--account-primary);
	background: var(--account-transparent) !important;
	border-color: var(--account-primary);
}

/* Tab içindeki dış card zemin vermez */
#address-list .address-tab-card {
	background: var(--account-transparent) !important;
	border: 0 !important;
	border-radius: var(--account-radius);
	box-shadow: none !important;
	overflow: visible;
}

#address-list .address-tab-card>.card-body {
	background: var(--account-transparent) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Üst başlık + adres ekle butonu */
#address-list .address-section-header {
	background: var(--account-transparent) !important;
	border-bottom: 0;
	padding-bottom: 0;
	margin-bottom: var(--address-section-margin-bottom);
	margin-top: 0.625rem;
}

/* Adres ekle butonu */
#address-list .address-add-btn {
	border: 1px solid var(--account-primary) !important;
	border-radius: var(--account-radius);
	font-size: var(--address-add-btn-font-size);
	font-weight: var(--account-btn-font-weight-strong);
	box-shadow: none !important;
	color: var(--account-primary) !important;
}

#address-list .address-add-btn:hover,
#address-list .address-add-btn:focus {
	color: var(--account-white) !important;
	background: var(--account-primary-hover);
	border-color: var(--account-primary-hover);
	box-shadow: none !important;
}

/* Asıl adres kartı */
#address-list .address-card {
	height: 100%;
	border-radius: var(--account-radius);
	box-shadow: none;
	overflow: hidden;
	transition: var(--account-transition-card);
}

#address-list .address-card:hover {
	border-color: var(--address-card-hover-border);
}

/* Beyaz zemin sadece adres kartının body alanında */
#address-list .address-card>.card-body {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	background: var(--address-card-bg) !important;
}

#address-list .address-card-content {
	height: var(--address-card-content-height);
	min-height: var(--address-card-content-height);
	margin-bottom: .5rem;
	overflow: hidden;
}

#address-list .address-card-heading {
	margin-bottom: var(--address-card-heading-margin-bottom);
}

#address-list .address-card-title {
	color: var(--account-body-color);
	font-size: var(--address-card-title-font-size);
	font-weight: var(--account-btn-font-weight-strong);
	line-height: var(--address-card-title-line-height);
}

#address-list .address-card-text {
	display: -webkit-box;
	max-height: var(--address-card-text-max-height);
	overflow: hidden;
	color: var(--account-secondary-color);
	font-size: var(--address-card-text-font-size);
	line-height: var(--address-card-text-line-height);
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

#address-list .address-card-text>.text-break {
	display: inline;
}

#address-list .address-card-text>.text-break+.text-break::before {
	content: " ";
}

/* Boş adres alanı da card gibi beyaz */
#address-list .address-empty-state {
	background: var(--address-empty-bg) !important;
	border: 1px dashed var(--account-border-color);
	border-radius: var(--account-radius);
}

/* Card aksiyonları */
#address-list .address-card-actions {
	margin-top: auto;
	border-top: 1px solid var(--account-border-color);
}

#address-list .address-card-actions form {
	margin: 0 !important;
	padding: 0 !important;
}

#address-list .address-card-actions .delete-link {
	color: var(--account-danger) !important;
	background: var(--account-transparent) !important;
	border: 0 !important;
	padding: 0;
	margin: 0;
	text-decoration: none;
	box-shadow: none !important;
}

#address-list .address-card-actions .delete-link:hover {
	color: var(--account-danger-hover) !important;
}

#address-list .address-card-actions a {
	color: var(--account-primary);
	text-decoration: none;
}

#address-list .address-card-actions a:hover {
	color: var(--account-primary-hover);
}

/* ================================
   Address List - Mobile
================================ */
@media (max-width: 767.98px) {
	#address-list .address-tabs {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	#address-list .address-tabs .nav-item,
	#address-list .address-tabs .nav-link {
		width: 100%;
	}

	#address-list .address-tabs .nav-link {
		font-size: var(--address-tab-mobile-font-size);
		padding: var(--address-tab-mobile-padding);
	}

	#address-list .address-tab-card>.card-body {
		padding: 0 !important;
	}

	#address-list .address-section-header {
		align-items: stretch !important;
	}

	#address-list .address-add-btn {
		width: 100%;
		min-height: var(--address-add-btn-min-height-mobile);
	}

	#address-list .address-card>.card-body {
		padding: var(--address-card-padding-mobile) !important;
	}

	#address-list .address-card-actions {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		gap: var(--address-mobile-gap) !important;
	}

	#address-list .address-card-actions .delete-link,
	#address-list .address-card-actions a {
		font-size: var(--account-btn-font-size);
	}
}

#address-list .nav-tabs .nav-item {
	background-color: white;
	border-right: 1px solid var(--tuva-gray-100, #f8f9fa);
}

#address-list .nav-tabs .nav-link.active {
	border-radius: 0px;
}

/* ================================
   Checkout Address Form Override
================================ */
.main-checkout .account-add-form {
	--address-field-height: 46px;
	--address-field-line-height: 1.35;
	--address-field-padding-idle: 4px 38px 4px 11px;
	--address-field-padding-active: 15px 38px 3px 11px;
	--address-label-active-top: 6px;
	--address-label-active-font-size: 11px;
	--address-label-line-height: 1.2;
	--account-form-gutter-x: 12px;
	--account-form-gutter-y: 12px;
}

.main-checkout .account-add-form .form-floating {
	height: var(--address-field-height);
	min-height: var(--address-field-height);
}

body.checkout-page #ajax-modal-link .account-add-form {
	--address-field-height: 46px;
	--address-field-line-height: 1.35;
	--address-field-padding-idle: 4px 38px 4px 11px;
	--address-field-padding-active: 15px 38px 3px 11px;
	--address-label-active-top: 6px;
	--address-label-active-font-size: 11px;
	--address-label-line-height: 1.2;
	--account-form-gutter-x: 12px;
	--account-form-gutter-y: 12px;
}

body.checkout-page #ajax-modal-link .account-add-form .form-floating {
	height: var(--address-field-height);
	min-height: var(--address-field-height);
}

.main-checkout .address-type-form input[type="radio"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	box-sizing: border-box;
	width: 16px !important;
	height: 16px !important;
	padding: 0 !important;
	border: 1px solid var(--checkout-shopify-border-strong) !important;
	border-radius: 50% !important;
	background: var(--checkout-shopify-surface) !important;
	background-image: none !important;
	box-shadow: none;
}

.main-checkout .address-type-form input[type="radio"]:checked {
	border-color: var(--checkout-shopify-primary) !important;
	background:
		radial-gradient(circle, var(--checkout-shopify-primary) 0 4px, transparent 4.5px),
		var(--checkout-shopify-surface) !important;
}

.main-checkout .address-type-form input[type="radio"]:focus-visible {
	outline: none;
	box-shadow: var(--checkout-shopify-focus-ring) !important;
}

body.checkout-page #loadingOverlay.main-checkout {
	--account-soft-border: rgb(223, 223, 223);
	--account-border-strong: rgb(223, 223, 223);
	--account-border-color: rgb(223, 223, 223);
	--address-field-border: rgb(223, 223, 223);
	--address-card-hover-border: rgb(223, 223, 223);
	--checkout-shopify-border: rgb(223, 223, 223);
	--checkout-shopify-border-strong: rgb(223, 223, 223);
}


/* ==========================================================================
   ARIZA KAYIT (account/defect) — form + basari sayfasi ortak stilleri
   --------------------------------------------------------------------------
   Bu blok daha once defect_form.twig icindeki inline <style> etiketindeydi.
   Iki sorun vardi:
     1) .card-custom / .text-subtle / .text-dark-custom / .form-control:focus
        kurallari kapsamsizdi; inline oldugu icin sadece form sayfasinda
        calisiyor, basari sayfasinda hic bulunmuyordu.
     2) Sablon icinde <style> kullanimi tema standardina aykiri.
   Kurallar birebir tasindi ve #account-defect / #account-defect-success
   altina kapsamlandi (davranis degismesin diye).
   ========================================================================== */

/* Form kabi seffaf: her kart gri sayfa ustunde AYRI beyaz blok (returns ile ayni) */
#account-defect form {
	background-color: transparent;
	padding: 0;
}

/* FAZ 4/B: returns form kabi da defect ile ayni — seffaf zemin, kartlar ayri beyaz blok.
   (returns_form.twig'deki eski beyaz-zemin kurali gecersiz secici nedeniyle zaten
   uygulanmiyordu; bu kural mevcut canli davranisi acikca sabitler.) */
#account-return form {
	background-color: transparent;
	padding: 0;
}

.card-custom {
	background-color: #ffffff;
	border: none;
	border-radius: var(--tuva-radius, 8px);
	box-shadow: var(--tuva-card-shadow);
	padding: 1.5rem;
}

/* Akordeon kartlari: bootstrap .accordion-item:first/last-of-type radius
   kurallari (0-2-0) .card-custom'i (0-1-0) ezdiginden pseudo-class'li
   es-kural gerekir (0-3-0) — merkezi kart dili tum akordeonlarda korunur */
.accordion-item.card-custom,
.accordion-item.card-custom:first-of-type,
.accordion-item.card-custom:last-of-type {
	border-radius: var(--tuva-radius, 8px);
}

/* Akordeon baslik butonu (gri serit): kart p-2 tasidigi icin buton kart kenarina
   degmez ve overflow-hidden kirpamaz — bootstrap'in first/last-of-type ic-radius
   kurallari (ust ~0.24rem, acikken alt 0) gorunur kalir. Es-specificity ile
   (0-4-0 / 0-5-0, account.css sonra yuklendigi icin kazanir) tum koselerde
   kart diliyle ayni token'a baglanir. */
.accordion-item.card-custom > .accordion-header .accordion-button,
.accordion-item.card-custom > .accordion-header .accordion-button.collapsed {
	border-radius: var(--tuva-radius, 8px);
}

/* Kart Tasarimi — tek istisna: padding (diger tum bildirimler genel .card-custom ile ayni) */
#account-defect .card-custom,
#account-defect-success .card-custom {
	padding: 2rem;
}


/* Metin Stilleri */
#account-defect .text-subtle,
#account-defect-success .text-subtle {
	color: #6b7280;
	font-size: 0.95rem;
}

#account-defect .text-dark-custom,
#account-defect-success .text-dark-custom {
	color: #111827;
}

/* Form Ozellestirmeleri */
#account-defect .form-control:focus,
#account-defect .form-select:focus {
	border-color: var(--tuva-brand-blue, #3b82f6);
	box-shadow: 0 0 0 0.25rem rgba(59, 130, 246, 0.15);
}

/* Tum alanlar ayni yukseklik/oran */
#account-defect .form-floating>.form-control,
#account-defect .form-floating>textarea.form-control {
	min-height: calc(3.5rem + 2px);
}

#account-defect .form-floating>textarea.form-control {
	height: calc(3.5rem + 2px);
}

/* Basari sayfasi ikonu */
#account-defect-success .defect-success-icon {
	font-size: 3.5rem;
	line-height: 1;
	color: #16a34a;
}

/* ==========================================================================
   FAZ 4 / ADIM A EKLERI
   ========================================================================== */

/* Inline stilin class karsiligi — returns_info'daki 64px urun kutusu
   (sablonlar Adim B'de baglanacak; bildirimler inline halin BIREBIR kopyasidir,
   yalniz border-radius: 8px token'a baglandi) */
.thumb-box {
	width: 64px;
	height: 64px;
	background-color: #f3f4f6;
	border-radius: var(--tuva-radius, 8px);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #e5e5e5;
}

/* Kart dili hizalama — bu adimin TEK gorsel degisikligi.
   Bootstrap .card kullanan account sayfalari card-custom diline cekilir
   (0.25rem radius + yari saydam kenarlik -> 8px + kenarliksiz + kart golgesi).
   KAPSAM DISI: adres sayfalari (.address-card / .address-tab-card kendi dili).
   FAZ 4/B: authorize/authorize_reset sablonlarina account-authorize /
   account-authorize-reset ID'leri eklendi ve listeye dahil edildi. */
#account-order .card,
#account-return .card,
#account-download .card,
#account-reward .card,
#account-edit .card,
#account-password .card,
#account-authorize .card,
#account-authorize-reset .card {
	border: none;
	border-radius: var(--tuva-radius, 8px);
	box-shadow: var(--tuva-card-shadow);
	background-color: #ffffff;
}

/* Mobil koruma: yukaridaki ID'li kural, ultra_theme.css:2707'deki ID'siz
   .card-clean-mobile sifirlamasini (specificity 0-1-0 < 1-1-0) ezmesin diye
   ayni sifirlama burada ID'li olarak tekrar edilir — mobil davranis AYNEN korunur.
   Breakpoint ultra_theme.css:2629 ile ayni: max-width 768px. */
@media (max-width: 768px) {
	#account-order .card.card-clean-mobile,
	#account-return .card.card-clean-mobile,
	#account-download .card.card-clean-mobile,
	#account-reward .card.card-clean-mobile {
		background-color: transparent;
		border: 0;
		box-shadow: none;
	}

	#account-order .card.card-clean-mobile .card-body,
	#account-return .card.card-clean-mobile .card-body,
	#account-download .card.card-clean-mobile .card-body,
	#account-reward .card.card-clean-mobile .card-body {
		background-color: transparent;
		border: 0;
		box-shadow: none;
	}
}

/* ==========================================================================
   FAZ 4 / ADIM B — sablon <style> bloklarindan tasinan sayfa-kapsamli kurallar
   --------------------------------------------------------------------------
   Kaynaklar: order_info.twig (base), returns_info.twig (base + ultra_theme
   override), returns_form.twig. Bildirimler canli (render edilen) sablon
   bloklarindaki degerlerin birebir karsiligi; kullanilmayan (olu) siniflar
   tasinmadi, silindi (rapor: faz4-adimB.md).
   ========================================================================== */

/* Metin yardimcilari (siparis/iade sayfalari) */
#account-order .text-subtle,
#account-return .text-subtle {
	color: #6b7280;
	font-size: 0.875rem;
}

#account-order .text-dark-custom,
#account-return .text-dark-custom {
	color: #111827;
	font-weight: normal;
}

/* Zaman cizelgesi (siparis/iade gecmisi) */
#account-order .timeline,
#account-return .timeline {
	position: relative;
	padding-left: 1.5rem;
	margin-top: 1rem;
	margin-bottom: 1rem;
}

#account-order .timeline::before,
#account-return .timeline::before {
	content: '';
	position: absolute;
	left: 0.35rem;
	top: 0.25rem;
	bottom: 0;
	width: 2px;
	background-color: #e5e7eb;
}

#account-order .timeline-item,
#account-return .timeline-item {
	position: relative;
	margin-bottom: 1rem;
}

#account-order .timeline-icon,
#account-return .timeline-icon {
	position: absolute;
	left: -1.5rem;
	top: 0;
	background-color: #ffffff;
	border-radius: 50%;
	padding: 0.1rem;
}

/* Urun gorseli sarmalayici + adet rozeti */
#account-order .product-img-wrapper,
#account-return .product-img-wrapper {
	position: relative !important;
	width: 64px !important;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

#account-order .product-badge,
#account-return .product-badge {
	position: absolute;
	top: -8px;
	right: -8px;
	border: none !important;
	color: var(--tuva-white, #fff);
	border-radius: 50%;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	font-weight: 600;
	background-color: var(--tuva-brand-orange, #f97316);
}

/* Gecmis akordeonu (id sayfaya ozgu oldugu icin zaten kapsamli) */
#historyAccordion .accordion-item,
#historyAccordion button {
	border-radius: var(--tuva-radius, 8px);
}

/* Siparis/iade durum rozeti */
#account-order .order-status-badge,
#account-return .order-status-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 14px;
	border-radius: 6px;
	background-color: var(--tuva-white, #fff);
	border: 1px solid var(--tuva-brand-blue, #3b82f6);
	font-weight: 600;
	font-size: 0.875rem;
	color: var(--tuva-brand-blue, #3b82f6);
	letter-spacing: 0.02em;
}

#account-order .order-status-badge::before,
#account-return .order-status-badge::before {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: var(--tuva-brand-blue, #3b82f6);
	animation: statusPulse 2.4s ease-in-out infinite;
	flex-shrink: 0;
}

@keyframes statusPulse {
	0%,
	100% {
		opacity: 1;
		transform: scale(1);
	}
	50% {
		opacity: 0.35;
		transform: scale(0.75);
	}
}

/* Iade formu — onay kutusu ve sebep secenekleri (returns_form.twig'den) */
#account-return .form-check-input:checked {
	background-color: var(--tuva-brand-blue, #3b82f6);
	border-color: var(--tuva-brand-blue, #3b82f6);
}

#account-return .reason-options .form-check {
	background-color: #f9fafb;
	border: 1px solid #e5e7eb;
	border-radius: 0.5rem;
	padding: 0.75rem 1rem 0.75rem 2.5rem;
	transition: all 0.2s;
}

#account-return .reason-options .form-check:hover {
	border-color: #d1d5db;
	background-color: #f3f4f6;
}